From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <users-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id D21ADA0A03
	for <public@inbox.dpdk.org>; Mon, 18 Jan 2021 11:07:52 +0100 (CET)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 50C36140D17;
	Mon, 18 Jan 2021 11:07:52 +0100 (CET)
Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com
 [66.111.4.25]) by mails.dpdk.org (Postfix) with ESMTP id EDF2D140D13
 for <users@dpdk.org>; Mon, 18 Jan 2021 11:07:50 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
 by mailout.nyi.internal (Postfix) with ESMTP id 727B85C0166;
 Mon, 18 Jan 2021 05:07:50 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute2.internal (MEProxy); Mon, 18 Jan 2021 05:07:50 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 from:to:cc:subject:date:message-id:in-reply-to:references
 :mime-version:content-transfer-encoding:content-type; s=fm3; bh=
 zLl7rqtt6HnzjG8viRPYZW9w+qRCX+UCHfsHfdifWnE=; b=pJvVOh5ZnOzFuGsA
 sZta5DZia21S0y1j6a+xxNuuXdoG5G54BFnR3j+6paJz02utJQmAWCQQ9Y+k+mvU
 mD4h/EweXBgr7fvp1IE81v4OZL58SKRfuinCRuYjezPtajqzvgF7pQ2vdus2ZwRc
 Cs+RhX9BmlH5AGF3TWkKzCoUtmNIgIrNEPXds2eIXX/YpT6X1Ootdi8Z2CEgjv1d
 USc97vu84s2Bp0DHGC3JJtFwnBDZX0BfEl7exp5QSAHALzxLxYXu98bnlTmoEC3y
 rTnvI50NTarV3jmcpA5XEZVR0lAKNnktXhfIBpC6Q2/Iy3We05Nds57KbPraUW9k
 5aSxkQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :date:from:in-reply-to:message-id:mime-version:references
 :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
 :x-sasl-enc; s=fm1; bh=zLl7rqtt6HnzjG8viRPYZW9w+qRCX+UCHfsHfdifW
 nE=; b=ZtPy2eit70DrIEs1QQzLMWhS6fczuANo+eTvzaa2msxo0CoSL4Af6s863
 cjVkhCor/YrsZK+rwkoYooRSx4Xc2/GV6XUFoqN/IbNW3LIWH47xjaR2xEC9UjAO
 PqsTnTsZmwo4BAvpyNAfetxRngY98XXTv7yC5cUgKX6dgnPio/PG3y8XyHomngvB
 1lkRhTYmEuuUy61S55FUv0lDaaX7jK90snHkcDZuN9CGsrQkcjiOngmGkY2O9UHG
 ZKAAVSIr3p/HvA5WFkNwXBgpBeGRuOxYtkSAhVbIGXTkbRCMUHwlPRt7fq0nNUKg
 q1T6WWQtYPJaRQbM7SR+6rwcO0FMg==
X-ME-Sender: <xms:9l0FYGNRUNI-W9fFDVLfV1gAbQ0AoPhgs0vFFNpCyEykLHDZY-XmgQ>
 <xme:9l0FYE-1i97FUz1FCPwhLT_fYMBvxImahtmNbputmGakFWP_SSLdqVDA0k926Br-N
 wCgo2tCw7Je42C5Eg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduledrtdekgdduvdcutefuodetggdotefrodftvf
 curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu
 uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc
 fjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhmrghs
 ucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucggtf
 frrghtthgvrhhnpedugefgvdefudfftdefgeelgffhueekgfffhfeujedtteeutdejueei
 iedvffegheenucfkphepjeejrddufeegrddvtdefrddukeegnecuvehluhhsthgvrhfuih
 iivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepthhhohhmrghssehmohhnjhgrlhho
 nhdrnhgvth
X-ME-Proxy: <xmx:9l0FYNSEleTi_Hzq8IHWaleAq9E7oCCxeL-BMCeoEibSKdsFaKEC4w>
 <xmx:9l0FYGtyUzkZC8GH1XZDyvJJ5QX-5O7_tFzcB8uky9J-75aNlncLPw>
 <xmx:9l0FYOedO-Lk6k-YVgAxXaL6TMzLp21qWoJpA9dY4HdkVFjk9fVpfg>
 <xmx:9l0FYPrg7zg7gud-74mlr8xop1AH81pkXaqqvsB1DFXqC6VExXVBPQ>
Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])
 by mail.messagingengine.com (Postfix) with ESMTPA id 90A07240062;
 Mon, 18 Jan 2021 05:07:49 -0500 (EST)
