[106142] in North American Network Operators' Group

home help back first fref pref prev next nref lref last post

Re: Software router state of the art

daemon@ATHENA.MIT.EDU (William Herrin)
Wed Jul 23 16:53:27 2008

Date: Wed, 23 Jul 2008 16:51:50 -0400
From: "William Herrin" <herrin-nanog@dirtside.com>
To: "Kevin Oberman" <oberman@es.net>
In-Reply-To: <20080723195952.98B854500E@ptavv.es.net>
Cc: Naveen Nathan <naveen@lastninja.net>, nanog@merit.edu
Errors-To: nanog-bounces@nanog.org

On Wed, Jul 23, 2008 at 3:59 PM, Kevin Oberman <oberman@es.net> wrote:
>> The first bottleneck is the interrupts from the NIC. With a generic
>> Intel NIC under Linux, you start to lose a non-trivial number of
>> packets around 700mbps of "normal" traffic because it can't service
>> the interrupts quickly enough.
>
> Most modern high performance network cards support MSI (Message Signaled
> Interrupts) which generate real interrupts only in an intelligent
> basis. and only at a controlled rate. Windows, Solaris and FreeBSD have
> support for MSI and I think Linux does, too. It requires both hardware
> and software support.

"ethtool -c". Thanks Sargun for putting me on to "I/O Coalescing."

But cards like the Intel Pro/1000 have 64k of memory for buffering
packets, both in and out. Few have very much more than 64k. 64k means
32k to tx and 32k to rx. Means you darn well better generate an
interrupt when you get near 16k so that you don't fill the buffer
before the 16k you generated the interrupt for has been cleared. Means
you're generating an interrupt at least for every 10 or so 1500 byte
packets.

Regards,
Bill



-- 
William D. Herrin ................ herrin@dirtside.com bill@herrin.us
3005 Crane Dr. ...................... Web: <http://bill.herrin.us/>
Falls Church, VA 22042-3004


home help back first fref pref prev next nref lref last post