[dpdk-users] Handling KNI in a secondary process

Pavel Vajarov freakpv at gmail.com
Wed Jul 1 15:09:49 CEST 2020


Thanks for the thread suggestion. Haven't thought about that for some
reason.

On Wed, Jul 1, 2020 at 4:01 PM Cliff Burdick <shaklee3 at gmail.com> wrote:

> 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