Hi Nousi,

I can confirm that I was able to reproduce your issue in my local test 
environment(Ampere Altra Max 96 Cores with the Intel E810-C 2x ports NIC).
The issue also persists in the latest VPP codebase, so I spent some time 
investigating it.
From what I observed, commit[1] appears to be the root cause. This commit 
introduces NEON intrinsics to add support for the IAVF Rx vector path on Arm 
platforms in DPDK.
I don’t want to bother you with the implementation details of the Rx vector 
function[2]. But in short, the issue occurs because the function writes the 
pkt_len field to the wrong location in the rte_mbuf when copying from the 
hardware descriptor.
I’ve created a quick workaround for VPP 25.02(see attached patch) and tested it 
with 64B/1024B packets. It seems to work fine. Please give it a try and let me 
know if it resolves the issue on your side.

VPP 25.02 works fine on X86 systems because it uses a different Rx vector code 
path.
Interestingly, I observed a similar packet length issue when testing the X86 
counterpart of Rx vector code path[3].

Thanks,
Jay Wang

[1] https://gerrit.fd.io/r/c/vpp/+/37017
[2] 
https://github.com/DPDK/dpdk/blob/main/drivers/net/intel/iavf/iavf_rxtx_vec_neon.c#L144
[3] 
https://github.com/DPDK/dpdk/blob/main/drivers/net/intel/iavf/iavf_rxtx_vec_sse.c#L391
From: [email protected] <[email protected]> On Behalf Of nousi via 
lists.fd.io
Sent: Tuesday, November 11, 2025 2:22 PM
To: [email protected]
Subject: [vpp-dev] [VPP 25.02 | ARM64 | E810-C | IAVF] Packets showing length 
65535 in DPDK input node (works fine on VPP 22.02)


Hi everyone,

I’m seeing a packet length issue after upgrading to VPP 25.02 on ARM64 (Ampere® 
Altra® Q64-30 @ 3.0GHz) with an Intel E810-C (4x ports) NIC using the IAVF 
driver.

All packets received in the dpdk-input node show a length of 65535 bytes, which 
is clearly incorrect. This is visible in both trace and pcap captures.

Here’s what I’ve observed so far:

  *   The issue only appears with VPP 25.02 on ARM64.
  *   The same platform (hardware + NIC) works perfectly with VPP 22.02 — 
packet lengths are reported correctly.
  *   On X86 systems, VPP 25.02 also works fine (no packet length issue).
  *   So it seems specific to VPP 25.02 + ARM64 + IAVF driver combination.

Setup details:

  *   CPU: Ampere® Altra® Q64-30 (ARM64)
  *   NIC: Intel E810-C (4 ports)
  *   Driver: IAVF (DPDK)
  *   VPP version: 25.02
  *   Symptom: All packets show length = 65535 in dpdk-input node

Has anyone else seen this behavior or is aware of any related changes in VPP 
25.02 or the IAVF/DPDK layer for ARM64?
Would appreciate any pointers, patches, or debug hints — especially if someone 
has tested E810/IAVF on ARM with newer VPP versions.

Thanks a lot in advance!
Nousi.
IMPORTANT NOTICE: The contents of this email and any attachments are 
confidential and may also be privileged. If you are not the intended recipient, 
please notify the sender immediately and do not disclose the contents to any 
other person, use it for any purpose, or store or copy the information in any 
medium. Thank you.

Attachment: 0001-dpdk-fix-iavf-Rx-vec-function.patch
Description: 0001-dpdk-fix-iavf-Rx-vec-function.patch

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#26530): https://lists.fd.io/g/vpp-dev/message/26530
Mute This Topic: https://lists.fd.io/mt/116238372/21656
Group Owner: [email protected]
Unsubscribe: https://lists.fd.io/g/vpp-dev/leave/14379924/21656/631435203/xyzzy 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to