Rte_eth_rx_burst function only can receive 1024 packets on Bluefield2

Hi,

I’m currently working with a DOCA Flow program on a BlueField2 DPU, using DOCA SDK version 2.8.0081, I am trying to forword TCP packets to RSS and parse packet headers.

I configured ovs bridge:

Bridge ovsbr2
    Port ovsbr2
        Interface ovsbr2
            type: internal
    Port p1
        Interface p1
    Port en3f1pf1sf0
        Interface en3f1pf1sf0
    Port pf1hpf
        Interface pf1hpf
Bridge ovsbr1
    Port ovsbr1
        Interface ovsbr1
            type: internal
    Port en3f0pf0sf88
        Interface en3f0pf0sf88
    Port p0
        Interface p0
    Port pf0hpf
        Interface pf0hpf
    Port en3f0pf0sf0
        Interface en3f0pf0sf0

I want to parse the header of the packet received by en3f0pf0sf88

I use nb_packets = rte_eth_rx_burst(ingress_port, queue_index, packets, PACKET_BURST); in a for loop to receive packets cyclically in my code, but it only receives 1024 packets, and after that nb_packets stays at 0. Even though the interface en3f0pf0sf88 actually continues to receive packets.

Has anyone encountered a similar issue or could provide some insights on this?

Thanks in advance!

Hi,

This could potentially be caused by numerous factors, such as buffer limitations, configurations, packet drain due to specific code issues, etc.
Please try reproducing this issue using dpdk-testpmd instead of custom applications.
If the issue still reproduces on testpmd, please open a case with enterprisesupport@nvidia.com, and it will be handles according to entitlement.

Thanks,
Jonathan.

I see. Thanks for the reply!