Date: Sun, 9 Feb 2014 17:14:03 -0800 From: Luigi Rizzo <rizzo@iet.unipi.it> To: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org> Cc: Raimundo Santos <raitech@gmail.com> Subject: netmap pipes (Re: vnet + netmap: how is it possible?) Message-ID: <CA%2BhQ2%2Bhfxtq5_toTttK0n2Ajfe8Vrh4z%2BzBhWnRXpeJPskmccw@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
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. 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) -----------------------------------------+-------------------------------
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2BhQ2%2Bhfxtq5_toTttK0n2Ajfe8Vrh4z%2BzBhWnRXpeJPskmccw>