ML2: Configure path_mtu to default to 1500 bytes
I8287677c7ad0f13fa9f5cb194f9372d04b78cb61 changed the behavior of DevStack, so that path_mtu is being set to 1500 by default. Let's take the next step and set path_mtu to 1500 by default, instead of relying on deployment tools like DevStack to set it. When using the ML2 plugin and setting path_mtu to default to 1500, the second order effect is that all Neutron Network objects will have the mtu attribute populated. For tenant network types like VXLAN, the MTU will be set as path_mtu less the protocol overhead. So for example, a Neutron Network backed by VXLAN will have the mtu attribute set to 1450. Related-Bug: #1542108 Co-Authored-By: Matt Kassawara <mkassawara@gmail.com> Change-Id: I4096a3e7704032fa4aa5c3aa8bcaec4e38d0d06d
This commit is contained in:
parent
5d7ffc03ed
commit
7a4633a9ca
@ -39,7 +39,7 @@ ml2_opts = [
|
|||||||
"entrypoints to be loaded from the "
|
"entrypoints to be loaded from the "
|
||||||
"neutron.ml2.extension_drivers namespace. "
|
"neutron.ml2.extension_drivers namespace. "
|
||||||
"For example: extension_drivers = port_security,qos")),
|
"For example: extension_drivers = port_security,qos")),
|
||||||
cfg.IntOpt('path_mtu', default=0,
|
cfg.IntOpt('path_mtu', default=1500,
|
||||||
help=_('Maximum size of an IP packet (MTU) that can traverse '
|
help=_('Maximum size of an IP packet (MTU) that can traverse '
|
||||||
'the underlying physical network infrastructure without '
|
'the underlying physical network infrastructure without '
|
||||||
'fragmentation. For instances using a '
|
'fragmentation. For instances using a '
|
||||||
|
29
releasenotes/notes/1500-default-mtu-b0d6e4ab193b62a4.yaml
Normal file
29
releasenotes/notes/1500-default-mtu-b0d6e4ab193b62a4.yaml
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
prelude: >
|
||||||
|
- The ML2 plug-in supports calculating the MTU for instances
|
||||||
|
using overlay networks by subtracting the overlay protocol
|
||||||
|
overhead from the value of 'path_mtu', ideally the physical
|
||||||
|
(underlying) network MTU, and providing the smaller value to
|
||||||
|
instances via DHCP. Prior to Mitaka, 'path_mtu' defaults to
|
||||||
|
0 which disables this feature. In Mitaka, 'path_mtu' defaults
|
||||||
|
to 1500, a typical MTU for physical networks, to improve the
|
||||||
|
"out of box" experience for typical deployments.
|
||||||
|
features:
|
||||||
|
- In Mitaka, the combination of 'path_mtu' defaulting to 1500 and
|
||||||
|
'advertise_mtu' defaulting to True provides a value of MTU accounting
|
||||||
|
for any overlay protocol overhead on the network to instances using
|
||||||
|
DHCP. For example, an instance attaching to a VXLAN network receives
|
||||||
|
a 1450 MTU from DHCP accounting for 50 bytes of overhead from the
|
||||||
|
VXLAN overlay protocol if using IPv4 endpoints.
|
||||||
|
issues:
|
||||||
|
- The combination of 'path_mtu' and 'advertise_mtu' only adjusts the
|
||||||
|
MTU for instances rather than all virtual network components between
|
||||||
|
instances and provider/public networks. In particular, setting
|
||||||
|
'path_mtu' to a value greater than 1500 can cause packet loss even
|
||||||
|
if the physical network supports it. Also, the calculation does not
|
||||||
|
consider additional overhead from IPv6 endpoints.
|
||||||
|
upgrade:
|
||||||
|
- Operators using the ML2 plug-in with 'path_mtu' defaulting to 0 may need
|
||||||
|
to perform a database migration to update the MTU for existing networks
|
||||||
|
and possibly disable existing workarounds for MTU problems such as
|
||||||
|
increasing the physical network MTU to 1550.
|
Loading…
Reference in New Issue
Block a user