CHIX operates two route servers with the following configuration:
RS1 | RS2 |
ASN: 212100 | ASN: 212100 |
IPv4: 185.1.59.254 | IPv4: 185.1.59.253 |
IPv6: 2001:7f8:cc:333::254 | IPv6: 2001:7f8:cc:333::253 |
System: FreeBSD + Bird 2.0.7 | System: OpenBSD + OpenBGPd |
The configuration is generated using Arouteserver and data taken from PeeringDB (https://www.peeringdb.com/ix/2365). If you are a member and would like to peer with the Route Servers, you need to check the “Route Server” box there.
BGP sessions default configuration
- Passive sessions are configured toward neighbors.
- GTSM (Generalized TTL Security Mechanism – RFC5082) is disabled on sessions toward the neighbors.
- ADD-PATH capability (RFC7911) is not negotiated by default.
Route server general behaviour
- Route server ASN is not prepended to the AS_PATH of routes announced to clients (RFC7947 section 2.2.2.1).
- Route server does not implement path-hiding mitigation techniques (RFC7947 section 2.3.1).
Default filtering policy
NEXT_HOP attribute
- The route server verifies that the NEXT_HOP attribute of routes received from a client matches the IP address of the client itself .
AS_PATH attribute
- Routes whose AS_PATH is longer than 32 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 client.
- Routes whose AS_PATH contains private or invalid ASNs are rejected.
- Routes with an AS_PATH containing one or more “never via route-servers” networks‘ ASNs are rejected. List of “never via route-servers” networks’ ASNs is generated from PeeringDB.
IRRDBs prefix/origin ASN enforcement
- Origin ASN validity is enforced. Routes whose origin ASN is not authorized by the client’s AS-SET are rejected.
- Announced prefixes validity is enforced. Routes whose prefix is not part of the client’s AS-SET are rejected.
- Route validity state is signalled to route server clients using the following BGP communities:
Validity State | Standard | Extended | Large |
Prefix is included in client’s AS-SET | None | None | 212100:65530:1 |
Prefix is NOT included in client’s AS-SET | None | None | 212100:65530:2 |
Origin ASN is included in client’s AS-SET | None | None | 212100:65530:3 |
Origin ASN is NOT included in client’s AS-SET | None | None | 212100:65530:4 |
Prefix matched by a RPKI ROA for the authorized origin ASN | None | None | 212100:65530:5 |
Prefix matched by an entry of the ARIN Whois DB dump | None | None | 212100:65530:6 |
Prefix matched by an entry of the NIC.BR Whois DB dump | None | None | 212100:65530:7 |
Route authorized soley because of a client white list entry | None | None | 212100:65530:8 |
RPKI BGP Prefix Origin Validation
- RPKI BGP Prefix Origin Validation of routes received by the route server is enabled.
- When an INVALID route is received by the route server, it is rejected.
RPKI ROAs
- RPKI ROAs are fetched from the RIPE RPKI Validator format cache files at https://rpki-validator.ripe.net/api/export.json, https://rpki.gin.ntt.net/api/export.json. The following Trust Anchors are used: APNIC RPKI Root, AfriNIC RPKI Root, ARIN RPKI Root, LACNIC RPKI Root, RIPE NCC RPKI Root, apnic, afrinic, arin, lacnic, ripe
Min/max prefix length
- Only prefixes whose length is in the following range are accepted by the route server:
- IPv4: 8-24
- IPv6: 12-48
Rejected prefixes
- Bogon prefixes are rejected;
- IPv6 prefixes are accepted only if part of the IPv6 Global Unicast space 2000::/3.
Announcement control via BGP communities
- Routes tagged with the NO_EXPORT or NO_ADVERTISE communities received by the route server are propagated to other clients with those communities unaltered.
Function | Standard | Extended | Large |
---|---|---|---|
Do not announce to any client | None | None | 212100:0:212100 |
Announce to peer, even if tagged with the previous community | None | None | 212100:1:peer_as |
Do not announce to peer | 0:peer_as | None | 212100:0:peer_as |
Prepend the announcing ASN once to peer | None | None | 212100:65511:peer_as |
Prepend the announcing ASN twice to peer | None | None | 212100:65512:peer_as |
Prepend the announcing ASN thrice to peer | None | None | 212100:65513:peer_as |
Prepend the announcing ASN once to any | None | None | 212100:65501:212100 |
Prepend the announcing ASN twice to any | None | None | 212100:65502:212100 |
Prepend the announcing ASN thrice to any | None | None | 212100:65503:212100 |
Reject reasons
- The following values are used to identify the reason for which routes are rejected. This is mostly used for troubleshooting, internal reporting purposes or in the route server log files.
ID | Reason |
---|---|
0 | Generic code: the route must be treated as rejected |
1 | Invalid AS_PATH length |
2 | Prefix is bogon |
3 | Prefix is in global blacklist |
4 | Invalid AFI |
5 | Invalid NEXT_HOP |
6 | Invalid left-most ASN |
7 | Invalid ASN in AS_PATH |
8 | Transit-free ASN in AS_PATH |
9 | Origin ASN not in IRRDB AS-SETs |
10 | IPv6 prefix not in global unicast space |
11 | Prefix is in client blacklist |
12 | Prefix not in IRRDB AS-SETs |
13 | Invalid prefix length |
14 | RPKI INVALID route |
15 | Never via route-servers ASN in AS_PATH |
65535 | Unknown |