From patchwork Mon Oct 29 12:49:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Maximets X-Patchwork-Id: 990182 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=samsung.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.b="g3/r5WmU"; dkim-atps=neutral Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 42kDxr6lLzz9s3Z for ; Mon, 29 Oct 2018 23:51:44 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 725602BA1; Mon, 29 Oct 2018 12:49:56 +0000 (UTC) X-Original-To: ovs-dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id D9D142ADE for ; Mon, 29 Oct 2018 12:49:54 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com [210.118.77.11]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 6864E7E5 for ; Mon, 29 Oct 2018 12:49:54 +0000 (UTC) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id 20181029124951euoutp0173988f6f78933afb18d54e289285d52e~iFUEX-Mld3146231462euoutp01T; Mon, 29 Oct 2018 12:49:51 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20181029124951euoutp0173988f6f78933afb18d54e289285d52e~iFUEX-Mld3146231462euoutp01T DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1540817391; bh=V5X+1xoOfRiHO+295I4skcvK7w6ev1KV7y9PHEK+NS8=; h=From:To:Cc:Subject:Date:In-reply-to:References:From; b=g3/r5WmUP8y/nSKCU2Q0Ebv2vGTjLo8U5woZi5o6GwkdNrb1S9CSZBCh3Z3ikOMLn m2KkiKkeemggGOg9SsaGiHoDa1YZ032wsJrjCz7+xn80U39EukZzHGt+hzCvJeX9C7 q0frttgOEb44El1oQQoyMEdJFTOsKaUYRWV8HgKo= Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by eucas1p1.samsung.com (KnoxPortal) with ESMTP id 20181029124951eucas1p1cd1250bd049b219f99f572239a664af2~iFUD5Aj-j2141021410eucas1p1C; Mon, 29 Oct 2018 12:49:51 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges2new.samsung.com (EUCPMTA) with SMTP id A5.6F.04294.EE107DB5; Mon, 29 Oct 2018 12:49:50 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20181029124950eucas1p2116bacbd4581add6e680dbf91ddd3b2b~iFUDN7WWW0911309113eucas1p2g; Mon, 29 Oct 2018 12:49:50 +0000 (GMT) X-AuditID: cbfec7f4-84fff700000010c6-b2-5bd701ee76c9 Received: from eusync3.samsung.com ( [203.254.199.213]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 3F.ED.04128.EE107DB5; Mon, 29 Oct 2018 12:49:50 +0000 (GMT) Received: from imaximets.rnd.samsung.ru ([106.109.129.180]) by eusync3.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0PHD00EQH2AI7G60@eusync3.samsung.com>; Mon, 29 Oct 2018 12:49:50 +0000 (GMT) From: Ilya Maximets To: ovs-dev@openvswitch.org Date: Mon, 29 Oct 2018 15:49:21 +0300 Message-id: <20181029124926.12199-5-i.maximets@samsung.com> X-Mailer: git-send-email 2.17.1 In-reply-to: <20181029124926.12199-1-i.maximets@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrOIsWRmVeSWpSXmKPExsWy7djPc7rvGK9HGzQ/t7HYMm0yq8WrReeZ La60/2S32PjwLKvF3E/PGS1uz/GyeHrxF7NFy5KdTA4cHjf+3WLzWLznJZPHs+mHmTxubD/N 6vHs5n9Gj74tqxg9/jdfZQ1gj+KySUnNySxLLdK3S+DKOPhgAUvBUf6KI7P6mBoY23m6GDk5 JARMJJ60LGfvYuTiEBJYwSgxe+olFgjnM6PE4t7VjDBVPecmM0IkljFKvHx+A6qlmUni7Jf5 rCBVbAI6EqdWHwHrEBGQlnjd+4YVpIhZYCKTxNufF9hAEsICHhLnt00B2sHBwSKgKnHspiqI yStgLXGhC2qZvMTqDQeYQWxOARuJ5/f72UDGSAjMYZN4snwqM0i9hICLxNYPRRD1whKvjm9h h7BlJC5P7maBsOsl7re8ZITo7WCUmH7oHxNEwl5iy+tzYA3MAnwSk7ZNh5rJK9HRJgRR4iHx 8cUcaEj0M0pM2TSNfQKj5AJGhlWM4qmlxbnpqcVGeanlesWJucWleel6yfm5mxiB0Xn63/Ev Oxh3/Uk6xCjAwajEw/uA+1q0EGtiWXFl7iFGCQ5mJRHeV2eBQrwpiZVVqUX58UWlOanFhxil OViUxHmXzdsYLSSQnliSmp2aWpBaBJNl4uCUamAMMvujseZFk46Bl8pm13ObPR/kJubyvV7t wmTlwC305+YsXufvCjZvDzzmapGNmjCr3GKhNccibfagNzJFP9Ycc5FQTfihfuXIVbVNhdVz YxWDThgs87wgPffTw2bbf4lneJ/v3NAzQWnvjMkdW2Z8Vfi9f4Peje4JtjEX39nEtizUsm1p uj1HiaU4I9FQi7moOBEAEOkqSMoCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprKLMWRmVeSWpSXmKPExsVy+t/xq7rvGK9HG+zbomixZdpkVotXi84z W1xp/8lusfHhWVaLuZ+eM1rcnuNl8fTiL2aLliU7mRw4PG78u8XmsXjPSyaPZ9MPM3nc2H6a 1ePZzf+MHn1bVjF6/G++yhrAHsVlk5Kak1mWWqRvl8CVcfDBApaCo/wVR2b1MTUwtvN0MXJy SAiYSPScm8zYxcjFISSwhFHixd2/bBBOK5PEkmn3WUCq2AR0JE6tPsIIYosISEu87n3DClLE LDAZqKiliRkkISzgIXF+2xSgBg4OFgFViWM3VUFMXgFriQtdjBDL5CVWbzgAVs0pYCPx/H4/ G4gtBFSy6uNc5gmMPAsYGVYxiqSWFuem5xYb6RUn5haX5qXrJefnbmIEBta2Yz+37GDsehd8 iFGAg1GJh/cB97VoIdbEsuLK3EOMEhzMSiK8r84ChXhTEiurUovy44tKc1KLDzFKc7AoifOe N6iMEhJITyxJzU5NLUgtgskycXBKNTDmPXjet3p3zi/TnYFMnl/n7vy05MCNLx8VXuZcP6Yd mPLC5cV1tiVKbCfeuf7e1NjDlhlXFXI1RlNe0i/+gESY4eSqZ1f3R9bO7m1ZsCdK993+RSbu l555HliWkvfj7oa1RozZG/zfN6rxbng3aUVH1KYZQtErD7/gaMxx8ep7Xmiw/Wwa74zpSizF GYmGWsxFxYkAS4togSgCAAA= X-CMS-MailID: 20181029124950eucas1p2116bacbd4581add6e680dbf91ddd3b2b X-Msg-Generator: CA CMS-TYPE: 201P X-CMS-RootMailID: 20181029124950eucas1p2116bacbd4581add6e680dbf91ddd3b2b References: <20181029124926.12199-1-i.maximets@samsung.com> X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Shahaf Shuler , Flavio Leitner , Ilya Maximets Subject: [ovs-dev] [PATCH 4/9] dp-packet: Add flow_mark support for non-DPDK case. X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org Additionally, new API call 'dp_packet_set_flow_mark' is needed for packet clone. Mostly for dummy HWOL implementation. Signed-off-by: Ilya Maximets --- lib/dp-packet.h | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/lib/dp-packet.h b/lib/dp-packet.h index 0e04b2302..a8574ae33 100644 --- a/lib/dp-packet.h +++ b/lib/dp-packet.h @@ -60,7 +60,9 @@ struct dp_packet { uint32_t size_; /* Number of bytes in use. */ uint32_t ol_flags; /* Offloading flags. */ #define DP_PACKET_OL_RSS_HASH_MASK 0x1 /* Is the 'rss_hash' valid? */ +#define DP_PACKET_OL_FLOW_MARK_MASK 0x2 /* Is the 'flow_mark' valid? */ uint32_t rss_hash; /* Packet hash. */ + uint32_t flow_mark; /* Packet flow mark. */ #endif enum dp_packet_source source; /* Source of memory allocated as 'base'. */ @@ -537,6 +539,13 @@ dp_packet_has_flow_mark(const struct dp_packet *p, uint32_t *mark) return false; } +static inline void +dp_packet_set_flow_mark(struct dp_packet *p, uint32_t mark) +{ + p->mbuf.hash.fdir.hi = mark; + p->mbuf.ol_flags |= PKT_RX_FDIR_ID; +} + #else /* DPDK_NETDEV */ static inline void * dp_packet_base(const struct dp_packet *b) @@ -638,11 +647,21 @@ dp_packet_l4_checksum_bad(const struct dp_packet *p OVS_UNUSED) } static inline bool -dp_packet_has_flow_mark(const struct dp_packet *p OVS_UNUSED, - uint32_t *mark OVS_UNUSED) +dp_packet_has_flow_mark(const struct dp_packet *p, uint32_t *mark) { + if (p->ol_flags & DP_PACKET_OL_FLOW_MARK_MASK) { + *mark = p->flow_mark; + return true; + } return false; } + +static inline void +dp_packet_set_flow_mark(struct dp_packet *p, uint32_t mark) +{ + p->flow_mark = mark; + p->ol_flags |= DP_PACKET_OL_FLOW_MARK_MASK; +} #endif /* DPDK_NETDEV */ static inline void