diff --git a/devstack/settings b/devstack/settings index cafa85384a..f9dab3f291 100644 --- a/devstack/settings +++ b/devstack/settings @@ -8,9 +8,12 @@ source $DEST/ironic/devstack/common_settings # Get the smallest local MTU local_mtu=$(ip link show | sed -ne 's/.*mtu \([0-9]\+\).*/\1/p' | sort -n | head -1) # 50 bytes is overhead for vxlan (which is greater than GRE -# allowing us to use either overlay option with this MTU. +# allowing us to use either overlay option with this MTU). # However, if traffic is flowing over IPv6 tunnels, then -# The overhead is essentially another 100 bytes. In order to +# The overhead is essentially another 78 bytes. In order to # handle both cases, lets go ahead and drop the maximum by -# 100 bytes. -PUBLIC_BRIDGE_MTU=${OVERRIDE_PUBLIC_BRIDGE_MTU:-$((local_mtu - 100))} +# 78 bytes, while not going below 1280 to make IPv6 work at all. +PUBLIC_BRIDGE_MTU=${OVERRIDE_PUBLIC_BRIDGE_MTU:-$((local_mtu - 78))} +if [ $PUBLIC_BRIDGE_MTU -lt 1280 ]; then + PUBLIC_BRIDGE_MTU=1280 +fi