[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OpenBGP nexthop



On Wed, Apr 12, 2006 at 01:58:24PM +0100, tony sarendal wrote:
> On 12/04/06, Claudio Jeker <cjeker_(_at_)_diehard_(_dot_)_n-r-g_(_dot_)_com> wrote:
> >
> > On Wed, Apr 12, 2006 at 01:36:46PM +0200, Sylvain Coutant wrote:
> > > > What was the state of the parent interface and what kind of interface
> > is
> > > > it?
> > >
> > > Bge driver. It was up and running : BGP sessions were established
> > > through the vlans reported as invalid by OpenBGP.
> > >
> >
> > I bet Henning's diff will fix this.
> >
> > >
> > > > ifconfig down should not crash the box. Panic message and trace would
> > be
> > > > interesting.
> > >
> > > It was remote and we did a hard reboot without console access. Log files
> > > were empty.
> > >
> >
> > Bummer.
> >
> > >
> > > > No, the session and the nexthop are two different things.
> > >
> > > I agree. My point is : how to prevent routing loops in such cases ?
> >
> > How should routing loops happen if you do not announce those invalid
> > routes? Prefixes with an invalid netxhop are not used and are not
> > redistributed.
> >
> > > Whatever triggered the case (a link down for any reason or a bug) is not
> > > so important. Announcing routes over the Internet and creating a routing
> > > loop for those routes is important.
> > >
> > > It could be one more setting that, if set to yes, would drop the session
> > > if it receives an unreachable nexthop ... just an idea. It could default
> > > to yes for eBGP session and no for iBGP sessions. Would that fit most of
> > > "usual" cases ?
> > >
> >
> > No way. This is not how BGP works and will break in many cases.
> >
> > --
> > :wq Claudio
> >
> >
> But speaking of routing loops, I suspect that there is something wrong with
> the
> route-reflector part. I can introduce routing loops into my test network by
> flapping
> prefixes. Before I wrote this I flapped 13.0.0.0/8 just once in my test
> network:
> 
> View from the route-server which peers with all routers:
> 
> quagga-bgpd# sh ip bgp 13.0.0.0
> BGP routing table entry for 13.0.0.0/8
> Paths: (7 available, best #7, table Default-IP-Routing-Table)
>   Not advertised to any peer
>   Local
>     10.1.1.22 from 10.0.0.5 (10.0.0.2)
>       Origin IGP, metric 900, localpref 100, valid, internal
>       Originator: 10.0.0.2, Cluster list: 10.0.0.5 10.0.0.6 10.0.0.8
> 172.16.0.3 10.0.0.7 10.0.0.4 172.16.0.2 10.0.0.3 10.0.0.1
>       Last update: Wed Apr 12 14:11:25 2006
> 
>   Local
>     10.1.1.26 from 10.0.0.4 (10.0.0.2)
>       Origin IGP, metric 700, localpref 100, valid, internal
>       Originator: 10.0.0.2, Cluster list: 10.0.0.4 10.0.0.7 10.0.0.8
> 10.0.0.6 10.0.0.5 10.0.0.3 10.0.0.1
>       Last update: Wed Apr 12 14:11:25 2006
> 
>   Local
>     172.16.1.13 from 172.16.0.2 (10.0.0.2)
>       Origin IGP, metric 800, localpref 100, valid, internal
>       Originator: 10.0.0.2, Cluster list: 172.16.0.2 10.0.0.4 10.0.0.7
> 10.0.0.8 10.0.0.6 10.0.0.5 10.0.0.3 10.0.0.1
>       Last update: Wed Apr 12 14:11:25 2006
> 
>   Local
>     10.1.1.34 from 10.0.0.6 (10.0.0.2)
>       Origin IGP, metric 800, localpref 100, valid, internal
>       Originator: 10.0.0.2, Cluster list: 10.0.0.6 10.0.0.8 172.16.0.3
> 10.0.0.7 10.0.0.4 172.16.0.2 10.0.0.3 10.0.0.1
>       Last update: Wed Apr 12 14:11:25 2006
> 
>   Local
>     172.16.1.21 from 10.0.0.8 (10.0.0.2)
>       Origin IGP, metric 700, localpref 100, valid, internal
>       Originator: 10.0.0.2, Cluster list: 10.0.0.8 172.16.0.3 10.0.0.7
> 10.0.0.4 172.16.0.2 10.0.0.3 10.0.0.1
>       Last update: Wed Apr 12 14:11:25 2006
> 
>   Local
>     172.16.1.18 from 172.16.0.3 (10.0.0.2)
>       Origin IGP, metric 700, localpref 100, valid, internal
>       Originator: 10.0.0.2, Cluster list: 172.16.0.3 10.0.0.7 10.0.0.8
> 10.0.0.6 10.0.0.5 10.0.0.3 10.0.0.1
>       Last update: Wed Apr 12 14:11:25 2006
> 
>   Local
>     10.1.1.30 from 10.0.0.7 (10.0.0.2)
>       Origin IGP, metric 600, localpref 100, valid, internal, best
>       Originator: 10.0.0.2, Cluster list: 10.0.0.7 10.0.0.8 10.0.0.6
> 10.0.0.5 10.0.0.3 10.0.0.1
>       Last update: Wed Apr 12 14:11:25 2006
> 
> quagga-bgpd#
> 
> The loop does not occur at the same place everytime.
> 
> Do you have a setup with route-reflectors ?
> 

No but I can reconfigure my lab network.

> Claudio, could my problem have to do with the problem in rde_reflector()
> which you mentioned in another thread ? The cluster-list seems a bit
> screwed up when I trace the prefix from the router with the lowest metric.
> 

Oh yes. The diff that fixes the attr_compare fatals may help here because
it may have influence on loop detection because attributes are modified
which are referenced by multiple prefixes.

Sorry I did not have time to actually commit it.
-- 
:wq Claudio



Visit your host, monkey.org