From: Thomas Monjalon <thomas@monjalon.net>
To: raktim bhatt <rocky.cair@gmail.com>, Raslan Darawsheh <rasland@nvidia.com>
Cc: "users@dpdk.org" <users@dpdk.org>, Slava Ovsiienko <viacheslavo@nvidia.com>,
 Asaf Penso <asafp@nvidia.com>
Date: Mon, 18 Jan 2021 11:07:48 +0100
Message-ID: <4894382.B7aiEbNCBK@thomas>
In-Reply-To: <DM6PR12MB2748735E761B0A7D3981918CCFA40@DM6PR12MB2748.namprd12.prod.outlook.com>
References: <CAGQs35Vz12hXaWRQD2snNeUMJWKQfhaqBis6Pe2sUgQzt7kuNQ@mail.gmail.com>
 <DM6PR12MB2748735E761B0A7D3981918CCFA40@DM6PR12MB2748.namprd12.prod.outlook.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
Subject: Re: [dpdk-users] DPDK: MPLS packet processing
X-BeenThere: users@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK usage discussions <users.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/users>,
 <mailto:users-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/users/>
List-Post: <mailto:users@dpdk.org>
List-Help: <mailto:users-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/users>,
 <mailto:users-request@dpdk.org?subject=subscribe>
Errors-To: users-bounces@dpdk.org
Sender: "users" <users-bounces@dpdk.org>

18/01/2021 09:46, Raslan Darawsheh:
> From: raktim bhatt
> 
> > Hi All,
> > 
> > I am trying to build a multi-RX-queue dpdk program, using RSS to split the
> > incoming traffic into RX queues on a single port. Mellanox ConnectX-5 and
> > DPDK Version 19.11 is used for this purpose. It works fine when I use IP
> > over Ethernet packets as input. However when the packet contains IP over
> > MPLS over Ethernet, RSS does not seem to work. As a result, all packets
> > belonging to various flows (with different src & dst IPs, ports over MPLS)
> > are all sent into the same RX queue.
> > 
> > 
> > My queries are
> > 
> > 1. Is there any parameter/techniques in DPDK to distribute MPLS packets to
> > multiple RX queues?
> > 
> I've tried it over my setup with testpmd:
> ./build/app/dpdk-testpmd -n 4 -w 0000:08:00.0 -- --mbcache=512 -i --nb-cores=27 --rxq=4 --txq=4 --rss-ip
> testpmd> set verbose 1
> testpmd> start
> 
> then tried to send two MPLS packets with different src IP:
> packet1 =  Ether()/MPLS()/IP(src='1.1.1.1')
> packet2 =  Ether()/MPLS()/IP(src='1.1.1.2')
> 
> and I see that both packets are being spread over the queues, see the bellow testpmd dump output:
> testpmd> port 0/queue 3: received 1 packets
>   src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x8847 - length=60 - nb_segs=1 - RSS hash=0x43781943 - RSS queue=0x3 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER  - l2_len=14 - Receive queue=0x3
>   ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> port 0/queue 1: received 1 packets
>   src=00:00:00:00:00:00 - dst=FF:FF:FF:FF:FF:FF - type=0x8847 - length=60 - nb_segs=1 - RSS hash=0xb8631e05 - RSS queue=0x1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG  - sw ptype: L2_ETHER  - l2_len=14 - Receive queue=0x1
>   ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_UNKNOWN PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
> 
> first packet was received on queue 3 and the second one was received over queue 1,
> by the way, this is with both 19.11.0 and v19.11.6 
> 
> > 2. Is there any way to strip off MPLS tags (between Eth and IP) in
> > hardware, something like hw_vlan_strip?
> > 
> For this I'm not sure we have such thing in dpdk maybe Thomas can confirm this here?

Look for "POP_MPLS" in rte_flow.