Page MenuHomeVyOS Platform

IPv6 routes from BGP are not inserted into FIB
Open, Requires assessmentPublicBUG

Description

  • We receive the full IPv6 table from our ISP
  • The RIB contains ~100K routes but none of them are injected into FIB

Here is the setup:

r2# show protocols bgp | strip-private
 bgp XXXXXX {
     neighbor xxxx:xxxx:ffff::1 {
         address-family {
             ipv6-unicast {
                 prefix-list {
                     import DEFAULT-ROUTE-IPV6
                 }
                 route-map {
                     import NO-EXPORT-IN
                 }
                 soft-reconfiguration {
                     inbound
                 }
             }
         }
         ebgp-multihop 2
         password xxxxxx
         update-source xxxx:xxxx:b001:9ef:5400:03ff:fe48:1774
     }
     parameters {
         router-id xxx.xxx.128.17
     }
 }

here are routes received from BGP peer (routes are shown as IGP even though they are not and none of them is marked as valid)

r2:~$ show ipv6 bgp neighbors 2001:19f0:ffff::1 routes
BGP table version is 0, local router ID is 23.153.128.17, vrf id 0
Default local pref 100, local AS 396142
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
   2001:4:112::/48  2001:19f0:ffff::1
                                                           0 64515 65534 20473 6939 112 i
   2001:200::/32    2001:19f0:ffff::1
                                                           0 64515 65534 20473 3356 2914 2500 2500 i
   2001:200:900::/40
                    2001:19f0:ffff::1
                                                           0 64515 65534 20473 6939 2516 7660 7660 7660 i
...

here is the prefix count:

r2:~$ show ipv6 bgp neighbors 2001:19f0:ffff::1 prefix-counts
Prefix counts for 2001:19f0:ffff::1, IPv6 Unicast
PfxCt: 107885

Counts from RIB table walk:

              Adj-in: 107889
              Damped: 0
             Removed: 0
             History: 0
               Stale: 0
               Valid: 0
             All RIB: 107885
       PfxCt counted: 107885
             Useable: 107885

there are 3 filtered routes:

r2:~$ show ipv6 bgp neighbors 2001:19f0:ffff::1 filtered-routes
BGP table version is 0, local router ID is 23.153.128.17, vrf id 0
Default local pref 100, local AS 396142
Status codes:  s suppressed, d damped, h history, * valid, > best, = multipath,
               i internal, r RIB-failure, S Stale, R Removed
Nexthop codes: @NNN nexthop's vrf id, < announce-nh-self
Origin codes:  i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> ::/0             2001:19f0:ffff::1
                                                           0 64515 i
*> 2001:19f0:b000:8088::33/128
                    2001:19f0:ffff::1
                                             0             0 64515 ?
*> 2001:19f0:ffff::1/128
                    2001:19f0:ffff::1
                                             0             0 64515 ?

Total number of prefixes 3

and here is the FIB:

r2:~$ show ipv6 route
Codes: K - kernel route, C - connected, S - static, R - RIPng,
       O - OSPFv3, I - IS-IS, B - BGP, N - NHRP, T - Table,
       v - VNC, V - VNC-Direct, A - Babel, D - SHARP, F - PBR,
       f - OpenFabric,
       > - selected route, * - FIB route, q - queued route, r - rejected route

K>* ::/0 [0/1024] via fe80::fc00:3ff:fe48:1774, eth0, 00:28:57
C>* 2001:19f0:b001:9ef::/64 is directly connected, eth0, 00:28:58
S>* 2606:6d00:19f:a800::/56 [1/0] is directly connected, eth0, 00:28:56
C>* 2620:18:6000:bb00::/64 is directly connected, dum0, 00:29:00
C * fe80::/64 is directly connected, eth0, 00:28:57
C>* fe80::/64 is directly connected, lo, 00:29:00
C * fe80::/64 is directly connected, dum0, 00:29:00

As you can see, there is no BGP routes present at all

Details

Difficulty level
Unknown (require assessment)
Version
VyOS 1.3.0-rc3
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)

Event Timeline

I think the presence of the kernel default route may be the problem. It comes from RA through autoconf option on the interface. I will do some more testing.

show ipv6 route lists you the forwarding path - FIB
show ipv6 bgp or show ipv6 route bgp will show you the rib

K>* ::/0 [0/1024] via fe80::fc00:3ff:fe48:1774, eth0, 00:28:57

your kernel route has an administrative distance of 0 which outwiegths the default BGP distance of 200