[ovs-discuss] the network performence is not normal when use openvswitch.ko make from ovs tree

Tonghao Zhang xiangxia.m.yue at gmail.com
Tue Nov 5 11:48:57 UTC 2019


On Tue, Nov 5, 2019 at 6:14 PM shuangyang qian <qsyqian at gmail.com> wrote:
>
>
> cc to ovs-discuss
> ---------- Forwarded message ---------
> 发件人: shuangyang qian <qsyqian at gmail.com>
> Date: 2019年11月5日周二 下午6:12
> Subject: Re: [ovs-discuss] the network performence is not normal when use openvswitch.ko make from ovs tree
> To: Tonghao Zhang <xiangxia.m.yue at gmail.com>
>
>
> thank you for your reply, i just change my kernel version as same as you and do the steps you provide, and get the same result which i metioned at first. The process is like below.
> on node1:
> # ovs-vsctl show
> 4f4b936e-ddb9-4fc6-b0aa-6eb6034d4671
>     Bridge br-int
>         Port br-int
>             Interface br-int
>                 type: internal
>         Port "gnv0"
>             Interface "gnv0"
>                 type: geneve
>                 options: {csum="true", key="100", remote_ip="10.18.124.2"}
>         Port "veth-vm1"
>             Interface "veth-vm1"
>     ovs_version: "2.12.0"
> # ip netns exec vm1 ip a
> 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000
>     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
> 2: ovs-gretap0 at NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
>     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
Why this netdev in your netns? you run the ovs in your netns ? the ovs
should running on host.

