Hello Team,
I am currently evaluating a BlueField-3 (BF3) deployment utilizing OVS-DPDK and OVS-DOCA. I am interested in understanding the inherent hardware limitations of the BF3 and would like advice on how to adjust the offload capacity for enhancing overall packet forwarding performance.
Details:
- Platform: BlueField-3 (BF3)
- Software: OVS-DPDK and OVS-DOCA
- Scenario:
- The OVS bridge is configured with 200K unique IPs for both source and destination, totaling 400K flows, which are set to drop on a match.
- Cisco TRex is generating traffic with 65,000 unique server IPs corresponding to 1 client IP, resulting in 65,000 concurrent sessions.
- As these server and client IP addresses do not overlap with those configured in the OVS bridge, megaflow merging is prevented, forcing each session to use an independent offloaded resource.
- Observed Issue:
When generating traffic at 64-byte packets and 5 Mpps, only about 45K flows are successfully offloaded. The remaining flows are dropped due to slow path limitations. A test using OVS-DOCA withflow-limit=200Kproduced similar results.
Request:
Could you please clarify the hardware limitations of the BF3 in this context and provide recommendations on tuning the offload capacity to optimize performance? Any additional insights on potential configuration adjustments (e.g., DOCA flow table settings, E-switch size modifications, or TCAM configurations) would be highly appreciated.
Thank you for your assistance. I look forward to your guidance on this matter.
Best regards,
Dickens Yeh
root@localhost:/home/ubuntu# ovs-appctl dpctl/offload-stats-show | grep offload
Total Enqueued offloads: 0
Total Inserted offloads: 50986
[ 0] Enqueued offloads: 0
[ 0] Inserted offloads: 5110
[ 1] Enqueued offloads: 0
[ 1] Inserted offloads: 45876
[ 2] Enqueued offloads: 0
[ 2] Inserted offloads: 0
[ 3] Enqueued offloads: 0
[ 3] Inserted offloads: 0
[ 4] Enqueued offloads: 0
[ 4] Inserted offloads: 0
[ 5] Enqueued offloads: 0
[ 5] Inserted offloads: 0
[ 6] Enqueued offloads: 0
[ 6] Inserted offloads: 0
[ 7] Enqueued offloads: 0
[ 7] Inserted offloads: 0
[ 8] Enqueued offloads: 0
[ 8] Inserted offloads: 0
[ 9] Enqueued offloads: 0
[ 9] Inserted offloads: 0
root@localhost:/home/ubuntu# ovs-appctl dpctl/dump-flows -m type=offloaded | grep -v 'flow-dump' | wc -l
45876