mirror of
				https://github.com/Telecominfraproject/ols-nos.git
				synced 2025-10-31 01:57:48 +00:00 
			
		
		
		
	 4d2a55d373
			
		
	
	4d2a55d373
	
	
	
		
			
			- 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
		
			
				
	
	
		
			31 lines
		
	
	
		
			701 B
		
	
	
	
		
			Django/Jinja
		
	
	
	
	
	
			
		
		
	
	
			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 %}
 |