Different BGP capability error codes are explainedA common type of BGP error encountered relates to capability codes, e.g:
unrecognized capability code: 64
Provide an explanation for different BGP capability error codes.
When running debug bgp events to troubleshoot a BGP session, one common type of error encountered relates to capability codes:
unrecognized capability code: <xy>
Where <xy> is one of the following capability code numbers:
1 Multiprotocol Extensions for BGP-4 [RFC2858]
2 Route Refresh Capability for BGP-4 [RFC2918]
3 Outbound Route Filtering Capability [RFC5291]
4 Multiple routes to a destination capability [RFC3107]
5 Extended Next Hop Encoding [RFC5549]
64 Graceful Restart Capability [RFC4724]
65 Support for 4-octet AS number capability [RFC4893]
In RSW, capability negotiation can be disabled with "neighbor dont-capability-negotiate". However, if capability alignment is desired, you may be able to resolve the compatibility issue with one of the following configuration changes based on capability error code:
Code 1 - this code relates to multiprotocol extensions within BGP. This capability is on by default, but in some environments may require disabling. This capability is covered in VSX with "neighbor multi-protocol-nexthop" and in both RSW and VSX with "address-family"
Code 2 - this code relates to route refresh capabilities. This capability is covered in VSX and RSW with "neighbor soft-reconfiguration inbound" and also in RSW with "neighbor capability route-refresh".
Code 3 - this code relates to outbound route filters (ORF). This capability is covered in "neighbor capability orf" in VSX and RSW.
Code 5 - this code relates to next-hop encoding. In RSW and VSX, "address-family" may address some of these capability incompatibilities.
Code 64 - this code relates to graceful restarting capabilities of BGP. This capability is covered in RSW with "neighbor capability graceful-restart" and "restart bgp graceful" and in VSX with "neighbor graceful-restart".
Code 65 - this code relates to extended communities within an AS. This capability is covered in RSW with "ip extcommunity-list expanded" and in VSX dynamic routing with "ip community-set <set_id> extended". Please refer to the command reference documentation of these packages for specific more details on options available within these extended communities. You can also advertise extended communities to the peer (if it is complaining of capability codes) via "neighbor capability orf extcomm-filter" in VSX and is automatically redistributed in RSW provided extended communities have been enabled.