BGP
Warning
Work in progress.
eBGP is configured automatically, if there is an edge in the physical graph between two nodes that belong to different Autonomous Systems:
if asn(s) != asn(t) for s,t in edges
- Peer column refers to connections at the same level (eg 2->2)
- Parent column refers to connections to level above (eg 1->2)
- There are no child connections (eg 3->2)
- as_cluster is the entire AS
l2_cluster can be manually specified. If not specified, it defaults to being a PoP. If no PoPs specified, it defaults to being the AS.
l3_cluster defaults to asn if not set: we connect the l2 rr to all l3 rrs in the same AS.
Three types of ibgp connection:
- up to a server
- down to a client
- over to a peer
Note
If the network only has level 1 route-reflectors, then the connections are labelled as peer
The below tables show the matching attributes to use.
1-level:
Level Peer Parent 1 asn None 2-level:
Level Peer Parent 1 None l2_cluster 2 asn None 3-level:
Level Peer Parent 1 None l2_cluster 2 l2_cluster l3_cluster 3 asn None
List of all routers with an eBGP link
>>> network = ank.example_multi_as()
>>> sorted(ebgp_routers(network))
[1b.AS1, 1c.AS1, 2a.AS2, 2d.AS2, 3a.AS3]
Returns graph of eBGP routers and links between them.