Exploring the quirks of Network Engineering
Scenario
The BGP attribute filter can be used, as the name suggests, to filter unsupported or undesired attributes attached to a received prefix. If prefix filtering is enabled for the appropriate attribute, it will be stripped/discarded from the prefix. A list of attributes can be found here. An alternative to discarding the attribute is to use treat-as-withdrawal option – in this instance, the router will treat the prefix advertisement as a withdrawal. This should be used with care as it could break fundamental BGP operations. The below example shows a basic eBGP neighborship implementing filtering/discarding on attribute 30 and treat-as-withdrawal on attribute 31 – both of which are depreciated. The main difference is that XR must uses an attribute-filter.
IOS Config
router bgp 100 bgp router-id 172.16.1.1 bgp log-neighbor-changes no bgp default ipv4-unicast neighbor 10.1.1.2 remote-as 200 neighbor 10.1.1.2 path-attribute discard 30 in neighbor 10.1.1.2 path-attribute treat-as-withdrawal 31 in address-family ipv4 neighbor 10.1.1.2 activate exit-address-family!
XR Config
router bgp 100 bgp log neighbor changes detail bgp router-id 172.16.1.1 ! attribute-filter group FILTER-GROUP attribute 30 discard attribute 31 treat-as-withdraw ! address-family ipv4 unicast ! neighbor 10.1.1.2 remote-as 200 update in filtering attribute-filter group FILTER-GROUP ! address-family ipv4 unicast ! !!