> 3: erspan0 at NONE: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000
>     link/ether 32:d9:4f:86:c3:58 brd ff:ff:ff:ff:ff:ff
?
> 4: ovs-ip6gre0 at NONE: <NOARP> mtu 1448 qdisc noop state DOWN group default qlen 1000
>     link/gre6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
> 5: ovs-ip6tnl0 at NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
?
>     link/tunnel6 :: brd ::
> 19: vm1-eth0 at if18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
>     link/ether 32:4b:51:e2:2b:f4 brd ff:ff:ff:ff:ff:ff link-netnsid 0
>     inet 192.168.100.10/24 scope global vm1-eth0
>        valid_lft forever preferred_lft forever
>     inet6 fe80::304b:51ff:fee2:2bf4/64 scope link
>        valid_lft forever preferred_lft forever
please set vm1-eth0 mtu to 1450.
> on node2:
> # ovs-vsctl show
> 53df6c21-c210-4c2c-a7ab-b1edb0df4a31
>     Bridge br-int
>         Port "veth-vm2"
>             Interface "veth-vm2"
>         Port "gnv0"
>             Interface "gnv0"
>                 type: geneve
>                 options: {csum="true", key="100", remote_ip="10.18.124.1"}
>         Port br-int
>             Interface br-int
>                 type: internal
>     ovs_version: "2.12.0"
> # ip netns exec vm2 ip a
> 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000
>     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
> 2: ovs-gretap0 at NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
>     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
> 3: erspan0 at NONE: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000
>     link/ether 8e:90:3e:95:1b:dd brd ff:ff:ff:ff:ff:ff
> 4: ovs-ip6gre0 at NONE: <NOARP> mtu 1448 qdisc noop state DOWN group default qlen 1000
>     link/gre6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
> 5: ovs-ip6tnl0 at NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1000
>     link/tunnel6 :: brd ::
> 11: vm2-eth0 at if10: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
>     link/ether ee:e4:3e:16:6f:66 brd ff:ff:ff:ff:ff:ff link-netnsid 0
>     inet 192.168.100.20/24 scope global vm2-eth0
>        valid_lft forever preferred_lft forever
>     inet6 fe80::ece4:3eff:fe16:6f66/64 scope link
>        valid_lft forever preferred_lft forever
>
> and in network namespace vm1 on node1 i start iperf3 as server:
> # ip netns exec vm1 iperf3 -s
>
> and in network namespace vm2 on noed2 i start iperf3 as client:
> # ip netns exec vm2 iperf3 -c 192.168.100.10 -i 2 -t 10
> Connecting to host 192.168.100.10, port 5201
> [  4] local 192.168.100.20 port 35258 connected to 192.168.100.10 port 5201
> [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
> [  4]   0.00-2.00   sec   494 MBytes  2.07 Gbits/sec  151    952 KBytes
> [  4]   2.00-4.00   sec   582 MBytes  2.44 Gbits/sec    3   1007 KBytes
> [  4]   4.00-6.00   sec   639 MBytes  2.68 Gbits/sec    0   1.36 MBytes
> [  4]   6.00-8.00   sec   618 MBytes  2.59 Gbits/sec    0   1.64 MBytes
> [  4]   8.00-10.00  sec   614 MBytes  2.57 Gbits/sec    0   1.88 MBytes
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bandwidth       Retr
> [  4]   0.00-10.00  sec  2.88 GBytes  2.47 Gbits/sec  154             sender
> [  4]   0.00-10.00  sec  2.88 GBytes  2.47 Gbits/sec                  receiver
>
> iperf Done.
>
> the openvswitch.ko in both two nodes is:
> # modinfo openvswitch
> filename:       /lib/modules/3.10.0-957.el7.x86_64/extra/openvswitch/openvswitch.ko
> alias:          net-pf-16-proto-16-family-ovs_ct_limit
> alias:          net-pf-16-proto-16-family-ovs_meter
> alias:          net-pf-16-proto-16-family-ovs_packet
> alias:          net-pf-16-proto-16-family-ovs_flow
> alias:          net-pf-16-proto-16-family-ovs_vport
> alias:          net-pf-16-proto-16-family-ovs_datapath
> version:        2.12.0
> license:        GPL
> description:    Open vSwitch switching datapath
> retpoline:      Y
> rhelversion:    7.6
> srcversion:     764C8BD051B3182DE71CF29
> depends:        nf_conntrack,tunnel6,nf_nat,nf_defrag_ipv6,libcrc32c,nf_nat_ipv6,nf_nat_ipv4
> vermagic:       3.10.0-957.el7.x86_64 SMP mod_unload modversions
> parm:           udp_port:Destination UDP port (ushort)
>
> aslo, i uninstall openvswitch-kmod rpm package and use openvswitch.ko in linux kernel, like:
> # modinfo openvswitch
> filename:       /lib/modules/3.10.0-957.el7.x86_64/kernel/net/openvswitch/openvswitch.ko.xz
> alias:          net-pf-16-proto-16-family-ovs_packet
> alias:          net-pf-16-proto-16-family-ovs_flow
> alias:          net-pf-16-proto-16-family-ovs_vport
> alias:          net-pf-16-proto-16-family-ovs_datapath
> license:        GPL
> description:    Open vSwitch switching datapath
> retpoline:      Y
> rhelversion:    7.6
> srcversion:     6FE05FC439FA9CE7E264684
> depends:        nf_conntrack,nf_nat,libcrc32c,nf_nat_ipv6,nf_nat_ipv4,nf_defrag_ipv6
> intree:         Y
> vermagic:       3.10.0-957.el7.x86_64 SMP mod_unload modversions
> signer:         CentOS Linux kernel signing key
> sig_key:        B7:0D:CF:0D:F2:D9:B7:F2:91:59:24:82:49:FD:6F:E8:7B:78:14:27
> sig_hashalgo:   sha256
>
> and get the bw is:
> # ip netns exec vm2 iperf3 -c 192.168.100.10 -i 2 -t 10
> Connecting to host 192.168.100.10, port 5201
> [  4] local 192.168.100.20 port 35270 connected to 192.168.100.10 port 5201
> [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
> [  4]   0.00-2.00   sec  1.61 GBytes  6.92 Gbits/sec  2793    877 KBytes
> [  4]   2.00-4.00   sec  1.56 GBytes  6.70 Gbits/sec  7773    907 KBytes
> [  4]   4.00-6.00   sec  1.78 GBytes  7.62 Gbits/sec  4387    952 KBytes
> [  4]   6.00-8.00   sec  1.66 GBytes  7.11 Gbits/sec  9365    815 KBytes
> [  4]   8.00-10.00  sec  1.68 GBytes  7.20 Gbits/sec  2421    554 KBytes
> - - - - - - - - - - - - - - - - - - - - - - - - -
> [ ID] Interval           Transfer     Bandwidth       Retr
> [  4]   0.00-10.00  sec  8.28 GBytes  7.11 Gbits/sec  26739             sender
> [  4]   0.00-10.00  sec  8.28 GBytes  7.11 Gbits/sec                  receiver
>
> iperf Done.
>
> so, the performence also is not normal when use openvswitch.ko installed from openvswitch-kmod rpm package.
>
> can you show me your build process for openvswith-*.rpm package or give me some link? or your process of install ovs?
> i don't know where is wrong.
The rpm I have try, no reproduces. I think you should check your topo.
> thx.
>
> Tonghao Zhang <xiangxia.m.yue at gmail.com> 于2019年11月5日周二 下午3:59写道:
>>
>> On Mon, Nov 4, 2019 at 5:14 PM shuangyang qian <qsyqian at gmail.com> wrote:
>> >
>> > Hi:
>> > I make rpm packages for ovs and ovn with this document:http://docs.openvswitch.org/en/latest/intro/install/fedora/ . For use the kernel module in ovs tree, i configure with the command: ./configure --with-linux=/lib/modules/$(uname -r)/build .
>> > Then install the rpm packages.
>> > when i finished, i check the openvswitch.ko is like:
>> > # lsmod |  grep openvswitch
>> > openvswitch           291276  0
>> > tunnel6                 3115  1 openvswitch
>> > nf_defrag_ipv6         25957  2 nf_conntrack_ipv6,openvswitch
>> > nf_nat_ipv6             6459  2 openvswitch,ip6table_nat
>> > nf_nat_ipv4             6187  2 openvswitch,iptable_nat
>> > nf_nat                 18080  5 xt_nat,openvswitch,nf_nat_ipv6,nf_nat_masquerade_ipv4,nf_nat_ipv4
>> > nf_conntrack          102766  10 ip_vs,nf_conntrack_ipv6,openvswitch,nf_conntrack_ipv4,nf_conntrack_netlink,nf_nat_ipv6,nf_nat_masquerade_ipv4,xt_conntrack,nf_nat_ipv4,nf_nat
>> > libcrc32c               1388  3 ip_vs,openvswitch,xfs
>> > ipv6                  400397  92 ip_vs,nf_conntrack_ipv6,openvswitch,nf_defrag_ipv6,nf_nat_ipv6,bridge
>> > # modinfo openvswitch
>> > filename:       /lib/modules/4.9.18-19080201/extra/openvswitch/openvswitch.ko
>> > alias:          net-pf-16-proto-16-family-ovs_ct_limit
>> > alias:          net-pf-16-proto-16-family-ovs_meter
>> > alias:          net-pf-16-proto-16-family-ovs_packet
>> > alias:          net-pf-16-proto-16-family-ovs_flow
>> > alias:          net-pf-16-proto-16-family-ovs_vport
>> > alias:          net-pf-16-proto-16-family-ovs_datapath
>> > version:        2.11.2
>> > license:        GPL
>> > description:    Open vSwitch switching datapath
>> > srcversion:     9DDA327F9DD46B9813628A4
>> > depends:        nf_conntrack,tunnel6,ipv6,nf_nat,nf_defrag_ipv6,libcrc32c,nf_nat_ipv6,nf_nat_ipv4
>> > vermagic:       4.9.18-19080201 SMP mod_unload modversions
>> > parm:           udp_port:Destination UDP port (ushort)
>> > # rpm -qf /lib/modules/4.9.18-19080201/extra/openvswitch/openvswitch.ko
>> > openvswitch-kmod-2.11.2-1.el7.x86_64
>> >
>> > Then i start to build my network structure. I have two node,and network namespace vm1 on node1, network namespace vm2 on node2. vm1's veth pair veth-vm1 is on node1's br-int. vm2's veth pair veth-vm2 is on node2's br-int. In logical layer, there is one logical switch test-subnet and two logical switch port node1 and node2 on it. like this:
>> > # ovn-nbctl show
>> > switch 70585c0e-3cd9-459e-9448-3c13f3c0bfa3 (test-subnet)
>> >     port node2
>> >         addresses: ["00:00:00:00:00:02 192.168.100.20"]
>> >     port node1
>> >         addresses: ["00:00:00:00:00:01 192.168.100.10"]
>> > on node1:
>> > # ovs-vsctl show
>> > 5180f74a-1379-49af-b265-4403bd0d82d8
>> >     Bridge br-int
>> >         fail_mode: secure
>> >         Port "ovn-431b9e-0"
>> >             Interface "ovn-431b9e-0"
>> >                 type: geneve
>> >                 options: {csum="true", key=flow, remote_ip="10.18.124.2"}
>> >         Port br-int
>> >             Interface br-int
>> >                 type: internal
>> >         Port "veth-vm1"
>> >             Interface "veth-vm1"
>> >     ovs_version: "2.11.2"
>> > # ip netns exec vm1 ip a
>> > 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
>> >     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
>> >     inet 127.0.0.1/8 scope host lo
>> >        valid_lft forever preferred_lft forever
>> >     inet6 ::1/128 scope host
>> >        valid_lft forever preferred_lft forever
>> > 14: ovs-gretap0 at NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
>> >     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
>> > 15: erspan0 at NONE: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000
>> >     link/ether 22:02:1b:08:ec:53 brd ff:ff:ff:ff:ff:ff
>> > 16: ovs-ip6gre0 at NONE: <NOARP> mtu 1448 qdisc noop state DOWN group default qlen 1
>> >     link/gre6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
>> > 17: ovs-ip6tnl0 at NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1
>> >     link/tunnel6 :: brd ::
>> > 18: vm1-eth0 at if17: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UP group default qlen 1000
>> >     link/ether 00:00:00:00:00:01 brd ff:ff:ff:ff:ff:ff link-netnsid 0
>> >     inet 192.168.100.10/24 scope global vm1-eth0
>> >        valid_lft forever preferred_lft forever
>> >     inet6 fe80::200:ff:fe00:1/64 scope link
>> >        valid_lft forever preferred_lft forever
>> >
>> >
>> > on node2:# ovs-vsctl show
>> > 011332d0-78bc-47f7-be3c-fab0beb08e28
>> >     Bridge br-int
>> >         fail_mode: secure
>> >         Port br-int
>> >             Interface br-int
>> >                 type: internal
>> >         Port "ovn-c655f8-0"
>> >             Interface "ovn-c655f8-0"
>> >                 type: geneve
>> >                 options: {csum="true", key=flow, remote_ip="10.18.124.1"}
>> >         Port "veth-vm2"
>> >             Interface "veth-vm2"
>> >     ovs_version: "2.11.2"
>> > #ip netns exec vm2 ip a
>> > 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
>> >     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
>> >     inet 127.0.0.1/8 scope host lo
>> >        valid_lft forever preferred_lft forever
>> >     inet6 ::1/128 scope host
>> >        valid_lft forever preferred_lft forever
>> > 10: ovs-gretap0 at NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN group default qlen 1000
>> >     link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
>> > 11: erspan0 at NONE: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN group default qlen 1000
>> >     link/ether 4a:1d:ca:65:e3:ca brd ff:ff:ff:ff:ff:ff
>> > 12: ovs-ip6gre0 at NONE: <NOARP> mtu 1448 qdisc noop state DOWN group default qlen 1
>> >     link/gre6 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 brd 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
>> > 13: ovs-ip6tnl0 at NONE: <NOARP> mtu 1452 qdisc noop state DOWN group default qlen 1
>> >     link/tunnel6 :: brd ::
>> > 17: vm2-eth0 at if16: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UP group default qlen 1000
>> >     link/ether 00:00:00:00:00:02 brd ff:ff:ff:ff:ff:ff link-netnsid 0
>> >     inet 192.168.100.20/24 scope global vm2-eth0
>> >        valid_lft forever preferred_lft forever
>> >     inet6 fe80::200:ff:fe00:2/64 scope link
>> >        valid_lft forever preferred_lft forever
>> >
>> > then i start to use iperf to check the network performence, oh, by the way, i use geneve protocol between the two nodes, ovn-sbctl show is :
>> > # ovn-sbctl show
>> > Chassis "c655f877-b7ed-4bb5-a047-23521426d541"
>> >     hostname: "node1.com"
>> >     Encap geneve
>> >         ip: "10.18.124.1"
>> >         options: {csum="true"}
>> >     Port_Binding "node1"
>> > Chassis "431b9efb-b464-42a1-a6dd-7fc6e0176137"
>> >     hostname: "node2.com"
>> >     Encap geneve
>> >         ip: "10.18.124.2"
>> >         options: {csum="true"}
>> >     Port_Binding "node2"
>> >
>> > on node1, in network namespace vm1 i start the iperf3 as server:
>> > #ip netns exec vm1 iperf3 -s
>> > on node2, in network namespace vm2 i start the iper3 as client:
>> > # ip netns exec vm2 iperf3 -c 192.168.100.10
>> > Connecting to host 192.168.100.10, port 5201
>> > [  4] local 192.168.100.20 port 40708 connected to 192.168.100.10 port 5201
>> > [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
>> > [  4]   0.00-1.00   sec   431 MBytes  3.61 Gbits/sec   34    253 KBytes
>> > [  4]   1.00-2.00   sec   426 MBytes  3.58 Gbits/sec    0    253 KBytes
>> > [  4]   2.00-3.00   sec   426 MBytes  3.57 Gbits/sec    0    253 KBytes
>> > [  4]   3.00-4.00   sec   401 MBytes  3.37 Gbits/sec    0    255 KBytes
>> > [  4]   4.00-5.00   sec   429 MBytes  3.60 Gbits/sec    0    255 KBytes
>> > [  4]   5.00-6.00   sec   413 MBytes  3.46 Gbits/sec    0    253 KBytes
>> > [  4]   6.00-7.00   sec   409 MBytes  3.43 Gbits/sec    0    250 KBytes
>> > [  4]   7.00-8.00   sec   427 MBytes  3.58 Gbits/sec    0    253 KBytes
>> > [  4]   8.00-9.00   sec   417 MBytes  3.49 Gbits/sec    0    250 KBytes
>> > [  4]   9.00-10.00  sec   385 MBytes  3.23 Gbits/sec    0   5.27 KBytes
>> > - - - - - - - - - - - - - - - - - - - - - - - - -
>> > [ ID] Interval           Transfer     Bandwidth       Retr
>> > [  4]   0.00-10.00  sec  4.07 GBytes  3.49 Gbits/sec   34             sender
>> > [  4]   0.00-10.00  sec  4.07 GBytes  3.49 Gbits/sec                  receiver
>> >
>> > as you see, the bw is only 3.xxGbits/sec, but my physics eth1's bw 10000M:
>> Hi, I run the ovs on node1 and node2, using geneve tunnel but I didn't
>> reproduce your issue.
>>
>> create the geneve tunnel:
>> # ovs-vsctl add-br br-int
>> # ovs-vsctl add-port br-int gnv0 -- set Interface gnv0 type=geneve
>> options:csum=true options:key=100 options:remote_ip=1.1.1.200
>>
>> # ovs-vsctl show
>> 9393485c-c64c-490e-884e-418ff5d90251
>>     Bridge br-int
>>         Port gnv0
>>             Interface gnv0
>>                 type: geneve
>>                 options: {csum="true", key="100", remote_ip="1.1.1.200"}
>>         Port __tap01
>>             Interface __tap01
>>         Port br-int
>>             Interface br-int
>>                 type: internal
>>
>> # ip netns exec ns100 ifconfig
>> __tap00: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
>>         inet 2.2.2.100  netmask 255.255.255.0  broadcast 0.0.0.0
>>         inet6 fe80::254:ff:fe00:1  prefixlen 64  scopeid 0x20<link>
>>         ether 00:54:00:00:00:01  txqueuelen 1000  (Ethernet)
>>         RX packets 605000  bytes 39951500 (38.1 MiB)
>>         RX errors 0  dropped 0  overruns 0  frame 0
>>         TX packets 819864  bytes 31247862764 (29.1 GiB)
>>         TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
>>
>> # ip netns exec ns100 iperf -c 2.2.2.200 -i 2 -t 10
>> ------------------------------------------------------------
>> Client connecting to 2.2.2.200, TCP port 5001
>> TCP window size:  482 KByte (default)
>> ------------------------------------------------------------
>> [  3] local 2.2.2.100 port 41428 connected with 2.2.2.200 port 5001
>> [ ID] Interval       Transfer     Bandwidth
>> [  3]  0.0- 2.0 sec  1.85 GBytes  7.93 Gbits/sec
>> [  3]  2.0- 4.0 sec  1.94 GBytes  8.33 Gbits/sec
>>
>> # modinfo openvswitch
>> filename:       /lib/modules/3.10.0-957.1.3.el7.x86_64/extra/openvswitch.ko
>>
>> so, can you use the commands as show above to reproduce your
>> issue.(the kernel version is different.)
>> > # ethtool eth1
>> > Settings for eth1:
>> >         Supported ports: [ FIBRE ]
>> >         Supported link modes:   10000baseT/Full
>> >         Supported pause frame use: Symmetric
>> >         Supports auto-negotiation: No
>> >         Supported FEC modes: Not reported
>> >         Advertised link modes:  10000baseT/Full
>> >         Advertised pause frame use: Symmetric
>> >         Advertised auto-negotiation: No
>> >         Advertised FEC modes: Not reported
>> >         Speed: 10000Mb/s
>> >         Duplex: Full
>> >         Port: Other
>> >         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
>> >
>> > when i uninstall the openvswitch-kmod package and use the openvswitch.ko in the upstream linux kernel, like this:
>> > # lsmod | grep openvswitch
>> > openvswitch            95805  0
>> > nf_defrag_ipv6         25957  2 nf_conntrack_ipv6,openvswitch
>> > nf_nat_ipv6             6459  2 openvswitch,ip6table_nat
>> > nf_nat_ipv4             6187  2 openvswitch,iptable_nat
>> > nf_nat                 18080  5 xt_nat,openvswitch,nf_nat_ipv6,nf_nat_masquerade_ipv4,nf_nat_ipv4
>> > nf_conntrack          102766  10 ip_vs,nf_conntrack_ipv6,openvswitch,nf_conntrack_ipv4,nf_conntrack_netlink,nf_nat_ipv6,nf_nat_masquerade_ipv4,xt_conntrack,nf_nat_ipv4,nf_nat
>> > libcrc32c               1388  3 ip_vs,openvswitch,xfs
>> > # modinfo openvswitch
>> > filename:       /lib/modules/4.9.18-19080201/kernel/net/openvswitch/openvswitch.ko
>> > alias:          net-pf-16-proto-16-family-ovs_packet
>> > alias:          net-pf-16-proto-16-family-ovs_flow
>> > alias:          net-pf-16-proto-16-family-ovs_vport
>> > alias:          net-pf-16-proto-16-family-ovs_datapath
>> > license:        GPL
>> > description:    Open vSwitch switching datapath
>> > srcversion:     915B872C96FB1D38D107742
>> > depends:        nf_conntrack,nf_nat,libcrc32c,nf_nat_ipv6,nf_nat_ipv4,nf_defrag_ipv6
>> > intree:         Y
>> > vermagic:       4.9.18-19080201 SMP mod_unload modversions
>> >
>> > and do the same test in above, and i get the follow result:
>> > # ip netns exec vm2 iperf3 -c 192.168.100.10
>> > Connecting to host 192.168.100.10, port 5201
>> > [  4] local 192.168.100.20 port 40652 connected to 192.168.100.10 port 5201
>> > [ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
>> > [  4]   0.00-1.00   sec  1000 MBytes  8.39 Gbits/sec    4    290 KBytes
>> > [  4]   1.00-2.00   sec   994 MBytes  8.34 Gbits/sec    0    292 KBytes
>> > [  4]   2.00-3.00   sec  1002 MBytes  8.41 Gbits/sec    0    287 KBytes
>> >    4]   3.00-4.00   sec   994 MBytes  8.34 Gbits/sec    0    292 KBytes
>> > ▽  4]   4.00-5.00   sec   992 MBytes  8.32 Gbits/sec    0    298 KBytes
>> > [  4]   5.00-6.00   sec   994 MBytes  8.34 Gbits/sec    0    305 KBytes
>> > [  4]   6.00-7.00   sec   989 MBytes  8.29 Gbits/sec    0    313 KBytes
>> > [  4]   7.00-8.00   sec   992 MBytes  8.32 Gbits/sec    0    290 KBytes
>> > [  4]   8.00-9.00   sec   996 MBytes  8.36 Gbits/sec    0    303 KBytes
>> > [  4]   9.00-10.00  sec   955 MBytes  8.01 Gbits/sec    0   5.27 KBytes
>> > - - - - - - - - - - - - - - - - - - - - - - - - -
>> > [ ID] Interval           Transfer     Bandwidth       Retr
>> > [  4]   0.00-10.00  sec  9.67 GBytes  8.31 Gbits/sec    4             sender
>> > [  4]   0.00-10.00  sec  9.67 GBytes  8.31 Gbits/sec                  receiver
>> >
>> > so, i cann't understand why the performence is so poor when i use the kernel module build from the ovs tree.
>> >
>> > anyone can give me some advice where is wrong?
>> >
>> > thx!
>> >
>> > _______________________________________________
>> > discuss mailing list
>> > discuss at openvswitch.org
>> > https://mail.openvswitch.org/mailman/listinfo/ovs-discuss


More information about the discuss mailing list