Bug 1048684 - Low bandwidth for gre/vxlan
Summary: Low bandwidth for gre/vxlan
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-neutron
Version: unspecified
Hardware: Unspecified
OS: Linux
unspecified
unspecified
Target Milestone: ---
: 5.0 (RHEL 7)
Assignee: RHOS Maint
QA Contact: Ofer Blaut
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-01-06 06:36 UTC by chen.li
Modified: 2016-04-26 17:32 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-01-07 04:56:37 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description chen.li 2014-01-06 06:36:19 UTC
Description of problem:
When I using ovs+gre/vxlan,the bandwidth between two instances are really low.

Version-Release number of selected component (if applicable):
kernel 2.6.32-358.123.2.openstack.el6.x86_64
openvswitch.x86_64      1.11.0_8ce28d-1.el6ost
openstack-neutron.noarch
                        2013.2.1-1.el6  @openstack-havana
openstack-neutron-openvswitch.noarch
                        2013.2.1-1.el6  @openstack-havana
--
python-neutron.noarch   2013.2.1-1.el6  @openstack-havana
python-neutronclient.noarch
                        2.3.1-2.el6     @openstack-havana

How reproducible:
Happen every time.

Steps to Reproduce:
1.Configure neutron with ML2 plugin 
2.enable gre for openvswitch agent
2.Create a gre network => gre-net1
3.boot instance1 on compute node 1 with network gre-net1
4.boot instance2 on compute node 2 with network gre-net1
4.do iperf test between the instance1 and instance2

Actual results:
iperf report only 315Kb/s

Expected results:
The test is done based on 10Gb/s NIC, so, we expect we can get bandwitdth higher than 9Gb/s.

Additional info:

1. I'm  facing issue: https://bugzilla.redhat.com/show_bug.cgi?id=1048053
   I just remove the wrong remote_ip ports by hand.

2. set-up information for Compute Node
 (I assume two nodes are almost the same):

ovs-vsctl show

d4c41787-8313-49a1-9fa8-1e34f7fa2086
    Bridge br-tun
        Port "gre-192.101.11.102"
            Interface "gre-192.101.11.102"
                type: gre
                options: {in_key=flow, local_ip="192.101.11.101", out_key=flow, remote_ip="192.101.11.102"}
        Port "gre-192.101.11.201"
            Interface "gre-192.101.11.201"
                type: gre
                options: {in_key=flow, local_ip="192.101.11.101", out_key=flow, remote_ip="192.101.11.201"}
        Port br-tun
            Interface br-tun
                type: internal
        Port patch-int
            Interface patch-int
                type: patch
                options: {peer=patch-tun}
        Port "vxlan-192.101.11.201"
            Interface "vxlan-192.101.11.201"
                type: vxlan
                options: {dst_port="8472", in_key=flow, local_ip="192.101.11.101", out_key=flow, remote_ip="192.101.11.201"}
        Port "vxlan-192.101.11.102"
            Interface "vxlan-192.101.11.102"
                type: vxlan
                options: {dst_port="8472", in_key=flow, local_ip="192.101.11.101", out_key=flow, remote_ip="192.101.11.102"}
    Bridge br-int
        Port br-int
            Interface br-int
                type: internal
        Port "qvo3fa26a9e-ce"
            tag: 2
            Interface "qvo3fa26a9e-ce"
        Port "qvob2e3b36f-1a"
            tag: 1
            Interface "qvob2e3b36f-1a"
        Port patch-tun
            Interface patch-tun
                type: patch
                options: {peer=patch-int}
        Port "qvoedea7efd-17"
            tag: 1
            Interface "qvoedea7efd-17"
    ovs_version: "1.11.0"


ovs-dpctl show
system@ovs-system:
        lookups: hit:672934 missed:4948 lost:0
        flows: 0
        port 0: ovs-system (internal)
        port 1: br-int (internal)
        port 2: br-tun (internal)
        port 3: vxlan_sys_8472 (vxlan: df_default=false, ttl=0)
        port 4: gre_system (gre: df_default=false, ttl=0)
        port 5: qvoedea7efd-17
        port 6: qvo3fa26a9e-ce
        port 7: qvob2e3b36f-1a


ovs-ofctl dump-flows br-int
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=4221.965s, table=0, n_packets=673517, n_bytes=18223254550, idle_age=637, priority=1 actions=NORMAL


