Date: Mon, 17 Feb 2014 20:36:06 +0200 From: wishmaster <artemrts@ukr.net> To: Luigi Rizzo <rizzo@iet.unipi.it> Cc: "freebsd-net@freebsd.org" <net@freebsd.org> Subject: Re: netmap, VALE and netmap pipes Message-ID: <1392661063.244494415.kh0fdlsv@frv34.fwdcdn.com> In-Reply-To: <CA%2BhQ2%2Bgbs9aBneUaDGAnKVoPHspzc=5o%2Bh%2Bf_K=T%2BCy8sRxr%2Bw@mail.gmail.com> References: <CA%2BhQ2%2Bgbs9aBneUaDGAnKVoPHspzc=5o%2Bh%2Bf_K=T%2BCy8sRxr%2Bw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"
>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1392661063.244494415.kh0fdlsv>
