mbox series

[ovs-dev,net-next,0/6] Add dpdk-bond support

Message ID 1523537572-2595-1-git-send-email-xiangxia.m.yue@gmail.com
Headers show
Series Add dpdk-bond support | expand

Message

Tonghao Zhang April 12, 2018, 12:52 p.m. UTC
From: Tonghao Zhang <xiangxia.m.yue@gmail.com>

The bond of openvswitch has not good performance. In some
cases we would recommend that you use Linux bonds instead
of Open vSwitch bonds. In userspace datapath, we wants use
bond to improve bandwidth. The DPDK has implemented it as lib.

These patches base DPDK bond to implement the dpdk-bond
device as a vswitchd interface.

If users set the interface options with multi-pci or device names
with ',' as a separator, we try to parse it as dpdk-bond args.
For example, set an interface as:

    ovs-vsctl add-port br0 dpdk0 -- \
	    set Interface dpdk0 type=dpdk \
	    options:dpdk-devargs=0000:06:00.0,0000:06:00.1
	    
And now these patch support to set bond mode, such as round
robin, active_backup and balance and so on. Later some features
of bond will be supported.
					
These patches are RFC, any proposal will be welcome. Ignore the doc,
if these pathes is ok for openvswitch the doc will be posted.
					
There are somes shell scripts, which can help us to test the patches. 
https://github.com/nickcooper-zhangtonghao/ovs-bond-tests

Tonghao Zhang (6):
  netdev-dpdk: Allow vswitchd to parse devargs as dpdk-bond args
  netdev-dpdk: Allow dpdk-ethdev not support setting mtu
  netdev-dpdk: Add netdev_dpdk_bond struct
  netdev-dpdk: Add dpdk-bond support
  netdev-dpdk: Add check whether dpdk-port is used
  netdev-dpdk: Add dpdk-bond mode setting

 lib/netdev-dpdk.c | 304 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 299 insertions(+), 5 deletions(-)

Comments

Jan Scheurich April 12, 2018, 1:40 p.m. UTC | #1
Hi Tonghao,

Thanks for working on this. That was on my backlog to try out for a while.

One immediate feedback: This is a pure OVS user space patch. Please remove the "net-next" tag from your patches in the next version. "net-next" is reserved for OVS kernel module patches that are first submitted upstream to the Linux "net-next" repository.

Regards, Jan

> -----Original Message-----
> From: ovs-dev-bounces@openvswitch.org [mailto:ovs-dev-bounces@openvswitch.org] On Behalf Of xiangxia.m.yue@gmail.com
> Sent: Thursday, 12 April, 2018 14:53
> To: dev@openvswitch.org
> Subject: [ovs-dev] [PATCH net-next 0/6] Add dpdk-bond support
> 
> From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> 
> The bond of openvswitch has not good performance. In some
> cases we would recommend that you use Linux bonds instead
> of Open vSwitch bonds. In userspace datapath, we wants use
> bond to improve bandwidth. The DPDK has implemented it as lib.
> 
> These patches base DPDK bond to implement the dpdk-bond
> device as a vswitchd interface.
> 
> If users set the interface options with multi-pci or device names
> with ',' as a separator, we try to parse it as dpdk-bond args.
> For example, set an interface as:
> 
>     ovs-vsctl add-port br0 dpdk0 -- \
> 	    set Interface dpdk0 type=dpdk \
> 	    options:dpdk-devargs=0000:06:00.0,0000:06:00.1
> 
> And now these patch support to set bond mode, such as round
> robin, active_backup and balance and so on. Later some features
> of bond will be supported.
> 
> These patches are RFC, any proposal will be welcome. Ignore the doc,
> if these pathes is ok for openvswitch the doc will be posted.
> 
> There are somes shell scripts, which can help us to test the patches.
> https://github.com/nickcooper-zhangtonghao/ovs-bond-tests
> 
> Tonghao Zhang (6):
>   netdev-dpdk: Allow vswitchd to parse devargs as dpdk-bond args
>   netdev-dpdk: Allow dpdk-ethdev not support setting mtu
>   netdev-dpdk: Add netdev_dpdk_bond struct
>   netdev-dpdk: Add dpdk-bond support
>   netdev-dpdk: Add check whether dpdk-port is used
>   netdev-dpdk: Add dpdk-bond mode setting
> 
>  lib/netdev-dpdk.c | 304 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 299 insertions(+), 5 deletions(-)
> 
> --
> 1.8.3.1
> 
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
Ben Pfaff April 13, 2018, 6:15 p.m. UTC | #2
Why is this series tagged "net-next"?  It doesn't appear to have
anything to do with the kernel.
Ben Pfaff April 13, 2018, 6:16 p.m. UTC | #3
On Thu, Apr 12, 2018 at 05:52:46AM -0700, xiangxia.m.yue@gmail.com wrote:
> From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> 
> The bond of openvswitch has not good performance. 

I'd really say that the best solution to that is to improve the
performance, rather than piling on another bonding layer.
Tonghao Zhang April 16, 2018, 10:48 a.m. UTC | #4
On Sat, Apr 14, 2018 at 2:15 AM, Ben Pfaff <blp@ovn.org> wrote:
> Why is this series tagged "net-next"?  It doesn't appear to have
> anything to do with the kernel.
sorry about that.