[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