<div dir="ltr"><p class="gmail-isSelectedEnd">Hi All,<br><br>I am seeing multiple issues with net_ice where VLAN mode changes after a device reset or an ungraceful application exit, which then breaks RX VLAN offloading.</p><p class="gmail-isSelectedEnd">The same NIC and the same DDP package behave correctly after a cold start, but switch to a different VLAN mode after either <code>port reset (or rte_eth_dev_reset())</code> in testpmd or after killing the application with SIGKILL. After that, VLAN tags appear to be stripped in hardware, but VLAN metadata is no longer delivered to vlan_tci in mbuf structure.</p><div><p class="gmail-isSelectedEnd"><b><font size="4">My setup is the following:</font></b></p><div>Debian Bookworm</div><div>Ethernet controller: Intel(R) Ethernet Controller E810-C for QSFP<br>Firmware (NVM): 4.91 and 4.51 were tested<br>DDP: ICE COMMS Package 1.3.55.0 and 1.3.50.0 were tested<br>DPDK: 25.11<p class="gmail-isSelectedEnd"><b><font size="4">First scenario: port reset in testpmd</font></b><br></p><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">:~$ sudo ./DPDK/dpdk-25.11.0/dpdk-25.11/build/app/dpdk-testpmd -l 0-15 -a 0000:04:00.0 -a 0000:04:00.1 --  -i<br>EAL: Detected CPU lcores: 90<br>EAL: Detected NUMA nodes: 1<br>EAL: Detected static linkage of DPDK<br>EAL: Multi-process socket /var/run/dpdk/rte/mp_socket<br>EAL: Selected IOVA mode 'PA'<br>ICE_INIT: ice_load_pkg_type(): Active package is: 1.3.55.0, ICE COMMS Package (double VLAN mode)<br>ICE_INIT: ice_load_pkg_type(): Active package is: 1.3.55.0, ICE COMMS Package (double VLAN mode)<br>Interactive-mode selected<br>Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.<br>testpmd: create a new mbuf pool <mb_pool_0>: n=267456, size=2176, socket=0<br>testpmd: preferred mempool ops selected: ring_mp_mc<br>Configuring Port 0 (socket 0)<br>ICE_DRIVER: ice_set_rx_function(): Using Vector AVX2 (port 0).<br>Configuring Port 1 (socket 0)<br>ICE_DRIVER: ice_set_rx_function(): Using Vector AVX2 (port 1).<br>Port 0: link state change event<br>Port 0: link state change event<br>Checking link statuses...<br>Done<br>testpmd> port stop all<br>Stopping ports...<br>Checking link statuses...<br>Done<br>testpmd> port reset all<br>Resetting ports...<br>ETHDEV: Device with port_id=0 already stopped<br>ICE_INIT: ice_load_pkg_type(): Active package is: 1.3.55.0, ICE COMMS Package (single VLAN mode)<br>ETHDEV: Device with port_id=1 already stopped<br>ICE_INIT: ice_load_pkg_type(): Active package is: 1.3.55.0, ICE COMMS Package (single VLAN mode)</blockquote><p class="gmail-isSelectedEnd"><br></p><p class="gmail-isSelectedEnd">After this reset, RX VLAN offload no longer behaves correctly. VLAN tags are stripped from packets, but VLAN TCI information is missing in the received mbufs vlan_tci fields.</p><p class="gmail-isSelectedEnd"><b><font size="4">Second scenario: killing the application with SIGKILL</font></b></p><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">:~$ sudo ./DPDK/dpdk-25.11.0/dpdk-25.11/build/app/dpdk-testpmd -l 0-15 -a 0000:04:00.0 -a 0000:04:00.1 --  -i<br>EAL: Detected CPU lcores: 90<br>EAL: Detected NUMA nodes: 1<br>EAL: Detected static linkage of DPDK<br>EAL: Multi-process socket /var/run/dpdk/rte/mp_socket<br>EAL: Selected IOVA mode 'PA'<br>ICE_INIT: ice_load_pkg_type(): Active package is: 1.3.55.0, ICE COMMS Package (double VLAN mode)<br>ICE_INIT: ice_load_pkg_type(): Active package is: 1.3.55.0, ICE COMMS Package (double VLAN mode)<br>Interactive-mode selected<br>Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.<br>testpmd: create a new mbuf pool <mb_pool_0>: n=267456, size=2176, socket=0<br>testpmd: preferred mempool ops selected: ring_mp_mc<br>Configuring Port 0 (socket 0)<br>ICE_DRIVER: ice_set_rx_function(): Using Vector AVX2 (port 0).<br>Configuring Port 1 (socket 0)<br>ICE_DRIVER: ice_set_rx_function(): Using Vector AVX2 (port 1).<br>Port 0: link state change event<br>Port 0: link state change event<br>Checking link statuses...<br>Done<br>testpmd> Killed<br></blockquote><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">:~$ sudo ./DPDK/dpdk-25.11.0/dpdk-25.11/build/app/dpdk-testpmd -l 0-15 -a 0000:04:00.0 -a 0000:04:00.1 --  -i<br>EAL: Detected CPU lcores: 90<br>EAL: Detected NUMA nodes: 1<br>EAL: Detected static linkage of DPDK<br>EAL: Multi-process socket /var/run/dpdk/rte/mp_socket<br>EAL: Selected IOVA mode 'PA'<br>ICE_INIT: ice_load_pkg_type(): Active package is: 1.3.55.0, ICE COMMS Package (single VLAN mode)<br>ICE_INIT: ice_load_pkg_type(): Active package is: 1.3.55.0, ICE COMMS Package (single VLAN mode)<br>Interactive-mode selected<br>Warning: NUMA should be configured manually by using --port-numa-config and --ring-numa-config parameters along with --numa.<br>testpmd: create a new mbuf pool <mb_pool_0>: n=267456, size=2176, socket=0<br>testpmd: preferred mempool ops selected: ring_mp_mc<br>Configuring Port 0 (socket 0)<br>ICE_DRIVER: ice_set_rx_function(): Using Vector AVX2 (port 0).<br>Configuring Port 1 (socket 0)<br>ICE_DRIVER: ice_set_rx_function(): Using Vector AVX2 (port 1).<br>Port 0: link state change event<br>Port 0: link state change event<br>Checking link statuses...<br>Done<br>testpmd> </blockquote><div> </div>At this point the behavior is the same as after port reset: RX VLAN offloading is broken.<br></div><div><br>The observed RX VLAN offloading behavior then is very similar to the issue described in the following bug report, where VLAN stripping works but metadata is missing:</div><div><a href="https://bugs.dpdk.org/show_bug.cgi?id=1677">https://bugs.dpdk.org/show_bug.cgi?id=1677</a><br>The trigger is different, but the resulting VLAN RX offload behavior appears to be the same.<br>I can reproduce this reliably and can provide more logs or information if needed.</div><div><br>Best regards,<br>Taras</div></div></div>