netmap, selective processing.

Mark Delany c2h at romeo.emu.st
Thu Jul 17 19:54:12 UTC 2014


On 17Jul14, Daniel Corbe allegedly wrote:

> From the perspective of totally wrecking the performance of the host
> network stack: how much more overhead am I really introducing by looking
> at every packet inside of the netmap framework and going "am I really
> interested in this?  Or should I simply pass it through to the host."

If you haven't look at netmap in detail yet, then the main thing to
remember is that once netmap is active on an interface, *all* packets
on that interface enter (and potentially leave) your netmap handler
via an excursion into user space.

If the majority of packets are untouched and merely pushed back thru
the stack, then for each batch of packets you've introduced an
additional user-space context switch, at least one system call and the
cost of your own packet selection code.

I'm not sure that constitutes "totally wrecking" but something to keep
in mind if you plan to run on a busy system.

Another thing to keep in mind is, if you netmap app has bugs you could
break all the regular applications sitting on top of sockets.

You are probably right that OSPF in netmap may not be directly useful
to anyone else, but I think more people using netmap to implement
interesting applications is of value to netmap, frankly.


Mark.


More information about the freebsd-net mailing list