Hi Cliff, KNI example has just one mempool and there is a reason for that: you cannot init KNI with a mempool and then send there an mbuf from another mempool.
So I suggest to use the same mempool for all the NIC queues. Andriy On Thu, Jun 9, 2016 at 12:59 AM, Cliff Burdick <shaklee3 at gmail.com> wrote: > 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 > > -- Andriy Berestovskyy
