Date: Mon, 22 Oct 2001 16:47:43 -0700 (PDT) From: Julian Elischer <julian@elischer.org> To: Milon Papezik <Milon.Papezik@oskarmobil.cz> Cc: net@FreeBSD.ORG, Archie Cobbs <archie@dellroad.org>, Bill Paul <wpaul@FreeBSD.ORG> Subject: RE: netgraph one2many question Message-ID: <Pine.BSF.4.21.0110221644320.89867-100000@InterJet.elischer.org> In-Reply-To: <B57AF59C8ABFD411BBE000508BF300F302344A98@wh01ex01.oskarmobil.cz>
next in thread | previous in thread | raw e-mail | index | archive | help
I see not reason to not import ng_fec.c except that it really doesn't use most of the netgraph interface. If you were to use the same protocol engine but rewrite the interface part of it to use the netgraph data interface it'd probably be a better fit. On Mon, 22 Oct 2001, Milon Papezik wrote: > Hi Julian, > > I am aware about Bill's ng_fec module and I tested it carefully, > but it has several drawbacks: > > 1) there is a bug in published 4.x version, which can lead to panic. > I reported this bug together with single line patch to Bill, > but I never got a response. > > 2) there is also a problem with packet 'directing' > after failed link/interface recovers. > > 3) ng_fec does not handle gracefully fidling with up/down state > of underlying interfaces (probably related to problem 2). > > 4) ng_fec is "out of tree" - i.e. it may ended up not being > maintained at all (if it can be considered as such now). > > 5) ng_fec is touching kernel/interface functions directly, > which makes it quite difficult to followup the code. > > These were the reasons. > However you are right that it might be easier to fix ng_fec first. > > Could ng_fec be then imported into tree ? > > Thanks i advance :-) > Milon > -- > milon.papezik@ > > > -----Original Message----- > > From: Julian Elischer [mailto:julian@elischer.org] > > Subject: Re: netgraph one2many question > > > > Bill Paul has written a specific NETGRAPH FEC module... > > > > he has failover as well.. > > > > (it is only PART a netgraph module as it doesn;t use the > > netgraph hooks to > > talk to teh ethernet driver.. (strange)) > > > > I suggest you look for it in the archives or on > > http://www.freebsd.org/~wpaul/ > > > > On Sat, 20 Oct 2001, Archie Cobbs wrote: > > > > > Milon Papezik writes: > > > > I would like to extend ng_one2many module to include > > > > automatic link failure datection, failover and FEC functionality. > > > > > > > > My question is: > > > > Are interface nodes able to send upstream notification > > > > that their state has changed or do I have to poll their > > status periodically > > > > as it is done in ng_fec module made kindly available by wpaul ? > > > > > > They don't now, but I think you could add this in a reasonably > > > unoffensive way. > > > > > > What you would do is add a new function pointer to struct ifnet, > > > say "void (*if_report)(struct ifnet *, int status)" or something. > > > > > > When a device driver detected link going up/down, it could call > > > this function (if non-NULL). Then if_ethersubr() would set this > > > function pointer to point to some function if_ether_report(). > > > When if_ether_report() is called, if ng_ether was loaded, it > > > would call into ng_ether() to generate a control message that > > > would be passed to the node connected to the "lower" hook. > > > > > > Then, ng_one2many could be modified to understand this control > > > message and do the right thing according to its configuration. > > > > > > Or, something like that. Polling might be a quicker and easier > > > though less precise way to do it for starters. > > > > > > -Archie > > > > > > > > ______________________________________________________________ > > ____________ > > > Archie Cobbs * Packet Design * > http://www.packetdesign.com > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > > with "unsubscribe freebsd-net" in the body of the message > > > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0110221644320.89867-100000>