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 C936346B73 for ; Mon, 14 Jul 2025 18:12:25 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BDAA7402EA; Mon, 14 Jul 2025 18:12:25 +0200 (CEST) Received: from agw.arknetworks.am (agw.arknetworks.am [79.141.165.80]) by mails.dpdk.org (Postfix) with ESMTP id 9B5064021F for ; Mon, 14 Jul 2025 18:12:24 +0200 (CEST) Received: from debian (unknown [78.109.67.87]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by agw.arknetworks.am (Postfix) with ESMTPSA id 28CC9E07D8; Mon, 14 Jul 2025 20:12:24 +0400 (+04) DKIM-Filter: OpenDKIM Filter v2.11.0 agw.arknetworks.am 28CC9E07D8 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=arknetworks.am; s=default; t=1752509544; bh=8k4uZiCnROeONHzPwXiwTn4YawFiThkRgL8OfTL5YQ8=; h=Date:From:To:cc:Subject:In-Reply-To:References:From; b=qGV+vN1wYiNrkIF8lwfXrDWp5WeJXkmTumlQ0qhzciYE2wxeuoiNMuIcBz/xl328U QNyFZsfcP/fIa6wsAvgaZg1/aY31IZO9IPPHb4zHmwsvjhNQM6iMooRlhLGC0iU/LH eBF/c9FfBqrQq5/WPdZD7GyfA7qsEy23tWupyvt4TEx6EIiAv+H5EvAstv1I3Sw+es Q+U9e5XdkGCvF6tVYETOwRpHnpvjvzWk8lAvhPYdX+4uYv7oguS3zSGTbq8bLyxDo5 0+XtsCdVUIGWkAZi0Jf713AVk5ALau72Nol7EKIyWQ0utug54xrlrBPOEHSqMkgb0p GJr/2D+ZEq7jA== Date: Mon, 14 Jul 2025 20:12:22 +0400 (+04) From: Ivan Malov To: Ernesto Ruffini cc: users@dpdk.org Subject: RE: E810 VLAN offload wrong behavior In-Reply-To: <002b01dbf4c6$54216be0$fc6443a0$@outsys.org> Message-ID: <5fed4086-f1c2-54de-4bb3-9d1e88a4707d@arknetworks.am> 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> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="8323328-1071007-1752509544=:10388" 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 This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --8323328-1071007-1752509544=:10388 Content-Type: text/plain; charset=ISO-8859-7; format=flowed Content-Transfer-Encoding: 8BIT 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 may be it pays to temporarily change "#ifdef RTE_ARCH_X86" to "#if 0" on line [1] in the original source of 24.11.2 and rebuild? Just to make sure the Rx method is a don't care. Thank you. [1] https://github.com/DPDK/dpdk/blob/4c5634de9f933555bab9c64a533d3dca999071cd/drivers/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 = 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 > 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 > 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 > RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_VLAN_STRIPPED > 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 >> 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 pays to > make sure patch [1] is applied. Everything is so recent that most likely it > has not landed 24.11 release yet. Theoretically, the bug the patch is trying > to fix has something to do with multi-queue and VLAN stripping. See if you > can't apply the patch in 24.11 or 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 and >>> COMMS DDP 1.3.46 >>> >>>   >>> >>> The NIC receives an IPv4/UDP packet inside VLAN 300. >>> >>> If we run dpdk-testpmd with a single queue, everything seems fine: >>> >>>   >>> >>> dpdk-testpmd -a 0000:4b:00.0 -c ffffff -n 8 -- -i >>> >>>   >>> >>> set verbose 5 >>> >>> port stop 0 >>> >>> port config 0 rx_offload vlan_strip on >>> >>> port start 0 >>> >>> start >>> >>>   >>> >>> And the packet is correctly displayed: >>> >>>   src=08:02:03:04:05:06 - dst=00:1A:CA:01:00:96 - pool=mb_pool_0 - >> type=0x0800 - length=142 - nb_segs=1 - VLAN tci=0x12c - hw ptype: >> L2_ETHER L3_IPV4_EXT_UNKNOWN L4_UDP  - sw ptype: >>> L2_ETHER L3_IPV4 L4_UDP  - l2_len=14 - l3_len=20 - l4_len=8 - >>> Destination UDP port=5398 - Receive queue=0x0 >>> >>>   ol_flags: RTE_MBUF_F_RX_VLAN RTE_MBUF_F_RX_L4_CKSUM_GOOD >>> RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_VLAN_STRIPPED >>> RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD >>> >>>   >>> >>> But if we use a different number of queues: >>> >>>   >>> >>> dpdk-testpmd -a 0000:4b:00.0 -c ffffff -n 8 -- -i --rxq=4 --txq=4 >> >> It would be helpful to enable debug logs with EAL argument >> --log-level='.*',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 to >> see whether offloads are handled correctly. >> >> Thank you. >> >>> >>>   >>> >>> The VLAN is in fact removed, but there is no evidence of that: >>> >>>   >>> >>>   src=08:02:03:04:05:06 - dst=00:1A:CA:01:00:96 - pool=mb_pool_0 - >>> type=0x0800 - length=142 - nb_segs=1 - RSS hash=0xfae3080 - RSS >>> queue=0x0 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_UDP  - sw ptype: >>> L2_ETHER L3_IPV4 L4_UDP  - l2_len=14 - l3_len=20 - l4_len=8 - >>> Destination UDP port=5398 - Receive queue=0x0 >>> >>>   ol_flags: RTE_MBUF_F_RX_RSS_HASH RTE_MBUF_F_RX_L4_CKSUM_GOOD >>> RTE_MBUF_F_RX_IP_CKSUM_GOOD RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD >>> >>>   >>> >>> There was a bug in some previous versions of DPDK about E810 and VLAN >> offload, but it was fixed. >>> >>> Are we doing something wrong or is there a problem with the driver? >>> >>>   >>> >>> Thank you >>> >>>                Ernesto >>> >>>   >>> >>> >>> >> > > --8323328-1071007-1752509544=:10388--