In GRE mode, if MTU and offloading are improperly configured, the network performance (https://ask.openstack.org/en/question/6140/quantum-neutron-gre-slow-performance/) is severely reduced ).
The following configurations (http://openstack.redhat.com/Using_GRE_tenant_networks) are recommended for rdo ):
MTU
When using GRE, set the MTU in the guest to 1400, this will allow for the GRE header and no packet fragmentation.
Hint: If you want to check if this answer will solve your issue, executeIfconfig eth0 MTU 1400On the instance and check the speed.
Edit the file:/Etc/quantum/dhcp_agent.iniAnd set:
dnsmasq_config_file=/etc/neutron/dnsmasq-neutron.conf
Create and edit file// Etc/neutron/dnsmasq-neutron.confAnd put this inside:
dhcp-option-force=26,1400
Restart DHCP:
service neutron-dhcp-agent restart
And reboot your instance. Verify that your MTU is 1400:
[email protected]:~# ifconfig eth0 Link encap:Ethernet HWaddr fa:16:3e:f0:6a:9f inet addr:10.1.0.2 Bcast:10.1.0.255 Mask:255.255.255.0 inet6 addr: fe80::f816:3eff:fef0:6a9f/64 Scope:Link UP BROADCAST RUNNING MULTICAST **MTU:1400** Metric:1 RX packets:934855 errors:0 dropped:0 overruns:0 frame:0 TX packets:207741 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1210256390 (1.2 GB) TX bytes:226172592 (226.1 MB)
In fact, you only need to modify MTU to 1454: DHCP-Option-force = 26,1454
Offloading
You shoshould turn offloading such as Tso/LRO and GRO/GSO off on the instance physical machine for traffic to work.
This can be done with this command (replace ethx with your physical network interface name ):
ethtool -K ethX tso off lro off gro off gso off
You can modify the network script for this change to apply on startup:
/etc/sysconfig/network-scripts/ifcfg-eth0ETHTOOL_OPTS="-K ${DEVICE} tso off lro off gro off gso off"