[ovs-dev] [PATCH net-next 1/6] netdev-dpdk: Allow vswitchd to parse devargs as dpdk-bond args
Ilya Maximets
i.maximets at samsung.com
Thu Apr 12 13:13:58 UTC 2018
> From: Tonghao Zhang <xiangxia.m.yue at gmail.com>
>
> The bond of openvswitch has not good performance.
Any examples?
> 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.
You could use OVS bonding for userspace datapath and it has
good performance, especially after TX batching patch-set.
DPDK bonding has a variety of limitations like the requirement
to call rte_eth_tx_burst and rte_eth_rx_burst with intervals
period of less than 100ms for link aggregation modes.
OVS could not assure that.
>
> 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.
Hmm, but you're already have ability to add any virtual dpdk device
including bond devices like this:
ovs-vsctl add-port br0 bond0 -- \
set Interface dpdk0 type=dpdk \
options:dpdk-devargs="eth_bond0,mode=2,slave=0000:05:00.0,slave=0000:05:00.1,xmit_policy=l34"
So, what is the profit of this patch-set?
>
> 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
More information about the dev
mailing list