Page MenuHomeVyOS Platform

Change VXLAN default MTU to 1500 bytes
Closed, ResolvedPublicFEATURE REQUEST

Description

I just "found" an odd behavior or Linux and the VyOS CLI implementation. If adding VXLAN interfaces using iproute2 the MTU differs depending on the creation syntax:

# So using IPv4 + external control plane (EVPN) -> Initial MTU 1500
ip -4 link add vxlan100 type vxlan dstport 4789 external df unset tos inherit ttl 16 nolearning vnifilter local 172.16.33.201
# Using IPv4 p2p -> Initial MTU 1450
ip -4 link add vxlan200 type vxlan id 200 dstport 4789 local 172.16.33.201 dev eth0
# Using IPv6 p2p -> Initial MTU 1430
ip -6 link add vxlan300 type vxlan id 300 dstport 4789 local 2001:db8:1::1 dev eth0

132: vxlan300: <BROADCAST,MULTICAST> mtu 1430 qdisc noop state DOWN group default qlen 1000
    link/ether 4e:fb:e3:f5:d9:59 brd ff:ff:ff:ff:ff:ff
133: vxlan200: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000
    link/ether 0e:4e:f4:76:59:3f brd ff:ff:ff:ff:ff:ff
134: vxlan100: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether ba:b6:b7:0c:b1:37 brd ff:ff:ff:ff:ff:ff

VyOS always sets a default of 1450 byte MTU which is correct for IPv4 p2p links or multicast, but invalid for IPv6 p2p.
Also this will break EVPN deployments as ethernet bridges with MTU < 1500 bytes are less fun.

Increase default MTU in VyOS 1.4 and 1.5 to 1500 bytes. Migrate old configurations to use 1450 bytes if not specified otherwise on the CLI.

Details

Version
-
Is it a breaking change?
Config syntax change (migratable)
Issue type
Feature (new functionality)

Event Timeline

c-po claimed this task.
c-po added a project: VyOS 1.5 Circinus.
c-po edited a custom field.
c-po triaged this task as Low priority.
c-po moved this task from Open to Finished on the VyOS 1.4 Sagitta board.
c-po moved this task from Open to Finished on the VyOS 1.5 Circinus board.

Wouldnt this break things with compatibility with other vendors?

If the underlay is 1500 bytes the VXLAN overlay can never be 1500 bytes since the VXLAN is never allowed to be fragmented.

When the underlay is IPv4 the VXLAN will append 50 bytes meaning the VXLAN overlay can then only be underlay_MTU - 50 = normally 1450 bytes.

While with underlay being IPv6 the VXLAN will append 70 bytes meaning the VXLAN overlay can then only be underlay_MTU - 70 = normally 1430 bytes.