BGP Path Attributes BGP Path Attributes BGP (Border Gateway protocol is a path vector routing protocol, meaning it uses path attributes to determine the best routing path. There are eight (8) attributes that BGP uses in the determination of that best path. Mnemonic First Letter BGP Path Attribute We W Weight Love L Local_pref Oranges O Originate As A AS_path Oranges O Origin type Mean M MED (Multiple Exit Discriminator) Pure P Paths Refreshment R Router-ID This is not inclusive of all 13 path attributes but this covers the majority of them. particularly those that we often see used in practice. WEIGHT Cisco specific parameter Local to the router Preference: highest weight LOCAL PREFERENCE (Local_pref) This parameter often gets used for route manipulation. Default value of 100 Preference: highest local_pref ORIGINATE How a path was sourced Preference: local paths from network or redistribute commands are preferred versus local aggregates via aggregate-address command AUTONOMOUS SYSTEM PATH (AS_path) The number of autonomous systems in the path Preference: shortest AS_path It is the number of autonomous systems in the path NOT the number of routers in the path. ORIGIN TYPE Preference: lowest origin type IGP EGP ? Incomplete MED (Multi-exit Discriminator) Optional non-transitive attribute A hint to external neighbors about the preferred path into an autonomous system (AS) that has multiple entry points Preference: lowest MED PATHS (eBGP vs iBGP) Preference: eBGP over iBGP eBGP iBGP Administrative distance: 20 Administrative distance: 200 ROUTER-ID Preference: route from the lowest router ID Summary of the Attributes Mnemonic First Letter BGP Path Attribute Preference We W Weight Higher Love L Local_pref Higher Oranges O Originate Local vs Aggregate As A AS_path Lower Oranges O Origin type IGP vs EGP vs ? Mean M MED Lower Pure P Paths eBGP vs oBGP Refreshment R Router-ID Lower BGP Route Manipulation Scenario: Make the preferred path for the 20.0.0.0 network go through another router R4(config)#ip prefix-list PREF20 permit 20.0.0.0/24R4(config)#route-map MAP20 permit 10R4(config-route-map)#match ip address prefix-list PREF20R4(config-route-map)#set ? R4(config-route-map)#set weight 999R4(config-route-map)#exitR4(config)#route-map MAP20 permit 20R4(config-route-map)#exitR4(config)#router bgp 65004R4(config-router)#neighbor 34.34.34.1 route-map MAP20 inR4(config-router)#endR4#clear ip bgp * Summary of Route Manipulation Steps Create a prefix list Router(config)#ip prefix-list [list name] permit [network IP] Create a route map Router(config)#route-map [map name] permit [line #]Router(config-route-map)#match ip address prefix-list [list name] Router(config-route-map)#set weight [value] Apply the route map to BGP configuration Router(config-router)#neighbor [neighbor IP address] route-map [map name] [in/out] BGP Transitive and Non-transitive Attributes Transitive Attributes are those BGP attributes that are ALLOWED to be sent to other BGP peers.  Non-transitive attributes  are NOT allowed to be sent to other peers. There are four categories of path attributes: Well-known mandatory This attribute MUST exist in the BGP UPDATE. If this attribute is missing a NOTIFICATION error is generated and the session is closed. Must be recognized by all BGP routers and must be included in every update message. Routing information errors occur without this attribute. Well-known discretionary Can be recognized by all BGP routers; can be included in every update message as needed. Optional transitive Transitive attribute between ASs. A BGP router not supporting this attribute can still receive routes with this attribute and advertise them to other peers. Optional non-transitive If a BGP router does not support this attribute, it will not advertise routes with this attribute. BGP Path Attribute Category Weight Cisco specific local to router Local_pref Well-known discretionary AS_path Well-known mandatory Origin type Well-known mandatory MED Optional non-transitive Troubleshooting BGP