diff options
author | Nicolas Lécureuil <neoclust@mageia.org> | 2017-08-09 00:02:05 +0200 |
---|---|---|
committer | Nicolas Lécureuil <neoclust@mageia.org> | 2017-08-09 00:02:05 +0200 |
commit | bd1d39ee819304707982aa6b88c8abdd4dc0b9f8 (patch) | |
tree | 4af625be1308ec48a543c0855934d8b70929f2d5 /sysconfig | |
parent | b53d95939e513b135b688548e8b587129ac683dd (diff) | |
parent | 0e8fdd3b88156289b0020a5bcf85bdb2a8ab9744 (diff) | |
download | initscripts-bd1d39ee819304707982aa6b88c8abdd4dc0b9f8.tar initscripts-bd1d39ee819304707982aa6b88c8abdd4dc0b9f8.tar.gz initscripts-bd1d39ee819304707982aa6b88c8abdd4dc0b9f8.tar.bz2 initscripts-bd1d39ee819304707982aa6b88c8abdd4dc0b9f8.tar.xz initscripts-bd1d39ee819304707982aa6b88c8abdd4dc0b9f8.zip |
Try to fix conflicts
Diffstat (limited to 'sysconfig')
-rwxr-xr-x | sysconfig/network-scripts/ifup | 2 | ||||
-rwxr-xr-x | sysconfig/network-scripts/ifup-eth | 3 | ||||
-rw-r--r-- | sysconfig/network-scripts/ifup-ipv6 | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | sysconfig/network-scripts/network-functions | 0 | ||||
-rw-r--r-- | sysconfig/network-scripts/network-functions-ipv6 | 21 |
5 files changed, 27 insertions, 1 deletions
diff --git a/sysconfig/network-scripts/ifup b/sysconfig/network-scripts/ifup index 2b826e2d..f1678eb3 100755 --- a/sysconfig/network-scripts/ifup +++ b/sysconfig/network-scripts/ifup @@ -65,7 +65,7 @@ then exit 0 fi -if [ "$_use_nm" = "true" -a -n "$UUID" -a "$DEVICE" != "lo" ]; then +if [ "$_use_nm" = "true" -a -n "$UUID" -a "$REALDEVICE" != "lo" ]; then if [ "foo$2" = "fooboot" ] && [ "${TYPE}" = "Wireless" ]; then exit 0 fi diff --git a/sysconfig/network-scripts/ifup-eth b/sysconfig/network-scripts/ifup-eth index 1ecedcf4..0ff31eb3 100755 --- a/sysconfig/network-scripts/ifup-eth +++ b/sysconfig/network-scripts/ifup-eth @@ -468,6 +468,9 @@ else ( sleep 2; /sbin/arping -q -U -c 1 -I ${REALDEVICE} ${ipaddr[$idx]} ) > /dev/null 2>&1 < /dev/null & fi + + # set lifetime of address to forever + ip addr change ${ipaddr[$idx]}/${prefix[$idx]} dev ${REALDEVICE} valid_lft forever preferred_lft forever done fi diff --git a/sysconfig/network-scripts/ifup-ipv6 b/sysconfig/network-scripts/ifup-ipv6 index aeb6145d..21b8c9ef 100644 --- a/sysconfig/network-scripts/ifup-ipv6 +++ b/sysconfig/network-scripts/ifup-ipv6 @@ -308,3 +308,5 @@ if [ "$IPV6TO4INIT" = "yes" ]; then fi fi +#wait for all global IPv6 addresses to leave the "tentative" state +ipv6_wait_tentative $DEVICE diff --git a/sysconfig/network-scripts/network-functions b/sysconfig/network-scripts/network-functions index 3c0205f0..3c0205f0 100644..100755 --- a/sysconfig/network-scripts/network-functions +++ b/sysconfig/network-scripts/network-functions diff --git a/sysconfig/network-scripts/network-functions-ipv6 b/sysconfig/network-scripts/network-functions-ipv6 index 394367bb..079a055f 100644 --- a/sysconfig/network-scripts/network-functions-ipv6 +++ b/sysconfig/network-scripts/network-functions-ipv6 @@ -1042,3 +1042,24 @@ ipv6_trigger_radvd() { return 0 } + +#https://www.vaspects.com/2013/12/11/services-dont-bind-to-ipv6-address/ +ipv6_wait_tentative() { + local fn="ipv6_wait_tentative" + local device=$1 + local countdown=30 + + if [ -z "$device" ]; then + net_log $"Missing parameter 'device' (arg 1)" err $fn + return 1 + fi + + [ "$device" = lo ] && return 0 + + while [ ${countdown} -gt 0 -a -n "$(ip -6 addr show dev ${device} scope global tentative)" ]; do + net_log $"Waiting for interface ${device} IPv6 address(es) to leave the \"tentative\" state" info $fn + countdown=$(($countdown - 1)) + sleep 1 + done + return 0 +} |