Thursday, June 01, 2017

VXLAN Multicast issue

Hello

I am attempting to configure VXLAN in dynamic mode on OpenBSD 6.1 and I
am running into problems. My setup is as follows...

I have two 6.1 virtuals setup running under QEMU. Each virtual has a
vether0 interface and a vxlan0 interface attached to a bridge0
interface. Each virtual has a vio0 interface that gets DHCP from a DHCP
server on different virtual networks. On the QEMU server I attach each
tap interface to a separate bridge interface. There is a third virtual
running as a router and it has 2 interfaces, one in each QEMU bridge.
See diagram below.


[ obsd01 vio0 ] -- tap0 -- bridge0 -- tap8 -- [ vio0 rtrbsd vio1 ] --
tap9 -- bridge 1 -- tap1 -- [ obsd02 vio0 ]


I have verified that I can ping from obsd01 vio0 to obsd02 vio0 so
routing appears to be working. On rtrbsd I have configured mrouted and I
have confirmed that using tcpdump that I see IGMP probes on both tap8
and tap9 interface as well as the tap0 and tap1 interfaces.

On all systems (obsd01, rtrbsd, obsd02, and the QEMU server) i have the
following /etc/pf.conf so I can eliminate the firewall as being a
factor.
-----
set skip on lo
pass
-----
I have also enabled multicast on all systems using the 'rcctl enable
multicast' command and I have set the net.inet.ip.{m,}forwarding sysctls
to 1. On each obsd01/02 system I have made sure that the tunnelttl on
the vxlan0 interface is set to 10.

I have included the config files, dmesg, etc as an attachment to the
email.

The problem that I cannot explain is when I ping from obsd01 vether0 to
obsd02 vether0 and I do a tcpdump on rtbsd vio0 I never see any IGMP
packets from the obsd01/02 system, but I do see VXLAN packets. However
the destination MAC address is broadcast (all ff's) and not a multicast
address like I would expect. Side note, the TTL on the packets is 10 and
matches the tunnelttl setting.

If anyone has an idea of what I am doing wrong I would appreciate a
pointer in the right direction.

Thanks in advance.

No comments:

Post a Comment