From owner-freebsd-net Mon Oct 22 14:24:48 2001 Delivered-To: freebsd-net@freebsd.org Received: from smtp1.oskarmobil.cz (smtp1.oskarmobil.cz [217.77.161.133]) by hub.freebsd.org (Postfix) with ESMTP id 13A9237B401; Mon, 22 Oct 2001 14:24:41 -0700 (PDT) Received: from wh01ex01.ceskymobil.cz (wh01ex01.oskarmobil.cz [172.20.116.17]) by smtp1.oskarmobil.cz (8.11.2/8.11.1) with ESMTP id f9MLONl14988; Mon, 22 Oct 2001 23:24:24 +0200 (CEST) (envelope-from Milon.Papezik@oskarmobil.cz) Received: by wh01ex01.oskarmobil.cz with Internet Mail Service (5.5.2653.19) id <40HAVT5Q>; Mon, 22 Oct 2001 23:22:02 +0200 Message-ID: From: Milon Papezik To: "'Julian Elischer'" Cc: "'net@freebsd.org'" , Archie Cobbs , "'wpaul@freebsd.org'" Subject: RE: netgraph one2many question Date: Mon, 22 Oct 2001 23:21:55 +0200 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="ISO-8859-2" Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org 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