Peering information
Route server reference
Session defaults, filtering policy and the BGP communities a peer can send to the TBAX route servers.
This is the master standard for the Tampa Bay Access Exchange AS10475 route servers.
Please direct all questions to noc at tbax dot net.
Route servers:
| LOCATION | CLLI | MAC Address | IPv4 | IPv6 |
|---|---|---|---|---|
| Franklin Exchange | TAMSFLDE | 00:E0:63:00:00:27 | 149.112.178.1 | 2602:f527::1 |
| Park Tower | TAMQFLTA | 00:E0:63:00:00:10 | 149.112.178.2 | 2602:f527::2 |
- Route Servers are independent and do not exchange routes.
BGP sessions default configuration
Passive sessions are configured toward peers.
GTSM (Generalized TTL Security Mechanism – RFC 5082) is disabled on sessions toward peers.
ADD-PATH capability (RFC 7911) is not enabled.
MD5 Authentication (RFC 2385) is configured by default. Peers will be provided a password.
BGP Peer Security – only configured BGP peers are able to reach the route servers.
Route server general behaviors
Route server ASN is not prepended to the AS_PATH of routes announced to peers (RFC7947 section 2.2.2.1).
Route server does implement path-hiding mitigation techniques (Per peer tables – RFC7947 section 2.3.1).
BGP communities are unfiltered; If a peer sets a community, it will be propogated to all peers unchanged. This excludes the 10475:* and IRR/RPKI signaling communities.
Route Server doe not advertize routes received from an AS back to that same AS.
With limited exceptions (noted as REJECT), route servers only apply community tags on the BGP session in from peers (ADJ-RIB-IN). Rather each peer has it's own routing table (LOC-RIB) and then filtering on export to other peers (ADJ-RIB-OUT) based on community tags.
Default filtering policy
NEXT_HOP attribute
- The route server verifies that the NEXT_HOP attribute of routes received from a peer matches the IP address of the peer itself.
AS_PATH attribute
Routes whose AS_PATH is longer than 31 ASNs are REJECTED.
The left-most ASN in the AS_PATH of any route announced to the route server must be the ASN of the announcing peer.
Routes whose AS_PATH contains *private or invalid ASNs are filtered on export to other peers.
IRRDBs and RPKI prefix/origin ASN enforcement
IRRDB origin ASN validity is enforced for routes with LOCAL-ROUTE set. Routes whose origin ASN is not authorized by the peers's AS-SET are filtered on export to other peers.
IRRDB announced prefixes validity is enforced for routes with LOCAL-ROUTE set. Routes whose prefix is not part of the peers's AS-SET are filtered on export to other peers. Longer prefixes covered by one entry of the resulting route set are accepted.
RPKI ROAs to validate all routes including those whose origin ASN is authorized by the peer's AS-SET but whose prefix is not.
RPKI BGP Origin Validation of routes received by the route server is enabled.
When an RPKI-ROA-INVALID route is received by the route server, it is filtered on export to other peers.
RPKI ROAs are fetched by Routinator and cached locally.
IRRDB is updated every 4 hours using bgpq4 and aggregated to the route servers.
Route validity state is signaled to route server peers using the following BGP communities:
| Validity state | Community | Standard | Extended | Large |
|---|---|---|---|---|
| Prefix is included in peer's AS-SET | ROUTE-IN-CLIENT-AS-SET | 64512:11 | target:64512:11 | large:10475:64512:11 |
| Prefix is NOT included in peer's AS-SET | ROUTE-NOT-IN-CLIENT-AS-SET | 64512:10 | target:64512:10 | large:10475:64512:10 |
| Origin ASN is included in peer's AS-SET | ORIGIN-AS-IN-AS-SET | 64512:21 | target:64512:21 | large:10475:64512:21 |
| Origin ASN is NOT included in peer's AS-SET | ORIGIN-AS-NOT-IN-AS-SET | 64512:20 | target:64512:20 | large:10475:64512:20 |
| Prefix matched by a RPKI ROA for the authorized origin ASN | RPKI-ROA-VALID | 64512:31 | target:64512:31 0x4300:0.0.0.0:0 |
large:10475:64512:31 |
| Prefix authorized solely because of a peer white list entry | RPKI-OVERRIDE | 64512:41 | target:64512:41 | large:10475:64512:41 |
| Prefix with invalid ROA match | RPKI-ROA-INVALID | 64512:51 | 0x4300:0.0.0.0:2 | NULL |
| Prefix with unknown ROA match | RPKI-UNKNOWN | 64512:61 | 0x4300:0.0.0.0:1 | NULL |
| Prefix first ASN matches peer ASN | FIRST-AS-MATCH-GOOD | 65420:4500 | NULL | NULL |
| Prefix first ASN doesn’t match peer ASN | FIRST-AS-MATCH-BAD | 65420:4600 | NULL | NULL |
| Prefix first hop matches peer IP | NH-MATCH-GOOD | 65420:5500 | NULL | NULL |
| Prefix first hop doesn’t match peer IP | NH-MATCH-BAD | 65420:5600 | NULL | NULL |
| Prefix has a BOGON ASN in path | BOGON-AS | 65420:3000 | NULL | NULL |
| Prefix matches a BOGON IP range | BOGON-IP | 65420:2000 | NULL | NULL |
- The above communities are stripped upon import from a BGP peer.
Max-pref limit
A max-prefix limit is enforced; when it triggers, the session with the announcing peer is shutdown for 60 minutes.
If no more specific limits exist for the peer, the general limit of 25,000 IPv4 routes and 12,000 IPv6 routes is enforced.
This is manually configured and alarmed when 80% of the limit is reached.
Mininum and maximum prefix length
Only prefixes whose length is in the following range are accepted by the route server:
IPv4: 8-24
IPv6: 12-48
BLACKHOLE tagged routes are accepted up to a /32 and /128.
Rejected/filtered prefixes
- The following prefixes are unconditionally REJECTED:
| Prefix | More specific | Comment |
|---|---|---|
| 149.112.178.0/24 | any more specific prefix | TBAX IX LAN |
| 149.112.184.0/24 | any more specific prefix | TBAX Infrastructure |
| 2602:F527::/40 | any more specific prefix | TBAX IPv6 |
- Bogon prefixes are filtered on export to other peers.
Show bogon prefix listHide bogon prefix list
| Prefix | More specific | Comment |
|---|---|---|
| 0.0.0.0/0* | only the exact prefix | Default route* |
| 0.0.0.0/8 | any more specific prefix | IANA – Local Identification |
| 10.0.0.0/8 | any more specific prefix | RFC 1918 – Private Use |
| 127.0.0.0/8 | any more specific prefix | IANA – Loopback |
| 169.254.0.0/16 | any more specific prefix | RFC 3927 – Link Local |
| 172.16.0.0/12 | any more specific prefix | RFC 1918 – Private Use |
| 192.0.0.0/24 | any more specific prefix | RFC 5736 – IANA Special Purpose Use |
| 192.0.2.0/24 | any more specific prefix | RFC 5737 – TEST-NET-1 |
| 192.88.99.0/24 | any more specific prefix | RFC 3068 – 6to4 prefix |
| 192.168.0.0/16 | any more specific prefix | RFC 1918 – Private Use |
| 198.18.0.0/15 | any more specific prefix | RFC 2544 – Network Interconnect Device Benchmark Testing |
| 198.51.100.0/24 | any more specific prefix | RFC 5737 – TEST-NET-2 |
| 203.0.113.0/24 | any more specific prefix | RFC 5737 – TEST-NET-3 |
| 224.0.0.0/3 | any more specific prefix | RFC 5771 – Multicast (formerly Class D) |
| 100.64.0.0/10 | any more specific prefix | RFC 6598 – Shared Address Space |
| ::/0* | only the exact prefix | Default route* |
| ::/8 | any more specific prefix | loopback, unspecified, v4-mapped |
| 64:ff9b::/96 | any more specific prefix | RFC 6052 – IPv4-IPv6 Translation |
| 100::/64 | any more specific prefix | RFC 6666 – reserved for Discard-Only Address Block |
| 200::/7 | any more specific prefix | RFC 4048 – Reserved by IETF |
| 400::/6 | any more specific prefix | RFC 4291 – Reserved by IETF |
| 800::/5 | any more specific prefix | RFC 4291 – Reserved by IETF |
| 1000::/4 | any more specific prefix | RFC 4291 – Reserved by IETF |
| 2001::/33 | any more specific prefix | RFC 4380 – Teredo prefix |
| 2001:0:8000::/33 | any more specific prefix | RFC 4380 – Teredo prefix |
| 2001:2::/48 | any more specific prefix | RFC 5180 – Benchmarking |
| 2001:3::/32 | any more specific prefix | RFC 7450 – Automatic Multicast Tunneling |
| 2001:10::/28 | any more specific prefix | RFC 4843 – Deprecated ORCHID |
| 2001:20::/28 | any more specific prefix | RFC 7343 – ORCHIDv2 |
| 2001:db8::/32 | any more specific prefix | RFC 6890 – NON-ROUTABLE range to be used for documentation purpose |
| 2002::/16 | any more specific prefix | RFC 3068 – 6to4 prefix |
| 3ffe::/16 | any more specific prefix | RFC 5156 – used for the 6bone but was returned |
| 3fff::/20 | any more specific prefix | RFC 9637 – IPv6 Documentation |
| 4000::/3 | any more specific prefix | RFC 4291 – Reserved by IETF |
| 5f00::/16 | any more specific prefix | RFC 9602 – Segment Identifiers (was 6bone) |
| 6000::/3 | any more specific prefix | RFC 4291 – Reserved by IETF |
| 8000::/3 | any more specific prefix | RFC 4291 – Reserved by IETF |
| a000::/3 | any more specific prefix | RFC 4291 – Reserved by IETF |
| c000::/3 | any more specific prefix | RFC 4291 – Reserved by IETF |
| e000::/4 | any more specific prefix | RFC 4291 – Reserved by IETF |
| f000::/5 | any more specific prefix | RFC 4291 – Reserved by IETF |
| f800::/6 | any more specific prefix | RFC 4291 – Reserved by IETF |
| fc00::/7 | any more specific prefix | RFC 4193 – Unique Local Unicast |
| fe80::/10 | any more specific prefix | RFC 4291 – Link Local Unicast |
| fec0::/10 | any more specific prefix | RFC 4291 – Reserved by IETF |
| ff00::/8 | any more specific prefix | RFC 4291 – Multicast |
- * Default Routes are permitted from TRANSIT peers by special policy.
- IPv6 prefixes are accepted only if part of the IPv6 Global Unicast space 2000::/3.
Graceful BGP session shutdown
- Routes tagged with the GRACEFUL_SHUTDOWN BGP community (65535:0) have their LOCAL_PREF attribute lowered to 0. This is propagated out to all peers.
Announcement control via BGP communities
- Routes tagged with the NO_EXPORT or NO_ADVERTISE communities received by the route server are propagated to other peers with those communities unaltered.
- Prepending communities are stackable, tagging a route 65001:0, 65002:0, 65003:0, 65004:0 will prepend a total of 10 times.
- Prepending all and -ASN is not stackable; tagging both PREPEND-ONE and PREPEND-ONE-ASN will only add one prepend to the route.
- For suppression ANNOUNCE-{ASN} beats SUPPRESS-ALL but not SUPPRESS-{ASN}. This means if SUPPRESS-{ASN} and ANNOUNCE-{ASN} the route will be suppressed to that ASN.
- Using "-29881" as ASN will apply to all routes on WOW-IX
| Function | Community | Standard | Extended | Large |
|---|---|---|---|---|
| Do not announce to any peer | SUPPRESS-ALL | 65000:0 | target:65000:0 | large:10475:65000:0 |
| Blackhole route - /32 and /128 permitted | BLACKHOLE | 65535:666 – RFC7999 10475:666 – Local |
target:10475:666 | large:10475:10475:666 |
| Announce to peer, even if tagged with SUPPRESS-ALL | ANNOUNCE-{$ASN} | 64960:{$ASN} | target:64960:{$ASN} | large:10475:64960:{$ASN} |
| Do not announce to peer | SUPPRESS-{$ASN} | 65000:{$ASN} | target:65000:{$ASN} | large:10475:65000:{$ASN} |
| Prepend the announcing ASN once to peer {$ASN} | PREPEND-ONE-{$ASN} | 65001:{$ASN} | target:65001:{$ASN} | large:10475:65001:{$ASN} |
| Prepend the announcing ASN twice to peer {$ASN} | PREPEND-TWO-{$ASN} | 65002:{$ASN} | target:65002:{$ASN} | large:10475:65002:{$ASN} |
| Prepend the announcing ASN thrice to peer {$ASN} | PREPEND-THREE-{$ASN} | 65003:{$ASN} | target:65003:{$ASN} | large:10475:65003:{$ASN} |
| Prepend the announcing ASN quarce to peer {$ASN} | PREPEND-FOUR-{$ASN} | 65004:{$ASN} | target:65004:{$ASN} | large:10475:65004:{$ASN} |
| Prepend the announcing ASN once to all peers | PREPEND-ONE | 65001:0 | target:65001:0 | large:10475:65001:0 |
| Prepend the announcing ASN twice to all peers | PREPEND-TWO | 65002:0 | target:65002:0 | large:10475:65002:0 |
| Prepend the announcing ASN thrice to all peers | PREPEND-THREE | 65003:0 | target:65003:0 | large:10475:65003:0 |
| Prepend the announcing ASN quarce to all peers | PREPEND-FOUR | 65004:0 | target:65004:0 | large:10475:65004:0 |
| Add NO_EXPORT to any | NO-EXPORT | 65535:65281 | NULL | NULL |
| Add NO_ADVERTISE to any | NO-ADVERTISE | 65535:65282 | NULL | NULL |
| Add NO_EXPORT_SUBCONFED to any | NO-EXPORT-SUBCONFED | 65535:65283 | NULL | NULL |
| Add NO_EXPORT to peer | NO-EXPORT-{$ASN} | 65281:{$ASN} | target:65281:{$ASN} | large:10475:65281:{$ASN} |
| Add NO_ADVERTISE to peer | NO-ADVERT-{$ASN} | 65282:{$ASN} | target:65282:{$ASN} | large:10475:65282:{$ASN} |
| Add NO_EXPORT_SUBCONFED to peer add 65535:65283 only to the specified peer |
NO-EXPORT-SUBCONFED-{$ASN} | 65283:{$ASN} | target:65283:{$ASN} | large:10475:65283:{$ASN} |
| Announce Graceful Shutdown to all peers
RS will set LOCAL_PREF to 0 Peers should do the same when receiving this community |
GRACEFUL-SHUTDOWN | 65535:0 | NULL | NULL |
Informational BGP Communities
These communities provide information which a peer may use in their routing policy. TBAX makes no routing decisions based on these policies, other than peers sending a full table may signal LOCAL-ROUTE to identify what routes the IX should consider local.
| Function | Community | Standard | Extended | Large |
|---|---|---|---|---|
| Route is in Tampa Bay Region | TAMPA-BAY | 10475:1000 | NULL | NULL |
| Peer is connected at Franklin Exchange | TAMSFLDE | 10475:1001 | NULL | NULL |
| Peer is connected at Park Tower | TAMQFLTA | 10475:1002 | NULL | NULL |
| Peer designates this as a local route on the IX This is used if peer is sending non-local routes. By default all peer routes are tagged by the RS as local routes. | LOCAL-ROUTE | 10475:20001 | NULL | NULL |
| Route is from a peer sending full tables. | TRANSIT-PROVIDER | 10475:20002 | NULL | NULL |
| A default route sent by a peer. | DEFAULT-ROUTE | 10475:20003 | NULL | NULL |
| Route originated from the WOW-IX/TPA-IX | WOW-IX | 10475:29881 | NULL | NULL |
- TAMPA-BAY, TAMSFLDE, TAMQFLTA, WOW-IX, are filtered on ingress from all BGP peers.
- TRANSIT-PROVIDER and DEFAULT-ROUTE are filtered on ingress from all BGP peers.
- LOCAL-ROUTE is only accepted from TRANSIT-PROVIDER peers.
- A route with LOCAL-ROUTE may have TRANSIT-PROVIDER too.