ovs-ofctl dump-flows br-tun
NXST_FLOW reply (xid=0x4):
 cookie=0x0, duration=4221.394s, table=0, n_packets=297, n_bytes=21824, idle_age=675, priority=1,in_port=3 actions=resubmit(,3)
 cookie=0x0, duration=4218.219s, table=0, n_packets=0, n_bytes=0, idle_age=4218, priority=1,in_port=7 actions=resubmit(,3)
 cookie=0x0, duration=1592.252s, table=0, n_packets=0, n_bytes=0, idle_age=1592, priority=1,in_port=8 actions=resubmit(,2)
 cookie=0x0, duration=4215.341s, table=0, n_packets=0, n_bytes=0, idle_age=4215, priority=1,in_port=11 actions=resubmit(,2)
 cookie=0x0, duration=4223.886s, table=0, n_packets=2842, n_bytes=2899682, idle_age=651, priority=1,in_port=1 actions=resubmit(,1)
 cookie=0x0, duration=4216.755s, table=0, n_packets=50, n_bytes=4616, idle_age=2487, priority=1,in_port=9 actions=resubmit(,2)
 cookie=0x0, duration=4216.048s, table=0, n_packets=0, n_bytes=0, idle_age=4216, priority=1,in_port=10 actions=resubmit(,2)
 cookie=0x0, duration=4219.806s, table=0, n_packets=0, n_bytes=0, idle_age=4219, priority=1,in_port=5 actions=resubmit(,3)
 cookie=0x0, duration=4219.014s, table=0, n_packets=0, n_bytes=0, idle_age=4219, priority=1,in_port=6 actions=resubmit(,3)
 cookie=0x0, duration=1597.815s, table=0, n_packets=594, n_bytes=54924, idle_age=943, priority=1,in_port=2 actions=resubmit(,3)
 cookie=0x0, duration=4220.602s, table=0, n_packets=0, n_bytes=0, idle_age=4220, priority=1,in_port=4 actions=resubmit(,3)
 cookie=0x0, duration=4223.799s, table=0, n_packets=4, n_bytes=300, idle_age=4215, priority=0 actions=drop
 cookie=0x0, duration=4223.712s, table=1, n_packets=2057, n_bytes=2833376, idle_age=675, priority=0,dl_dst=00:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,20)
 cookie=0x0, duration=4223.626s, table=1, n_packets=785, n_bytes=66306, idle_age=651, priority=0,dl_dst=01:00:00:00:00:00/01:00:00:00:00:00 actions=resubmit(,21)
 cookie=0x0, duration=4081.213s, table=2, n_packets=878, n_bytes=82892, idle_age=2393, priority=1,tun_id=0x1 actions=mod_vlan_vid:2,resubmit(,10)
 cookie=0x0, duration=4223.539s, table=2, n_packets=0, n_bytes=0, idle_age=4223, priority=0 actions=drop
 cookie=0x0, duration=4108.179s, table=3, n_packets=1325, n_bytes=135600, idle_age=675, priority=1,tun_id=0x3 actions=mod_vlan_vid:1,resubmit(,10)
 cookie=0x0, duration=4223.453s, table=3, n_packets=0, n_bytes=0, idle_age=4223, priority=0 actions=drop
 cookie=0x0, duration=4223.367s, table=10, n_packets=2203, n_bytes=218492, idle_age=675, priority=1 actions=learn(table=20,hard_timeout=300,priority=1,NXM_OF_VLAN_TCI[0..11],NXM_OF_ETH_DST[]=NXM_OF_ETH_SRC[],load:0->NXM_OF_VLAN_TCI[],load:NXM_NX_TUN_ID[]->NXM_NX_TUN_ID[],output:NXM_OF_IN_PORT[]),output:1
 cookie=0x0, duration=4223.281s, table=20, n_packets=0, n_bytes=0, idle_age=4223, priority=0 actions=resubmit(,21)
 cookie=0x0, duration=4081.306s, table=21, n_packets=86, n_bytes=25644, idle_age=2530, hard_age=1592, priority=1,dl_vlan=2 actions=strip_vlan,set_tunnel:0x1,output:11,output:8,output:10,output:9
 cookie=0x0, duration=4108.266s, table=21, n_packets=671, n_bytes=38554, idle_age=651, hard_age=1597, priority=1,dl_vlan=1 actions=strip_vlan,set_tunnel:0x3,output:4,output:5,output:7,output:3,output:2,output:6
 cookie=0x0, duration=4223.195s, table=21, n_packets=28, n_bytes=2108, idle_age=691, priority=0 actions=drop


ifconfig
br-int    Link encap:Ethernet  HWaddr 9A:CA:56:D9:7F:4E
          inet6 addr: fe80::88cf:9fff:fe66:4c03/64 Scope:Link
          UP BROADCAST RUNNING  MTU:1500  Metric:1
          RX packets:4749 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1257014 (1.1 MiB)  TX bytes:468 (468.0 b)

br-tun    Link encap:Ethernet  HWaddr B6:0D:FB:20:AD:41
          inet6 addr: fe80::e44c:ebff:fe19:4659/64 Scope:Link
          UP BROADCAST RUNNING  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:468 (468.0 b)

eth0      Link encap:Ethernet  HWaddr 00:25:90:78:E7:A4
          inet addr:192.168.11.101  Bcast:192.168.255.255  Mask:255.255.0.0
          inet6 addr: fe80::225:90ff:fe78:e7a4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:4505878 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1442028 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3480372412 (3.2 GiB)  TX bytes:326304820 (311.1 MiB)
          Memory:df920000-df940000

eth4      Link encap:Ethernet  HWaddr 90:E2:BA:41:DA:E4
          inet addr:192.101.11.101  Bcast:192.101.11.255  Mask:255.255.255.0
          inet6 addr: fe80::92e2:baff:fe41:dae4/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:370276 errors:0 dropped:0 overruns:0 frame:0
          TX packets:9630 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:26519961 (25.2 MiB)  TX bytes:4511768 (4.3 MiB)

......



ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: Symmetric
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: Symmetric
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes



ethtool eth4
Settings for eth4:
        Supported ports: [ FIBRE ]
        Supported link modes:   10000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: No
        Advertised link modes:  10000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Speed: 10000Mb/s
        Duplex: Full
        Port: Direct Attach Copper
        PHYAD: 0
        Transceiver: external
        Auto-negotiation: off
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

Comment 2 chen.li 2014-01-07 04:56:37 UTC
Just get response from openvswitch mail list, when we using ovs/vxlan, we should set the physical nic's MTU bigger than other ports.

Thanks.
-chen


Note You need to log in before you can comment on or make changes to this bug.