From patchwork Tue Jan 29 08:02:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Blakey X-Patchwork-Id: 1032546 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=mellanox.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43pf9p68WZz9sDr for ; Tue, 29 Jan 2019 19:02:38 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727253AbfA2ICg (ORCPT ); Tue, 29 Jan 2019 03:02:36 -0500 Received: from mail-il-dmz.mellanox.com ([193.47.165.129]:44758 "EHLO mellanox.co.il" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726994AbfA2ICf (ORCPT ); Tue, 29 Jan 2019 03:02:35 -0500 Received: from Internal Mail-Server by MTLPINE1 (envelope-from paulb@mellanox.com) with ESMTPS (AES256-SHA encrypted); 29 Jan 2019 10:02:29 +0200 Received: from reg-r-vrt-019-180.mtr.labs.mlnx (reg-r-vrt-019-180.mtr.labs.mlnx [10.213.19.180]) by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x0T82L0t006061; Tue, 29 Jan 2019 10:02:29 +0200 From: Paul Blakey To: Guy Shattah , Marcelo Leitner , Aaron Conole , John Hurley , Simon Horman , Justin Pettit , Gregory Rose , Eelco Chaudron , Flavio Leitner , Florian Westphal , Jiri Pirko , Rashid Khan , Sushil Kulkarni , Andy Gospodarek , Roi Dayan , Yossi Kuperman , Or Gerlitz , Rony Efraim , "davem@davemloft.net" , netdev@vger.kernel.org Cc: Paul Blakey Subject: [RFC PATCH net-next 5/6 v2] net/sched: em_meta: add match on tc recirc id skb extension Date: Tue, 29 Jan 2019 10:02:05 +0200 Message-Id: <1548748926-23822-6-git-send-email-paulb@mellanox.com> X-Mailer: git-send-email 1.8.4.3 In-Reply-To: <1548748926-23822-2-git-send-email-paulb@mellanox.com> References: <1548748926-23822-2-git-send-email-paulb@mellanox.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Signed-off-by: Paul Blakey --- include/uapi/linux/tc_ematch/tc_em_meta.h | 1 + net/sched/em_meta.c | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/include/uapi/linux/tc_ematch/tc_em_meta.h b/include/uapi/linux/tc_ematch/tc_em_meta.h index cf30b5b..25a6fb8 100644 --- a/include/uapi/linux/tc_ematch/tc_em_meta.h +++ b/include/uapi/linux/tc_ematch/tc_em_meta.h @@ -81,6 +81,7 @@ enum { TCF_META_ID_SK_WRITE_PENDING, TCF_META_ID_VLAN_TAG, TCF_META_ID_RXHASH, + TCF_META_ID_TCRECIRC, __TCF_META_ID_MAX }; #define TCF_META_ID_MAX (__TCF_META_ID_MAX - 1) diff --git a/net/sched/em_meta.c b/net/sched/em_meta.c index d6e9711..041e0b3 100644 --- a/net/sched/em_meta.c +++ b/net/sched/em_meta.c @@ -245,6 +245,13 @@ static inline int var_dev(struct net_device *dev, struct meta_obj *dst) dst->value = skb->tc_index; } +META_COLLECTOR(int_tcrecirc) +{ + uint32_t *recirc = skb_ext_find(skb, SKB_EXT_TC_RECIRC_ID); + + dst->value = recirc? *recirc : 0; +} + /************************************************************************** * Routing **************************************************************************/ @@ -638,6 +645,7 @@ struct meta_ops { [META_ID(MACLEN)] = META_FUNC(int_maclen), [META_ID(NFMARK)] = META_FUNC(int_mark), [META_ID(TCINDEX)] = META_FUNC(int_tcindex), + [META_ID(TCRECIRC)] = META_FUNC(int_tcrecirc), [META_ID(RTCLASSID)] = META_FUNC(int_rtclassid), [META_ID(RTIIF)] = META_FUNC(int_rtiif), [META_ID(SK_FAMILY)] = META_FUNC(int_sk_family),