From patchwork Tue Mar 8 10:42:30 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amir Vadai X-Patchwork-Id: 594002 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 D7698140B9E for ; Tue, 8 Mar 2016 21:39:41 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933073AbcCHKji (ORCPT ); Tue, 8 Mar 2016 05:39:38 -0500 Received: from mail-wm0-f68.google.com ([74.125.82.68]:33166 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932743AbcCHKjS (ORCPT ); Tue, 8 Mar 2016 05:39:18 -0500 Received: by mail-wm0-f68.google.com with SMTP id n186so3246973wmn.0 for ; Tue, 08 Mar 2016 02:39:17 -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=yf9ntQfjV/QOx+RJmM+VhfrViTorAIFg9Fqqbh00G1g=; b=FmaZrc9yzDuahliHlm9YrWG/G+72FetWY7I6D8VYI2bioQU2hSMzv0bZvGW7xpfRW7 EyfPAnNGNBlBOJkRB1zStr0e4rR4BEeNIXD3NvW49IdXQ9fwK/Oj6n6lOBgVzieHBGdI o1Dy64bYpJaRAS1k12hydX7IWOX9Wb0moWWzEzrT91i6NKWocTonpJidQwBBuCPlXCOj sowGXF5MINMxhDZlVsI+w1ux6oMW4/P31Pn+EtOcQdnvfRFi4NHp4WCs5hclrhUZ6i0u lQDbBrwJUVBsqKe1suhWOgv0Z1JHFCBQm+jv/YK3Io6u2wXZ8yrJt/dJzSY9BAuX8m43 FpCQ== X-Gm-Message-State: AD7BkJKcYkqLlwVeSpuuiypfh2L7Wed6Ig8vg8FkvnwGgO+NRytA2mKyfg2NxcZP5sOUCg== X-Received: by 10.28.22.74 with SMTP id 71mr18180061wmw.47.1457433551926; Tue, 08 Mar 2016 02:39:11 -0800 (PST) Received: from office.mtl.com? (212.116.172.4.static.012.net.il. [212.116.172.4]) by smtp.gmail.com with ESMTPSA id n66sm2706344wmg.20.2016.03.08.02.39.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 08 Mar 2016 02:39:10 -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 V3 02/10] net/flow_dissector: Make dissector_uses_key() and skb_flow_dissector_target() public Date: Tue, 8 Mar 2016 12:42:30 +0200 Message-Id: <1457433758-9193-3-git-send-email-amir@vadai.me> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1457433758-9193-1-git-send-email-amir@vadai.me> References: <1457433758-9193-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. Acked-by: John Fastabend Acked-by: Jiri Pirko Signed-off-by: Amir Vadai --- 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)