BGP Site of Origin (SoO) Community
In BGP the Site of Origin (SoO) attribute is a BGP extended community used primarily in MPLS VPNs to prevent routing loops in certain scenarios, particularly when a prefix might be advertised back to its original site through a different path.
Here's how it works:
-
Context: In MPLS Layer 3 VPNs, a customer's network can be spread across multiple sites, connected through a service provider’s network. MP-BGP with VPNv4/VPNv6 address families is used to advertise customer routes between these sites. In cases where redundant connections or path diversity exists, it is possible for a route to be learned by one site and then re-advertised back to another site, creating a routing loop.
-
SoO Use: The SoO community marks prefixes with the site they originate from. When a PE (Provider Edge) router advertises a route to another PE, it includes the SoO value. If a PE receives a route with an SoO that matches the site it serves, it will not accept the route. This prevents the possibility of the route being looped back to its original site.
Key Points
- SoO is an extended community: It's 8 bytes, consisting of a 2-byte type field and a 6-byte value field that can be attached to BGP routes, commonly used in conjunction with VRFs (Virtual Routing and Forwarding) in MPLS VPNs.
- Prevents routing loops: By tagging routes with their origin site, SoO ensures that routes are not accepted if they return to their originating site.
- Common with dual-homing: SoO is especially useful in scenarios where customer sites are dual-homed to two or more provider edge routers, creating a risk of routing loops.
Care should be taken when using SoO in combination with BGP AS Override feature. More about this can be found at: MPLS L3 VPNs and the interaction between AS-Override and SoO.
Therefore, SoO is used to track the origin of VPN routes and prevent them from being re-advertised back to the originating site in MPLS Layer 3 VPNs, ensuring a loop-free and stable routing environment.