[quagga-dev 1511] Re: link detection on NetBSD

Paul Jakma paul at clubi.ie
Tue Sep 14 16:19:39 BST 2004

On Tue, 14 Sep 2004, Greg Troxel wrote:

> I have no issue with defining a set of flags -- with clearly 
> specified semantics in comments -- that are specific to zebra. 
> But then we shouldn't pretend they match what we get from any OS, 
> and we shouldn't use "RUNNING", since that's ambiguous. 
> LINKDETECTED would be self-documenting.


> I see how my idea won't work because we don't push struct interface
> across the zebra/daemon boundary.

Well, we dont push if_data. Nor do we want to ;) - link-state up/down 
and bandwidth is all those care about really.

>> - define zebra if flags (to send to daemons)
> which are then a different variable, and we just put in those what we need?


> sounds fine.

Consensus, excellent :)

I'll have a go at definining an actual struct quaga_link_info at some 
stage very soonish, if noone else wants to do so (taking BSD if_data, 
linux mii.h and ethtool.h into account), and adding hooks for 
updating it.

NB: This will be useful for the bandwidth field and auto-costing in, 
eg, ospfd too..

> You're being overly charitable.  It's called not updating the 
> comments when the semantics change.  'resources being allocated' 
> refers to things like allocating cluster mbufs and pointing receive 
> descriptors at them.  This doesn't change when carrier detect goes 
> away.

Maybe. But ah well. ;)

> In summary, I have no issue with a different abstraction.  I just 
> object to defining the abstraction to be how Linux does it, because 
> a) that's windows-like behavior :-) and more importantly b) that 
> will lead to problems later when we need to abstract behavior that 
> doesn't have an exact counterpart on Linux.

Ah, well i wasnt suggesting that at all. Just the two platforms which 
I care most about, Linux and Solaris, reflect link-state in 
IFF_RUNNING. It's simple enough to make so within zebra for any 
platform. If this simple answer isnt acceptable, lets do it properly 
and abstract it sufficiently to work on any platform. That latter 
approach we all appear to be agreed on.

Paul Jakma
paul at clubi.ie 	paul at jakma.org 	Key ID: 64A2FF6A 
 	People with narrow minds usually have broad tongues.

More information about the Quagga-dev mailing list