Re: [ovs-dev] [PATCH net-next 0/6] Add dpdk-bond support

2018-04-16 Thread Ben Pfaff
On Mon, Apr 16, 2018 at 07:05:04PM +0800, Tonghao Zhang wrote:
> On Sat, Apr 14, 2018 at 2:16 AM, Ben Pfaff  wrote:
> > On Thu, Apr 12, 2018 at 05:52:46AM -0700, xiangxia.m@gmail.com wrote:
> >> From: Tonghao Zhang 
> >>
> >> 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.
> Yes, i agree that. I think we can also, support an option for users to
> use the native dpdk-bond device.
> Because I have used the dpdk-bond in our production environment. I use
> it as a interface but not a port.
> 
> These patches are RFC and just an option for users, not to replace
> ovs-bond function.
> If you agree that, I can do works for this. If not, I will drop these patches.

My real worry here is that, if we add the feature, we will have to keep
it forever even if core OVS bonding's performance catches up with it.

I think that it's worth thinking about strategies for making core OVS
bonding faster.  Do we have good ideas?  If we do, then I'd prefer to
push in that direction.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH net-next 0/6] Add dpdk-bond support

2018-04-16 Thread Tonghao Zhang
On Sat, Apr 14, 2018 at 2:16 AM, Ben Pfaff  wrote:
> On Thu, Apr 12, 2018 at 05:52:46AM -0700, xiangxia.m@gmail.com wrote:
>> From: Tonghao Zhang 
>>
>> 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.
Yes, i agree that. I think we can also, support an option for users to
use the native dpdk-bond device.
Because I have used the dpdk-bond in our production environment. I use
it as a interface but not a port.

These patches are RFC and just an option for users, not to replace
ovs-bond function.
If you agree that, I can do works for this. If not, I will drop these patches.

As Ilya said,  we can use virtual device args to create a dpdk-bond,
these patches may make it easy to
modify the mode and policy without destroy devices.

And thanks Jan.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH net-next 0/6] Add dpdk-bond support

2018-04-16 Thread Tonghao Zhang
On Sat, Apr 14, 2018 at 2:15 AM, Ben Pfaff  wrote:
> Why is this series tagged "net-next"?  It doesn't appear to have
> anything to do with the kernel.
sorry about that.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH net-next 0/6] Add dpdk-bond support

2018-04-13 Thread Ben Pfaff
On Thu, Apr 12, 2018 at 05:52:46AM -0700, xiangxia.m@gmail.com wrote:
> From: Tonghao Zhang 
> 
> 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.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH net-next 0/6] Add dpdk-bond support

2018-04-13 Thread Ben Pfaff
Why is this series tagged "net-next"?  It doesn't appear to have
anything to do with the kernel.
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


Re: [ovs-dev] [PATCH net-next 0/6] Add dpdk-bond support

2018-04-12 Thread Jan Scheurich
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-boun...@openvswitch.org 
> [mailto:ovs-dev-boun...@openvswitch.org] On Behalf Of xiangxia.m@gmail.com
> Sent: Thursday, 12 April, 2018 14:53
> To: d...@openvswitch.org
> Subject: [ovs-dev] [PATCH net-next 0/6] Add dpdk-bond support
> 
> From: Tonghao Zhang <xiangxia.m@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=:06:00.0,: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
> d...@openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


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

2018-04-12 Thread xiangxia . m . yue
From: Tonghao Zhang 

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=:06:00.0,: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
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev