cisco-system-traffic-generator/trex-core

All packets drops if broadcast received during TRex start-up

egwakim opened this issue · 0 comments

Hi @hhaim
I commented this issue on #861
This issue is re-happening from DPDK 23.03.

Issue
All iavf ports hang if broadcast packets received during TRex initialization.

Reproduction : 100% reproducible if broadcast packets flooded

Run flood ping with broadcast in same subnet

sudo ping -f -b -q 1.1.1.255 -I enp59s13f3

Note : enp59s13f3 is one of IAVF which shares same PF with TRex ports
It's happening whatever the latest version of iavf kernel driver used or i40evf driver used.

Start TRex
Failed to get MAC, all packets are dropped and marked as ierror and rx_missed error
trex>stats -x
Xstats

 Name:              |     Port 0:     |     Port 1:     

-------------------------------+-----------------+----------------
rx_good_packets | 522 | 521
tx_good_packets | 11 | 11
rx_good_bytes | 84596 | 79896
tx_good_bytes | 660 | 660
rx_missed_errors | 373 | 326
rx_bytes | 86684 | 81980
rx_broadcast_packets | 895 | 847
rx_dropped_packets | 373 | 326
tx_bytes | 660 | 660
tx_broadcast_packets | 11 | 11

Found kernel driver error
kernel: DMAR: [DMA Write] Request device [3b:0d.1] fault addr 0 [fault reason 05] PTE Write access is not set

It happens when packets received during iavf_dev_rx_queue_start() call.