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 AD98B46B7D for ; Tue, 15 Jul 2025 11:19:58 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 468754021E; Tue, 15 Jul 2025 11:19:58 +0200 (CEST) Received: from authsmtp.register.it (authsmtp17.register.it [81.88.48.40]) by mails.dpdk.org (Postfix) with ESMTP id 24E504013F for ; Tue, 15 Jul 2025 11:19:57 +0200 (CEST) Received: from DESKTOPPE5KR91 ([95.231.224.119]) by cmsmtp with ESMTPSA id bbnGufQQCvBcVbbnmudPnI; Tue, 15 Jul 2025 11:18:52 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outsys.org; s=key_65m6du3g3t; t=1752571184; bh=sP9dViN+MorxtNLkBbFJK9LOVN4ijeai1sRkHBIwrPo=; h=From:To:Cc:References:In-Reply-To:Subject:Date; b=Zdxa4oNRfx9RCQkOEhEctzIVRmI/mLkoG28IUlanoJtqW6ykapg07rXKpe8fTKkFo PUP29ztzbhEJBifIKnxzW2bCigHqShWZevnWvlgmpIUhAA1OFbmQAO9YyakwwMyvBA IOMmsm2aqWoMPZWb0G4xBUIHKhz2vBh5YG19O8z5+wf+5BnBaiEQ66mRSFFi9ieIxF D46iHPBfWFruK7Gf9dTn0b7Y7xgcHFqwOdrNCAacEzie1m6Iz14E+iAHuqWM7LuJWI nP8FCrLC7CQyHHhbWl4ziuwo8fiNY2yvNcO9+P0HL5DWKYEbN15ZlTPjArpH64fZNN kT2uha+Aw8TUg== X-Rid: smtp@outsys.eu@95.231.224.119 From: "Ernesto Ruffini" To: "'Ivan Malov'" Cc: References: <000001dbf256$f00e2650$d02a72f0$@outsys.org> <11486c31-cc82-58aa-a6ac-69247ff45e68@arknetworks.am> <002201dbf493$baece9e0$30c6bda0$@outsys.org> <89dacb09-664d-fb2b-ff4c-5fe76bf742dd@arknetworks.am> <002b01dbf4c6$54216be0$fc6443a0$@outsys.org> <5fed4086-f1c2-54de-4bb3-9d1e88a4707d@arknetworks.am> <004301dbf55a$60b92610$222b7230$@outsys.org> <0e5cb958-5268-0afe-a57b-dd1df4d4abca@arknetworks.am> In-Reply-To: <0e5cb958-5268-0afe-a57b-dd1df4d4abca@arknetworks.am> Subject: RE: E810 VLAN offload wrong behavior Date: Tue, 15 Jul 2025 11:17:51 +0200 Message-ID: <005601dbf569$7dbf45a0$793dd0e0$@outsys.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQJy21vQeHAL9+ttTW64NQW+tC737gITSxd8AiK70z0CEETYDAJLqDgcAptoql0C8yn3NwHWI9HmsoVjsYA= Content-Language: en-us X-CMAE-Envelope: MS4xfIU8E42YQuV3LJ/vze3MkzWANAP8V2o/ozaKFI4l3y2/GMxfN6IGkI3zBC/TaeVd2IBM0q71Mg+9x87XsdKA6b5pk5qV5KVRsXlUwEoJ4/mAnzqJxMYa RwsKUPzkN3bz4u7PfgOacp+EFypvjgK9UKPGrM48qHxOAGyK50zU13/U3KK+lS80+8ws5KU5RPFSoc99QMrdnHwVQNjKeS9bh+QPUX507FPOpW5eiqz+uvhM X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Hi Ivan, Yesterday's fix you mentioned in your previous message worked very well. Hope it will be included in the next 24.11.3 version. Thank you very much Ernesto -----Original Message----- From: Ivan Malov =20 Sent: Tuesday, July 15, 2025 10:32 To: Ernesto Ruffini Cc: users@dpdk.org Subject: RE: E810 VLAN offload wrong behavior Sorry, the bug might already exist. See [1]. So may be you can add your findings as a comment there. Thank you. [1] https://bugs.dpdk.org/show_bug.cgi?id=3D1677 On Tue, 15 Jul 2025, Ernesto Ruffini wrote: > Hi Ivan, > It worked! > > ICE_INIT: ice_set_rx_function(): Rx Burst Bulk Alloc Preconditions are = > satisfied. Rx Burst Bulk Alloc function will be used on port 0. > > And all the flags are there, with both one and four queues. > > Any idea on where to report this as a bug in the AVX2 OFFLOAD Vector=20 > Rx driver function, as apparently it is? > > Thank you > Ernesto > > > -----Original Message----- > From: Ivan Malov > Sent: Monday, July 14, 2025 18:12 > To: Ernesto Ruffini > Cc: users@dpdk.org > Subject: RE: E810 VLAN offload wrong behavior > > Hi Ernesto, > > That's interesting. To be honest, I'm not an expert in this driver. So = > far it does not seem the issue is with the specific Rx function, yet=20 > may be it pays to temporarily change "#ifdef RTE_ARCH_X86" to "#if 0"=20 > on line [1] in the original source of 24.11.2 and rebuild? Just to=20 > make sure the Rx method is a don't care. > > Thank you. > > [1] > https://github.com/DPDK/dpdk/blob/4c5634de9f933555bab9c64a533d3dca9990 > 71cd/d > rivers/net/ice/ice_rxtx.c#L3489 > > On Mon, 14 Jul 2025, Ernesto Ruffini wrote: > >> Hi Ivan, >> Thank you for your quick answer. >> I tried to apply the patch but got a compilation error: >> >> ../drivers/net/ice/ice_ethdev.c:5003:71: error: dereferencing pointer = >> to incomplete type ?const struct ci_rx_queue? >> qrx_context_offset =3D QRX_CONTEXT(ICE_L2TSEL_QRX_CONTEXT_REG_IDX, >> rxq->reg_idx); >> >> So I did "git clone git://dpdk.org/next/dpdk-next-net" and from there = >> it compiled. >> Unfortunately it got consistent, but worse: >> The selected rx function is the same: >> ICE_DRIVER: ice_set_rx_function(): Using AVX2 OFFLOAD Vector Rx (port = 0). >> But it now drops the VLAN, without signaling it, in all cases. >> With 1 queue: >> ol_flags: RTE_MBUF_F_RX_L4_CKSUM_GOOD RTE_MBUF_F_RX_IP_CKSUM_GOOD=20 >> RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD With 4 queues: >> ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD=20 >> RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD >> >> I double checked with plain 24.11.2 and indeed with just one queue it = >> is still >> ol_flags: RTE_MBUF_F_RX_VLAN RTE_MBUF_F_RX_L4_CKSUM_GOOD=20 >> RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_VLAN_STRIPPED=20 >> RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD >> >> So I'm confident the lab environment is still good >> >> Thank you >> Ernesto >> >> >> -----Original Message----- >> From: Ivan Malov >> Sent: Monday, July 14, 2025 14:49 >> To: Ernesto Ruffini >> Cc: users@dpdk.org >> Subject: RE: E810 VLAN offload wrong behavior >> >> Hi Ernesto, >> >> On Mon, 14 Jul 2025, Ernesto Ruffini wrote: >> >>> Hi Ivan, >>> Thanks for the hint. >>> I ran testpmd with the suggested parameter, but I cannot find where=20 >>> the function gets selected. >>> I attach the full log here. >> >> Thanks. The message to look for appears closer to the end of start > sequence: >>> ICE_DRIVER: ice_set_rx_function(): Using AVX2 OFFLOAD Vector Rx = (port 0). >> >> But before investigating the code of that Rx function, perhaps it=20 >> pays to make sure patch [1] is applied. Everything is so recent that=20 >> most likely it has not landed 24.11 release yet. Theoretically, the=20 >> bug the patch is trying to fix has something to do with multi-queue=20 >> and VLAN stripping. See if you can't apply the patch in 24.11 or=20 >> rebuild from the current main of dpdk-next-net repository. >> >> Thank you. >> >> [1] https://mails.dpdk.org/archives/dev/2025-June/320530.html >> >>> Thanks >>> Ernesto >>> >>> -----Original Message----- >>> From: Ivan Malov >>> Sent: Monday, July 14, 2025 02:04 >>> To: Ernesto Ruffini >>> Cc: users@dpdk.org >>> Subject: Re: E810 VLAN offload wrong behavior >>> >>> Hi Ernesto, >>> >>> On Fri, 11 Jul 2025, Ernesto Ruffini wrote: >>> >>>> >>>> Hi, >>>> >>>> We found a strange behavior of the E810 VLAN offload. >>>> >>>> We are running DPDK 24.11.2 with ice driver 1.15.4, firmware 4.60=20 >>>> and COMMS DDP 1.3.46 >>>> >>>> =A0 >>>> >>>> The NIC receives an IPv4/UDP packet inside VLAN 300. >>>> >>>> If we run dpdk-testpmd with a single queue, everything seems fine: >>>> >>>> =A0 >>>> >>>> dpdk-testpmd -a 0000:4b:00.0 -c ffffff -n 8 -- -i >>>> >>>> =A0 >>>> >>>> set verbose 5 >>>> >>>> port stop 0 >>>> >>>> port config 0 rx_offload vlan_strip on >>>> >>>> port start 0 >>>> >>>> start >>>> >>>> =A0 >>>> >>>> And the packet is correctly displayed: >>>> >>>> =A0 src=3D08:02:03:04:05:06 - dst=3D00:1A:CA:01:00:96 - = pool=3Dmb_pool_0 - >>> type=3D0x0800 - length=3D142 - nb_segs=3D1 - VLAN tci=3D0x12c - hw = ptype: >>> L2_ETHER L3_IPV4_EXT_UNKNOWN L4_UDP=A0 - sw ptype: >>>> L2_ETHER L3_IPV4 L4_UDP=A0 - l2_len=3D14 - l3_len=3D20 - l4_len=3D8 = -=20 >>>> Destination UDP port=3D5398 - Receive queue=3D0x0 >>>> >>>> =A0 ol_flags: RTE_MBUF_F_RX_VLAN RTE_MBUF_F_RX_L4_CKSUM_GOOD=20 >>>> RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_VLAN_STRIPPED=20 >>>> RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD >>>> >>>> =A0 >>>> >>>> But if we use a different number of queues: >>>> >>>> =A0 >>>> >>>> dpdk-testpmd -a 0000:4b:00.0 -c ffffff -n 8 -- -i --rxq=3D4 = --txq=3D4 >>> >>> It would be helpful to enable debug logs with EAL argument >>> --log-level=3D'.*',8 so that one can see which 'rx_pkt_burst' method = >>> gets selected by the driver. >>> Then one can inspect the implementation of that particular function=20 >>> to see whether offloads are handled correctly. >>> >>> Thank you. >>> >>>> >>>> =A0 >>>> >>>> The VLAN is in fact removed, but there is no evidence of that: >>>> >>>> =A0 >>>> >>>> =A0 src=3D08:02:03:04:05:06 - dst=3D00:1A:CA:01:00:96 - = pool=3Dmb_pool_0 - >>>> type=3D0x0800 - length=3D142 - nb_segs=3D1 - RSS hash=3D0xfae3080 - = RSS >>>> queue=3D0x0 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_UDP=A0 - sw = ptype: >>>> L2_ETHER L3_IPV4 L4_UDP=A0 - l2_len=3D14 - l3_len=3D20 - l4_len=3D8 = -=20 >>>> Destination UDP port=3D5398 - Receive queue=3D0x0 >>>> >>>> =A0 ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD=20 >>>> RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD >>>> >>>> =A0 >>>> >>>> There was a bug in some previous versions of DPDK about E810 and=20 >>>> VLAN >>> offload, but it was fixed. >>>> >>>> Are we doing something wrong or is there a problem with the driver? >>>> >>>> =A0 >>>> >>>> Thank you >>>> >>>> =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 Ernesto >>>> >>>> =A0 >>>> >>>> >>>> >>> >> >> > >