A simple one to get the posts flowing…
BGP peer groups simplify the configuration of BGP neighbors by moving the template into a configuration. For example, look at R3:
router bgp 1 no synchronization bgp log-neighbor-changes network 10.3.3.0 mask 255.255.255.0 network 10.50.0.0 mask 255.255.0.0 neighbor 10.50.0.1 remote-as 1 neighbor 10.50.0.2 remote-as 1 neighbor 10.50.0.2 route-reflector-client neighbor 10.50.0.4 remote-as 1 neighbor 10.50.0.4 route-reflector-client
There are two route reflector clients here with similar configuration. There are only two lines per client, but it is entirely possible that there could be more in the future.
router bgp 1 neighbor rrclient peer-group neighbor rrclient remote-as 1 neighbor rrclient route-reflector-client neighbor 10.50.0.1 remote-as 1 neighbor 10.50.0.2 peer-group rrclient neighbor 10.50.0.4 peer-group rrclient
Here, I’ve defined defined a peer group called rrclient that has a remote-as of 1 and defines the peer as being a route-reflector client. At the neighbor level, I simply define it as being part of the peer group.
Behavior at the peer group level can be overridden. Take for example a peer group for eBGP peers, every one will have a different remote-as. The peer-group wouldn’t define the remote-as, but we’d have something like
neighbor x.x.x.x peer-group ebgpclients neighbor x.x.x.x remote-as XXXX
A neighbor’s configuration can also override the peer-group on a per neighbor basis.
neighbor filterme peer-group neighbor filterme route-map filtercustomers out neighbor x.x.x.x peer-group filterme neighbor x.x.x.x remote-as XXXX neighbor x.x.x.x route-map filternone out
Here, the x.x.x.x neighbor would have the filternone filter applied, while any other configured neighbors would have filtercustomers.
Peer groups are used to scale the configuration of BGP peers. They also reduce the possibility of errors.
Content Copyright Sean Walberg
BGP Peer Groups