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

backport 1.9: daemon, node: refresh neighbor by sending arping periodically #14578

Merged
merged 1 commit into from
Jan 12, 2021

Conversation

brb
Copy link
Member

@brb brb commented Jan 11, 2021

v1.9 backports 2021-01-11

Once this PR is merged, you can update the PR labels via:

$ for pr in 14498; do contrib/backporting/set-labels.py $pr done 1.9; done

[ upstream commit 5ec4d51 ]

Currently, changes of the MAC address won't be detected after
a permanent arp entry is inserted by cilium. The connectivity
to a neighbor node or gateway will be lost if its MAC address changes.

This patch introduces a controller to refresh neighbor table by
sending arping periodically. The neighbor refresh interval is
similar to linux kernel neighbor sybsystem: an arp entry is kept in
reachable state for a random duration between (0.5 ~ 1.5) * `base_reachable_time_ms`.
cilium-agent tries to derive the base interval from kernel parameter
`net.ipv4.neigh.default.base_reachable_time_ms`. If read sysctl failed,
the kernel default 30s is used.

Fixes: #14322
Signed-off-by: Jaff Cheng <jaff.cheng.sh@gmail.com>
Signed-off-by: Martynas Pumputis <m@lambda.lt>
@brb brb added kind/backports This PR provides functionality previously merged into master. backport/1.9 labels Jan 11, 2021
@brb brb requested a review from a team as a code owner January 11, 2021 13:23
@aanm
Copy link
Member

aanm commented Jan 11, 2021

test-backport-1.9

@jaffcheng
Copy link
Contributor

test-backport-1.9

	 level=error msg="arping failed" error=timeout interface=veth0 ipAddr=9.9.9.250 subsys=linux-datapath
	 node_linux_test.go:1039:
	     c.Assert(found, check.Equals, true)
	 ... obtained bool = false
	 ... expected bool = true

Looks like hitting #14125

@brb
Copy link
Member Author

brb commented Jan 12, 2021

retest-runtime

@brb brb added the ready-to-merge This PR has passed all tests and received consensus from code owners to merge. label Jan 12, 2021
@gandro gandro merged commit 5c305b3 into v1.9 Jan 12, 2021
@gandro gandro deleted the pr/brb/backport-1.9-arping-refresh branch January 12, 2021 10:07
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. ready-to-merge This PR has passed all tests and received consensus from code owners to merge.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants