Hello,
I experiencing problem when trying to capture L2 packets with EtherType == LOOP and random payload.
I construct packet like this: pkt = Ether(src="aa:aa:aa:aa:aa:aa", dst=ETHER_BROADCAST) / Raw(zerofree_randstring(70)). I can see packet goes through DUT and appearing in TRex statistics (c.get_stats()). But when I try to recover it with c.stop_capture(rx_pkt=pkt_arr) method I have none. So it surely not dropped by DUT or network card or TRex itself.
My guess that it filtered by something between DPDK and c.stop_capture(capture_id=..., rx_pkt=pkt_arr) method.
I noticed that if I add IP layer, packet recovers. I.e. Ether(src="aa:aa:aa:aa:aa:aa", dst=ETHER_BROADCAST) / IP() / Raw(zerofree_randstring(70))