sonic-buildimage/dockers/docker-orchagent/wait_for_link.sh.j2
Lawrence Lee 4d2a55d373
[swss]: Wait for vlan intf to start ndppd (#10119)
- Use the `wait_for_link.sh` script to delay ndppd start until after the VLAN interface is ready
- Avoids issue where ndppd tries to change interface attributes before the interface is ready
2022-03-02 16:23:56 -08:00

31 lines
701 B
Django/Jinja

#!/usr/bin/env bash
VLAN_TABLE_PREFIX="VLAN_TABLE"
function wait_until_iface_ready
{
TABLE_PREFIX=$1
IFACE=$2
echo "Waiting until interface $IFACE is ready..."
# Wait for the interface to come up
# (i.e., interface is present in STATE_DB and state is "ok")
while true; do
RESULT=$(sonic-db-cli STATE_DB HGET "${TABLE_PREFIX}|${IFACE}" "state" 2> /dev/null)
if [ x"$RESULT" == x"ok" ]; then
break
fi
sleep 1
done
echo "Interface ${IFACE} is ready!"
}
# Wait for all interfaces to be up and ready
{% for (name, prefix) in VLAN_INTERFACE|pfx_filter %}
wait_until_iface_ready ${VLAN_TABLE_PREFIX} {{ name }}
{% endfor %}