Showing results for 
Search instead for 
Did you mean: 
Philip Olsson

IOS-XR <-> IOS CSC Inter-AS not working?


Im trying to get CSC Inter-AS working between ios (c1900-universalk9-mz.SPA.151-4.M4.bin) and ios-xr ( asr9000 4.1.0 ) and I'm unable to get it working. The end result is a CE running MPLS to xconnect into a asr9k för h-vpls type setup.

The L2VPN config is verified before by putting the CE into our IGP and everything works. However when wanting to use ebgp it falls apart:

Currently it is configured like this:                  


interface Loopback0

ip address x.x.x.127


interface GigabitEthernet0/0.1549

encapsulation dot1Q 1549

ip address x.x.x.4

mpls bgp forwarding

mpls label protocol ldp

mpls ip

router bgp 64515

bgp router-id x.x.x.127

bgp always-compare-med

bgp log-neighbor-changes

neighbor x.x.x.5 remote-as 34244


address-family ipv4

  network x.x.x.127 mask

  neighbor x.x.x.5 activate

  neighbor x.x.x.5 prefix-list x  in

  neighbor x.x.x.5 prefix-list x out

  neighbor x.x.x.5 send-label



address-family vpnv4



mpls ldp router-id Loopback0 force

on P router:

interface Loopback0

ipv4 address x.x.x.120


router bgp 34244

bgp router-id x.x.x.120

bgp log neighbor changes detail

address-family ipv4 unicast

  redistribute connected route-policy IPV4-CONNECTED-TO-BGP

  redistribute static route-policy IPV4-STATIC-TO-BGP

  allocate-label all

neighbor x.x.x.4

  remote-as 64515

  address-family ipv4 labeled-unicast

   route-policy x in

   route-policy x out



mpls ldp

     router-id loopback0

     interface gi0/1/0/15.1549


and the BGP seems to be working fine:

RP/0/RSP0/CPU0:rtr10.sjo#show bgp nei x.x.x.4
Fri Jul 20 11:30:37.769 METDST

BGP neighbor is x.x.x.4
Remote AS 64515, local AS 34244, external link
Remote router ID x.x.x.127
  BGP state = Established, up for 19:26:04
  Last read 00:00:34, Last read before reset 00:00:00
  Hold time is 180, keepalive interval is 60 seconds
  Configured hold time: 180, keepalive: 60, min acceptable hold time: 3
  Last write 00:00:06, attempted 19, written 19
  Second last write 00:01:06, attempted 19, written 19
  Last write before reset 00:00:00, attempted 0, written 0
  Second last write before reset 00:00:00, attempted 0, written 0
  Last write pulse rcvd  Jul 20 11:30:31.302 last full not set pulse count 2458
  Last write pulse rcvd before reset 00:00:00
  Socket not armed for io, armed for read, armed for write
  Last write thread event before reset 00:00:00, second last 00:00:00
  Last KA expiry before reset 00:00:00, second last 00:00:00
  Last KA error before reset 00:00:00, KA not sent 00:00:00
  Last KA start before reset 00:00:00, second last 00:00:00
  Precedence: internet
  Enforcing first AS is enabled
  Neighbor capabilities:
    Route refresh: advertised and received
    4-byte AS: advertised and received
    Address family IPv4 Labeled-unicast: advertised and received
  Received 1285 messages, 0 notifications, 0 in queue
  Sent 1174 messages, 0 notifications, 0 in queue
  Minimum time between advertisement runs is 30 secs

For Address Family: IPv4 Labeled-unicast
  BGP neighbor version 145723894
  Update group: 0.1 Filter-group: 0.6  No Refresh request being processed
  Extended community attribute sent to this neighbor
  Route refresh request: received 0, sent 1
  Policy for incoming advertisements is

  Policy for outgoing advertisements is   1 accepted prefixes, 1 are bestpaths
  Cumulative no. of prefixes denied: 0.
  Prefix advertised 107, suppressed 0, withdrawn 3
  Maximum prefixes allowed 131072
  Threshold for warning message 75%, restart interval 0 min
  An EoR was not received during read-only mode
  Last ack version 145723894, Last synced ack version 0
  Outstanding version objects: current 0, max 2
  Additional-paths operation: None

  Connections established 1; dropped 0
  Local host: x.x.x.5, Local port: 179
  Foreign host: x.x.x.4, Foreign port: 40925
  Last reset 00:00:00

and all the routes look good etc.

But when I look in CEF:

RP/0/RSP0/CPU0:rtr10.sjo#show cef x.x.x.127/32

Fri Jul 20 11:33:31.282 METDST

x.x.x.127/32, version 18, drop adjacency, internal 0x4004001 (ptr 0xae650834) [1], 0x0 (0xace7ba70), 0x0 (0xadf366c0)

Updated Jul 19 16:24:29.011

Prefix Len 32, traffic index 0, precedence routine (0)

   via x.x.x.4, 0 dependencies, recursive, bgp-ext [flags 0x20]

    path-idx 0


     local label 16131

it does not seem able to resolve? Which is probably the reason it does not work?

Or have I missed any configuration, do anyone have a working ios-xr 4.1.0 ios inter-as setup working and can share the configuration?

Any hint is appreciated!


I have similar problem. Did you manage to resolve the BGP-LU prefixes received over eBGP session? In my case as well all looks OK (eBGP LU session up, prefixes with labels exchanged, routing table looks OK), with the exception of CEF:


RP/0/0/CPU0:02-ASBR2#show cef detail 
Thu Jul  3 14:48:04.746 UTC, version 393, drop adjacency, internal 0x4004001 0x0 (ptr 0xacba7fa4) [1], 0x0 (0xacba2640), 0x10 (0xacc33754)
 Updated Jul  3 14:14:07.206
 Prefix Len 32, traffic index 0, precedence n/a, priority 4
  gateway array (0xacb63e7c) reference count 18, flags 0xf2, source rib (6), 0 backups
                [7 type 5 flags 0x210101 (0xacc38048) ext 0x0 (0x0)]
  LW-LDI[type=5, refc=3, ptr=0xacba2640, sh-ldi=0xacc38048]
   via, 0 dependencies, recursive, bgp-ext [flags 0x6020]
    path-idx 0 NHID 0x0 [0xacb0ad08 0x0]
     local label 16016 
     labels imposed {16001}

    Load distribution: 0 (refcount 7)

    Hash  OK  Interface                 Address
    0     Y   Unknown                   drop           



Generally, Cisco software requires a /32 route for each next-hop that should be label switched. In the CSC/Inter-AS B/C options, in IOS-XR you must add manually a /32 static route for the peer address of the interconnection in order to create a label for that. IOS creates automatically a /32 connected route when the relevant VPNv4 or labeled BGP session comes up.

Configuring a Static Route to a Peer

Perform this task to configure a static route to an Inter-AS or CSC-CE peer.

When you configure an Inter-AS or CSC peer, BGP allocates a label for a /32 route to that peer and performs a NULL label rewrite. When forwarding a labeled packet to the peer, the router removes the top label from the label stack; however, in such an instance, BGP expects a /32 route to the peer. This task ensures that there is, in fact, a /32 route to the peer.

Please be aware of these facts before performing this task:

•A /32 route is not required to establish BGP peering. A route using a shorter prefix length will also work.

•A shorter prefix length route is not associated with the allocated label; even though the BGP session comes up between the peers, without the static route, forwarding will not work.

Best Regards,



Yes. Figured out in the mean time. Thanks a lot.

You are very welcome!

Best Regards,