]> review.fuel-infra Code Review - openstack-build/neutron-build.git/commitdiff
Add MTU selection & advertisement settings to Neutron config
authorTim Swanson <tiswanso@cisco.com>
Fri, 6 Feb 2015 23:49:49 +0000 (18:49 -0500)
committerTimothy Swanson <tiswanso@cisco.com>
Fri, 13 Mar 2015 13:31:11 +0000 (13:31 +0000)
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

etc/neutron.conf
etc/neutron/plugins/ml2/ml2_conf.ini
neutron/common/config.py
neutron/plugins/ml2/config.py

index 56997e9b34c65a7034f5939f94860603fba35a5c..3b208dab29b092b1d2eafdad6a3c7547123e85a4 100644 (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
index 4fb1a4a360c4783697c99c9864c4df5dd35b4cca..9b8a461920255393f5ed4a39b85d8ab39b0aefa1 100644 (file)
 # 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
index 194f8f9492d9f3517fbeb8c98ebb03833bb09288..a0572c94eba255abfce99349f0ee66547c01ff09 100644 (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 = [
index a5c05658851d518c480964db2f522b204c98eac7..ddc1547fb8e3e09e1f7686b95896cfe7f1995db1 100644 (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.")),
 ]