Failure of sending/receiving packets with interfaces p0/p1 on Bluefield 2

Hi,

I am trying to send packets using Scapy to interfaces p0/p1 of Bluefield 2.

p = Ether()/IP()/ICMP()
send(p, iface=‘p0’, count=1000)

However, I found that the packets were actually sent through the interface tmfifo_net0 according to the value change of its TX packets and RX packets. Additionally, we use Pktgen to send packets to p0/p1 from outside but their RX packets do not even increase according to the output of ifconfig. I wonder why the interface p0/p1 fails to work in these cases.

Thanks in advance for any assistance or suggestions.

Is the mode of operation DPU mode or NIC mode?
https://docs.nvidia.com/networking/display/bluefielddpuosv460/dpu+operation
https://docs.nvidia.com/networking/display/bluefielddpuosv460/modes+of+operation#src-2571331473_ModesofOperation-SmartNICmode

I am not clear on your traffic flow, if you are trying to send traffic to the host or the DPU, see model below & traffic flow.
https://docs.nvidia.com/networking/display/bluefielddpuosv460/kernel+representors+model

Default:

ARM embedded MODE
Host ↔ PF ------------ OVS BRIDGE (p0 ↔ pf0hpf) ------------- phys port
<------------------------------------------------------------------->

Have you verified connection from the host to the DPU?
https://docs.nvidia.com/networking/display/bluefielddpuosv460/virtual+switch+on+dpu#src-2571331481_VirtualSwitchonDPU-VerifyingHostConnectiononLinux

Also, the best practice from networking level is to configure interfaces in different IP subnets or to configuring advanced routing when multiple interfaces belong to the same ip subnet.
(ping/tcpdump can validate src/dst ip/mac).

If you have a support contract with Nvidia you can open a case (Enterprise Support EnterpriseSupport@nvidia.com for configuration review & further analysis).