From patchwork Thu Mar 3 14:55:52 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amir Vadai X-Patchwork-Id: 591473 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 6BC8B141791 for ; Fri, 4 Mar 2016 01:52:15 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758019AbcCCOwH (ORCPT ); Thu, 3 Mar 2016 09:52:07 -0500 Received: from mail-wm0-f68.google.com ([74.125.82.68]:34866 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758033AbcCCOwD (ORCPT ); Thu, 3 Mar 2016 09:52:03 -0500 Received: by mail-wm0-f68.google.com with SMTP id 1so4482661wmg.2 for ; Thu, 03 Mar 2016 06:52:03 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=OcoYth9bTkoKSP5ggy+sAUbW4MD2Mc2x3w7c6dRkYL0=; b=MJ1UUtQhiE7lKXo8nme8lo9hK5AhK3wRVIAtytygDEZf+7AerNjWPATdLa5nQIg3Bl z6HIP4XN37jjCWEyH+6nHRrKaLTm3TGs0m7HmrP79/Dnpd1igt4TsaO8ue99DO8FH28O KVyYr9oxUuLjT3gZIFdKkjz7E+Fj1BkHmcEjViAG2eI5LC+0sWmeF39IO+pBPuDlv3oB Jr3h70TcQL9PbJGJRNTRcP6nsZSKNwuDEK5RE1prRGQKo9y/88izG5+/xzl5h6KzqlXY Zd+mOpI8S+hY41mmmWo6EjmdJgEWAWz67v+nRSpRraB9dgD554k4Pxn5vOiLxR2qQuoA tcTA== X-Gm-Message-State: AD7BkJJShLQwv3bt/l/ZL5ZgR/QG2NjKUfktdq4UB5OAHvd+Pcg0g3aAaj8lk8vZHZzpOA== X-Received: by 10.28.211.1 with SMTP id k1mr4260610wmg.93.1457016722388; Thu, 03 Mar 2016 06:52:02 -0800 (PST) Received: from localhost.localdomain (212.116.172.4.static.012.net.il. [212.116.172.4]) by smtp.gmail.com with ESMTPSA id y3sm9304575wmy.17.2016.03.03.06.51.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 03 Mar 2016 06:52:00 -0800 (PST) From: Amir Vadai To: "David S. Miller" Cc: netdev@vger.kernel.org, John Fastabend , Jiri Pirko , Or Gerlitz , Saeed Mahameed , Hadar Har-Zion , Rony Efraim , Amir Vadai Subject: [PATCH net-next V2 02/10] net/flow_dissector: Make dissector_uses_key() and skb_flow_dissector_target() public Date: Thu, 3 Mar 2016 16:55:52 +0200 Message-Id: <1457016960-27832-3-git-send-email-amir@vadai.me> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1457016960-27832-1-git-send-email-amir@vadai.me> References: <1457016960-27832-1-git-send-email-amir@vadai.me> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Will be used in a following patch to query if a key is being used, and what it's value in the target object. Signed-off-by: Amir Vadai Acked-by: Jiri Pirko Acked-by: John Fastabend --- include/net/flow_dissector.h | 13 +++++++++++++ net/core/flow_dissector.c | 13 ------------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/include/net/flow_dissector.h b/include/net/flow_dissector.h index 8c8548c..d3d60dc 100644 --- a/include/net/flow_dissector.h +++ b/include/net/flow_dissector.h @@ -184,4 +184,17 @@ static inline bool flow_keys_have_l4(struct flow_keys *keys) u32 flow_hash_from_keys(struct flow_keys *keys); +static inline bool dissector_uses_key(const struct flow_dissector *flow_dissector, + enum flow_dissector_key_id key_id) +{ + return flow_dissector->used_keys & (1 << key_id); +} + +static inline void *skb_flow_dissector_target(struct flow_dissector *flow_dissector, + enum flow_dissector_key_id key_id, + void *target_container) +{ + return ((char *)target_container) + flow_dissector->offset[key_id]; +} + #endif diff --git a/net/core/flow_dissector.c b/net/core/flow_dissector.c index 7c7b873..a669dea 100644 --- a/net/core/flow_dissector.c +++ b/net/core/flow_dissector.c @@ -19,25 +19,12 @@ #include #include -static bool dissector_uses_key(const struct flow_dissector *flow_dissector, - enum flow_dissector_key_id key_id) -{ - return flow_dissector->used_keys & (1 << key_id); -} - static void dissector_set_key(struct flow_dissector *flow_dissector, enum flow_dissector_key_id key_id) { flow_dissector->used_keys |= (1 << key_id); } -static void *skb_flow_dissector_target(struct flow_dissector *flow_dissector, - enum flow_dissector_key_id key_id, - void *target_container) -{ - return ((char *) target_container) + flow_dissector->offset[key_id]; -} - void skb_flow_dissector_init(struct flow_dissector *flow_dissector, const struct flow_dissector_key *key, unsigned int key_count)