[ovs-dev] [PATCH 0/6] offload Linux LAG devices to the TC datapath

Simon Horman simon.horman at netronome.com
Thu Jun 21 16:27:19 UTC 2018


On 21 June 2018 at 18:15, Ben Pfaff <blp at ovn.org> wrote:

> Simon, I see that you have reviewed these patches.  Are you handling
> this series?
>

Hi Ben,

yes, I reviewed these patches during internal review.
I'm happy to handle the series now its in external review.


> 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