[dpdk-users] Handling KNI in a secondary process
Cliff Burdick
shaklee3 at gmail.com
Wed Jul 1 15:00:54 CEST 2020
Running it as a separate thread in your primary application will not slow
it down any more than running a second process, so I'd try that first.
Both primary and secondary processes have master lcores, which is where all
the initialization is done for pools and rings before spawning the packet
processing threads.
On Wed, Jul 1, 2020, 02:49 Pavel Vajarov <freakpv at gmail.com> wrote:
> Hi there,
>
> Basically my question is whether it's possible to handle KNI packets
> (rte_kni_tx_burst, rte_kni_handle_request, rte_kni_rx_burst) in a secondary
> process?
>
> My idea to do this is to avoid slowing down the primary process with KNI
> handling. I'm thinking of using a shared memory ring buffer to send the
> needed packets to the secondary process (just like in the
> mulitprocess/client_server_mp example) and then the secondary process will
> do the KNI processing. Is this setup possible?
>
> I'm asking this because I read that the rte_kni_init function that
> "This function is to be executed on the MASTER lcore only" and I was
> wondering will I be able to use the kni related functions from a secondary
> process?
> Or maybe I need to initialize the KNI in the master process and then
> use rte_kni_get before start using the KNI?
>
> Thanks,
> Pavel.
>
More information about the users
mailing list