You might probably have a basic understanding of BGP Extended Community from Routing and Switching Track, here i will discuss the extended community structure in BGP and the well-know community of BGP SOO ( Site of Origin ) along with its usage our MPLS cloud:
BGP Extended Community Structure
Each Extended Community attributes has a defined community type code of 16 and is encoded into 8 Octet Value. The First two octet are the Attribute type and the remaining six octet hold the value of attributes.
The Value from 0 through 0x7FFF is assigned by IANA and Value from 0x8000 through 0xFFFF are inclusive vendor-specific.
The route-target extended community has a type code of 0x0002 or 0x0102 and SOO extended community has a type code of 0x0003 or 0x0103, below is how is is structured:
2 Octet |
2 Octet |
4 Octet |
16 Bits Type |
AS # |
32 Bit Value |
Above is High-Order byte of the type field 0x00, with the Administrator subfield: 2 Octet AS Number and 4 Octet Assigned Number Subfield.
2 Octet |
4 Octet |
4 Octet |
16 Bits Type |
IP Address |
16 Bit Value |
Above is High-Order byte of the type field 0x01, with the Administrator Subfield: 4 Octet IP Address and 2 Octet Assigned Number Subfiled.
A route can carry both standard and extended communities attributes, it can also carry multiple community attributes through the use of the additive keyword in the case of standard communities and through the use of route-maps when exporting the VRF routes in the case of extended communities.
Site of Origin BGP Extended Community
The route origin extended community is referred to as SOO in the Cisco Implementation of MPLS/VPN, it is used to prevent the routing loops when a site is multihomed to the MPLS/VPN backbone, and in addition that site uses the AS-Override feature, this is used to identify site from where the route are learned, based on its SOO, so that is not re-advertised back to that Site from a PE-Router somewhere else in the MPLS/VPN backbone.
SOO is not necessary if the MPLS/VPN backbone is used to repair a partitioned site that is multihomed and uses AS-Override feature, SOO also is used only if BGP is used to achieve the PE to CE Connectivity.
Configuration of SOO is straight forward and configured under route-map on each PE-Routers, due it only necessary in multihomed environment and only runs in BGP, below is the Sample Example of Router which is Provider Edge Router in our Example:
# router bgp 100
# no synchronization
# no bgp default ipv4-unicast
# neighbor 199.11.12.2 remote-as 100
# neighbor 199.11.12.2 update-source loopback 0
# address-family ipv4 vrf SITE_A
# neighbor 192.168.13.3 remote-as 200
# neighbor 192.168.13.3 as-override
# neighbor 192.168.13.3 route-map SOO in
# no auto-summary
# no synchronization
# exit
# exit
# route-map SOO permit 10
# set extcommunity soo 100:30
Verify your configuration by:
# show ip bgp vpnv4 vrf SITE_A
Cheers,