Between sites (confederations) we currently have those 3 options:
- Export full views (no export filters, used between eqiad/codfw)
- BGP_Wikimedia_no_dfz Export Wikimedia private/public prefixes learned via BGP (eg. used on eqiad->ulsfo, codfw->ulsfo, ulsfo->eqsin)
- BGP_Wikimedia_own_space Export public prefixes (same as to DFZ) + customers prefixes (if any) (eg. used on eqiad->esams, esams->eqiad, ulsfo->eqiad)
My proposal here is to add the customers term to BGP_Wikimedia_no_dfz and replace all export BGP_Wikimedia_own_space with export BGP_Wikimedia_no_dfz.
This has the following advantages:
- Standardized and less complex (one less) routing policies
- Anycast VIPs (in the private space) will be routed across all sites (eg. if esams rec-dns servers are down, esams clients will route to eqiad)
I can't see any downsides, but I also don't have the historical reasons on why it has been configured that way.
Changes are:
[edit policy-options policy-statement BGP_Wikimedia_no_dfz]
term public6 { ... }
+ term customers {
+ from community PEER_CUSTOMER;
+ then accept;
+ }
- term reject_other {
- then reject;
- }
[edit policy-options policy-statement BGP_Wikimedia_no_dfz]
+ then reject;
[edit policy-options]
- policy-statement BGP_Wikimedia_own_space {
- term local4 {
- from policy BGP_outfilter;
- then accept;
- }
- term local6 {
- from policy BGP6_outfilter;
- then accept;
- }
- then reject;
- }(this also moves the reject from a term to a default)
[edit protocols bgp group Confed_esams] - export BGP_Wikimedia_own_space; + export BGP_Wikimedia_no_dfz;
To be deployed progressively site by site.