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

Re: OpenBGP nexthop



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 ?

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.

--
Tony Sarendal - tony_(_at_)_polarcap_(_dot_)_org
IP/Unix
       -= The scorpion replied,
               "I couldn't help it, it's my nature" =-