I’m trying to deploy and test my custom congestion control algorithm on BlueField-3 using DOCA PCC. I can configure IP on a Sub-Function (SF) and run perftest successfully, but I cannot bind PCC to the SF device. PCC only seems to bind to the PF device (e.g., mlx5_0). When I send RDMA traffic via the SF, PCC bound to PF doesn’t appear to take effect.
Here’s my setup and symptoms:
- SF interface:
enp3s0f0s0 - RDMA traffic: only works via SF (perftest OK)
- PCC binding: only works via PF (
mlx5_0) show_gidsoutput:
DEV PORT INDEX GID IPv4 VER DEV
--- ---- ----- --- ------------ --- ---
mlx5_2 1 0 fe80:0000:0000:0000:0039:04ff:fed3:d339 v2 enp3s0f0s0
mlx5_3 1 0 fe80:0000:0000:0000:0045:19ff:fe2e:0276 v2 enp3s0f1s0
n_gids_found=2
My questions:
- Should DOCA PCC bind to the SF or the PF for traffic that is sent via SF?
- If PCC must bind to PF, how can I ensure SF traffic is actually controlled by the PCC algorithm?
- What is the correct IP / RDMA device configuration to test a custom PCC algorithm on BF3 when traffic uses SF?
Any guidance on the correct binding model (PF vs SF) and recommended configuration steps would be really helpful.
Thanks in advance!