From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Hurley Subject: [RFC net-next v2 0/8] indirect tc block cb registration Date: Thu, 25 Oct 2018 13:26:49 +0100 Message-ID: <1540470417-14803-1-git-send-email-john.hurley@netronome.com> Cc: John Hurley To: netdev@vger.kernel.org, oss-drivers@netronome.com, jiri@resnulli.us, gerlitz.or@gmail.com, ozsh@mellanox.com, jakub.kicinski@netronome.com, simon.horman@netronome.com, avivh@mellanox.com Return-path: Received: from mail-ed1-f50.google.com ([209.85.208.50]:36323 "EHLO mail-ed1-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727256AbeJYVAs (ORCPT ); Thu, 25 Oct 2018 17:00:48 -0400 Received: by mail-ed1-f50.google.com with SMTP id x2-v6so8292020eds.3 for ; Thu, 25 Oct 2018 05:28:14 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: This patchset introduces an alternative to egdev offload by allowing a driver to register for block updates when an external device (e.g. tunnel netdev) is bound to a TC block. Drivers can track new netdevs or register to existing ones to receive information on such events. Based on this, they may register for block offload rules using already existing functions. The patchset also implements this new indirect block registration in the NFP driver to allow the offloading of tunnel rules. The use of egdev offload (which is currently only used for tunnel offload) is subsequently removed. John Hurley (8): net: sched: register callbacks for indirect tc block binds net: add netif_is_geneve() nfp: flower: include geneve as supported offload tunnel type nfp: flower: allow non repr netdev offload nfp: flower: add infastructure for indirect TC block register nfp: flower: offload tunnel decap rules via indirect TC blocks nfp: flower: remove TC egdev offloads nfp: flower: remove unnecessary code in flow lookup drivers/net/ethernet/netronome/nfp/flower/action.c | 29 +- drivers/net/ethernet/netronome/nfp/flower/cmsg.h | 13 + drivers/net/ethernet/netronome/nfp/flower/main.c | 25 +- drivers/net/ethernet/netronome/nfp/flower/main.h | 17 +- drivers/net/ethernet/netronome/nfp/flower/match.c | 38 +-- .../net/ethernet/netronome/nfp/flower/metadata.c | 12 +- .../net/ethernet/netronome/nfp/flower/offload.c | 246 +++++++++++------ .../ethernet/netronome/nfp/flower/tunnel_conf.c | 11 +- include/net/geneve.h | 6 + include/net/pkt_cls.h | 56 ++++ include/net/sch_generic.h | 3 + net/sched/cls_api.c | 299 ++++++++++++++++++++- 12 files changed, 609 insertions(+), 146 deletions(-) -- 2.7.4