netmap, VALE and netmap pipes

wishmaster artemrts at ukr.net
Mon Feb 17 19:06:33 UTC 2014


Thanks, prof. Luigi.

As for me, netmap-ipfw is especially interesting. Would you like add some examples for userspace bundle of ipfw and dummynet. Because not all clear in README-file.

E.g. I have classic router with 2 interfaces igb

>From README-file

             s       f               f       d
[pkt-gen]-->--[valeA]-->--[kipfw]-->--[valeB]-->--[pkt-gen]

The commands to run (in separate windows) are

### this is clear 
# preliminarly, load the netmap module
sudo kldload netmap.ko

### what with vale? how i should connect real interfaces to vale switch?
# connect the firewall to two vale switches
./kipfw valeA:f valeB:f &

### it's clear
# configure ipfw/dummynet
ipfw/ipfw show # or other

### with real packets flow i think this is no needed. My mistake?
# start the sink
pkt-gen -i valeB:d -f rx

# start an infinite source
pkt-gen -i valeA:s -f tx

### it's clear
# plain again with the firewall and enjoy
ipfw/ipfw show # or other


I think one real small example will be useful for everybody.

Thanks for this great tool.

--
Cheers,
w

 
 --- Original message ---
 From: "Luigi Rizzo" <rizzo at iet.unipi.it>
 Date: 17 February 2014, 12:17:33
  


> Hi,
> we have recently made a few extensions to netmap/VALE and put various
> pieces of code on public repositories, so i thought i'd share the
> pointers. All the code below runs with equal features and performance
> on FreeBSD and Linux, and we are trying to upstream it in the relevant
> projects if possible (as an example, QEMU recently added a netmap backend),
> at which point some of these clone repositories will become unnecessary.
> 
> See http://info.iet.unipi.it/~luigi/netmap for more details.
> 
> https://code.google.com/p/netmap/
> The latest netmap code for FreeBSD/Linux. It has native support
> for certain NICs; emulated netmap over unmodified drivers;
> enhanced parallelism in the VALE switch (20 Mpps/source, scaling
> up to ~50Mpps); and a new feature called "netmap pipe" that
> does zero-copy blocking I/O at over 100 Mpps.
> Other features are the ability to allocate tons of extra
> netmap buffers, and configurable sharing of memory among NICs,
> VALE ports and netmap pipes. This increases the opportunity for
> zero copy operation.
> The user API is also greatly simplified, with a naming
> scheme that permits easy access to all types of ports including
> individual NIC queues.
> 
> https://code.google.com/p/netmap-libpcap
> a netmap-enabled version of libpcap. With this, basically any
> pcap client can read/write traffic at 10+ Mpps, with zerocopy
> reads and (soon) support for zerocopy writes. Whether applications
> can cope with these packet rates, of course, is another story.
> 
> https://code.google.com/p/netmap-click
> a netmap-enabled version of the Click Modular Router. This
> code matches the current version of netmap, supporting all
> features (including netmap pipes).
> 
> https://code.google.com/p/netmap-ipfw
> a netmap-enabled, userspace version of the ipfw firewall and
> dummynet network emulator. This version reaches 7-10 Mpps for
> filtering and over 2.5 Mpps for emulation.
> 
> 
> Hope you'll find it useful.
> 
> cheers
> luigi
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
> 


More information about the freebsd-net mailing list