I am trying HW offload of OVS in Bluefield SmartNIC.
I’m using 25Gbe one, and actually it seemed I succeeded.
I referred documents in this link (https://docs.mellanox.com/display/BlueFieldSWv22011000).
I attach two pictures about iperf.
Both are the result of iperf with below commands.
Server side: iperf -s
Client side: iperf -c $SERVER_IP -w 416K -P 8
The picture with name “iperf_smartNIC_SW” is the iperf result between x86 host and remote client after I made a bridge in smartNIC OVS with below commands.
As the picture shows, the iperf performance is just 2.7 Gbit/s.
Then, I typed below commands to make ovs hw-offloaded.
The picture with name “iperf_smartNIC_HW” shows the iperf performance after hw-offload, which almost saturates the link.
Because the throughput differs significantly, I thought hw-offload is done.
The attached picture with name “dump_flows” is a screenshot of the result when I tried to dump flow rules in the SmartNIC ARM core.
When I tried ovs-ofctl dump-flows, I could find a rule that forwards packets between network interfaces.
However, when I tried ovs-dpctl dump-flows, there was not any rules while the manual document says I could check offloaded rules by the command.
(I ignored warning message about meters as it is not important)
Can you explain about how does the rules are offloaded to hardware, and how can I check them explicitly?