Initialize SoftNIC to work with rte_flow rules

Dumitrescu, Cristian cristian.dumitrescu at intel.com
Fri Sep 29 11:55:11 CEST 2023



> -----Original Message-----
> From: Lukáš Šišmiš <sismis at cesnet.cz>
> Sent: Friday, September 22, 2023 9:36 AM
> To: users at dpdk.org
> Cc: Dumitrescu, Cristian <cristian.dumitrescu at intel.com>
> Subject: Initialize SoftNIC to work with rte_flow rules
> 
> Hi all,
> 
> 
> I am trying to setup completely virtual development environment where it
> would be possible to develop applications with rte_flow rules.
> 
> For this, I've found SoftNIC as a viable solution as this is supposed to
> be a software NIC that also supports rte_flow rules.
> 
> However, I am having a hard time to set it up, I couldn't find good
> examples/documentation for this. Examples/docs found in
> ip_pipeline/pipeline examples are outdated.
> 
> I was able to make it run through testpmd but without the support for
> rte_flow.
> 
> Could you please help me to create spec/cli file that would support this
> use case?
> 
> 
> I am currently primarily interested in RX direction although being able
> to work in the TX direction would be greatly appreciated.
> 
> The solution I am currently thinking of:
> 
> net_pcap0 -> net_softnic0 -> DPDK application + TX( -> net_softnic0 ->
> net_ring/net_null)
> 
> 
> The RX path can be done - and I was able to run it in testpmd but then
> testpmd complained when I tried to apply rte_flow rules (not
> implemented). Makes sense considering that the softnic default pipeline
> doesn't contain any tables I guess.
> 
> 
> Thank you all in advance.
> 
> I'm CC'ing Cristian as he is the SoftNIC maintainer.
> 
> 
> Cheers,
> 
> Lukas Sismis
> 

Hi Lukas,

The Soft NIC driver does not currently have RTE_FLOW support.

For now, you have to use the DPDK pipeline-specific API for populating the
pipeline tables:

1. You can put these commands in the firmware.cli file to be run at
Initialization.

2. You can use the run-time CLI (the best option) by doing "telnet 0.0.0.0 8086"
after the device initialization is complete. In case you're using test-pmd, beware
of the change required, as stated in the default "drivers/net/softnic/firmware.cli"
file.

3. You can call the C API directly in your app.

Regards,
Cristian


More information about the users mailing list