Hi all,
I am deploying a small subset of our Bluefield-2 DPUs as a simple software firewall + NAT appliance where the DPU sits between the uplink port and a host that needs to be secured. My main question is how the port representers + OVS bridges should look and if they are required at all. In the DOCA NAT example there are two OVS bridges and two SFs in use.
So for the above topology in my use case it would be the same:
external net <-> p0 <-> ovsbr2 <-> sf1 <-> DPU <-> sf0 <-> ovsbr1 <-> pf0hpf <-> host
I have tested this layout and it seems to work, but there’s a lot of complexity for a simple app.
However, there are notable examples also in the DOCA Docs like the IPSec example where at lease one of the physical ports seems to be connected directly to the DPU:
So my question is, are any of the following three topologies also valid and supported for my application:
external net <-> p0 <-> DPU <-> sf0 <-> ovsbr1 <-> pf0hpf <-> hostexternal net <-> p0 <-> ovsbr1 <-> sf0 <-> DPU <-> ovsbr2 <-> pf0hpf <-> hostexternal net <-> p0 <-> DPU <-> pf0hpf <-> host
I’ve had a couple issues configuring (1, 3) to work at all, but I have gotten (2) to work consistently on Linux when I manually assign an IP to ovsbr2 directly (NO SF between host and DPU). However, I’m suspicious that this is not a supported config.
I’ve read the Scalable Function docs and they don’t seem to make it clear if sfs and OVS bridges are required for passing frames between the host/dpu or dpu/uplink.

