CCNP Certification Tutorial: The BGP Attribute Local Preference
By Chris Bryant, CCIE #12933
When you start studying to pass the BSCI exam and earn your CCNP certification, one of the biggest challenges you face is BGP. BGP is like no other protocol you studied to earn your CCNA, and one of the factors contributing to BGP's complexity is the BGP's use of path attributes to influence path selection.
The Local Preference (LOCAL_PREF) attribute is used to influence how traffic will flow from one Autonomous System (AS) to another when multiple paths exist. For example, if AS 100 has two different paths to a destination network in AS 200, the LOCAL_PREF attribute can be used to influence the path selection.
The major difference between the Weight and LOCAL_PREF attributes is that when the LOCAL_PREF attribute is changed, that change is reflected throughout the AS. The new LOCAL_PREF value will be advertised to all other routers in the AS, as compared to the Weight attribute, which is locally significant only. If you change the Weight for a path on one router in an AS, the other routers in the AS will not learn of the change.
To see the local preference attribute in action, we'll use the following network.

Both R1 and R2 have two paths to 10.2.2.0 /24. In this example, we want to ensure that both R1 and R2 use the path recieved from R3 as the primary route to 10.2.2.0/24, using the path through R4 only if the primary path goes down.
A route-map can be used to change a path's local preference. There are three steps involved. First, write an ACL matching the remote network you want to change the local preference for.
R1(config)#access-list 5 permit 10.2.2.0 0.0.0.255
Second, write a route-map setting the local preference to 200. This will double the default value of 100, and the path with the highest local preference will be the preferred path.(Doubling the local preference is not required - a local preference of 101 would have the same effect on path selection.)
R1(config)#route-map PREFER_PATH permit 10
R1(config-route-map)#match ip address 5
R1(config-route-map)#set local-pref 200
Finally, apply the route-map to routes that are being received from R3.
R1(config)#router bgp 100
R1(config-router)#neighbor 10.1.1.3 route-map PREFER_PATH in
R1 will then advertise this new local preference value to R2, and the path through R3 will be preferred by R2 as well, as well as any future iBGP neighbors.
Not only do you have to know the order in which the BGP attributes are considered, but you have to know how and when to use each one. It's important to remember that while weight is the first attribute BGP considers when choosing between multiple paths, weight is a Cisco-proprietary attribute and is locally significant only. In this configuration, if we wanted to ensure R1 uses the path through R3 while not affecting R2's path selection, weight would be the attribute to use.
To your success,
Chris Bryant
CCIE #12933
chris@thebryantadvantage.com
|