Merge "One should be able to set path_mtu value for neutron"
diff --git a/README.rst b/README.rst
index 502d5c5..c8ff890 100644
--- a/README.rst
+++ b/README.rst
@@ -288,6 +288,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 c148e61..c6a7f12 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 c148e61..c6a7f12 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 bc4d811..abff949 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