[quagga-dev 6261] Re: [PATCH 20/21] Only announce connected routes if link is detected

Joakim Tjernlund Joakim.Tjernlund at transmode.se
Wed Dec 3 18:27:55 GMT 2008


> -----Original Message-----
> From: Stephen Hemminger [mailto:shemminger at vyatta.com]
> Sent: den 3 december 2008 18:59
> To: joakim.tjernlund at transmode.se
> Cc: paul at clubi.ie; quagga-dev at lists.quagga.net
> Subject: Re: [quagga-dev 6229] [PATCH 20/21] Only announce connected routes if link is detected
> 
> On Wed, 03 Dec 2008 14:33:18 +0100
> Joakim Tjernlund <joakim.tjernlund at transmode.se> wrote:
> 
> > On Sat, 2008-07-05 at 16:32 -0700, Stephen Hemminger wrote:
> > > Need to check both IFF_UP and IFF_RUNNING if link-detect is enabled,
> > > before announcing routes.
> > > ---
> > >  zebra/connected.c |    2 +-
> > >  1 files changed, 1 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/zebra/connected.c b/zebra/connected.c
> > > index 93a5dc9..b235d8c 100644
> > > --- a/zebra/connected.c
> > > +++ b/zebra/connected.c
> > > @@ -87,7 +87,7 @@ connected_announce (struct interface *ifp, struct connected *ifc)
> > >
> > >        zebra_interface_address_add_update (ifp, ifc);
> > >
> > > -      if (if_is_up(ifp))
> > > +      if (if_is_operative(ifp))
> > >          {
> > >            if (ifc->address->family == AF_INET)
> > >  	    connected_up_ipv4 (ifp, ifc);
> >
> > hmm, should you not announce a host route iff
> >   if_is_up(ifp) && !if_is_operative(ifp)
> > is true?
> > The IP address on the interface is still reachable from other interfaces
> >
> >  Jocke
> 
> No. if link detect is enabled, then you don't want the connected
> route to be propogated unless link is up.

But the link is up, it is just not operative(=RUNNING).
So you could propagate a /32 route so that anyone logged into the node on that
particular IP address stays connected. Perhaps this is the wrong place to do this, I
haven't looked into the code.

 Jocke




More information about the Quagga-dev mailing list