projectcalico / bird

Calico's fork of the BIRD protocol stack
90 stars 86 forks source link

[proto/device] Ignore addr updates on DOWN ifcs #105

Closed dilyevsky closed 1 year ago

dilyevsky commented 1 year ago

Description

Ignores netlink addr updates for interfaces that do not have UP admin state. Improves performance for kube-ipvs* interfaces with large number of addresses. Could be one of the reasons behind https://github.com/projectcalico/bird/issues/95 when kube-proxy IPVS mode is used:

Screen Shot 2022-11-14 at 4 46 26 PM
CLAassistant commented 1 year ago

CLA assistant check
All committers have signed the CLA.

caseydavenport commented 1 year ago

I'm not sure I understand why this is needed. I believe we are already telling BIRD to ignore the kube-ipvs interface entirely in its configuration. Do you have any thoughts on this?

caseydavenport commented 1 year ago

Ah, just saw your comment here: https://github.com/projectcalico/bird/issues/95#issuecomment-1317223246

So I think you're saying we ignore it for "direct" but there are other protocols that we can't exclude it for.

dilyevsky commented 1 year ago

@caseydavenport yep, that's right. For device and direct protocols in particular there is no interface option where one could add exclusion regexes (although Bird manual says there is one for direct it doesn't appear to be present in the version that Calico is using).

dilyevsky commented 1 year ago

@caseydavenport hey, would you mind taking another look here?

caseydavenport commented 1 year ago

@dilyevsky sorry for the delay! Looking now

caseydavenport commented 1 year ago

/sem-approve