BGP attribute local preference is the second BGP attribute and it can be used to choose the exit path for an autonomous system. Here are the details:
- Local preference is the second BGP attribute.
- You can use local preference to choose the outbound external BGP path.
- Local preference is sent to all internal BGP routers in your autonomous system.
- Not exchanged between external BGP routers.
- Local preference is a well-known and discretionary BGP attribute.
- The default value is 100.
- The path with the highest local preference is preferred
Let me show you an example:
You can use local preference to configure your autonomous system to select a certain exit point. Instead of configuring weight on each router, you can use local preference because it is exchanged on all internal BGP routers. By increasing the local preference to 800, we can make AS 1 send all traffic toward AS 2.
A well-known discretionary BGP attribute must be recognized by all BGP routers per RFC, but its presence in a BGP update is optional.
Configuration
Now let me show you how to configure local preference. Here is the topology that we will use:
In the picture above, we have two autonomous systems. R1 will advertise network 1.1.1.0/24 towards AS 2, and R4 will have to choose when it wants to reach this network. It can go through router R2 or R3. We’ll see how local preference influence this. Here’s the default BGP configuration of R1:
R2(config)#interface loopback 0
R2(config-if)#ip address 1.1.1.1 255.255.255.0
R1(config)#router bgp 1
R1(config-router)#neighbor 192.168.12.2 remote-as 2
R1(config-router)#neighbor 192.168.13.3 remote-as 2
R1(config-router)#network 1.1.1.0 mask 255.255.255.0
Let’s configure AS 2 with OSPF:
R2(config)#interface loopback 0
R2(config-if)#ip address 2.2.2.2 255.255.255.0
R2(config)#router ospf 1
R2(config-router)#network 192.168.24.0 0.0.0.255 area 0
R2(config-router)#network 2.2.2.0 0.0.0.255 area 0
R3(config)#interface loopback 0
R3(config-if)#ip address 3.3.3.3 255.255.255.0
R3(config)#router ospf 1
R3(config-router)#network 192.168.34.0 0.0.0.255 area 0
R3(config-router)#network 3.3.3.0 0.0.0.255 area 0
R4(config)#interface loopback 0
R4(config-if)#ip address 4.4.4.4 255.255.255.0
R4(config)#router ospf 1
R4(config-router)#network 192.168.24.0 0.0.0.255 area 0
R4(config-router)#network 192.168.34.0 0.0.0.255 area 0
R4(config-router)#network 4.4.4.0 0.0.0.255 area 0
Now we can configure IBGP within AS 2:
R2(config)#router bgp 2
R2(config-router)#neighbor 192.168.12.1 remote-as 1
R2(config-router)#neighbor 3.3.3.3 remote-as 2
R2(config-router)#neighbor 3.3.3.3 update-source loopback0
R2(config-router)#neighbor 4.4.4.4 remote-as 2
R2(config-router)#neighbor 4.4.4.4 update-source loopback0
R2(config-router)#neighbor 4.4.4.4 next-hop-self
R3(config)#router bgp 2
R3(config-router)#neighbor 192.168.13.1 remote-as 1
R3(config-router)#neighbor 2.2.2.2 remote-as 2
R3(config-router)#neighbor 2.2.2.2 update-source loopback0
R3(config-router)#neighbor 4.4.4.4 remote-as 2
R3(config-router)#neighbor 4.4.4.4 update-source loopback0
R3(config-router)#neighbor 4.4.4.4 next-hop-self
R4(config)#router bgp 2
R4(config-router)#neighbor 2.2.2.2 remote-as 2
R4(config-router)#neighbor 2.2.2.2 update-source loopback 0
R4(config-router)#neighbor 3.3.3.3 remote-as 2
R4(config-router)#neighbor 3.3.3.3 update-source loopback 0
And above, you can see the BGP configurations.
Now let’s find out what path R4 will use to reach network 1.1.1.0/24:
hy, i’m something problem in my network, can you help me.
example ;
- added 2 router James
- added 1 router CE
- AS 1 and AS 2
- Local preference : 700
- routing router CE to router James A and B with OSPF
how to configur Local preference in router Jim ?
My topology ;
router CE ==> router james A & B (AS :1) ======> (AS:2) router Jim & Jon
Thanks
You can use a route-map like I did above. For example attach it to router Jim on inbound updates and set the local preference there.
i’ve done like route-map like did above, so ping & Lokal preference OK.
but I am having problems in the CE router, I use OSPF routing.
why Only classful networks will be redistributed ?
thanks
Hi Parwis,
By default, only classful networks are redistributed when using the “redistribute connected” command. You’ll need to include the “subnets” option if you want classless networks to be also redistributed. The command will be :
redistribute connected subnets
Hi,
What would be scenario if i apply
neighor 192.168.13.1 route-map LOCALPREF out instead of route-map LOCAL PREF in
Regards,
Vishal