> -----Original Message----- > From: Lukáš Šišmiš <[email protected]> > Sent: Friday, September 22, 2023 9:36 AM > To: [email protected] > Cc: Dumitrescu, Cristian <[email protected]> > 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
