IOS8
router bgp 100
bgp log-neighbor-changes
neighbor 100.9.9.9 remote-as 100
neighbor 100.9.9.9 update-source Loopback0
neighbor 100.14.14.14 remote-as 100
neighbor 100.14.14.14 update-source Loopback0
IOS9
router bgp 100
bgp log-neighbor-changes
neighbor 100.8.8.8 remote-as 100
neighbor 100.8.8.8 update-source Loopback0
neighbor 100.9.15.15 remote-as 15
CSR11
router bgp 100
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 100.13.13.13 remote-as 100
neighbor 100.13.13.13 update-source Loopback0
neighbor 100.14.14.14 remote-as 100
neighbor 100.14.14.14 update-source Loopback0
!
address-family ipv4
neighbor 100.13.13.13 activate
neighbor 100.14.14.14 activate
exit-address-family
XR13
router bgp 100
address-family ipv4 unicast
!
neighbor 100.11.11.11
remote-as 100
update-source Loopback0
address-family ipv4 unicast
!
!
neighbor 100.13.15.15
remote-as 15
address-family ipv4 unicast
route-policy PASS in
route-policy PASS out
!
!
CSR14
router bgp 100
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 100.8.8.8 remote-as 100
neighbor 100.8.8.8 update-source Loopback0
neighbor 100.11.11.11 remote-as 100
neighbor 100.11.11.11 update-source Loopback0
!
address-family ipv4
network 100.14.14.14 mask 255.255.255.255
neighbor 100.8.8.8 activate
neighbor 100.11.11.11 activate
exit-address-family
IOS8#show bgp ipv4 unicast summary
BGP router identifier 100.8.8.8, local AS number 100
BGP table version is 3, main routing table version 3
3 network entries using 432 bytes of memory
3 path entries using 240 bytes of memory
3/1 BGP path/bestpath attribute entries using 456 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1152 total bytes of memory
BGP activity 3/0 prefixes, 3/0 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
100.9.9.9 4 100 30 30 3 0 0 00:21:12 2
100.14.14.14 4 100 82 77 3 0 0 01:02:23 1
IOS8#show bgp ipv4 unicast
BGP table version is 3, local router ID is 100.8.8.8
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
* i 100.1.15.0/24 100.9.15.15 0 100 0 15 ?
r>i 100.14.14.14/32 100.14.14.14 0 100 0 i
* i 100.15.15.15/32 100.9.15.15 0 100 0 15 i
IOS9#show bgp ipv4 unicast summary
BGP router identifier 100.9.9.9, local AS number 100
BGP table version is 6, main routing table version 6
2 network entries using 288 bytes of memory
2 path entries using 160 bytes of memory
2/2 BGP path/bestpath attribute entries using 304 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 776 total bytes of memory
BGP activity 3/1 prefixes, 3/1 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
100.8.8.8 4 100 30 31 6 0 0 00:21:31 0
100.9.15.15 4 15 219 217 6 0 0 03:12:18 2
IOS9#show bgp ipv4 unicast
BGP table version is 6, local router ID is 100.9.9.9
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
*> 100.1.15.0/24 100.9.15.15 0 0 15 ?
*> 100.15.15.15/32 100.9.15.15 0 0 15 i
CSR11#show bgp ipv4 unicast summary
BGP router identifier 100.11.11.11, local AS number 100
BGP table version is 2, main routing table version 2
3 network entries using 744 bytes of memory
3 path entries using 408 bytes of memory
3/1 BGP path/bestpath attribute entries using 840 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 2016 total bytes of memory
BGP activity 3/0 prefixes, 3/0 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
100.13.13.13 4 100 61 63 2 0 0 00:56:25 2
100.14.14.14 4 100 73 70 2 0 0 00:58:32 1
CSR11#show bgp ipv4 unicast
BGP table version is 2, local router ID is 100.11.11.11
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,
t secondary path,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
Network Next Hop Metric LocPrf Weight Path
* i 100.1.15.0/24 100.13.15.15 0 100 0 15 ?
r>i 100.14.14.14/32 100.14.14.14 0 100 0 i
* i 100.15.15.15/32 100.13.15.15 0 100 0 15 i
RP/0/0/CPU0:XR13# show bgp ipv4 unicast summary
Thu Jan 2 04:05:46.057 UTC
BGP router identifier 100.13.13.13, local AS number 100
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0xe0000000 RD version: 6
BGP main routing table version 6
BGP NSR Initial initsync version 2 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs
BGP is operating in STANDALONE mode.
Process RcvTblVer bRIB/RIB LabelVer ImportVer SendTblVer StandbyVer
Speaker 6 6 6 6 6 0
Neighbor Spk AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down St/PfxRcd
100.11.11.11 0 100 62 60 6 0 0 00:55:06 0
100.13.15.15 0 15 209 189 6 0 0 03:04:44 2
RP/0/0/CPU0:XR13# show bgp ipv4 unicast
Thu Jan 2 04:12:20.800 UTC
BGP router identifier 100.13.13.13, local AS number 100
BGP generic scan interval 60 secs
Non-stop routing is enabled
BGP table state: Active
Table ID: 0xe0000000 RD version: 6
BGP main routing table version 6
BGP NSR Initial initsync version 2 (Reached)
BGP NSR/ISSU Sync-Group versions 0/0
BGP scan interval 60 secs
Status codes: s suppressed, d damped, h history, * valid, > best
i - internal, r RIB-failure, S stale, N Nexthop-discard
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> 100.1.15.0/24 100.13.15.15 0 0 15 ?
*> 100.15.15.15/32 100.13.15.15 0 0 15 i
Processed 2 prefixes, 2 paths
CSR14#show bgp ipv4 unicast summary
BGP router identifier 100.14.14.14, local AS number 100
BGP table version is 2, main routing table version 2
1 network entries using 248 bytes of memory
1 path entries using 120 bytes of memory
1/1 BGP path/bestpath attribute entries using 256 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 624 total bytes of memory
BGP activity 2/1 prefixes, 3/2 paths, scan interval 60 secs
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
100.8.8.8 4 100 78 83 2 0 0 01:04:33 0
100.11.11.11 4 100 71 74 2 0 0 00:59:17 0
CSR14#show bgp ipv4 unicast
BGP table version is 2, local router ID is 100.14.14.14
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
*> 100.14.14.14/32 0.0.0.0 0 32768 i
iBGP peerings by default don't updates beyond their direct peering. So when CSR14 advertises a route via BGP, IOS8 and CSR11, will receive it, however, IOS9 and XR13 won't receive it. Same with CSR15 advertising a route via BGP, IOS9 and XR13 will receiving and they'll propagate it to their direct peerings.
This can be solved by forming iBGP peerings with CSR14 to IOS9 and XR13, which would be true full mesh. Or IOS8, CSR11 and CSR14 could become route-reflector-clients of XR13 and IOS9. Or vice-versa, CSR14 being a route-reflector to IOS9 and XR13.
BGP is used in a variety different scenarios, SP, Enterprise, DC. In this set of labs, we'll be focusing on SP where every router will be enabled for BGP. This necessary for non MPLS enabled BGP environments. Since we'll be focusing on both iBGP and eBGP, it will be necessary to understand how BGP operates.