When testing traffic using doca_flow, a drop rate occurs after 300 seconds

hi. Currently, I am trying to conduct a traffic test using doca_flow.
This device is bluefield-3, connected in DPU mode via doca3.0.0 bfb bundle, and running a process in that DPU mode.

In the above environment, doca_flow is applied to port 0 of bluefiled-3, and the traffic coming into port 0 is distributed to the NIC’s rx queue based on the gtpu’s internal src ip field. Each rx queue and core are mapped 1:1, processed by my software process, and sent out to port 1.

In this situation, I installed TRex on another device, connected the ports, and then performed the test by generating a gtpu on port 0 on TRex.

Now, let me explain the problem I’m experiencing. Whether the TRex Tx rate is at 2% (3.8 Gbps) or 52% (100 Gbps), the drop rate occurs at approximately 300 seconds. No matter how many solutions I’ve tried using doca_flow or terminal commands, the issue persists. I haven’t been able to find anyone else in the forums who’s experiencing a similar situation. Do you know a solution to this problem?

image

(before 300secods, 2% rate)

image

(after 300secods, 2% rate)

image

(before 300secods, 52% rate)

image

(after 300secods, 52% rate)

And separately from this, when using doca_flow, packet loss of about 0.1% is confirmed to occur consistently. Is this a normal number?

Hello, I have also just started learning how to use doca flow, and I haven’t encountered this issue. Could you please provide detailed information about your configuration and network setup for comparison?

I don’t quite understand your question. do you want mlxconfig query information and firmware information?

I would like to see how you have configured the SF and OVS bridge

  1. I’m not using ovs bridge, because it’s said to degrade performance. and I’m configuring the bluefiled-3 dpu mode nic and arm cpu to process packets without sending them to the host server. I don’t think I need to use a bridge.
  2. I found out that I should use sf.2 and sf.3, but even if I create a doca_flow rule directly on p0 and p1, the pipe is created and executed, so I’m currently using p0 and p1.

It seems we referred to different official documents. The simple_fwd-vnf demo I ran appears to require the use of SF. Which demo are you running, or did you write it yourself?

I made this myself, referencing the doca_flow sample. I mainly referenced the flow_gtp sample among the doca_flow samples.

Hi jacob33,

If issue exists, you can contact us at doca-feedback@nvidia.com for further support.

Regards,

Quanying