cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1066
Views
10
Helpful
4
Replies

MPLS VPN on Cisco IOX XRv

halmoszoltan
Level 1
Level 1

Dear Community!

 

I've a problem with provisoning MPLS VPN between an Cisco IOS CSR and a Cisco IOS XRv (both of them are virtualized of course).

 

My suggestion is the problem is with the XRv (I'm running demo image), because I've a 100% working configuration between two CSRs.

 

Are there any limitations which could make the MPLS VPN unwoking on demo XRv?

 

The VRF routing table is perfect, the BGP VPNv4 per VRF table is perfect, it seems that the label information is perfect,however the ping (in VRF) is not working between the two devices (in global routeing a ping is perfect between the two devices). Interesting thing is that the "show mpls forwarding vrf proba" is completely empty, and this:

 

RP/0/0/CPU0:ios#sho cef vrf proba
Wed Sep  2 06:19:46.667 UTC

Prefix              Next Hop            Interface
0.0.0.0/0           drop                default handler
0.0.0.0/32          broadcast
200.200.200.200/32  10.10.10.10 (?)     <recursive>
210.210.210.210/32  receive             Loopback1
224.0.0.0/4         point2point
224.0.0.0/24        receive
255.255.255.255/32  broadcast

(200.200.200.200/32 is a loopback interface's IP in VRF proba on CSR, and 210.210.210.210/32 is a loopback interface's IP in VRF proba on XRv)

The interesting is the question mark. Is it some kind of problem?

What's Your opinion?

The MPLS connection is inside a GRE tunnel. On CSR the vrf CEF next hop is the tunnel's other side while in the XRv the next hop is the router-id (a loopback interface) of the CSR. On both devices next-hop-self is configured.

Zoltan

 

 

 

4 Replies 4

Vinit Jain
Cisco Employee
Cisco Employee

Hello,

Could you please share the configuration of both PE's and topology.

Thanks
--Vinit

Hello!

In the meantime I managed to solve the problem.

I can't image why but I had to modify the static route used to connect the two loopbacks with defining the output interface (tunnel-ip0):

RP/0/0/CPU0:ios#sho run router static
Mon Sep  7 01:43:33.739 UTC
router static
 address-family ipv4 unicast
  0.0.0.0/0 **************************************
  10.10.10.10/32 tunnel-ip0 1.0.0.2

After the modification the MPLS VPN packet forwading started to work at once.

Have You got any clue why do I have to define the interface?

Zoltan

From what i understand, BGP is expecting a /32 route to the peer but it might not be having that. 

Could you please share the previous configuration (complete config of XR device) before modification of static route along with below output from XR:

- show route 

- show cef 10.10.10.10 det

Please note, IOS (IOS XE) and XR works a bit differently.

Thanks

Vinit

Thanks
--Vinit

Here are the command outputs for the original config:

 

RP/0/0/CPU0:ios#sho run
Thu Sep 10 04:48:56.350 UTC
Building configuration...
!! IOS XR Configuration 5.3.0
!! Last configuration change at Thu Sep 10 04:47:21 2015 by cisco
!
locale country HU
vrf proba
 address-family ipv4 unicast
  import route-target
   65000:1
  !
  export route-target
   65000:1
  !
 !
!
icmp ipv4 source vrf
interface Loopback1
 vrf proba
 ipv4 address 210.210.210.210 255.255.255.255
!
interface Loopback100
 ipv4 address 20.20.20.20 255.255.255.255
!
interface tunnel-ip0
 ipv4 address 1.0.0.1 255.255.255.252
 tunnel mode gre ipv4
 tunnel source GigabitEthernet0/0/0/0
 tunnel destination *************************
!
interface MgmtEth0/0/CPU0/0
 shutdown
!
interface GigabitEthernet0/0/0/0
 ipv4 address ************ 255.255.255.0
!
router static
 address-family ipv4 unicast
  0.0.0.0/0 ****************
  10.10.10.10/32 1.0.0.2
 !
!
router bgp 65000
 bgp router-id 20.20.20.20
 address-family ipv4 unicast
 !
 address-family vpnv4 unicast
 !
 neighbor 10.10.10.10
  remote-as 65000
  update-source Loopback100
  address-family ipv4 unicast
  !
  address-family vpnv4 unicast
   next-hop-self
  !
 !
 vrf proba
  rd 65000:1
  address-family ipv4 unicast
   redistribute connected
  !
 !
!
mpls oam
!
mpls ldp
 router-id 20.20.20.20
 interface tunnel-ip0
 !
!
end

RP/0/0/CPU0:ios#sho route
Thu Sep 10 04:50:22.754 UTC

Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR, l - LISP
       A - access/subscriber, a - Application route
       M - mobile route, (!) - FRR Backup path

Gateway of last resort is 10.35.216.254 to network 0.0.0.0

S*   0.0.0.0/0 [1/0] via *************, 2w2d
C    1.0.0.0/30 is directly connected, 2w2d, tunnel-ip0
L    1.0.0.1/32 is directly connected, 2w2d, tunnel-ip0
S    10.10.10.10/32 [1/0] via 1.0.0.2, 00:03:01
C    ************** is directly connected, 2w2d, GigabitEthernet0/0/0/0
L    **************** is directly connected, 2w2d, GigabitEthernet0/0/0/0
L    20.20.20.20/32 is directly connected, 2w2d, Loopback100
L    127.0.0.0/8 [0/0] via 0.0.0.0, 2w2d


RP/0/0/CPU0:ios#sho route vrf proba
Thu Sep 10 04:50:35.813 UTC

Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR, l - LISP
       A - access/subscriber, a - Application route
       M - mobile route, (!) - FRR Backup path

Gateway of last resort is not set

B    200.200.200.200/32 [200/0] via 10.10.10.10 (nexthop in vrf default), 1w0d
L    210.210.210.210/32 is directly connected, 2w2d, Loopback1

 

 

RP/0/0/CPU0:ios#show cef 10.10.10.10 det
Thu Sep 10 04:52:35.175 UTC
10.10.10.10/32, version 18, internal 0x1000001 0x0 (ptr 0xa13d2ef4) [1], 0x0 (0xa139e584), 0xa00 (0xa152c168)
 Updated Sep 10 04:47:21.986
 local adjacency point2point
 Prefix Len 32, traffic index 0, precedence n/a, priority 3
  gateway array (0xa126780c) reference count 2, flags 0x20078, source lsd (5), 1 backups
                [3 type 4 flags 0x2080a1 (0xa1546320) ext 0x0 (0x0)]
  LW-LDI[type=1, refc=1, ptr=0xa139e584, sh-ldi=0xa1546320]
   via 1.0.0.2, 2 dependencies, recursive [flags 0x0]
    path-idx 0 NHID 0x0 [0xa13d2e74 0x0]
    next hop 1.0.0.2 via 1.0.0.2/32
     local label 24000
     next hop 1.0.0.2/32 ti0          labels imposed {None}


    Load distribution: 0 (refcount 3)

    Hash  OK  Interface                 Address
    0     Y   tunnel-ip0                point2point