This document describes how all routes are sent in Internetwork Operating System (IOS) while it is up to the peer to filter the routes on ingress by way of Autonomous System (AS) PATH lookup. However, in Cisco IOS XR this is not always the case as some of the routes are advertised, just like in IOS, while in other cases the IOS XR router will filter these routes.
This rule applies when a Cisco IOS XR router acts as a transit router for two external Border Gateway Protocol (eBGP) peers in the same AS.
All neighbors without as-override configured will be placed in a common update-group assuming other parameters match.
(a) When an update-group contains only one neighbor, perform send-side loop detection. With this, all routes in which the first AS number of the AS PATH matches the neighbor's AS will not be advertised to the neighbor. If the neighbor's AS is contained in any other position of the AS PATH, such routes are advertised normally.
(b) If CLI knob as-path-loopcheck out disable is configured under the Virtual Routing and Forwarding (VRF) address-family or Virtual Private Network (VPN) address-family configuration sub-modes, then the behavior in 2(a) is overridden.
If the update-group contains more than one neighbor, the behavior in rule 2 does not apply. Routes are advertised normally.
Note: Configuring as-path-loopcheck out disable is not recommended as it could cause loops in the network. This Border Gateway Protocol (BGP) knob is only noted because it is a possible configuration.
Since update-groups are configured dynamically by the software there might be cases where one Cisco IOS XR router in the network behaves according to rule 2(a) and another router behaves by rule 3. This could cause issues for network designers, so instead it is recommended to plan for either condition.
The AS-override or as-path-loopcheck out disable CLI knobs should be configured if we need to distribute routes through a transit AS back to the same AS. Otherwise, we can let default filtering take place on the peer to ignore the routes.
Relying just on allow-as-in' is not a reliable method as in some design scenarios all routes will be advertised and in others the AS PATH check will cause filtering of some routes by the transit Cisco IOS XR router.