grt import into vrf & routing table updates

Unanswered Question
Dec 7th, 2009

Either I am misunderstanding something, or there is a bug somewhere.

I import my grt into a vrf via a import ipv4 unicast map setup.

Everything works fine (except in 12.4-22T2, where it seems to be broken, but that's another issue) at first.

The grt contains some eigrp routes, and I import those into the vrf.

When a network disruption occurs, the eigrp process removes the preferred route from the grt and the vrf reflects this change.

However, when the network comes back up, the grt is correctly updated and contains the preferred route, but the vrf is stuck with the backup route that was intalled earlier. (tested on Ciso 87x series, 12.4-22T3)

Here is sample setup :

Three routers: RA, R1, and R2, connected as follow

         (loopbak0)

             |

             RA

          (vlan 1)

             |

   ---------------------

   |                   |

(vlan 1)            (vlan 1)

   R1                  R2

(Fe4)                (Fe4)

   |                    |

   ----------------------

              

The routers contain the following confs

RA:

interface Loopback0

ip address 192.168.0.1 255.255.255.0

interface Vlan1

ip address 192.168.255.254 255.255.255.0

end

!
ip route 1.1.1.0 255.255.255.0 192.168.0.254
!
router eigrp 99
redistribute static
network 192.168.255.0
no auto-summary
R1:
interface Vlan1
ip address 192.168.255.1 255.255.255.0
interface FastEthernet4
ip address 10.1.0.1 255.255.255.0
!
router eigrp 99
network 10.1.0.0 0.0.0.255
network 192.168.255.0
no auto-summary
!
ip vrf TEST
rd 100:1
import ipv4 unicast map BGP-IMPORT
!
ip access-list standard BGP-IMPORT
permit any
!
route-map BGP-IMPORT permit 10
match ip address BGP-IMPORT
!
router bgp 100
no synchronization
bgp log-neighbor-changes
redistribute connected
redistribute eigrp 99
default-information originate
no auto-summary
!
address-family ipv4 vrf TEST
no synchronization
exit-address-family
R2:
interface Vlan1
ip address 192.168.255.2 255.255.255.0
interface FastEthernet4
ip address 10.1.0.2 255.255.255.0
!
router eigrp 99
network 10.1.0.0 0.0.0.255
network 192.168.255.0
no auto-summary
!
ip vrf TEST
rd 100:1
import ipv4 unicast map BGP-IMPORT
!
ip access-list standard BGP-IMPORT
permit any
!
route-map BGP-IMPORT permit 10
match ip address BGP-IMPORT
!
router bgp 100
no synchronization
bgp log-neighbor-changes
redistribute connected
redistribute eigrp 99
default-information originate
no auto-summary
!
address-family ipv4 vrf TEST
no synchronization
exit-address-family

So the static route in RA is correctly redistributed to R1 and R2:
for instance:
R1#show ip eigrp topology 1.1.1.0/24
IP-EIGRP (AS 99): Topology entry for 1.1.1.0/24
  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 156160
  Routing Descriptor Blocks:
  192.168.255.254 (Vlan1), from 192.168.255.254, Send flag is 0x0
      Composite metric is (156160/128256), Route is External
      Vector metric:
        Minimum bandwidth is 100000 Kbit
        Total delay is 5100 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 1
      External data:
        Originating router is 192.168.255.254
        AS number of route is 0
        External protocol is Static, external metric is 0
        Administrator tag is 0 (0x00000000)
  10.1.0.2 (FastEthernet4), from 10.1.0.2, Send flag is 0x0
      Composite metric is (158720/156160), Route is External
      Vector metric:
        Minimum bandwidth is 100000 Kbit
        Total delay is 5200 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 2
      External data:
        Originating router is 192.168.255.254
        AS number of route is 0
        External protocol is Static, external metric is 0
        Administrator tag is 0 (0x00000000)

We can see that the bgp process is OK as well:
R1#show ip bgp ipv4 unicast
BGP table version is 23, local router ID is 10.1.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.0/24       192.168.255.254     156160         32768 ?
*> 10.1.0.0/24      0.0.0.0                  0         32768 ?
*> 192.168.255.0    0.0.0.0                  0         32768 ?
The import process works OK at first as well:
R1#show ip bgp vpnv4 all
BGP table version is 2, local router ID is 10.1.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 100:1 (default for vrf TEST)
Import Map: BGP-IMPORT, Address-Family: IPv4 Unicast, Pfx Count/Limit: 4/1000
*> 1.1.1.0/24       192.168.255.254     156160         32768 ?
*> 10.1.0.0/24      0.0.0.0                  0         32768 ?
*> 192.168.255.0    0.0.0.0                  0         32768 ?

If we shutdown int vlan1 on R1, the topology correctly switch the routing table via R2 for 1.1.1.0/24
R1#show ip eigrp topology 1.1.1.0/24
IP-EIGRP (AS 99): Topology entry for 1.1.1.0/24
  State is Passive, Query origin flag is 1, 1 Successor(s), FD is 158720
  Routing Descriptor Blocks:
  10.1.0.2 (FastEthernet4), from 10.1.0.2, Send flag is 0x0
      Composite metric is (158720/156160), Route is External
      Vector metric:
        Minimum bandwidth is 100000 Kbit
        Total delay is 5200 microseconds
        Reliability is 255/255
        Load is 1/255
        Minimum MTU is 1500
        Hop count is 2
      External data:
        Originating router is 192.168.255.254
        AS number of route is 0
        External protocol is Static, external metric is 0
        Administrator tag is 0 (0x00000000)
R1#show ip bgp ipv4 unicast
BGP table version is 28, local router ID is 10.1.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.0/24       10.1.0.2           158720         32768 ?
*> 10.1.0.0/24      0.0.0.0                  0         32768 ?
*> 192.168.255.0    10.1.0.2            30720         32768 ?
R1#show ip bgp vpnv4 all
BGP table version is 6, local router ID is 10.1.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 100:1 (default for vrf TEST)
Import Map: BGP-IMPORT, Address-Family: IPv4 Unicast, Pfx Count/Limit: 4/1000
*> 1.1.1.0/24       10.1.0.2           158720         32768 ?
*> 10.1.0.0/24      0.0.0.0                  0         32768 ?
*> 192.168.255.0    10.1.0.2            30720         32768 ?

However, if we bring int vlan1 on R1 back up, only the topology in the grt is correctly updated :
R1#show ip bgp ipv4 unicast
BGP table version is 31, local router ID is 10.1.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.0/24       192.168.255.254     156160         32768 ?
*> 10.1.0.0/24      0.0.0.0                  0         32768 ?
*> 192.168.255.0    0.0.0.0                  0         32768 ?
R1#show ip bgp vpnv4 all
BGP table version is 8, local router ID is 10.1.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
   Network          Next Hop            Metric LocPrf Weight Path
Route Distinguisher: 100:1 (default for vrf TEST)
Import Map: BGP-IMPORT, Address-Family: IPv4 Unicast, Pfx Count/Limit: 4/1000
*> 1.1.1.0/24       10.1.0.2           158720         32768 ?
*> 10.1.0.0/24      0.0.0.0                  0         32768 ?
*> 192.168.255.0    0.0.0.0                  0         32768 ?

Furthermore, even if I shutdown int vlan1 of R2, that route (1.1.1.0/24 via 10.1.0.2) stays in the vrf table !
What am I missing ?

Thanks

Blaise

FYI, the debug given by the router R1 when the vlan1 comes back up is the following:
*Mar  5 03:29:19.047: BGP(0): route 192.168.255.0/24 down
*Mar  5 03:29:19.047: BGP(2)-VRF(TEST): delete pfx 100:1:192.168.255.0/24 via
*Mar  5 03:29:19.047: BGP(0): no valid path for 192.168.255.0/24
*Mar  5 03:29:19.047: BGP(0): route 192.168.255.0/24 up
*Mar  5 03:29:19.047: BGP(2)-VRF(TEST): import pfx 100:1:192.168.255.0/24 via
*Mar  5 03:29:19.047: %BGP_MPLS-4-LABELALLOC: Label allocation failure -Traceback= 0x8083C178 0x80705914 0x80708F40 0x807097F0 0x8069AB7C 0x8069ACC8 0x8070FDC4 0x80710A2C 0x806CE2E4 0x806CEC38 0x806A8238 0x80380C2C 0x80383EDC
*Mar  5 03:29:19.047: BGP(0): route 192.168.255.0/24 up
*Mar  5 03:29:19.047: BGP(0): nettable_walker 192.168.255.0/24 route sourced locally
*Mar  5 03:29:19.183: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 99: Neighbor 192.168.255.2 (Vlan1) is up: new adjacency
*Mar  5 03:29:19.191: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 99: Neighbor 192.168.255.254 (Vlan1) is up: new adjacency
*Mar  5 03:29:19.427: %SYS-5-CONFIG_I: Configured from console by root on vty0 (10.1.0.99)
*Mar  5 03:29:20.127: BGP: Import walker start version 6, end version 8
*Mar  5 03:29:20.127: BGP: ... start import cfg version = 0
*Mar  5 03:29:21.039: %LINK-3-UPDOWN: Interface Vlan1, changed state to up
*Mar  5 03:29:21.211: BGP(0): route 1.1.1.0/24 up
*Mar  5 03:29:21.211: BGP(0): sourced route for 1.1.1.0/24 path #0 changed (weight 32768)
*Mar  5 03:29:21.211: BGP(0): nettable_walker 1.1.1.0/24 route sourced locally
*Mar  5 03:29:22.039: %LINEPROTO-5-UPDOWN: Line protocol on Interface Vlan1, changed state to up
I have this problem too.
0 votes
  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 0 (0 ratings)
Loading.
Laurent Aubert Mon, 12/07/2009 - 19:57

Hi,

The following message indicates there is an issue in the code:

*Mar  5 03:29:19.047: %BGP_MPLS-4-LABELALLOC: Label allocation failure -Traceback= 0x8083C178 0x80705914 0x80708F40 0x807097F0 0x8069AB7C 0x8069ACC8 0x8070FDC4 0x80710A2C 0x806CE2E4 0x806CEC38 0x806A8238 0x80380C2C 0x80383EDC

Please open an SR to let the TAC investigate this issue

HTH

Laurent.

Laurent Aubert Tue, 12/08/2009 - 06:01

Hi,

Yes, you need a valid contract which covers your hw to open a SR.

Try a more recent release to see if the issue is still there.

HTH

Laurent.

Actions

This Discussion

Related Content