The topology will be used to demonstrate this feature and the proof of function
The setup consists of 5 routers each participating in its own AS # with each router advertising its loopback 0 network into BGP (each router loopback 0 interface follow the criteria x.x.x.x/32 where x is the router number)
Checking the BGP table for the prefixes received
R1#sh ip bgp
BGP table version is 6, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 0.0.0.0 0 32768 i
*> 2.2.2.2/32 192.168.12.2 0 0 2 i
*> 3.3.3.3/32 192.168.13.3 0 0 3 i
* 4.4.4.4/32 192.168.13.3 0 3 4 i
*> 192.168.12.2 0 2 4 i
* 5.5.5.5/32 192.168.13.3 0 3 4 5 i
*> 192.168.12.2 0 2 4 5 i
As we can see from the output above that R1 is learning 4.4.4.4/32 and 5.5.5.5/32 from two different paths , it prefers the path through R2 because R2 has the lowest BGP router ID
R1#show ip bgp 5.5.5.5 255.255.255.255
BGP routing table entry for 5.5.5.5/32, version 6
Paths: (2 available, best #2, table default)
Advertised to update-groups:
1
Refresh Epoch 1
3 4 5
192.168.13.3 from 192.168.13.3 (3.3.3.3)
Origin IGP, localpref 100, valid, external
rx pathid: 0, tx pathid: 0
Refresh Epoch 1
2 4 5
192.168.12.2 from 192.168.12.2 (2.2.2.2)
Origin IGP, localpref 100, valid, external, best
rx pathid: 0, tx pathid: 0x0
R1#show ip cef 5.5.5.5 255.255.255.255
5.5.5.5/32
nexthop 192.168.12.2 FastEthernet1/0
Through FIB, only one entry is installed which is the best route to reach that destination
Now, let us turn on prefix-independent convergence on R1
R1
R1(config)#router bgp 1
R1(config-router)#address-family ipv4 unicast
R1(config-router-af)#bgp additional-paths install
R1#sh ip bgp
BGP table version is 11, local router ID is 1.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.1/32 0.0.0.0 0 32768 i
*> 2.2.2.2/32 192.168.12.2 0 0 2 i
*> 3.3.3.3/32 192.168.13.3 0 0 3 i
*b 4.4.4.4/32 192.168.13.3 0 3 4 i
*> 192.168.12.2 0 2 4 i
*b 5.5.5.5/32 192.168.13.3 0 3 4 5 i
*> 192.168.12.2 0 2 4 5 i
R1#sh ip bgp 5.5.5.5 255.255.255.255
BGP routing table entry for 5.5.5.5/32, version 11
Paths: (2 available, best #2, table default)
Additional-path-install
Advertised to update-groups:
1
Refresh Epoch 1
3 4 5
192.168.13.3 from 192.168.13.3 (3.3.3.3)
Origin IGP, localpref 100, valid, external, backup/repair, recursive-via-connected
rx pathid: 0, tx pathid: 0
Refresh Epoch 1
2 4 5
192.168.12.2 from 192.168.12.2 (2.2.2.2)
Origin IGP, localpref 100, valid, external, best , recursive-via-connected
rx pathid: 0, tx pathid: 0x0
R1#sh ip cef 5.5.5.5 255.255.255.255 detail
5.5.5.5/32, epoch 0, flags rib only nolabel, rib defined all labels
recursive via 192.168.12.2
attached to FastEthernet1/0
recursive via 192.168.13.3, repair
attached to FastEthernet1/1