I set up a test network with bgpd/ospfd, a standard service provider design
where ospf carries the network links and loopbacks and bgp carries
everything,
bgp routers doing nexthop self, core full mesh and access routers rr-clients
of the two nearest core routers.
I'm seeing some pretty odd behaviour that I haven't seen before when only
using bgpd.
Are there any know issues with using this kind of design with bgpd/ospfd ?
Quick example:
View from an access router at another prefix on the other side of the
network
ar1# route get 10.1.102.0
route to: 10.1.102.0
destination: 10.1.102.0
mask: 255.255.255.0
gateway: 172.16.1.6
interface: vlan602
if address: 172.16.1.5
flags: <UP,GATEWAY,DONE,PROTO1>
use hopcount mtu expire
1470 0 0 0
ar1# bgpctl show fib 10.1.102.0
...
flags destination gateway
*B 10.1.102.0/24 172.16.1.6
ar1# bgpctl show rib 10.1.1.02.0
...
flags destination gateway lpref med aspath origin
I*> 10.1.102.0/24 192.168.0.1 120 3010 i
I* 10.1.102.0/24 192.168.0.2 120 3010 i
ar1# ospfctl show fib 192.168.0.1
flags: * = valid, O = OSPF, C = Connected, S = Static
FLags Destination Nexthop
*O 192.168.0.1/32 172.16.1.6
ar1#
So far so good. I now shut down the core router 192.168.0.1
The moment I do that the connectivity dies, even though there is another
path.
ar1# route get 10.1.102.0
route to: 10.1.102.0
destination: 10.1.102.0
mask: 255.255.255.0
gateway: 172.16.1.6
interface: vlan602
if address: 172.16.1.5
flags: <UP,GATEWAY,DONE,PROTO1>
use hopcount mtu expire
1646 0 0 0
ar1# bgpctl show fib 10.1.102.0
...
flags destination gateway
*B 10.1.102.0/24 172.16.1.6
ar1# bgpctl show rib 10.1.1.02.0
...
flags destination gateway lpref med aspath origin
I*> 10.1.102.0/24 192.168.0.2 120 3010 i
ar1# ospfctl show fib 192.168.0.2
flags: * = valid, O = OSPF, C = Connected, S = Static
FLags Destination Nexthop
*O 192.168.0.2/32 172.16.1.2
ar1#
bgp rib and fib look out of sync.
Any ideas why it behaves this way ?
It seems like the networks that only exist in bgp fail to re-route when I
take
down a core router that is the current bgp-nexthop.
/Tony