# Network with one transit provider, a session with an Internet exchange # route server, and a bilateral session with one peer at the exchange. # # Routes learned at the exchange have local preference 150, and transit # routes have the default of 100. Accepted routes are marked with a large # community that identifies where they were learned (64500:2:x). Advertised # routes are marked with the advertising router (64500:3:r). router_id: "198.51.100.1" local_asn: 64500 peers { name: "transit-a" endpoint { address: "2001:db8:ffff:1::1" } remote_asn: 64496 role: PROVIDER import { max_prefixes: 1500000 remove_communities: "64500:2:*" remove_communities: "64500:3:*" add_large_communities: "64500:2:100" # Learned from transit-a. } } # The route server does not prepend its AS number. Its routes have the # addresses of the originating members as next hops, which the role # ROUTE_SERVER permits. peers { name: "ixp-a-rs1" endpoint { address: "2001:db8:ffff:ff::fe" } remote_asn: 64511 role: ROUTE_SERVER import { max_prefixes: 250000 accept_any_first_as: true remove_communities: "64500:2:*" remove_communities: "64500:3:*" add_large_communities: "64500:2:1001" # Learned at exchange A. local_pref: 150 } } # Bilateral peer at the exchange. The prefix and origin AS lists are # generated from the IRR with bgpq4. peers { name: "ixp-a-as64499" endpoint { address: "2001:db8:ffff:ff::99" } remote_asn: 64499 role: PEER require_role: true import { max_prefixes: 100 prefixes { prefix: "2001:db8:9900::/40" max_length: 48 } origin_asns: 64499 remove_communities: "64500:2:*" remove_communities: "64500:3:*" add_large_communities: "64500:2:1001" local_pref: 150 } } originate { prefix: "2001:db8:100::/40" } # Applies to all neighbors: marks advertised routes with router 1. export { add_large_communities: "64500:3:1" } rpki { caches { address: "::1" port: 3323 } caches { address: "2001:db8:100::53" port: 3323 } } kernel {} http_endpoint { address: "127.0.0.1" port: 8080 }