XO BGP Communities Controls
(non-customer) BGP routes.
For our BGP customers, XO has implemented a powerful, flexible system whereby we allow our customers to control – via predefined BGP communities – the XO treatment of their announcements. These BGP communities control XO local-preference (local-pref) of customer -announced routes within our network. The most powerful attribute is local-preference.
In BGP, the higher the local-pref, the more preferred the route on the network. This affects XO backbone route selection only, and not the route selection made by XO peers and customers, because localpreference is non-transitive. This means it does not get passed beyond the XO network. The customer has a range of six local-preferences to which they can set their routes.
The following table details the local-prefs, including the actual value, the BGP community accepted from the customer to set the local-pref, and a description of what that local-pref will do in the network.
BGP Community String | Local Prep | Description |
2828:1507 | 70 | Lower (less preferred) than all other routes on network, incl all public & private peer routes |
2828:1508 | 80 | Same as public and private peers. |
2828:1509 | 90 | |
none | 100 | Default for all customer routes, BGP and static |
2828:1510 | 100 | Explicitly set customer BGP announcements to 100 |
2828:1511 | 110 | Higher (more preferred) than all default customer BGP and static routes |
2828:1512 | 120 | Highest (most preferred) localpref that a customer can specify |
AS-Path Controls
The most common use of AS-path prepending is in a direct peering route-map on the customer end where they can prepend their own AS to their routes as they announce the routes to AS2828. XO also accepts BGP communities that prepend AS 2828 either one time or three times to the route as it leaves the 2828 network.
Provider Name or Group |
"Don’t Advertise to" BGP Community |
"Prepend Once" BGP Community |
"Prepend Twice" BGP Community |
“Prepend Thrice” BGP Community |
All Peers |
2828:1000 | 2828:1100 |
2828:1200 |
2828:1300 |
Sprint | 2828:1003 | 2828:1103 |
2828:1203 |
2828:1303 |
Cable & Wireless |
2828:1004 | 2828:1104 | 2828:1204 |
2828:1304 |
Verizon | 2828:1006 | 2828:1106 |
2828:1206 |
2828:1306 |
Level3 | 2828:1007 | 2828:1107 |
2828:1207 |
2828:1307 |
ATT | 2828:1008 | 2828:1108 |
2828:1208 |
2828:1308 |
Another standard option for customers to control XO treatment of their advertisements involves the use of the origin attribute.
XO does not alter origin code on routes customers send us. Routes set with the IGP origin code are more preferred than routes tagged with the origin EGP code, which are more preferred than origin-Incomplete routes.
XO provides a mechanism allowing customers to trigger the XO backbone to discard all traffic entering the XO network from external sources destined for any routes specifically announced by a BGP customer with a special BGP community.
BGP Community String | Description |
2828:1650 | Used to blackhole traffic |
no-export/no-advertise | Don’t announce outside of XO |
MED Controls
For more details on (Cisco) BGP path selection and attributes, see Cisco’s Web site.
The following configurations are samples, provided for educational purposes only.
Customers managing their own CPE, running BGP to XO Communications, should understand the abilities of the protocol, and manage their router based on their own needs. Inbound controls could be stricter and many other variations could place different configuration requirements.
The examples below show simple and complex configurations, but they could become more complex depending on the customer’s needs.
For further guidance, see the Cisco Web site.
Applying BGP Community string with sample configuration
1. Get the latest BGP community string from your ISP/upstream provider or check www.ShowipBGP.com web site.
2. Pick the best BGP community string for your traffic shaping plan (mainly incoming traffic).
Most of ISPs are providing community string with local preference and AS prepending
option. Cannot tell which one is better than the other. It will depend on your global traffic shaping plan.
3. Follow the below commands ( Cisco only )
The below Sample configuration will tag the 10.0.0.0/24 route with [ISP AS]:120 or [ISP AS]:3 and will not tag any other routes.
router#config t
router(config)#ip bgp-community new-format
router(config)#access-list 10 permit 10.0.0.0 0.0.0.255
router(config)#access-list 10 deny any
router(config)#route-map [to-ISP] permit 10
router(config-route-map)#match ip address 10
router(config-route-map)#set community [ISP AS]:120 <—- using Local Preference
or
router(config-route-map)#set community [ISP AS]:3 <——- using AS prepending
router(config-route-map)#route-map [to-ISP] permit 20
router(config-route-map)#exit
router(config)#router bgp [xxxx] <——————————- xxxx = customer’s ASN
router(config-router)#neighbor x.x.x.x send-community
router(config-router)#neighbor x.x.x.x route-map [to-ISP] out
router(config-router)#exit
router(config)#exit
router#copy running-config startup-config
4. And then, go to www.routeserver.org and pick one of route server on the map to see your announcement. If you are using AS prepending option, you will see your AS prepends on route servers. Sometime you might not see your route with particular ISP path.
In most of case it might not be any routing problem, just the route path was dropped at somewhere by BGP best path selection scheme. Try Oregon route server, if you can see your route. The Oregon route server is providing many possible and available paths between BGP speakers and neighbors.
If you don’t see your route on there? check other route servers and also check your
BGP configuration. You might need to contact your upstream provider to check what they are learning BGP route from you.