Lab 4 Task 4.1

I'm having a weird issue that i can't seem to put my finger on what's wrong.  Everything is working except for XR2 advertising it's own loopback to R4:

RP/0/5/CPU0:XR2#sh bgp vpnv4 uni neigh 10.0.0.4 ad
Sun Dec 15 06:12:45.853 UTC
Network            Next Hop        From             AS Path
Route Distinguisher: 10.0.0.2:1
172.16.0.2/32      10.0.0.2        10.0.0.2         i
Route Distinguisher: 10.0.0.5:1
172.16.0.5/32      10.0.0.5        10.0.0.5         i
Route Distinguisher: 10.0.0.19:1
172.16.0.19/32     10.0.0.19       10.0.0.19        i

It IS advertising it within AS 1000:

RP/0/5/CPU0:XR2#sh bgp vpnv4 uni neigh 10.0.0.2 ad
Sun Dec 15 06:15:43.414 UTC
Network            Next Hop        From             AS Path
Route Distinguisher: 10.0.0.1:1
172.16.0.1/32      10.0.0.1        10.0.0.4         2000 i
Route Distinguisher: 10.0.0.2:1
172.16.0.2/32      10.0.0.20       10.0.0.2         i
Route Distinguisher: 10.0.0.3:1
172.16.0.3/32      10.0.0.3        10.0.0.4         2000 i
Route Distinguisher: 10.0.0.4:1
172.16.0.4/32      10.0.0.4        10.0.0.4         2000 i
Route Distinguisher: 10.0.0.5:1
172.16.0.5/32      10.0.0.5        10.0.0.5         i
Route Distinguisher: 10.0.0.19:1
172.16.0.19/32     10.0.0.19       10.0.0.19        i
Route Distinguisher: 10.0.0.20:1
172.16.0.20/32     10.0.0.20       Local            i

I can't think of what could be causing this behavior as it's sending all other routes except it's own.  I've attached what i think is the applicable configs below, if anyone has any ideas i'd appreciate it!

XR2:

vrf FOO
 address-family ipv4 unicast
  import route-target
   1000:1
   2000:1
  !
  export route-target
   1000:1
  !
 !

router bgp 1000


 address-family vpnv4 unicast
 !
 neighbor 10.0.0.2
  remote-as 1000
  update-source Loopback0
  address-family ipv4 unicast
  !
  address-family vpnv4 unicast
   route-reflector-client
  !
 !
 neighbor 10.0.0.4
  remote-as 2000
  ebgp-multihop 5
  update-source Loopback0
  address-family vpnv4 unicast
   route-policy PASS in
   route-policy PASS out
   next-hop-unchanged
  !
 !
 neighbor 10.0.0.5
  remote-as 1000
  update-source Loopback0
  address-family vpnv4 unicast
   route-reflector-client
  !
 !
 neighbor 10.0.0.19
  remote-as 1000
  update-source Loopback0
  address-family vpnv4 unicast
   route-reflector-client
  !
 vrf FOO
  rd 10.0.0.20:1
  address-family ipv4 unicast
   network 172.16.0.20/32
  !
 !
!

R4:

vrf definition FOO
 rd 10.0.0.4:1
 !
 address-family ipv4
 route-target export 2000:1
 route-target import 1000:1
 route-target import 2000:1
 exit-address-family
 !
router bgp 2000
 no bgp default ipv4-unicast
 bgp log-neighbor-changes
 neighbor 10.0.0.20 remote-as 1000
 neighbor 10.0.0.20 ebgp-multihop 5
 neighbor 10.0.0.20 update-source Loopback0
 !
 address-family vpnv4
  neighbor 10.0.0.20 activate
  neighbor 10.0.0.20 send-community both
  neighbor 10.0.0.20 next-hop-unchanged
 exit-address-family
 !
 address-family ipv4 vrf FOO
  no synchronization
  network 172.16.0.4 mask 255.255.255.255
 exit-address-family

Comments

  • Have you tried debugging BGP updates on R4? "deb bgp vpnv4 unicast updates" ?

    What output does this show?

     

  • I had not, to me it seemed for all the world that XR2 wasn't sending the updates to R4 at all.  However here is the output of the debug:

    R4#clear ip bgp * in
    R4#
    BGP: TX VPNv4 Unicast Mem global 11 1 10.0.0.20 State is ACTIVE (ready).
    R4#
    BGP(4): 10.0.0.3 rcvd UPDATE w/ attr: nexthop 10.0.0.3, origin i, localpref 100, metric 0, extended community RT:2000:1
    BGP(4): 10.0.0.3 rcvd 10.0.0.3:1:172.16.0.3/32, label 20...duplicate ignored
    BGP: 10.0.0.1 session 1 Local router is the Originator; Discard update
    BGP(4): 10.0.0.1 session 2 rcvd UPDATE w/ attr: nexthop 10.0.0.1, origin ?, localpref 100, metric 10, extended community RT:2000:1
    BGP(4): 10.0.0.1 session 2 rcvd 10.0.0.1:1:172.16.0.6/32, label 33...duplicate ignored
    BGP(4): 10.0.0.1 session 2 rcvd UPDATE w/ attr: nexthop 10.0.0.1, origin i, localpref 100, metric 0, extended community RT:2000:1
    BGP(4): 10.0.0.1 session 2 rcvd 10.0.0.1:1:172.16.0.1/32, label 19
    R4#...duplicate ignored
    BGP(4): 10.0.0.1 session 2 rcvd UPDATE w/ attr: nexthop 10.0.0.1, origin ?, localpref 100, metric 20, extended community RT:2000:1
    BGP(4): 10.0.0.1 session 2 rcvd 10.0.0.1:1:172.16.46.0/24, label 34...duplicate ignored
    R4#
    BGP(4): 10.0.0.20 rcvd UPDATE w/ attr: nexthop 10.0.0.2, origin i, merged path 1000, AS_PATH , extended community RT:1000:1
    BGP(4): 10.0.0.20 rcvd 10.0.0.2:1:172.16.0.2/32, label 21...duplicate ignored
    BGP(4): 10.0.0.20 rcvd UPDATE w/ attr: nexthop 10.0.0.5, origin i, merged path 1000, AS_PATH , extended community RT:1000:1
    BGP(4): 10.0.0.20 rcvd 10.0.0.5:1:172.16.0.5/32, label 21...duplicate ignored
    BGP(4): 10.0.0.20 rcvd UPDATE w/ attr: nexthop 10.0.0.19, origin i, merged path 1000, AS_PATH , extended community RT:1000:1
    BGP(4): 10.0.0.20 rcvd 10.0.0.19:1:172.16.0.19/32, label 16011...duplicate ignored

    seems to reflect what XR2 is saying.  The weird thing is if i remove "next-hop-unchanged" from XR2 it will start sending the appropriate updates, but then breaks the data plane because it changes the LFIB (specifically it pops labels towards R4 rather than swapping to the label XR1 is advertising, i have no idea why the heck it's doing that).

  • Did you ever find what caused this issue? I'm having the same problem

Sign In or Register to comment.