Andriy, which pktmbuf_pool do you use when initializing KNI? There's a separate pool for each queue on a port.
On Mon, Apr 4, 2016 at 9:11 AM, Andriy Berestovskyy <aber at semihalf.com> wrote: > Hi Jason, > > On Fri, Mar 25, 2016 at 1:00 AM, Jason Kwon <m43kwon at gmail.com> wrote: > > Is there a KNI example for devices and > > drivers which support multiple queues per port? > > I guess there is no such an example, please see below. > > > Would such an implementation involve instantiating multiple KNI devices, > > each to be associated with a single RX/TX queue pair? Or would it be > > possible to associate multiple RX/TX queues of a single port to a single > > KNI device? > > Since KNI has just 1 RX/TX pair, for the NIC->KNI path you need to > modify kni_ingress() to iterate all the NIC RX queues and send all of > those packets to the KNI. > > For the KNI->NIC path you need to modify kni_egress() to distribute > the packets received from the KNI to multiple NIC TX queues (say, > based on a hash). > > Having said the above, most likely it will not get you any performance > gain, since I guess the bottleneck is KNI, not the NIC queues. > > Regards, > Andriy Berestovskyy >
