Skip to content

Commit 12e6b89

Browse files
theasianpianistyxieca
authored andcommitted
[arp_update]: Set failed IPv6 neighbors to incomplete (#11919)
After pinging any failed IPv6 neighbor entries, set the remaining failed/incomplete entries to a permanent INCOMPLETE state. This manual setting to INCOMPLETE prevents these entries from automatically transitioning to FAILED state, and since they are now incomplete any subsequent NA messages for these neighbors is able to resolve the entry in the cache. Signed-off-by: Lawrence Lee <[email protected]>
1 parent 3b128ec commit 12e6b89

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

files/scripts/arp_update

+11
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,17 @@ while /bin/true; do
7878
eval `eval $ip6cmd`
7979

8080
if [[ $SUBTYPE == "dualtor" ]]; then
81+
# manually set any remaining FAILED/INCOMPLETE entries to permanently INCOMPLETE
82+
# this prevents any remaining INCOMPLETE entries from automatically transitioning to FAILED
83+
# once these entries are incomplete, any subsequent neighbor advertisement messages
84+
# are able to resolve the entry
85+
86+
# generates the following command for each failed or incomplete IPv6 neighbor
87+
# ip neigh replace <neighbor IPv6> dev <VLAN name> nud incomplete
88+
neigh_replace_template="sed -e 's/^/ip neigh replace /' -e 's/,/ dev /' -e 's/$/ nud incomplete;/'"
89+
ip_neigh_replace_cmd="ip -6 neigh show | grep -v fe80 | grep Vlan1000 | grep -E 'FAILED|INCOMPLETE' | cut -d ' ' -f 1,3 --output-delimiter=',' | $neigh_replace_template"
90+
eval `eval $ip_neigh_replace_cmd`
91+
8192
# on dual ToR devices, try to resolve failed neighbor entries since
8293
# these entries will have tunnel routes installed, preventing normal
8394
# neighbor resolution (SWSS PR #2137)

0 commit comments

Comments
 (0)