In /etc/neutron/neutron.conf, global_physnet_mtu is set to 1400 instead of the ethernet standard 1500, causing all virtual networking component on the cloud to be configured at 1350 MTU(1400-50 for VXLAN headers). This leads to significant performance drop in throughput.
The mtu of the external network on the controller has been shown as an example:
neutron net-show public
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
| availability_zone_hints | |
| availability_zones | nova |
| created_at | 2016-06-07T12:44:29 |
| description | |
| id | 9e07b576-dbc0-4cc1-801f-8dd16be3283e |
| ipv4_address_scope | |
| ipv6_address_scope | |
| is_default | False |
| mtu | 1350 |
| name | public |
| port_security_enabled | True |
| provider:network_type | vxlan |
| provider:physical_network | |
| provider:segmentation_id | 44 |
| qos_policy_id | |
| router:external | True |
| shared | False |
| status | ACTIVE |
| subnets | 6ec8fdc1-6c54-4097-ba6a-7dd54ca3cba8 |
| tags | |
| tenant_id | bed81c5587c54f358a88247bd09f9ddd |
| updated_at | 2016-06-07T12:44:29 |
+---------------------------+--------------------------------------+
I believe this probably has to do with https:/ /github. com/openstack/ puppet- neutron/ commit/ d301833c2c379db 706a52a582f502b b14cd4d34f
It means that the config opt we were setting in Neutron before has been deprecated and I suspect the behavior of the new opt is not exactly the same. I know there was a proposal to just stop setting tenant mtu since Neutron now does that itself, so that's probably the solution here. Needs some testing to ensure everything still gets set sanely though.