From 9a719cda48f1e3a70fe307f288300bebc8d7f57e Mon Sep 17 00:00:00 2001 From: Anish Narsian <44376847+anish-n@users.noreply.github.com> Date: Wed, 17 May 2023 10:42:03 -0700 Subject: [PATCH] [arp_update] Resolve neighbors from config_db (#15006) * To resolve NEIGH table entries present in CONFIG_DB. Without this change arp/ndp entries which we wish to resolve, and configured via CONFIG_DB are not resolved. --- files/scripts/arp_update | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/files/scripts/arp_update b/files/scripts/arp_update index 2725f034668b..4b25973cfc02 100755 --- a/files/scripts/arp_update +++ b/files/scripts/arp_update @@ -124,8 +124,12 @@ while /bin/true; do # refresh neighbor entries from APP_DB in case of mismatch with kernel DBNEIGH=$(sonic-db-cli APPL_DB keys NEIGH_TABLE*) - KERNEIGH4=$(ip -4 neigh show | grep Vlan | cut -d ' ' -f 1,3 --output-delimiter=',') - KERNEIGH6=$(ip -6 neigh show | grep -v fe80 | grep Vlan | cut -d ' ' -f 1,3 --output-delimiter=',') + + # resolve neighbor entries from CONFIG_DB in case of mismatch with kernel + DBNEIGH="$DBNEIGH $(sonic-db-cli CONFIG_DB keys NEIGH* | sed -e 's/|/:/g')" + + KERNEIGH4=$(ip -4 neigh show | grep Vlan | grep -v 'FAILED\|INCOMPLETE' | cut -d ' ' -f 1,3 --output-delimiter=',') + KERNEIGH6=$(ip -6 neigh show | grep -v fe80 | grep Vlan | grep -v 'FAILED\|INCOMPLETE' | cut -d ' ' -f 1,3 --output-delimiter=',') for neigh in $DBNEIGH; do intf="$( cut -d ':' -f 2 <<< "$neigh" )" ip="$( cut -d ':' -f 3- <<< "$neigh" )"