12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/bin/sh
- #
- # Wait for routing adjacencies to come up and produce a default route
- #
- # Maximilian Wilhelm <max@sdn.clinic>
- # -- Mon, 05 Apr 2021 02:31:58 +0200
- # Wait for this amount of seconds before giving up
- timeout=30
- # Wait for IPv4 default route to emerge
- (
- for n in $(seq 1 $timeout); do
- # If there is an IPv4 default route, stop waiting
- if ip -4 route | grep -q "^default"; then
- break
- fi
- sleep 1
- done
- )&
- # Wait for IPv6 default route to emerge
- (
- for n in $(seq 1 $timeout); do
- # If there is an IPv6 default route, stop waiting
- if ip -6 route | grep -q "^default"; then
- break
- fi
- sleep 1
- done
- )&
- # Wait for IPv6 IPs do leave tentative state
- # This will most likely be only relevant for nodes with static IPs/route
- (
- for n in $(seq 1 $timeout); do
- # If there is an IPv6 in state tentative, wait on
- if ip -6 addr | grep -q "tentative"; then
- sleep 1
- else
- break
- fi
- done
- )&
- # WAit for both sub-shells to finish
- wait
- exit 0
|