Problem with ng_ether packet flow..

Jian-Wei Wang jwwang at FreeBSD.csie.NCTU.edu.tw
Thu May 6 07:46:50 PDT 2004


Hi, I spent times to figure out the packet flow with ng_ether, like this:

                 upper layer
                      |
                      ^
                [ether_demux]
                      ^
                      |
                      +---<---[ng_ether_rcvdata]--<-- 'upper' --<--,
                      ^                                             \
 <--[bdg_forward]--<--+                                           ng_tee
                      |                                             /
                      +--->---[ng_ether_input]---->-- 'lower' -->--`
                      ^
                [ether_input]
                      ^
                      |
                   device

Why the [ng_ether_rcvdata] won't check if packets should travel to 
the [bdg_forward] when they are bridged packets?

i.e. Should the packet flow be changed to this one?

                 upper layer
                      |
                      ^
                [ether_demux]
                      ^
 <--[bdg_forward]--<--+
                      |
                      +---<---[ng_ether_rcvdata]--<-- 'upper' --<--,
                      ^                                             \
                      |                                           ng_tee
                      |                                             /
                      +--->---[ng_ether_input]---->-- 'lower' -->--`
                      ^
                [ether_input]
                      ^
                      |
                   device


Sincerely Yours,
Jian-Wei Wang


More information about the freebsd-net mailing list