09-24-2015 10:01 PM
Hello Experts,
ASR1k IOS-XE are deployed as RR for IPv4/VPNv4 and it works great. But, recently we are looking into adding new RR function for L2VPN VPWS (BGP used for both Auto-discovery and Signaling, RFC 4761). The VPWS (BGP for both AD and Signaling) PW session works ok between ASR9k PE routers, but when using ASR1k IOS-XE as l2vpn RR, the l2vpn vpws session start bouncing evey 6 seconds.
One think i noticed - the IOS-XE BGP address-family l2vpn has no sub-address family 'vpws'. but only 'vpls'. On the other hand, on IOS-XE, there is SAFI 'vpws-vpls'. Does IOS-XE not support VPWS yet or is something i am missing here. is there any work around?
IOS-XR:
RP/0/RSP0/CPU0:PE-ASR1#sh run router bgp xxx address-family l2vpn vpls-vpws
---
router bgp xxx
address-family l2vpn vpls-vpws
!
!
IOS-XE:
RR2(config)#router bgp xxx
RR2(config-router)#add
RR2(config-router)#address-family l2vpn ?
evpn Address Family modifier
vpls Address Family modifier
<cr>
RR2(config-router)#address-family l2vpn vpls ?
<cr>
157952: Sep 24 21:28:59.457 PDT: %BGP-5-ADJCHANGE: neighbor 7.6.0.210 Up
157953: Sep 24 21:29:09.697 PDT: %BGP-5-ADJCHANGE: neighbor 7.6.0.230 Up
157954: Sep 24 21:29:14.700 PDT: %BGP-3-NOTIFICATION: sent to neighbor 7.6.0.230 3/10 (illegal network) 1 bytes CD
157955: Sep 24 21:29:14.700 PDT: %BGP-4-MSGDUMP: unsupported or mal-formatted message received from 7.6.0.230:
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 005D 0200 0000 4690 0E00 2100 1941 0407
0600 E600 0016 0001 0706 001E 8000 001E 000A 000A 0478 6101 0010 7FFF 4001 0100
4002 0040 0504 0000 0064 C010 1000 0248 8600 0055 F180 0A04 0205 DC00 00
157956: Sep 24 21:29:14.704 PDT: %BGP-3-NOTIFICATION: received from neighbor 7.6.0.210 3/10 (illegal network) 1 bytes 60
157957: Sep 24 21:29:14.704 PDT: %BGP-5-NBR_RESET: Neighbor 7.6.0.210 reset (BGP Notification received)
157958: Sep 24 21:29:14.704 PDT: %BGP-5-ADJCHANGE: neighbor 7.6.0.210 Down BGP Notification received
157959: Sep 24 21:29:14.704 PDT: %BGP_SESSION-5-ADJCHANGE: neighbor 7.6.0.210 L2VPN Vpls topology base removed from session BGP Notification received
157960: Sep 24 21:29:19.357 PDT: %BGP-5-NBR_RESET: Neighbor 7.6.0.230 reset (BGP Notification sent)
157961: Sep 24 21:29:19.357 PDT: %BGP-5-ADJCHANGE: neighbor 7.6.0.230 Down BGP Notification sent
157962: Sep 24 21:29:19.357 PDT: %BGP_SESSION-5-ADJCHANGE: neighbor 7.6.0.230 L2VPN Vpls topology base removed from session BGP Notification sent
157963: Sep 24 21:29:25.059 PDT: %BGP-5-ADJCHANGE: neighbor 7.6.0.210 Up
157964: Sep 24 21:29:35.300 PDT: %BGP-5-ADJCHANGE: neighbor 7.6.0.230 Up
157965: Sep 24 21:29:40.303 PDT: %BGP-3-NOTIFICATION: sent to neighbor 7.6.0.230 3/10 (illegal network) 1 bytes CD
157966: Sep 24 21:29:40.303 PDT: %BGP-4-MSGDUMP: unsupported or mal-formatted message received from 7.6.0.230:
FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF 005D 0200 0000 4690 0E00 2100 1941 0407
0600 E600 0016 0001 0706 001E 8000 001E 000A 000A 0478 6101 0010 7FFF 4001 0100
4002 0040 0504 0000 0064 C010 1000 0248 8600 0055 F180 0A04 0205 DC00 00
157967: Sep 24 21:29:40.306 PDT: %BGP-3-NOTIFICATION: received from neighbor 7.6.0.210 3/10 (illegal network) 1 bytes 60
Regards,
-Intopian
09-25-2015 10:10 AM
Hello,
On the ASR1k side, could you please configure
neighbor <neighbor-ip> prefix-length-size 2
and see if that resolves the problem.
Regards
Vinit
09-25-2015 12:35 PM
Based on the initial description, it seems you are facing the problem between IOS XE and IOS XR. Please correct me if I am wrong. If that is the case, then the workaround suggested in my previous post should help fix this issue.
If you decode the BGP message, you can see that the NLRI length is 0:
NLRI ===== NLRI LENGTH: UPDATE Length - 23 - TOTAL PATH ATTRIBUTES LENGTH - UNFEASIBLE ROUTES LEN NLRI LENGTH: 93 - 23 - 70 - 0 (Update Length is 93, Total path attribute length is 70) NLRI LENGTH: 0 bytes
This is what is causing the BGP session to get reset.
The Cisco IOS Software encodes the NLRI length in the fist byte in bits format in the BGP Update message. However, the Cisco IOS XR Software interprets the NLRI length in 2 bytes. Therefore, when the BGP neighbor with VPLS-VPWS address family is configured between the IOS and the IOS XR, NLRI mismatch can happen, leading to flapping between neighbors. To avoid this conflict, IOS supports prefix-length-size 2 command that needs to be enabled for IOS to work with IOS XR. When the prefix-length-size 2 command is configured in IOS, the NLRI length is encoded in bytes. This configuration is mandatory for IOS / IOS XE to work with IOS XR.
Hope this helps.
Regards
Vinit
09-25-2015 03:59 PM
Hi Vinit,
I have added the cmd 'prefix-length-size 2' on the l2vpn neighbor configuraion, but the issue persist, even after BGP hard clear.
the ASR1k RR(IOS-XE) has two l2vpn PE neighbor and this is happening only on one sessoin. both session and both PE configuration are identical, so it is odd that the issue observed only on one session. MTU path checked no issue....seems something trigered based on that perticular PE session...
Regards,
-Won
09-25-2015 04:24 PM
Hello Won
Could you please share the complete configuration from both the XR and the IOS XE router.
Also, are you testing this on real routers or on VIRL?
Regards,
Vinit
05-07-2017 08:44 AM
Hello,
I was facing the same issue and the "neighbor <neighbor-ip> prefix-length-size 2" command solved it.
(GNS3 with IOS XE and IOS XR.)
Thanks and best regards,
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide