How do I balance bandwidth over several virtual NICs?

Luigi Rizzo rizzo at iet.unipi.it
Tue Sep 23 15:41:19 UTC 2014


On Tue, Sep 23, 2014 at 07:17:08PM +0400, Alexander V. Chernikov wrote:
> On 23.09.2014 18:44, Luigi Rizzo wrote:
...
> However, in addition to non-symmetric RSS (which is hopefully being 
> addressed), there is another
> usual "producer - multuple consumers" problem: one snort process can 
> start process packets very slowly, or hang, or crash.
> In that case host RX ring is getting full, NIC fails to push packets to 
> given queue and start storing them inside
> its skid buffer (512k for Niantic afair). After that buffer becomes full 
> traffic and all processing stops.

interesting. Actually, scary!
Do you have any reference to the data sheets documenting
that behaviour ? I have indeed received reports saying something
similar but always suspected user errors.
The fact that a starved queue can consume the entire internal
buffer seems a really bad bug.

At least you can overcome this one by having the demux done
in software.

cheers
luigi


More information about the freebsd-net mailing list