All of lore.kernel.org
 help / color / mirror / Atom feed
* [DPDK/ethdev Bug 1953] net/iavf: TX VLAN insertion offload has no effect on E810 in Double-VLAN-Mode (kernel iavf inserts fine on same PF)
@ 2026-06-09  7:49 bugzilla
  0 siblings, 0 replies; only message in thread
From: bugzilla @ 2026-06-09  7:49 UTC (permalink / raw)
  To: dev

http://bugs.dpdk.org/show_bug.cgi?id=1953

            Bug ID: 1953
           Summary: net/iavf: TX VLAN insertion offload has no effect on
                    E810 in Double-VLAN-Mode (kernel iavf inserts fine on
                    same PF)
           Product: DPDK
           Version: 26.03
          Hardware: x86
                OS: Linux
            Status: UNCONFIRMED
          Severity: critical
          Priority: Normal
         Component: ethdev
          Assignee: dev@dpdk.org
          Reporter: g.navinsrinivas@gmail.com
  Target Milestone: ---

Created attachment 354
  --> http://bugs.dpdk.org/attachment.cgi?id=354&action=edit
The logs, pcap for both DPDK 25.11 and 26.03 and behaviour difference with
Kernel vlan tagging

On an Intel E810 with the PF in Double‑VLAN‑Mode (DVM), an iavf VF bound to
vfio-pci does not insert a TX VLAN tag — frames egress untagged despite
tx_offload vlan_insert on + tx_vlan set (and with
insertion enabled / insertion_cap: L2TAG2). The in-tree kernel iavf on the same
PF / adjacent VF inserts the single C‑VLAN correctly (802.1Q on the wire).
Forcing inner/L2TAG1 in the PMD doesn't help
either. Reproduced with vanilla dpdk-testpmd on both DPDK 25.11 and 26.03.

Env: E810 fw 7.9.1 / nvm 4.90 / DDP "ICE OS Default Package 1.3.49.0"; host ice
on kernel 6.8.12‑pve; guest iavf 6.17. VF VLAN_V2 caps: ins_outer=0xc0000207
(TOGGLE|XOR|L2TAG2|{8100,88A8,9100}),
ins_inner=0x80000101 (TOGGLE|L2TAG1|8100), VF_OFFLOAD_VLAN(v1)=0. Logs/pcaps
attached (per-version + kernel contrast).

On an Intel E810 with the PF in Double-VLAN-Mode (DVM), an iavf VF bound to
vfio-pci does not insert a TX VLAN tag — frames egress untagged despite
tx_offload vlan_insert on + tx_vlan set (and with insertion enabled /
insertion_cap: L2TAG2). The in-tree kernel iavf on the same PF / adjacent VF
inserts the single C-VLAN correctly (802.1Q on the wire). Forcing inner/L2TAG1
in the PMD doesn't help either. Reproduced with vanilla dpdk-testpmd on both
DPDK 25.11 and 26.03.

Reproduction (testpmd):
dpdk-testpmd -a <vf_pci> --file-prefix=tp -l <cores> -- -i
--eth-peer=0,<peer_mac>
  port stop 0
  port config 0 tx_offload vlan_insert on
  tx_vlan set 0 20
  port start 0
  set fwd txonly
  start
- tcpdump on the peer: frames arrive as plain ethertype IPv4 — no 802.1Q / vlan
20.
- show port xstats: tx_good counts up (frames do leave the VF; no Tx error).

Expected: egress frames carry 802.1Q vlan 20.
Actual: egress frames are untagged; tx_good increments, no Tx error reported.

Ruled out: VF was trust on, spoofchk off, and the VLAN filter added via
rte_eth_dev_vlan_filter() (vlan offload: filter on) — no change. Same result on
25.11 and 26.03, and with the PMD forced to inner/L2TAG1. The kernel iavf on
the same PF (adjacent VF) inserts the tag correctly, so the PF/HW and VF config
are fine — only the DPDK iavf PMD insertion path produces no tag.

Environment: E810 fw 7.9.1 / nvm 4.90 / DDP "ICE OS Default Package 1.3.49.0";
host ice on kernel 6.8.12-pve; guest iavf 6.17. VF VLAN_V2 caps:
ins_outer=0xc0000207 (TOGGLE|XOR|L2TAG2|{8100,88A8,9100}), ins_inner=0x80000101
(TOGGLE|L2TAG1|8100), VF_OFFLOAD_VLAN(v1)=0. Logs/pcaps attached (per-version +
kernel contrast).

-- 
You are receiving this mail because:
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-06-09  7:49 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-09  7:49 [DPDK/ethdev Bug 1953] net/iavf: TX VLAN insertion offload has no effect on E810 in Double-VLAN-Mode (kernel iavf inserts fine on same PF) bugzilla

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.