From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id A7BFC46858; Mon, 2 Jun 2025 08:38:38 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 88A4540668; Mon, 2 Jun 2025 08:38:17 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id ED6DE40616 for ; Mon, 2 Jun 2025 08:38:15 +0200 (CEST) Received: from pps.filterd (m0431383.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 551MEgOw028737; Sun, 1 Jun 2025 23:38:15 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=pfpt0220; bh=E Sea0TRM2hjI4q3kAuSn+Z2JHpfpLb39iGJ6tyqyASw=; b=k/3H4TFffOqpOtRsE vO+1TQLdgEt5UPQWURZh0cbCMhyfURtA1aN5nsnWjDPbNCCEoofbOc4QkvRfi41t wpRxgjHLkQKFMKpnttLgM9p/YRtRep+2ijyF/z14QLW+bUgEcuQGZzL2J0bxjBWd lSVzHsoTacBN0K92b1iZ7v9VTarZWFt9/APt53kRD4OETTvdxfK+eXqFMELJDrdV ylm1iDGeXM1HK8yPXGN24THGlPYt6QLTzukf/rnXkjq8SmC/C9bP7J29Ok3moTUt JQsV1AjEizvneJ4/lKwMMFLannzG0/UwtYxoYMncYe/fEJKXNvg092JAvaqfmo2r 8d3Cw== Received: from dc5-exch05.marvell.com ([199.233.59.128]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 470ye00n9d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 01 Jun 2025 23:38:15 -0700 (PDT) Received: from DC5-EXCH05.marvell.com (10.69.176.209) by DC5-EXCH05.marvell.com (10.69.176.209) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.4; Sun, 1 Jun 2025 23:38:13 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH05.marvell.com (10.69.176.209) with Microsoft SMTP Server id 15.2.1544.4 via Frontend Transport; Sun, 1 Jun 2025 23:38:13 -0700 Received: from localhost.localdomain (unknown [10.28.36.185]) by maili.marvell.com (Postfix) with ESMTP id B72FD3F704B; Sun, 1 Jun 2025 23:38:10 -0700 (PDT) From: Ankur Dwivedi To: CC: , , , , , , , Ankur Dwivedi Subject: [PATCH v3 14/14] doc: add FIB nodes in graph guide Date: Mon, 2 Jun 2025 12:06:39 +0530 Message-ID: <20250602063639.198550-15-adwivedi@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20250602063639.198550-1-adwivedi@marvell.com> References: <20250509064448.724019-1-adwivedi@marvell.com> <20250602063639.198550-1-adwivedi@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNjAyMDA1NSBTYWx0ZWRfX5qhdau3J3CPz pskO5KE4c7uW/dUMCcl9Rd15DIUQ9JA/sOrs/vlo/nLmdPuWsMY3TquZwh+BoCRJKT2ChQz8gZa xQq3BUaX8ohgq1PrykWXH5cwAXBnS16Bj+uWfdLuinCzBx3JTDWhTHqQ8Uf6iLr+9JWY5h0Ui41 WSKKW7qcojHCRVTbS/Hqtg5m2UCKcD3g1Q+xmI35Jrv7Jd0/eGo5WlqyrRw5O2X8oD0wgopfSyN niL2sl4/TrO11tcIkX0K6T8o0L9mSqTlT/teJ6NvYEHgX0Fw3uH6zdnGmhR0zGgKa56c1/IWNg1 UsmcSeYhI+G6KkcSHHhFWASBxOvKZFvKrHmswTIAbYChEERctYCRfVIcp8m8a5ggJUZ4vdvdkJM cCh81c0Lb4OdoIfghIrXRDqzZJuawF8EBMmdSUf9Pr8yLHw0/Ka9hcdhMynbasjOgkMfrio7 X-Authority-Analysis: v=2.4 cv=Iv8ecK/g c=1 sm=1 tr=0 ts=683d46d7 cx=c_pps a=rEv8fa4AjpPjGxpoe8rlIQ==:117 a=rEv8fa4AjpPjGxpoe8rlIQ==:17 a=6IFa9wvqVegA:10 a=SSmOFEACAAAA:8 a=M5GUcnROAAAA:8 a=nQU0pW8VkhwdWRs5Y0IA:9 a=APKg38VUWEZJ8mz5:21 a=OBjm3rFKGHvpk9ecZwUJ:22 X-Proofpoint-ORIG-GUID: WBGD-jTVWMDJtuzXeGwEtjreXswRTK89 X-Proofpoint-GUID: WBGD-jTVWMDJtuzXeGwEtjreXswRTK89 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-06-02_02,2025-05-30_01,2025-03-28_01 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 Adds the ip4_lookup_fib and ip6_lookup_fib nodes in inbuilt nodes section of graph guide. Signed-off-by: Ankur Dwivedi --- doc/guides/prog_guide/graph_lib.rst | 32 ++++ .../img/graph_inbuilt_node_flow.svg | 150 +++++++++--------- 2 files changed, 108 insertions(+), 74 deletions(-) diff --git a/doc/guides/prog_guide/graph_lib.rst b/doc/guides/prog_guide/graph_lib.rst index dc6c8c0712..7b5c93f73f 100644 --- a/doc/guides/prog_guide/graph_lib.rst +++ b/doc/guides/prog_guide/graph_lib.rst @@ -458,6 +458,22 @@ On LPM lookup failure, objects are redirected to pkt_drop node. To achieve home run, node use ``rte_node_stream_move()`` as mentioned in above sections. +ip4_lookup_fib +~~~~~~~~~~~~~~ +This node is an intermediate node that does FIB lookup for the received +ipv4 packets and the result determines each packets next node. + +On successful FIB lookup, the result contains the ``next_node`` id and +``next-hop`` id with which the packet needs to be further processed. + +On FIB lookup failure, objects are redirected to pkt_drop node. +``rte_node_ip4_fib_route_add()`` is control path API to add ipv4 routes. +To achieve home run, node use ``rte_node_stream_move()`` as mentioned in above +sections. + +This node is used only when lookup mode is given as FIB in the application. +Otherwise, the ip4_lookup node is used by default which does LPM lookup. + ip4_rewrite ~~~~~~~~~~~ This node gets packets from ``ip4_lookup`` node with next-hop id for each @@ -487,6 +503,22 @@ On LPM lookup failure, objects are redirected to ``pkt_drop`` node. To achieve home run, node use ``rte_node_stream_move()`` as mentioned in above sections. +ip6_lookup_fib +~~~~~~~~~~~~~~ +This node is an intermediate node that does FIB lookup for the received +IPv6 packets and the result determines each packets next node. + +On successful FIB lookup, the result contains the ``next_node`` ID +and `next-hop`` ID with which the packet needs to be further processed. + +On FIB lookup failure, objects are redirected to ``pkt_drop`` node. +``rte_node_ip6_fib_route_add()`` is control path API to add IPv6 routes. +To achieve home run, node use ``rte_node_stream_move()`` as mentioned in +above sections. + +This node is used only when lookup mode is given as FIB in the application. +Otherwise, the ip6_lookup node is used by default which does LPM lookup. + ip6_rewrite ~~~~~~~~~~~ This node gets packets from ``ip6_lookup`` node with next-hop ID diff --git a/doc/guides/prog_guide/img/graph_inbuilt_node_flow.svg b/doc/guides/prog_guide/img/graph_inbuilt_node_flow.svg index 7c451371a7..f654d581e0 100644 --- a/doc/guides/prog_guide/img/graph_inbuilt_node_flow.svg +++ b/doc/guides/prog_guide/img/graph_inbuilt_node_flow.svg @@ -1,7 +1,7 @@ - @@ -20,6 +20,8 @@ digraph dpdk_inbuilt_nodes_flow { pkt_drop [color="cyan"] kernel_tx [color="blue"] pkt_cls [color="red"] + ip4_lookup [label="ip4_lookup / ip4_lookup_fib"] + ip6_lookup [label="ip6_lookup / ip6_lookup_fib"] ethdev_rx -> pkt_cls kernel_rx -> pkt_cls @@ -48,58 +50,58 @@ digraph dpdk_inbuilt_nodes_flow { --> - + dpdk_inbuilt_nodes_flow - + ethdev_rx - -ethdev_rx + +ethdev_rx pkt_cls - -pkt_cls + +pkt_cls ethdev_rx->pkt_cls - - + + kernel_rx - -kernel_rx + +kernel_rx kernel_rx->pkt_cls - - + + ethdev_tx - -ethdev_tx + +ethdev_tx pkt_drop - -pkt_drop + +pkt_drop ethdev_tx->pkt_drop - - + + @@ -110,156 +112,156 @@ digraph dpdk_inbuilt_nodes_flow { kernel_tx->kernel_rx - - + + pkt_cls->pkt_drop - - + + pkt_cls->kernel_tx - - -exception pkts + + +exception pkts ip4_lookup - -ip4_lookup + +ip4_lookup / ip4_lookup_fib pkt_cls->ip4_lookup - - -ipv4 + + +ipv4 ip6_lookup - -ip6_lookup + +ip6_lookup / ip6_lookup_fib pkt_cls->ip6_lookup - - -ipv6 + + +ipv6 ip4_lookup->pkt_drop - - + + ip4_rewrite - -ip4_rewrite + +ip4_rewrite ip4_lookup->ip4_rewrite - - + + ip4_local - -ip4_local + +ip4_local ip4_lookup->ip4_local - - + + ip6_lookup->pkt_drop - - + + ip6_rewrite - -ip6_rewrite + +ip6_rewrite ip6_lookup->ip6_rewrite - - + + ip4_rewrite->ethdev_tx - - + + ip4_rewrite->pkt_drop - - + + ip6_rewrite->ethdev_tx - - + + ip6_rewrite->pkt_drop - - + + ip4_local->pkt_drop - - + + udp4_input - -udp4_input + +udp4_input ip4_local->udp4_input - - -udpv4 + + +udpv4 udp4_input->pkt_drop - - + + udp_user_node - -udp_user_node + +udp_user_node udp4_input->udp_user_node - - + + -- 2.25.1