From patchwork Tue Mar 1 14:24:44 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amir Vadai X-Patchwork-Id: 590546 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 BC7321402CD for ; Wed, 2 Mar 2016 01:21:47 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753964AbcCAOVl (ORCPT ); Tue, 1 Mar 2016 09:21:41 -0500 Received: from mail-wm0-f67.google.com ([74.125.82.67]:34174 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753745AbcCAOVj (ORCPT ); Tue, 1 Mar 2016 09:21:39 -0500 Received: by mail-wm0-f67.google.com with SMTP id p65so4362459wmp.1 for ; Tue, 01 Mar 2016 06:21:39 -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=HkaBxb4Av5uDz+CsXBGCwHusDgEyllE13w+Aee9d0zrB95bDGPNAqheWZaA7I7Y9Q4 LIzj2d8/VYNiP+uhQW5IGIPqndN2z89bAnOxLKB6LStk6XvZzvYVlvtkfonWZ4l6uvu8 OCBiqn9wQeTz5R1EOFy5iHg2Y7rIKIi2u2DMPSEMRiWib7x9p/l6csggX2wa7M1gdU+W VJ4xxZuN60LzighvfyYazMSM+geZ63glCjbag1hDo37NkAj5PZASmJx12kQzN+3ukLHN H8d7XqS4YhfETpibcMCZHHcs40D1kryOsRK9oGapUr/5wgtXH0cZxrohlwPb84szhhtm aYeQ== X-Gm-Message-State: AD7BkJJFiO3TFS68bKzrBTbwVeXl4Z1hFduaVL5FL1X4yYsPwN72Af9rPnjJRXSJ9ey83Q== X-Received: by 10.28.101.7 with SMTP id z7mr3848289wmb.92.1456842098321; Tue, 01 Mar 2016 06:21:38 -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 w144sm21537406wmd.8.2016.03.01.06.21.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 01 Mar 2016 06:21:36 -0800 (PST) From: Amir Vadai To: "David S. Miller" Cc: netdev@vger.kernel.org, Or Gerlitz , John Fastabend , Saeed Mahameed , Hadar Har-Zion , Jiri Pirko , Amir Vadai Subject: [PATCH net-next 2/8] net/flow_dissector: Make dissector_uses_key() and skb_flow_dissector_target() public Date: Tue, 1 Mar 2016 16:24:44 +0200 Message-Id: <1456842290-7844-3-git-send-email-amir@vadai.me> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1456842290-7844-1-git-send-email-amir@vadai.me> References: <1456842290-7844-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 --- 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)