Mutlicast VXLAN with GRE tunnel doesn't works

Hello,

I’m following the documentation to setup VXLAN in multicast, I made it works on unicast, but I want multicast. ( it should works no ? )

I have a GRE tunnel between my two VyOS.

Imgur: The magic of the Internet Here is the link of my “network map” with my problem.

Here is the configuration I used to configure VXLAN on the interface

set interface ethernet eth1 vif 241 # Create the VLAN interface on eth1

set interfaces bridge br241 address '172.16.241.1/24'
set interfaces bridge br241 member interface 'eth1.241'
set interfaces bridge br241 member interface 'vxlan241'

set interfaces vxlan vxlan241 group '239.0.0.241'
set interfaces vxlan vxlan241 source-interface 'tun0'
set interfaces vxlan vxlan241 vni '241'
set interfaces vxlan vxlan241 mtu 1400

Here is my tunnel configuration, I enable multicast on the interface.

vyos@vyos1# show interfaces tunnel 
 tunnel tun0 {
     address ....
     enable-multicast
     encapsulation ip6gre
     remote ...
     source-address ...
 }

VXLAN in unicast works in my setup, but multicast don’t.

I try to ping 172.16.241.3 from 172.16.241.2.

Observation, the packet leave successfully vyos1 to reach vies 2

Proof: tcpdump on the tun0 interface on the RIGHT vyOS.

root@vyos2:~# tcpdump -i tun0
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on tun0, link-type LINUX_SLL (Linux cooked v1), snapshot length 262144 bytes
14:17:57.767430 IP 192.168.101.254.54292 > 239.0.0.241.4789: VXLAN, flags [I] (0x08), vni 241
ARP, Request who-has 172.16.241.2 tell 172.16.241.3, length 28
14:17:58.791146 IP 192.168.101.254.54292 > 239.0.0.241.4789: VXLAN, flags [I] (0x08), vni 241
ARP, Request who-has 172.16.241.2 tell 172.16.241.3, length 28

However, the packet doesn’t reach the br241 interface on the right side.

root@vyos2:~# tcpdump -i vxlan241
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on vxlan241, link-type EN10MB (Ethernet), snapshot length 262144 bytes

So in my conclusion, tunnel works, but the tunnel doesn’t forward the packet to the VXLAN interface.

Why ?

Best regards

Try gretap encapsulation
For example
R1

set interfaces bridge br0 member interface eth1
set interfaces bridge br0 member interface vxlan0
set interfaces ethernet eth0 address '192.0.2.2/30'
set interfaces ethernet eth0 description 'WAN'
set interfaces ethernet eth1 description 'Lan'
set interfaces tunnel tun0 address '10.0.0.2/24'
set interfaces tunnel tun0 description 'Gretap'
set interfaces tunnel tun0 encapsulation 'gretap'
set interfaces tunnel tun0 mtu '1500'
set interfaces tunnel tun0 multicast 'enable'
set interfaces tunnel tun0 parameters ip ignore-df
set interfaces tunnel tun0 parameters ip key '1'
set interfaces tunnel tun0 parameters ip no-pmtu-discovery
set interfaces tunnel tun0 parameters ip ttl '0'
set interfaces tunnel tun0 remote '203.0.113.2'
set interfaces tunnel tun0 source-address '192.0.2.2'
set interfaces vxlan vxlan0 group '239.0.0.241'
set interfaces vxlan vxlan0 mtu '1426'
set interfaces vxlan vxlan0 port '4789'
set interfaces vxlan vxlan0 source-interface 'tun0'
set interfaces vxlan vxlan0 vni '123'

R2

set interfaces bridge br0 member interface eth1
set interfaces bridge br0 member interface vxlan0
set interfaces ethernet eth0 address '203.0.113.2/30'
set interfaces ethernet eth0 description 'WAN'
set interfaces ethernet eth1 description 'Lan'
set interfaces tunnel tun0 address '10.0.0.1/24'
set interfaces tunnel tun0 encapsulation 'gretap'
set interfaces tunnel tun0 mtu '1500'
set interfaces tunnel tun0 multicast 'enable'
set interfaces tunnel tun0 parameters ip ignore-df
set interfaces tunnel tun0 parameters ip key '1'
set interfaces tunnel tun0 parameters ip no-pmtu-discovery
set interfaces tunnel tun0 parameters ip ttl '0'
set interfaces tunnel tun0 remote '192.0.2.2'
set interfaces tunnel tun0 source-address '203.0.113.2'
set interfaces vxlan vxlan0 group '239.0.0.241'
set interfaces vxlan vxlan0 mtu '1426'
set interfaces vxlan vxlan0 port '4789'
set interfaces vxlan vxlan0 source-interface 'tun0'
set interfaces vxlan vxlan0 vni '123'


1 Like