Injecting routes in to BGP for advertisement: BGP network command
I am a complete newbie at BGP configurations.Need some clarification on understanding BGP network command.
One of our MPLS site routers have the following config : (Pasting only config snippets ) "
R1# interface Loopback0 ip address 10.129.110.157 255.255.255.252 interface GigabitEthernet0/0 ip address 10.129.110.154 255.255.255.252 interface GigabitEthernet0/1.10 encapsulation dot1Q 10 native ip address 10.129.135.129 255.255.255.192 ! interface GigabitEthernet0/1.20 encapsulation dot1Q 20 ip address 10.129.135.193 255.255.255.192 router bgp XXXXX bgp log-neighbor-changes neighbor 10.129.110.153 remote-as 7795 neighbor 10.129.110.153 neighbor 10.129.110.153 ebgp-multihop 10 ! address-family ipv4 neighbor 10.129.110.153 activate neighbor 10.129.110.153 send-community neighbor 10.129.110.153 soft-reconfiguration inbound no auto-summary no synchronization **network 10.129.110.152 mask 255.255.255.248** network 10.129.135.128 mask 255.255.255.128 exit-address-family "
When the BGP network command
"network 10.129.110.152 mask 255.255.255.248"was put in , we cud not get connectivity to the loop back address "10.129.110.157"and the router from any where else from our network.
but when we split the network command individually
"network 10.129.110.152 mask 255.255.255.252" " network 10.129.110.156 mask 255.255.255.252"
every thing worked fine.
Can some body explain me the correct uasge of network command in BGP. Also, When and in what cases do we use the aggregate-address in BGP.
Thanks in advance.
Do you have an `ip route 10.129.110.152 255.255.255.248 null0` in there? The network statement will not inject routes that aren't in your route table.
I'm highly opinionated that 'network' statement should never be used, it creates config duplicity and in human-operated network over time rots the config (route is pulled, network-statement not). I'd highly suggest giving tag to static routes, which over redistribute route-map is advertised as desired. This way of config will also model better in multi-vendor networks. Unfortunately for connected networks you cannot set today tag (please do PERS/ER to account team), so in connected networks you'll either match to interface name or create prefix-list, which voids duplicity argument.
From an old archive config...
router bgp 7866 ... network 22.214.171.124 mask 255.255.224.0 ... ip route 126.96.36.199 255.255.224.0 Null0 200
We controlled exactly what was broadcast using
network. Null routes a) prevent flapping (when there's an actual interface for that network -- eg. customer provided block), and b) put networks in the route table that wouldn't be there otherwise.