Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[v1.9] remove ARP entries left from previous Cilium run #16358

Merged
merged 1 commit into from Jun 2, 2021

Conversation

aanm
Copy link
Member

@aanm aanm commented May 28, 2021

In certain configurations, when node neighbor discovery is enabled [1],
the neighbor table is populated with PERMANENT entries. If the agent is
then configured to not use neighbor discovery, those entries are left
behind, without being garbage collected. This can cause connectivity
issues across nodes, where it's more likely to happen in the same L2
network, if a new node reuses an IP address from a previous node and its
MAC address changes. In a L3 network it is unlikely to happen since the
ARP entry will be associated with a L3 router and it is less likely to
change its MAC address.

[1]

n.enableNeighDiscovery = n.nodeConfig.EnableIPv4 &&
	(option.Config.EnableNodePort ||
		(n.nodeConfig.EnableIPSec && option.Config.Tunnel == option.TunnelDisabled))

Signed-off-by: André Martins andre@cilium.io

Remove previous PERM ARP entries installed by Cilium when kube-proxy-replacement and IPSec are disabled.

In certain configurations, when node neighbor discovery is enabled [1],
the neighbor table is populated with PERMANENT entries. If the agent is
then configured to not use neighbor discovery, those entries are left
behind, without being garbage collected. This can cause connectivity
issues across nodes, where it's more likely to happen in the same L2
network, if a new node reuses an IP address from a previous node and its
MAC address changes. In a L3 network it is unlikely to happen since the
ARP entry will be associated with a L3 router and it is less likely to
change its MAC address.

[1]
```
n.enableNeighDiscovery = n.nodeConfig.EnableIPv4 &&
	(option.Config.EnableNodePort ||
		(n.nodeConfig.EnableIPSec && option.Config.Tunnel == option.TunnelDisabled))
```

Signed-off-by: André Martins <andre@cilium.io>
@aanm aanm added the release-note/bug This PR fixes an issue in a previous release of Cilium. label May 28, 2021
@aanm aanm requested a review from a team as a code owner May 28, 2021 17:01
@maintainer-s-little-helper maintainer-s-little-helper bot added backport/1.9 kind/backports This PR provides functionality previously merged into master. labels May 28, 2021
@aanm
Copy link
Member Author

aanm commented May 28, 2021

The review of this PR was already done in #15993 so no need to wait for reviews of CODEOWNERS as janitor's enough.

@aanm
Copy link
Member Author

aanm commented May 28, 2021

test-backport-1.9

@aanm
Copy link
Member Author

aanm commented May 29, 2021

test-runtime previous: https://jenkins.cilium.io/job/Cilium-PR-Runtime-4.9/4823/

@aanm
Copy link
Member Author

aanm commented May 29, 2021

test-1.12-netnext previous: https://jenkins.cilium.io/job/Cilium-PR-K8s-1.12-net-next/1727/

@aanm
Copy link
Member Author

aanm commented May 29, 2021

@aanm
Copy link
Member Author

aanm commented May 29, 2021

@kaworu
Copy link
Member

kaworu commented May 31, 2021

@nathanjsweet nathanjsweet merged commit e80cc75 into cilium:v1.9 Jun 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/backports This PR provides functionality previously merged into master. release-note/bug This PR fixes an issue in a previous release of Cilium.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants