Date: Mon, 10 Feb 2014 09:44:09 +0100 From: =?ISO-8859-1?Q?Ermal_Lu=E7i?= <eri@freebsd.org> To: Luigi Rizzo <rizzo@iet.unipi.it> Cc: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, Raimundo Santos <raitech@gmail.com> Subject: Re: netmap pipes (Re: vnet + netmap: how is it possible?) Message-ID: <CAPBZQG36fRntxYGQ-a7iX6rQj=G0bwb5-zvkBO33nr9d6_jiVg@mail.gmail.com> In-Reply-To: <CA%2BhQ2%2Bhfxtq5_toTttK0n2Ajfe8Vrh4z%2BzBhWnRXpeJPskmccw@mail.gmail.com> References: <CA%2BhQ2%2Bhfxtq5_toTttK0n2Ajfe8Vrh4z%2BzBhWnRXpeJPskmccw@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello Luigi, On Mon, Feb 10, 2014 at 2:14 AM, Luigi Rizzo <rizzo@iet.unipi.it> wrote: > On Sun, Feb 9, 2014 at 4:21 PM, Raimundo Santos <raitech@gmail.com> wrote: > > > Hello list! > > > > I am willing to test an idea: modularize network functions using vnet > > jails. One vnet jail do the NAT, other do balancing, another one the > > traffic shapping, and so on. > > > > For these low level packet processing functions, jails are overkill. > > The upcoming version of netmap has "netmap pipes", > pairs of netmap ports connected back to back and sharing memory, > with blocking I/O through select/poll/epoll (and we are looking > at supporting kqueue). > > You can use netmap pipes to build a graph of processes (nodes) > which apply the desired transformations to your traffic. > Nodes can be anything that speaks netmap (or libpcap), > including your custom C code, Click instances, or whatever > you like. > > Is this netgraph overlayed over netmap or is something rewritten from scratch? > Netmap pipes have names, so you can dynamically > replace nodes in the graph. > > You can also freely chose how netmap pipes, NICs and > VALE switch ports share memory so depending on how > much you want to decouple the nodes you can do > full zero-copy paths. > > Performance: > you can move up to about 100 Mpps across a pipe, > irrespective of the size (because you move metadata through > the pipe). Latency is that of an IPC (and really depends on > the OS, hw configuration, batch size). > Think something in the range 1..10us. > > NOTE, things become much slower once you start touching > data, but the point is that you can forget about > performance in moving data around and concentrate on > how you want to process things. > > cheers > luigi > > > > > > And I wonder if netmap could help to interconnect these vnets, because I > > can not see a way to do this. May be using netgraph or epair? But any of > > these options are not netmap aware, are they? > > > > Well, the question is in the air! > > > > Thank you all, > > Raimundo > > _______________________________________________ > > 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" > > > > > -- > -----------------------------------------+------------------------------- > Prof. Luigi RIZZO, rizzo@iet.unipi.it . Dip. di Ing. dell'Informazione > http://www.iet.unipi.it/~luigi/ . Universita` di Pisa > TEL +39-050-2211611 . via Diotisalvi 2 > Mobile +39-338-6809875 . 56122 PISA (Italy) > -----------------------------------------+------------------------------- > _______________________________________________ > 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" > -- Ermal
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAPBZQG36fRntxYGQ-a7iX6rQj=G0bwb5-zvkBO33nr9d6_jiVg>