]> git.proxmox.com Git - mirror_frr.git/commit - bgpd/bgpd.c
bgpd: Add `neighbor soo` command
authorDonatas Abraitis <donatas@opensourcerouting.org>
Fri, 19 Aug 2022 10:15:15 +0000 (13:15 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Sat, 20 Aug 2022 18:22:45 +0000 (21:22 +0300)
commit01da2d26911c72023e71579bf4feeb707087ef50
treedff456fac02b8efd4ccc4686bcf07fccfc07a4af
parenta9f3f4f5262b5c650452c3f5d61f48eba4e367db
bgpd: Add `neighbor soo` command

BGP SoO is a tag that is appended on BGP updates to allow a peer to mark
a particular peer as belonging to a particular site. In certain MPLS L3 VPN
configurations, the BGP AS-Path may not provide the granularity needed
prevent a loop in the control-plane. With this in mind, BGP SoO is designed
to fill this gap and prevent a routing loop that may occur.

If we configure for example, `neighbor soo 65000:1` at PEs, routes won't be
announced between CPEs if soo matches. This is especially needed when using
as-override or allowas-in.

Also, this is the automated way of the same behavior as configuring route-maps
for each peer like:

```
bgp extcommunity-list cpe permit soo 65000:1
!
route-map cpe permit 10
 set extcommunity soo 65000:1
...
route-map cpe deny 10
 match extcommunity cpe
route-map cpe permit 20
...
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgp_fsm.c
bgpd/bgp_route.c
bgpd/bgp_updgrp.c
bgpd/bgp_vty.c
bgpd/bgpd.c
bgpd/bgpd.h
doc/user/bgp.rst