From d14a094f0a11870c78ffe8a5a3670f8f0f5f3782 Mon Sep 17 00:00:00 2001 From: Anish Narsian <44376847+anish-n@users.noreply.github.com> Date: Wed, 17 May 2023 16:13:54 -0700 Subject: [PATCH] Resolve neighbors from config_db (#14990) * 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 57f0d5a562..dec94b7712 100755 --- a/files/scripts/arp_update +++ b/files/scripts/arp_update @@ -85,8 +85,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" )"