Date: Mon, 22 Oct 2001 23:21:55 +0200 From: Milon Papezik <Milon.Papezik@oskarmobil.cz> To: "'Julian Elischer'" <julian@elischer.org> Cc: "'net@freebsd.org'" <net@FreeBSD.ORG>, Archie Cobbs <archie@dellroad.org>, "'wpaul@freebsd.org'" <wpaul@FreeBSD.ORG> Subject: RE: netgraph one2many question Message-ID: <B57AF59C8ABFD411BBE000508BF300F302344A98@wh01ex01.oskarmobil.cz>
next in thread | raw e-mail | index | archive | help
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?B57AF59C8ABFD411BBE000508BF300F302344A98>