Page MenuHomePhabricator

Improve Eqiad outbound traffic balance
Closed, ResolvedPublic

Description

We have had at least two incidents recently where normal user traffic (i.e. not scraping or denial-of-service) has caused some of our links to get overloaded outbound from Eqiad.

  • Our NTT circuit is more used than the other transits at the site
  • Due to our confed configuration, and how we set MED=OSPF cost, we have a scenario where an eqord-learnt route can be preferred to one from the same carrier with same as-path length in eqiad
    • This will happen if the remote peer is setting a MED on the route and it's higher than the OSPF cost we overwrite the one from eqord with (see T370520).

While we need to review our overall WAN routing policy I think the recent incidents make it clear some action is needed in the short term to balance things a bit better.

To address the first issue we can manually configure certain large eyeball networks to avoid the NTT path in Eqiad, so we get a bit of a better balance. In addition I think we should expand the AS-path on routes learnt in Eqiad from Eqord, in other words make Chicago routes look like they are an additional as-hop away. That will mean Chicago will only be chosen if a path there is better than eqiad.

Event Timeline

cmooney triaged this task as Medium priority.

Change #1112832 had a related patch set uploaded (by Cathal Mooney; author: Cathal Mooney):

[operations/homer/public@master] TE for traffic to ATT & Verizon in Eqiad + new generic policy

https://gerrit.wikimedia.org/r/1112832

Change #1112832 merged by jenkins-bot:

[operations/homer/public@master] TE for traffic to ATT & Verizon in Eqiad + new generic policy

https://gerrit.wikimedia.org/r/1112832

Change #1113090 had a related patch set uploaded (by Cathal Mooney; author: Cathal Mooney):

[operations/homer/public@master] Remove config to shift AT&T traffic away from Lumen transit

https://gerrit.wikimedia.org/r/1113090

Change #1113090 merged by jenkins-bot:

[operations/homer/public@master] Remove config to shift AT&T traffic away from Lumen transit

https://gerrit.wikimedia.org/r/1113090

FWIW I have made the same change in codfw for routes learnt from eqord (Chicago). Locally-learnt routes will now be preferred unless the AS-Path from Chicago is shorter.

Before

Dallas router is prefering to send traffic to Chicago to route out via Lumen there:

cmooney@re0.cr2-codfw> show route table inet.0 terse protocol bgp 1.11.0.0/16 exact

inet.0: 966241 destinations, 3337826 routes (965998 active, 2 holddown, 1917 hidden)
Restart Complete
+ = Active Route, - = Last Active, * = Both

A V Destination        P Prf   Metric 1   Metric 2  Next hop        AS path
* N 1.11.0.0/16        B 170        100          0                  (65020) 3356 3786 38091 ?
  unknown                                          >208.80.153.222
                                                    208.80.154.214
  N                    B 170        100      23131                  3356 3786 38091 ?
  unknown                                          >64.156.73.169

After

With the change there is an extra ASN in the path learnt from Chicago, so the local route is preferred:

cmooney@re0.cr2-codfw> show route table inet.0 terse protocol bgp 1.11.0.0/16  exact    

inet.0: 966221 destinations, 3337310 routes (965916 active, 93360 holddown, 1987 hidden)
Restart Complete
+ = Active Route, - = Last Active, * = Both

A V Destination        P Prf   Metric 1   Metric 2  Next hop        AS path
* N 1.11.0.0/16        B 170        100      23131                  3356 3786 38091 ?
  unknown                                          >64.156.73.169
  N                    B 170        100          0                  (65020) 3356 3356 3786 38091 ?
  unknown                                          >208.80.153.222
                                                    208.80.154.214

Gonna close this one for now, the balance is better with the changes we added and we can review as time goes on.