Add MTU selection & advertisement settings to Neutron config

neutron.conf parameter additions in support of MTU selection
and advertisement.  Also, under ML2 group, add an additional
configuration params to optionally set the path and segment
MTU values as well as optionally map physnets to MTU values.

DocImpact

Change-Id: I1be0074ba05d8f9f70bf0f8f5b26b0eb6587fdac
Partially-Implements: blueprint mtu-selection-and-advertisement
This commit is contained in:
Tim Swanson 2015-02-06 18:49:49 -05:00 committed by Timothy Swanson
parent 68c0e3d479
commit 38bb57e9b0
4 changed files with 50 additions and 0 deletions

View File

@ -146,6 +146,13 @@ lock_path = $state_path/lock
# Maximum number of routes per router
# max_routes = 30
# =========== items for MTU selection and advertisement =============
# Advertise MTU. If True, effort is made to advertise MTU
# settings to VMs via network methods (ie. DHCP and RA MTU options)
# when the network's preferred MTU is known.
# advertise_mtu = False
# ======== end of items for MTU selection and advertisement =========
# =========== items for agent management extension =============
# Seconds to regard the agent as down; should be at least twice
# report_interval, to be sure the agent is down for good

View File

@ -26,6 +26,29 @@
# extension_drivers =
# Example: extension_drivers = anewextensiondriver
# =========== items for MTU selection and advertisement =============
# (IntOpt) Path MTU. The maximum permissible size of an unfragmented
# packet travelling from and to addresses where encapsulated Neutron
# traffic is sent. Drivers calculate maximum viable MTU for
# validating tenant requests based on this value (typically,
# path_mtu - max encap header size). If <=0, the path MTU is
# indeterminate and no calculation takes place.
# path_mtu = 0
# (IntOpt) Segment MTU. The maximum permissible size of an
# unfragmented packet travelling a L2 network segment. If <=0,
# the segment MTU is indeterminate and no calculation takes place.
# segment_mtu = 0
# (ListOpt) Physical network MTUs. List of mappings of physical
# network to MTU value. The format of the mapping is
# <physnet>:<mtu val>. This mapping allows specifying a
# physical network MTU value that differs from the default
# segment_mtu value.
# physical_network_mtus =
# Example: physical_network_mtus = physnet1:1550, physnet2:1500
# ======== end of items for MTU selection and advertisement =========
[ml2_type_flat]
# (ListOpt) List of physical_network names with which flat networks
# can be created. Use * to allow flat networks with arbitrary

View File

@ -121,6 +121,10 @@ core_opts = [
cfg.IntOpt('send_events_interval', default=2,
help=_('Number of seconds between sending events to nova if '
'there are any events to send.')),
cfg.BoolOpt('advertise_mtu', default=False,
help=_('If True, effort is made to advertise MTU settings '
'to VMs via network methods (DHCP and RA MTU options) '
'when the network\'s preferred MTU is known.')),
]
core_cli_opts = [

View File

@ -35,6 +35,22 @@ ml2_opts = [
help=_("An ordered list of extension driver "
"entrypoints to be loaded from the "
"neutron.ml2.extension_drivers namespace.")),
cfg.IntOpt('path_mtu', default=0,
help=_('The maximum permissible size of an unfragmented '
'packet travelling from and to addresses where '
'encapsulated Neutron traffic is sent. If <= 0, '
'the path MTU is indeterminate.')),
cfg.IntOpt('segment_mtu', default=0,
help=_('The maximum permissible size of an unfragmented '
'packet travelling a L2 network segment. If <= 0, the '
'segment MTU is indeterminate.')),
cfg.ListOpt('physical_network_mtus',
default=[],
help=_("A list of mappings of physical networks to MTU "
"values. The format of the mapping is "
"<physnet>:<mtu val>. This mapping allows "
"specifying a physical network MTU value that "
"differs from the default segment_mtu value.")),
]