[quagga-dev 10946] Re: high-bandwidth, low-latency quagga necessary ?

Stephen Hemminger stephen at networkplumber.org
Wed Dec 4 17:10:46 GMT 2013

On Wed, 4 Dec 2013 10:32:01 +0800
Jose Gavine Cueto <pepedocs at gmail.com> wrote:

> Hi Alexis,
> I'm glad to know that there's a use case for faster routing.
> The first thing that came up in my mind for improving quagga or any other
> networking application that uses the NIC, is to take advantage of DPDK's
> Poll-Mode drivers.  Basically it provides APIs that allows faster TX/RX
> (e.g. burst, polling, locality, pre-allocated buffers, etc.).  Packets
> could be pumped using dpdk upto layer 2 and sent to quagga for IP layer
> processing.  But of course, this is just an idea, I'm not sure if the
> performance gain will be significant or if it will exist.
> As to using the kernel IP stack, I've not tried mixing DPDK with it since
> I've already used DPDK in L2 only.  Some organizations (I've learned) use
> DPDK to create their own optimized IP layers though I believe this isn't
> practical for quagga.  I saw this rump-tcpip IP stack which uses DPDK also,
> this could be used to replace the kernel IP stack, though it will surely
> require a lot of work.
> Thanks,
> Pepe

The bottleneck in Quagga is not the bandwidth of the kernel TCP/IP stack.
The DPDK has KNI to expose the fast poll mode devices as normal Ethernet
devices, and this works well to allow for accelerated applications to
continue to use the normal kernel stack.

More information about the Quagga-dev mailing list