Page MenuHomePhabricator

Configure Layer3 hashing for router ECMP (for anycast DNS)
Closed, ResolvedPublic

Description

While verifying things about the anycast recdns setup, I was reminded that it's still doing Layer4 hashing at the router, which means as a single client host varies its source port, it gets different server hosts. For this and all foreseeable future uses of router-side ECMP, I think we'd rather be hashing on just Layer3 so that the mapping is consistent for a given client machine even as its client port number changes.

Event Timeline

BBlack created this task.Aug 21 2019, 8:15 PM
Restricted Application removed a project: Patch-For-Review. · View Herald TranscriptAug 21 2019, 8:15 PM

Tested in ulsfo with:

# show forwarding-options enhanced-hash-key 
family inet {
    no-destination-port;
    no-source-port;
}
family inet6 {
    no-destination-port;
    no-source-port;
}

Older routers might need instead:

# show forwarding-options hash-key 
family inet {
    layer-3;
}

Mentioned in SAL (#wikimedia-operations) [2019-08-22T00:19:11Z] <XioNoX> push L3 ECMP to codfw routers - T230955

Mentioned in SAL (#wikimedia-operations) [2019-08-22T00:22:02Z] <XioNoX> push L3 ECMP to eqsin routers - T230955

Mentioned in SAL (#wikimedia-operations) [2019-08-22T00:23:34Z] <XioNoX> push L3 ECMP to esams routers - T230955

Mentioned in SAL (#wikimedia-operations) [2019-08-22T00:27:26Z] <XioNoX> push L3 ECMP to eqiad routers - T230955

ayounsi closed this task as Resolved.Aug 22 2019, 12:27 AM

Pushed everywhere and confirmed working.