[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