[quagga-users 14370] Many BGP peers, strange things happening.

Zaphod Beeblebrox zbeeble at gmail.com
Wed Jul 27 06:42:49 BST 2016


While I had one router running 0.99.24.1 and one router running
1.0.20160315, things were very strange.  routes were not being distributed
between them properly.  But now both routers are at 1.0.20160315, so here's
the still strange bit.

My rough setup is this: router A peers with about 50 people at an exchange,
one upstream and router B.  Router B peers with one other upstream and
router A.  OSPF and OSPF6 run inside my network.  I advertise 3 ipv4 blocks
and one ipv6 block.  Both are FreeBSD-10.x at the moment.  I carry full
route tables (which is about 610k routes in my neck of the woods).

It's not a complex setup, but it's worked for over 15 years now.

Now... the problem: Some routes get advertised to B, but some routes
don't.  I initially thought that "origin incomplete" was involved, but I
have since found examples to counter that.

I expect, for instance, that direct peers will send a route which I prefer
with localpref 400 and that they will thus win.  In my examples, they also
have path length of one, so they should also win.

An example of a working route (shown on router A):

  <peer X AS>
    <peer X IX address> from <peer X IX address> (<peer X ID>)
      Origin IGP, metric 0, localpref 400, valid, external, best
      Community: <my AS>:20 <my AS>:22
      Last update: Wed Jul 27 00:39:22 2016

An example of a not working route (shown on router A):

  <peer Y AS>
    <peer Y IX address> from <peer Y IX address> (<peer Y ID>)
      Origin incomplete, localpref 400, valid, external, best
      Community: <my AS>:20 <my AS>:22
      Last update: Wed Jul 27 00:41:06 2016

Note I've only copied the 'best' route here.

On router B, the working route shows as:

  <peer X AS>
    <router A int addr> (metric 1) from <router B int addr> (<router B ID>)
      Origin IGP, metric 0, localpref 400, valid, internal, best
      Community: <my AS>:20 <my AS>:22
      Last update: Wed Jul 27 00:39:51 2016

whereas router B shows the broken route as:

  <upstream AS> <IX route server AS> <peer Y AS>
    <upstream IP> from <upstream IP> (<upstream ID>)
      Origin incomplete, localpref 200, valid, external, best
      Community: <my AS>:300
      Last update: Tue Jul 26 00:14:37 2016

*... *now ... in all cases, the "sh ip bgp <ip>" output indicates that
router A is sending to router B.  The router B "sh ip bgp <ip>" indicates
_not_ advertising the working route (which is correct behavior) and that
it _is_ advertising the broken route.

Now... if I "sh ip bgp nei <router B> advertised-routes" on router A, the
working route is in the list, but the broken route is not.

There are no route-maps on the iBGP peer statements.  Only distribute lists
... and they reference this filter list:

access-list bogon_list deny 10.0.0.0/8
access-list bogon_list deny 172.16.0.0/12
access-list bogon_list deny 192.168.0.0/16
access-list bogon_list deny 127.0.0.0/8
access-list bogon_list deny 224.0.0.0/8
access-list bogon_list permit any

... so... help?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quagga.net/pipermail/quagga-users/attachments/20160727/482859ca/attachment.html>


More information about the Quagga-users mailing list