netmap: how to manage SW & NIC ring at same em0?

upyzl zj262144 at gmail.com
Tue Jul 15 02:04:01 UTC 2014


Hi all, I'm a newbie on netmap development using FreeBSD 10 release
x64("device netmap" added and recompiled)

I'm study on develop openflow-based datapath(software switch
function/module) by netmap-bridge

my understanding:
./bridge -i em0 -i em0   ---   would be using SW ring for em0, and if
there's a packet send to em0, it should forward to host stack;
./bridge -i em0 -i em1   ---   normal bridge using netmap framework (NIC
ring)
(above in /usr/src/tools/tools/netmap)

but in openflow, there's an required action "Forward: local", when a packet
matched(I implemented matching flow by modified bridge.c->process_rings()
), the packeted should send to host stack, as SW ring does

it is a possible scene:
a ICMP packet arrived in em0, forward to em1;
a TCP packet arrived in em0, forward to host stack;

I want to know whether is a method to implement it?
or could give me any advice...
or in fact I'm wrong in understanding?

Thanks in advance


More information about the freebsd-net mailing list