Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 May 2004 11:39:06 +0400
From:      Andrew Riabtsev <resident@b-o.ru>
To:        freebsd-net@freebsd.org
Subject:   Re: Problem with ng_ether packet flow..
Message-ID:  <832830880.20040507113906@b-o.ru>
In-Reply-To: <20040506144616.GA43633@FreeBSD.csie.NCTU.edu.tw>
References:  <20040506144616.GA43633@FreeBSD.csie.NCTU.edu.tw>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Jian-Wei,

Thursday, May 6, 2004, 6:46:16 PM, you wrote:

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

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

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

This is how it should work, you get entrance to low level network
(lower hook) and upper level (upper). To bridge or not to bridge
figuring out with ng_bridge or other ng_* modules is up to you to
decide. 

And what is  a strange direct link between [ether_demux] and
[ether_input]? When connecting anything to upper or lower hooks of
ng_ether this link no longer exists. Or you have changed code of ng_ether
and/or if_ethersubr.c then probably you should ask yourself why it's
not working, is it? :)


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

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


JWW> Sincerely Yours,
JWW> Jian-Wei Wang
JWW> _______________________________________________
JWW> freebsd-net@freebsd.org mailing list
JWW> http://lists.freebsd.org/mailman/listinfo/freebsd-net
JWW> To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"



-- 

 Andrew                            mailto:resident@b-o.ru



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?832830880.20040507113906>