One should be able to set up different mtus for different physnets

external_mtu may differ from tenant_net_mtu
This patchset fixes that issue

Customer-Found
Change-Id: I1eeb6cffd5e8d940ddced41e4a94c7b973f67c2e
diff --git a/README.rst b/README.rst
index 416f93b..ef03151 100644
--- a/README.rst
+++ b/README.rst
@@ -287,6 +287,21 @@
         external_access: false
 
 
+Specify different mtu values for different physnets
+---------------------------------------------------
+
+Neutron Server
+
+.. code-block:: yaml
+
+    neutron:
+      server:
+        version: mitaka
+        backend:
+          external_mtu: 1500
+          tenant_net_mtu: 9000
+          ironic_net_mtu: 9000
+
 Neutron VXLAN tenant networks with Network Nodes (non DVR)
 ----------------------------------------------------------
 
diff --git a/neutron/files/mitaka/ml2_conf.ini b/neutron/files/mitaka/ml2_conf.ini
index 2b8dab3..afd6bf4 100644
--- a/neutron/files/mitaka/ml2_conf.ini
+++ b/neutron/files/mitaka/ml2_conf.ini
@@ -123,10 +123,10 @@
 {%- do physical_network_mtus.append(['physnet1',server.backend.get('external_mtu', '1500')]|join(":")) %}
 {%- endif %}
 {%- if "vlan" in server.backend.tenant_network_types %}
-{%- do physical_network_mtus.append(['physnet2',server.backend.get('external_mtu', '1500')]|join(":")) %}
+{%- do physical_network_mtus.append(['physnet2',server.backend.get('tenant_net_mtu', server.backend.get('external_mtu', '1500'))]|join(":")) %}
 {%- endif %}
 {%- if server.get('ironic_enabled', False) %}
-{%- do physical_network_mtus.append(['physnet3',server.backend.get('external_mtu', '1500')]|join(":")) %}
+{%- do physical_network_mtus.append(['physnet3',server.backend.get('ironic_net_mtu', server.backend.get('external_mtu', '1500'))]|join(":")) %}
 {%- endif %}
 physical_network_mtus = {{ ','.join(physical_network_mtus) }}
 
diff --git a/neutron/files/newton/ml2_conf.ini b/neutron/files/newton/ml2_conf.ini
index 2b8dab3..afd6bf4 100644
--- a/neutron/files/newton/ml2_conf.ini
+++ b/neutron/files/newton/ml2_conf.ini
@@ -123,10 +123,10 @@
 {%- do physical_network_mtus.append(['physnet1',server.backend.get('external_mtu', '1500')]|join(":")) %}
 {%- endif %}
 {%- if "vlan" in server.backend.tenant_network_types %}
-{%- do physical_network_mtus.append(['physnet2',server.backend.get('external_mtu', '1500')]|join(":")) %}
+{%- do physical_network_mtus.append(['physnet2',server.backend.get('tenant_net_mtu', server.backend.get('external_mtu', '1500'))]|join(":")) %}
 {%- endif %}
 {%- if server.get('ironic_enabled', False) %}
-{%- do physical_network_mtus.append(['physnet3',server.backend.get('external_mtu', '1500')]|join(":")) %}
+{%- do physical_network_mtus.append(['physnet3',server.backend.get('ironic_net_mtu', server.backend.get('external_mtu', '1500'))]|join(":")) %}
 {%- endif %}
 physical_network_mtus = {{ ','.join(physical_network_mtus) }}
 
diff --git a/neutron/files/ocata/ml2_conf.ini b/neutron/files/ocata/ml2_conf.ini
index b61e313..95d4771 100644
--- a/neutron/files/ocata/ml2_conf.ini
+++ b/neutron/files/ocata/ml2_conf.ini
@@ -170,10 +170,10 @@
 {%- do physical_network_mtus.append(['physnet1',server.backend.get('external_mtu', '1500')]|join(":")) %}
 {%- endif %}
 {%- if "vlan" in server.backend.tenant_network_types %}
-{%- do physical_network_mtus.append(['physnet2',server.backend.get('external_mtu', '1500')]|join(":")) %}
+{%- do physical_network_mtus.append(['physnet2',server.backend.get('tenant_net_mtu', server.backend.get('external_mtu', '1500'))]|join(":")) %}
 {%- endif %}
 {%- if server.get('ironic_enabled', False) %}
-{%- do physical_network_mtus.append(['physnet3',server.backend.get('external_mtu', '1500')]|join(":")) %}
+{%- do physical_network_mtus.append(['physnet3',server.backend.get('ironic_net_mtu', server.backend.get('external_mtu', '1500'))]|join(":")) %}
 {%- endif %}
 physical_network_mtus = {{ ','.join(physical_network_mtus) }}
 
diff --git a/tests/pillar/control_single.sls b/tests/pillar/control_single.sls
index 2eb905e..d59669b 100644
--- a/tests/pillar/control_single.sls
+++ b/tests/pillar/control_single.sls
@@ -2,6 +2,9 @@
   server:
     enabled: true
     backend:
+      external_mtu: 1500
+      tenant_net_mtu: 9000
+      ironic_net_mtu: 9000
       engine: contrail
       #contrail_discovery_host
       host: 127.0.0.1