This article explains why a Border Gateway Protocol (BGP) session between a Juniper Networks device and a Cisco device may go down with the error "(Open Message Error) subcode 7 (unsupported capability) Capability other than MP," and provides a solution to resolve the error.
The Border Gateway Protocol (BGP) session between Juniper and Cisco devices goes down after upgrade to Junos OS release 16.1 with the following error message:
Feb 2 14:39:31 R1 rpd[14099]: %DAEMON-4: bgp_handle_notify:4220: NOTIFICATION received from xx.xx.xx.xx (External AS xxxx): code 2 (Open Message Error) subcode 7 (unsupported capability) Capability other than MP
From BGP Traces, we can confirm that the capability is not supported:
*Apr 26 11:28:47.126 AEST: BGP: xx.xx.xx.xx active OPEN has CAPABILITY code: 71, length 0 *Apr 26 11:28:47.126 AEST: BGP: xx.xx.xx.xx active unrecognized capability code: 71 *Apr 26 11:28:47.126 AEST: BGP: xx.xx.xx.xx active malformed/un-supported OPEN capability *Apr 26 11:28:47.126 AEST: BGP: xx.xx.xx.xx active went from OpenSent to Closing
From TCP Dump:
15:18:51.549787 Out Juniper PCAP Flags [Ext], PCAP Extension(s) total length 22 Device Media Type Extension TLV #3, length 1, value: Flexible-Ethernet-Services (52) Logical Interface Encapsulation Extension TLV #6, length 1, value: Ethernet (14) Device Interface Index Extension TLV #1, length 2, value: 594 Logical Interface Index Extension TLV #4, length 4, value: 388 Logical Unit Number Extension TLV #5, length 4, value: 500 -----original packet----- 3c:94:d5:ad:2a:e9 > 50:0f:80:4f:96:40, ethertype 802.1Q (0x8100), length 121: vlan 500, p 6, ethertype IPv4, (tos 0xc0, ttl 1, id 25109, offset 0, flags [none], proto: TCP (6), length: 103) 10.48.64.18.bgp > 10.48.64.17.48525: P 1:64(63) ack 58 win 16384: BGP, length: 63 Open Message (1), length: 63 Version 4, my AS 64500, Holdtime 90s, ID xx.xx.xx.xx Optional parameters, length: 34 Option Capabilities Advertisement (2), length: 6 Multiprotocol Extensions (1), length: 4 AFI IPv4 (1), SAFI Unicast (1) 0x0000: 0001 0001 Option Capabilities Advertisement (2), length: 2 Route Refresh (Cisco) (128), length: 0 Option Capabilities Advertisement (2), length: 2 Route Refresh (2), length: 0 Option Capabilities Advertisement (2), length: 4 Graceful Restart (64), length: 2 Restart Flags: [none], Restart Time 120s 0x0000: 4078 Option Capabilities Advertisement (2), length: 6 32-Bit AS Number (65), length: 4 4 Byte AS 64500 0x0000: 0000 1d32 Option Capabilities Advertisement (2), length: 2 Unknown (71), length: 0 no decoder for Capability 71
From the above logs, we can see that the router sends to the remote peer the BGP capability 71, which is the Long-Lived Graceful Restart (LLGR) capability.
The Cisco router does not recognize Capability Option Code 71 and rejects the Open request with the above error.
When you run a search on BGP Capability Code 71, you see that it refers to the Long-Lived Graceful Restart (LLGR) capability.
The Long-Lived Graceful Restart (LLGR) capability has been added from Junos OS release 15.1 and the LLGR receiver mode is enabled by default. See graceful-restart (Long-Lived for BGP Helper) for more information.
To disable this feature, use the following knob for a specific neighbor:
set protocols bgp group “name” neighbor “ID” graceful-restart long-lived receiver disable
Another solution would be to upgrade the Cisco router to a software version that does recognize this capability option code.
2021-12-30: Added suggestion to upgrade Cisco router; minor edits.2023-03-15: Added link reference to IANA, minor edits.