From patchwork Thu Mar 3 09:23:18 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Amir Vadai X-Patchwork-Id: 591350 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 85E7F140BA6 for ; Thu, 3 Mar 2016 20:19:48 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757214AbcCCJTl (ORCPT ); Thu, 3 Mar 2016 04:19:41 -0500 Received: from mail-wm0-f65.google.com ([74.125.82.65]:36035 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757099AbcCCJTj (ORCPT ); Thu, 3 Mar 2016 04:19:39 -0500 Received: by mail-wm0-f65.google.com with SMTP id l68so3022647wml.3 for ; Thu, 03 Mar 2016 01:19: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=AYgXBClxSZt9J8so6avSeBb1FUoHx5cFVZL2kYQtyZWucGUPR4uRvNXrR0VTecGZDA bJlxBLMqvDzLbnx80rzPzu+LLR6HdCSCytkq1zQrHWUVnyg10LPXrFGMrqNOp1oIOdBS RFZzLVpff7oUVrog02/4MjAGMIEl+aY7fIsuNMDtyhJH8Ra8B3GqU9fmkXfbVq7Rvkpn aYTV3AR0WgFm+atDr6igs+NIWxzTMmec7ovkBc5NGxsuK1Vr8+mQ4KDsBQZe0tx46QVl mMfdJQb0iylYHkeLdfYV+jLDOegLr/87H7w0cL59l32pPzD0Cj6PvovxFpN/8SOL+l1z np+w== X-Gm-Message-State: AD7BkJLi/ZlrqcAHAFqPzhamYnH3246VDt8JVSs2oDGsp7LdSJ8hqk4uOgNBNppofH9Bfg== X-Received: by 10.194.78.83 with SMTP id z19mr1728205wjw.5.1456996778532; Thu, 03 Mar 2016 01:19:38 -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 b203sm7947991wmh.8.2016.03.03.01.19.35 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 03 Mar 2016 01:19:37 -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 V1 02/10] net/flow_dissector: Make dissector_uses_key() and skb_flow_dissector_target() public Date: Thu, 3 Mar 2016 11:23:18 +0200 Message-Id: <1456997006-18538-3-git-send-email-amir@vadai.me> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1456997006-18538-1-git-send-email-amir@vadai.me> References: <1456997006-18538-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 --- 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)