three new netmap tools: pcap player, link emulator, load distributor

Slawa Olhovchenkov slw at zxy.spb.ru
Mon Feb 22 18:16:09 UTC 2016


On Mon, Feb 22, 2016 at 08:17:06AM -0800, Luigi Rizzo wrote:

> On Monday, February 22, 2016, Slawa Olhovchenkov <slw at zxy.spb.ru> wrote:
> 
> > On Sun, Feb 21, 2016 at 10:18:36AM -0800, Luigi Rizzo wrote:
> >
> > > lb
> > >   a packet distributor that reads from a netmap port and distributes
> > >   traffic to multiple netmap ports, using ze​ro copy and a user-defined
> > >   hash function. This will be useful e.g. for people running multiple
> > >   instances of traffic monitors such as bro, suricata and the like.
> > >   It is not by chance that LB was originally developed by Seth Hall
> > >   at Broala, who kindly made it available, and Giuseppe Lettieri who
> > >   added a few features.
> >
> > Do you performance test of this tool?
> > In my case, on my hardware similar code can rehash and forward only
> > about 6.5Mpps in one thread.
> >
> 
> Well above 15mpps on a Vale switch. The devil is in the details so "similar
> code" may perform wildly differently depending of what you actually do.

Mostly outperformance for me in memory access, for netmap index access
and hashing packet.

> Give this a try and let us know.

I can't compile this.

# cc -o lb lb.c
lb.c:17:10: fatal error: 'ctrs.h' file not found
#include "ctrs.h"
         ^
1 error generated.

ok, give ctrs.h from netmap/examples/

# cc -o lb lb.c
In file included from lb.c:18:
./lb.h:2:23: error: use of undeclared identifier 'ETH_ALEN'
        unsigned char h_dest[ETH_ALEN];
                             ^
./lb.h:3:25: error: use of undeclared identifier 'ETH_ALEN'
        unsigned char h_source[ETH_ALEN];
                               ^
2 errors generated.


More information about the freebsd-current mailing list