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 BE054431DE; Mon, 23 Oct 2023 09:06:48 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AE88C40DDE; Mon, 23 Oct 2023 09:06:48 +0200 (CEST) Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) by mails.dpdk.org (Postfix) with ESMTP id 5EE9740E25 for ; Mon, 23 Oct 2023 09:06:47 +0200 (CEST) Received: by mail-qt1-f176.google.com with SMTP id d75a77b69052e-41cd52c51abso17421721cf.2 for ; Mon, 23 Oct 2023 00:06:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1698044807; x=1698649607; darn=dpdk.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=J6vbDit+FnDKCuVQXCRshOmXe0gD8RUD0wB2TQ+rpSY=; b=IZ/C2ZKk0G7xln/SgJ03jtzOMtW3iRmeikNTh7YPdb2p14uV5z71K0YzZonZCAdTUB z6hGNb6dZbf/7kA0pxgq+1hyRhjV/Pdph0vpAX3gzMxkp0nANIQ3juAjr51oh35OR2iJ DD/2IIdlllHaQ1jeewpcYNBW76QjB7S+UYN1wA9qrrfgIpFFjA+bhV4atjanWWwRy8P5 1rscUILTMF444AoAubDo57txVFEyTvtL+yH67J8IoIuQKgOMf0B0/6NGxMifQcaS6T3S QsdrLqWZTiXqoJoZHE9RSouxgv5Qmx+QwKT17gr7VnKGrq2aHeckdRsoFmVpjgQmsPfn hI4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698044807; x=1698649607; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=J6vbDit+FnDKCuVQXCRshOmXe0gD8RUD0wB2TQ+rpSY=; b=k+APPTkiMMjFpuTax3mN6dX1zSZgexzS58XhEAeZM0W9wtDKzfFnV9xmENrXTnE2hg AqNlmb/blSVeIITV+O7cJXknZpsvrUIf1j4/pS6+cV7kYfPWUAhMeeqsDgwo6plQv/4Z RLpHsH6yVcepbazGm85OP9asxuKRE1Sg7h2BgX7BWXL4zytW7sNQ+Pk1CZcHYY/GPSuC N6WUGE9+9wcDLxVQp76FrPiKha5mQ14E7ZZmlLqBuduUzXildRGWpprFcuTeItkgDwdM Iy0eKevR+AD5sFFtZGa3rTDceEAz4kFzmNPdrFENg9oiOedtlQBmNTKbp8u9J4R7pvqX u/EQ== X-Gm-Message-State: AOJu0Yw2JnC+4YB7IiB7HM6f813TlTmoWfHDzqbvGshD51UJHEEoHfDQ fBZkqzhpUN0t6sh5QRqOJjlrDo6RXqur7xU4+I+5S3mu5Ik= X-Google-Smtp-Source: AGHT+IHr5vN/ZQJzpKKgciSK3AXYLh8eteFQxPKVCb5PafP1gg/nXX2LVvMRt/TXVVJN6vj1AqfFCfiwJV38LfytxWg= X-Received: by 2002:a05:622a:492:b0:412:309f:c0fa with SMTP id p18-20020a05622a049200b00412309fc0famr8825373qtx.64.1698044806677; Mon, 23 Oct 2023 00:06:46 -0700 (PDT) MIME-Version: 1.0 References: <20231018063347.68081-13-skori@marvell.com> <20231019105000.520914-1-skori@marvell.com> <20231019105000.520914-13-skori@marvell.com> In-Reply-To: From: Nithin Dabilpuram Date: Mon, 23 Oct 2023 12:36:34 +0530 Message-ID: Subject: Re: [EXT] [PATCH v10 12/12] app/graph: support l3fwd use case To: Jerin Jacob Kollanukkaran Cc: Sunil Kumar Kori , Rakesh Kudurumalla , "dev@dpdk.org" Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable 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 Acked-By: Nithin Dabilpuram On Fri, Oct 20, 2023 at 5:47=E2=80=AFAM Jerin Jacob Kollanukkaran wrote: > > > -----Original Message----- > > From: skori@marvell.com > > Sent: Thursday, October 19, 2023 4:20 PM > > To: Sunil Kumar Kori ; Rakesh Kudurumalla > > > > Cc: dev@dpdk.org > > Subject: [EXT] [PATCH v10 12/12] app/graph: support l3fwd use case > > > > External Email > > > > ---------------------------------------------------------------------- > > From: Rakesh Kudurumalla > > > > Adds an use case l3fwd. It contains a dedicated l3fwd.cli file mentioni= ng > > commands to configure the required resources. > > > > Once application successfully parses the l3fwd.cli then a graph is crea= ted having > > below nodes: > > - ethdev_rx -> pkt_cls > > > > - pkt_cls -> ip4_lookup > > - pkt_cls -> ip6_lookup > > - pkt_cls -> pkt_drop > > > > - ip4_lookup -> ip4_rewrite > > - ip4_lookup -> pkt_drop > > > > - ip6_lookup -> ip6_rewrite > > - ip6_lookup -> pkt_drop > > > > - ip4_rewrite -> ethdev_tx > > - ip4_rewrite -> pkt_drop > > > > - ip6_rewrite -> ethdev_tx > > - ip6_rewrite -> pkt_drop > > > > - ethdev_tx -> pkt_drop > > > > Signed-off-by: Sunil Kumar Kori > > Signed-off-by: Rakesh Kudurumalla > > --- > > +Supported Use cases > > +------------------- > > + * l3fwd > > + > > +This use case is supported for both PF and PCAP network devices. To > > Both HW and PCAP vdev network device. > Remove PF instance form doc. > > > +demonstrate, corresponding .cli files are available at > > +```` > > +named as ``l3fwd.cli`` and ``l3fwd_pcap.cli`` respectively. > > + > > Running the Application > > ----------------------- > > > > @@ -63,6 +71,26 @@ Following are the application command-line options: > > > > Dumps application usage > > > > +Examples > > +~~~~~~~~ > > In order to have continuity, Please move "16.1. Supported Use cases" her= e and remove "Examples" > > 16.x Supported Use case > 16.x.1 L3fwd > 16.x.1.1 Example commands > 16.x.1.2 Verifying traffic > > > > + > > +For PF devices > > + > > +.. code-block:: console > > + > > + ./dpdk-graph -c 0xff -a 0002:02:00.0 -a 0002:03:00.0 -- > > + -s /app/graph/examples/l3fwd.cli > > + > > +For net_pcapX devices > > + > > +.. code-block:: console > > + > > + ./dpdk-graph -c 0xff -- > > vdev=3Dnet_pcap0,rx_pcap=3Din_net_pcap0.pcap,tx_pcap=3Dout_net_pcap1.pc= ap > > + -- > > vdev=3Dnet_pcap1,rx_pcap=3Din_net_pcap1.pcap,tx_pcap=3Dout_net_pcap0.pc= ap > > + -- -s > > + /app/graph/examples/l3fwd_pcap.cli > > + > > +Refer section :ref:`verifying_traffic` to create .pcap file used here. > > + > > Supported CLI commands > > ---------------------- > > > > @@ -223,3 +251,84 @@ Created graph for use case > > > > On the successful execution of ``.cli`` file, corresponding g= raph will > > be created. > > This section mentions the created graph for each use case. > > + > > +l3fwd > > +~~~~~ > > + > > +.. _figure_l3fwd_graph: > > + > > +.. figure:: img/graph-usecase-l3fwd.* > > + > > +.. _verifying_traffic: > > + > > +Verifying traffic > > +~~~~~~~~~~~~~~~~~ > > + > > +``l3fwd.cli`` and ``l3fwd_pcap.cli`` creates setup with two network > > +ports. Routing between these ports are done by lookup node routing > > +information. For current use case, following routing table is used: > > + > > +.. code-block:: console > > + > > + DIP port > > + 10.0.2.2 1 > > + 20.0.2.2 0 > > + > > +On the successful execution of ``l3fwd.cli`` or ``l3fwd_pcap.cli``, > > +user needs to send traffic with mentioned DIP. > > + > > +For net_pcapX devices, required pcap file should be created and passed > > +to application. These pcap files can be created in several ways. Scapy= is one of > > the method to get the same: > > + > > +.. code-block:: console > > + > > + # scapy > > + > > + aSPY//YASa > > + apyyyyCY//////////YCa | > > + sY//////YSpcs scpCY//Pp | Welcome to Scapy > > + ayp ayyyyyyySCP//Pp syY//C | Version 2.4.3 > > + AYAsAYYYYYYYY///Ps cY//S | > > + pCCCCY//p cSSps y//Y | > > https://urldefense.proofpoint.com/v2/url?u=3Dhttps- > > 3A__github.com_secdev_scapy&d=3DDwIDAg&c=3DnKjWec2b6R0mOyPaz7xtfQ&r=3D > > 1DGob4H4rxz6H8uITozGOCa0s5f4wCNtTa4UUKvcsvI&m=3DV_QcQyFL- > > NxiuHEAdNEZlQ379HvK37suZH_8Yfuuz-HwEKmVw5Iy-SbtS95- > > brBb&s=3DXR2R_CEDkRJPhayLXSY1ZRnzrZsuR-UDaSSDHELwAnQ&e=3D > > + SPPPP///a pP///AC//Y | > > + A//A cyP////C | Have fun! > > + p///Ac sC///a | > > + P////YCpc A//A | We are in France, we say Sk= appee. > > + scccccp///pSP///p p//Y | OK? Merci. > > + sY/////////y caa S//P | -- Sebastien Ch= abal > > + cayCyayP//Ya pY/Ya | > > + sY/PsY////YCc aC//Yp > > + sc sccaCY//PCypaapyCP//YSs > > + spCPY//////YPSps > > + ccaacs > > + using IPython 7.13.0 > > This graphics can be removed in the doc > > > + >>> > > + >>> > > Remove this > > > + >>> pkts=3D[Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"28.0.0.1", dst=3D"10.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"28.0.0.1", dst=3D"10.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"28.0.0.1", dst=3D"10.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"28.0.0.1", dst=3D"10.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"28.0.0.1", dst=3D"10.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"28.0.0.1", dst=3D"10.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"28.0.0.1", dst=3D"10.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"28.0.0.1", dst=3D"10.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"28.0.0.1", dst=3D"10.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"28.0.0.1", dst=3D"10.0.2.2")] > > + >>> > > + >>>wrpcap("in_net_pcap1.pcap",pkts) > > + >>> > > + >>> > > Remove above two lines > > > + >>> pkts=3D[Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"29.0.0.1", dst=3D"20.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"29.0.0.1", dst=3D"20.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"29.0.0.1", dst=3D"20.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"29.0.0.1", dst=3D"20.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"29.0.0.1", dst=3D"20.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"29.0.0.1", dst=3D"20.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"29.0.0.1", dst=3D"20.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"29.0.0.1", dst=3D"20.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"29.0.0.1", dst=3D"20.0.2.2"), > > + Ether(dst=3D"FA:09:F9:D7:E0:9D", > > src=3D"10:70:1d:2f:42:2d")/IP(src=3D"28.0.0.1", dst=3D"20.0.2.2")] > > + >>> > > + >>>wrpcap("in_net_pcap0.pcap",pkts) > > + >>> > > Remove above line > > > + >>> quit > > Which above changes: > Acked-by: Jerin Jacob