Installing P4-OvS on BlueField-2


I am trying to implement P4-OvS on a Bluefield-2, following the guide at P4-OvS/Documentation/topics/p4/ at p4 · osinstom/P4-OvS · GitHub. However, when attempting to add a P4 type OVS bridge with the command ovs-vsctl add-br br0 -- set bridge br0 datapath_type=ubpf p4=true, I received an error: ovs-vsctl: Bridge does not contain a column whose name matches "p4". This seems to be a similar issue to what is described in fail to add br0 with ovs-vsctl: "No column p4 in table Bridge." · Issue #8 · osinstom/P4-OvS · GitHub, suggesting that the OVS version is critical for the command’s success. Despite reinstalling OVS version 2.13, the problem persists. I’m also unable to run ovs-p4ctl --help, receiving a command not found error, indicating a possible missing component ovs-p4ctl in my p4-ovs setup.

I followed the installation guide for P4-OvS available at P4-OvS/Documentation/topics/p4/ at p4 · osinstom/P4-OvS · GitHub. The process involved installing the P4 compiler, PI library, and OVS separately. From my understanding, P4-OvS can function once these components are installed correctly. If P4-OvS is not working as expected, does it indicate that one of these components may not have been installed correctly? I wonder if I should reinstall all components following the GitHub readme since I’m uncertain about which part might be causing the issue.

Additionally, I wonder if there are any alternative methods for running P4 programs on Bluefield2, besides using P4-OvS.

Thanks in advance for any guidance or suggestions!

From a support standpoint, Overall P4 on DPU/Smart-NIC (BF2/BF3) is still WIP and not officially GA’d.