Each overlay network is known as a VXLAN Segment and identified by a unique
24-bit segment ID called a VXLAN Network Identifier (VNI).
+VXLAN encapsulation add 50bytes overhead, so you need to increase mtu on your host
+physical interfaces to 1550 at minimum. (or decrease mtu inside your vms to 1450)
+
For BUM traffic (broadcast / unknown unicast traffic, multicast),
we have 3 differents vxlan setup modes : multicast, unicast, bgp-evpn
----
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-svcnodeip 225.20.1.1
vxlan-physdev eno1
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-svcnodeip 225.20.1.1
vxlan-physdev eno1
----
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-svcnodeip 225.20.1.1
vxlan-physdev eno1
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-svcnodeip 225.20.1.1
vxlan-physdev eno1
----
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-svcnodeip 225.20.1.1
vxlan-physdev eno1
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-svcnodeip 225.20.1.1
vxlan-physdev eno1
----
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan_remoteip 192.168.0.2
vxlan_remoteip 192.168.0.3
auto vxlan3
iface vxlan2 inet manual
+ vxlan-id 3
vxlan_remoteip 192.168.0.2
vxlan_remoteip 192.168.0.3
----
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan_remoteip 192.168.0.1
vxlan_remoteip 192.168.0.3
auto vxlan3
iface vxlan2 inet manual
+ vxlan-id 3
vxlan_remoteip 192.168.0.1
vxlan_remoteip 192.168.0.3
----
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan_remoteip 192.168.0.2
vxlan_remoteip 192.168.0.3
auto vxlan3
iface vxlan2 inet manual
+ vxlan-id 3
vxlan_remoteip 192.168.0.2
vxlan_remoteip 192.168.0.3
----
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
----
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
----
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
----
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
----
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
----
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
#disable reverse path filtering
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0
-#allow frr to work with vrf (kernel >4.14 bug)
-net.ipv4.tcp_l3mdev_accept=1
----
* node1
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
#interconnect vxlan-vfr l3vni
auto vxlan4000
iface vxlan4000 inet manual
+ vxlan-id 4000
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
#interconnect vxlan-vfr l3vni
auto vxlan4000
iface vxlan4000 inet manual
+ vxlan-id 4000
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
#interconnect vxlan-vfr l3vni
auto vxlan4000
iface vxlan4000 inet manual
+ vxlan-id 4000
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
#interconnect vxlan-vfr l3vni
auto vxlan4000
iface vxlan4000 inet manual
+ vxlan-id 4000
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
#interconnect vxlan-vfr l3vni
auto vxlan4000
iface vxlan4000 inet manual
+ vxlan-id 4000
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
#interconnect vxlan-vfr l3vni
auto vxlan4000
iface vxlan4000 inet manual
+ vxlan-id 4000
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
address 172.16.0.1
netmask 255.255.255.0
vrf vrf1
+ mtu 1550
post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
#if you have multiple external routers, you can use ecmp balancing
#post-up route add default nexthop via 172.16.0.253 dev eno2 vrf vrf1 nexthop via 172.16.0.254 dev eno2 vrf vrf1
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
#interconnect vxlan-vfr l3vni
auto vxlan4000
iface vxlan4000 inet manual
+ vxlan-id 4000
vxlan-local-tunnelip 192.168.0.1
bridge-learning off
bridge-arp-nd-suppress on
auto eno1
iface eno1 inet manual
+ mtu 1550
auto vmbr0
iface vmbr0 inet static
address 172.16.0.3
netmask 255.255.255.0
vrf vrf1
+ mtu 1550
post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
#if you have multiple external routers, you can use ecmp balancing
#post-up route add default nexthop via 172.16.0.253 dev eno2 vrf vrf1 nexthop via 172.16.0.254 dev eno2 vrf vrf1
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
#interconnect vxlan-vfr l3vni
auto vxlan4000
iface vxlan4000 inet manual
+ vxlan-id 4000
vxlan-local-tunnelip 192.168.0.2
bridge-learning off
bridge-arp-nd-suppress on
auto eno1
iface eno1 inet manual
-
+ mtu 1550
+
auto vmbr0
iface vmbr0 inet static
address 192.168.0.3
address 172.16.0.3
netmask 255.255.255.0
vrf vrf1
+ mtu 1550
post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
#if you have multiple external routers, you can use ecmp balancing
#post-up route add default nexthop via 172.16.0.253 dev eno2 vrf vrf1 nexthop via 172.16.0.254 dev eno2 vrf vrf1
auto vxlan2
iface vxlan2 inet manual
+ vxlan-id 2
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
auto vxlan3
iface vxlan3 inet manual
+ vxlan-id 3
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
#interconnect vxlan-vfr l3vni
auto vxlan4000
iface vxlan4000 inet manual
+ vxlan-id 4000
vxlan-local-tunnelip 192.168.0.3
bridge-learning off
bridge-arp-nd-suppress on
address 172.16.0.1
netmask 255.255.255.0
vrf vrf1
+ mtu 1550
post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
vrrp-id 1
vrrp-priority 1
iface eno2
address 172.16.0.2
netmask 255.255.255.0
+ mtu 1550
vrf vrf1
post-up ip route add default via 172.16.0.254 dev eno2 vrf vrf1
vrrp-id 1