From patchwork Wed Sep 14 21:30:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 116315 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id C53FAA0032; Wed, 14 Sep 2022 23:30:21 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 6124C4021D; Wed, 14 Sep 2022 23:30:21 +0200 (CEST) Received: from out2-smtp.messagingengine.com (out2-smtp.messagingengine.com [66.111.4.26]) by mails.dpdk.org (Postfix) with ESMTP id 58A2240156 for ; Wed, 14 Sep 2022 23:30:20 +0200 (CEST) Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.nyi.internal (Postfix) with ESMTP id DA6F65C010A; Wed, 14 Sep 2022 17:30:19 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute5.internal (MEProxy); Wed, 14 Sep 2022 17:30:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= cc:cc:content-transfer-encoding:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to; s=fm2; t=1663191019; x=1663277419; bh=2+1vE+6TeXzEuQ2w6syalks/H MfovGKuSZbH/JITb6s=; b=ZY8ri8606mJWbGgYVcf85T2u7tC7vwpABjf2It5tx +CW0S9SIUZ7xTxI+sLiuY4wWDpCXxprAphizGC53lRrQA3Pr+ahrKNF1lCzusGcs HOXNG+deTyW4FVubyMMwSjwNvuBB/gFSvpghg7/Fn698DVyHKxSl+IpsHvQJwJTb 1+jJVkJO+cAuy4zaNpJ+9wIfCvf1N+fWKcUc67yY11v+o+zZqhyxp+jaV4nX6LPf KiLs62RQuM7Wbmzfb1Ufl+fu99udgWZxww75GI9pJAvTtWWenwM2wMXzVqBmuRF+ khVMjjXm+yuJMZMNO3o9SVwKsBKuPFNRFWApjc4rkEGUA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1663191019; x=1663277419; bh=2+1vE+6TeXzEuQ2w6syalks/HMfovGKuSZb H/JITb6s=; b=PeN7tGDgZUCB1jvsDs06WvQ9omaU2ArAKOijSbjGbjVtQe1oN6+ DcD23Rt8x2+wcmorNKpQpNMwK0TTTFavS8WtZULZz/I6brMMB+hfUT0KEZbssw63 ky18SL7zgj3KZTEPDkSUQSW6Q375lBgLLTf5HhzsZhSzNCSvm8fFUaloEev7rRo1 pQazJlox5sA/PHepHOHqqPcXvtxlJ3wFvoL2D8jEK2ita/En6lmYuypqkC2Wokjm h6TF5VADOKrP2ytMzKFS3j3nNfGzLr0Vf2pbZrFUCVdlfAoPiOCQ1o+UIaNnY8T1 ZWsAmKMZjrLAUoQ6803uRxObBXFe2Oh6YrA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfeduiedgudeihecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmd enucfjughrpefhvfevufffkffoggfgsedtkeertdertddtnecuhfhrohhmpefvhhhomhgr shcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecugg ftrfgrthhtvghrnhepveevfeevieeihfetudekgeekleeigeffueekveduteeuffeiudev teeiudekfeelnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrh homhepthhhohhmrghssehmohhnjhgrlhhonhdrnhgvth X-ME-Proxy: Feedback-ID: i47234305:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 14 Sep 2022 17:30:18 -0400 (EDT) From: Thomas Monjalon To: dev@dpdk.org Cc: Michael Savisko , Slava Ovsiienko , Matan Azrad , Dariusz Sosnowski , Asaf Penso , Ori Kam , Ferruh Yigit , Andrew Rybchenko Subject: [PATCH] doc: relate bifurcated driver and flow isolated mode Date: Wed, 14 Sep 2022 23:30:04 +0200 Message-Id: <20220914213005.225022-1-thomas@monjalon.net> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The relation between the isolated mode in ethdev flow API and bifurcated driver behaviour was not clearly explained. It is made clear in the how-to guide that isolated mode is required for flow bifurcation to the kernel. On the other side, the impact of the isolated mode on a bifurcated driver is made more explicit. Signed-off-by: Thomas Monjalon Reviewed-by: Dariusz Sosnowski Acked-by: Ori Kam --- doc/guides/howto/flow_bifurcation.rst | 3 ++- lib/ethdev/rte_flow.h | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/doc/guides/howto/flow_bifurcation.rst b/doc/guides/howto/flow_bifurcation.rst index 7ba66b9003..79cf4f1e64 100644 --- a/doc/guides/howto/flow_bifurcation.rst +++ b/doc/guides/howto/flow_bifurcation.rst @@ -55,7 +55,8 @@ The full device is already shared with the kernel driver. The DPDK application can setup some flow steering rules, and let the rest go to the kernel stack. In order to define the filters strictly with flow rules, -the :ref:`flow_isolated_mode` can be configured. +the :ref:`flow_isolated_mode` must be configured, +so there is no default rule routing traffic to userspace. There is no specific instructions to follow. The recommended reading is the :doc:`../prog_guide/rte_flow` guide. diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h index a79f1e7ef0..1bac3fd9ec 100644 --- a/lib/ethdev/rte_flow.h +++ b/lib/ethdev/rte_flow.h @@ -4254,6 +4254,10 @@ rte_flow_query(uint16_t port_id, * * Isolated mode guarantees that all ingress traffic comes from defined flow * rules only (current and future). + * When enabled with a bifurcated driver, + * non-matched packets are routed to the kernel driver interface. + * When disabled (the default), + * there may be some default rules routing traffic to the DPDK port. * * Besides making ingress more deterministic, it allows PMDs to safely reuse * resources otherwise assigned to handle the remaining traffic, such as