Skip site navigation (1)Skip section navigation (2)
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>