Today the Parser component of BittWare’s SmartNIC Shell is built using the Xilinx HLS C++ development environment. But an earlier revision of BittWare’s SmartNIC Shell used the P4 language though the Xilinx SDNet tool.
One reason to use P4 is that it’s an emerging standard popular among people embracing software-defined networking (SDN) on commodity Intel servers. However, Xilinx later restricted the availability of SDNet. Our use of P4 was specifically for end-users of SmartNIC Shell, so this restriction caused us to search for a more open solution. Following the success of our RSS implementation using HLS, we were motivated to re-implement the SmartNIC Shell parser using this same HLS approach (specifically the Xilinx HLS C++ environment).