[ovs-dev] [PATCH 0/6] offload Linux LAG devices to the TC datapath
Ben Pfaff
blp at ovn.org
Thu Jun 21 16:15:22 UTC 2018
Simon, I see that you have reviewed these patches. Are you handling
this series?
Thanks,
Ben.
On Thu, Jun 21, 2018 at 02:35:55PM +0100, John Hurley wrote:
> This patchset extends OvS TC and the linux-netdev implementation to
> support the offloading of Linux Link Aggregation devices (LAG) and their
> slaves. TC blocks are used to provide this offload. Blocks, in TC, group
> together a series of qdiscs. If a filter is added to one of these qdiscs
> then it applied to all. Similarly, if a packet is matched on one of the
> grouped qdiscs then the stats for the entire block are increased. The
> basis of the LAG offload is that the LAG master (attached to the OvS
> bridge) and slaves that may exist outside of OvS are all added to the same
> TC block. OvS can then control the filters and collect the stats on the
> slaves via its interaction with the LAG master.
>
> The TC API is extended within OvS to allow the addition of a block id to
> ingress qdisc adds. Block ids are then assigned to each LAG master that is
> attached to the OvS bridge. The linux netdev netlink socket is used to
> monitor slave devices. If a LAG slave is found whose master is on the bridge
> then it is added to the same block as its master. If the underlying slaves
> belong to an offloadable device then the Linux LAG device can be offloaded
> to hardware.
>
> John Hurley (6):
> tc: allow offloading of block ids
> netdev-provider: add class op to get block_id
> rtnetlink: extend parser to include kind of master and slave
> netdev-linux: indicate if netdev is a LAG master
> netdev-linux: assign LAG devs to tc blocks
> netdev-linux: monitor and offload LAG slaves to TC
>
> lib/netdev-bsd.c | 3 +-
> lib/netdev-dpdk.c | 3 +-
> lib/netdev-dummy.c | 3 +-
> lib/netdev-linux.c | 128 ++++++++++++++++++++++++++++++++++++++++++++---
> lib/netdev-provider.h | 4 ++
> lib/netdev-tc-offloads.c | 82 +++++++++++++++++++++++-------
> lib/netdev-vport.c | 3 +-
> lib/netdev.c | 10 ++++
> lib/netdev.h | 1 +
> lib/rtnetlink.c | 43 ++++++++++++++++
> lib/rtnetlink.h | 4 ++
> lib/tc.c | 60 +++++++++++++++-------
> lib/tc.h | 12 ++---
> 13 files changed, 305 insertions(+), 51 deletions(-)
> mode change 100644 => 100755 lib/rtnetlink.h
>
> --
> 2.7.4
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
More information about the dev
mailing list