diff options
| author | Corentin Henry <corentinhenry@gmail.com> | 2017-01-30 12:02:48 -0800 |
|---|---|---|
| committer | Timo Teräs <timo.teras@iki.fi> | 2017-02-08 13:29:57 +0200 |
| commit | 05fe36e53fe39c6b288e9ef9ccfe9c226f948aad (patch) | |
| tree | 888ac935e6cbcd09e8a01251b876d388a2434f45 /main/busybox-initscripts/default.script | |
| parent | 8823b73bffed3087ac3cfa8ad84de5d9c8d3c184 (diff) | |
| download | aports-05fe36e53fe39c6b288e9ef9ccfe9c226f948aad.tar.bz2 aports-05fe36e53fe39c6b288e9ef9ccfe9c226f948aad.tar.xz | |
main/busybox-initscripts: udhcpc: act on IPv4 only
udhcpc works only with IPv4 addresses but the current
/usr/share/udhcpc/default.script script interferes with IPv6.
For example, when getting a new lease from an IPv4 address on a given
interface, all the addresses on this interfaces get flushed, including
IPv6. This issue has been reported to the busybox project:
https://bugs.busybox.net/show_bug.cgi?id=9621
This commit prevents udhcpc to act on IPv6 addresses.
Diffstat (limited to 'main/busybox-initscripts/default.script')
| -rw-r--r-- | main/busybox-initscripts/default.script | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/main/busybox-initscripts/default.script b/main/busybox-initscripts/default.script index 2a8267f221..ff02cddfff 100644 --- a/main/busybox-initscripts/default.script +++ b/main/busybox-initscripts/default.script @@ -31,7 +31,7 @@ run_scripts() { } deconfig() { - ip addr flush dev $interface + ip -4 addr flush dev $interface } is_wifi() { @@ -42,7 +42,7 @@ if_index() { if [ -e /sys/class/net/$interface/ifindex ]; then cat /sys/class/net/$interface/ifindex else - ip link show dev $interface | head -n1 | cut -d: -f1 + ip -4 link show dev $interface | head -n1 | cut -d: -f1 fi } @@ -62,12 +62,12 @@ routes() { [ "$i" = "$interface" ] && return done local gw= num= - while ip route del default via dev $interface 2>/dev/null; do + while ip -4 route del default via dev $interface 2>/dev/null; do : done num=0 for gw in $router; do - ip route add 0.0.0.0/0 via $gw dev $interface \ + ip -4 route add 0.0.0.0/0 via $gw dev $interface \ metric $(( $num + ${IF_METRIC:-$(calc_metric)} )) num=$(( $num + 1 )) done @@ -96,21 +96,21 @@ resolvconf() { } bound() { - ip addr add $ip/$mask ${broadcast:+broadcast $broadcast} dev $interface - ip link set dev $interface up + ip -4 addr add $ip/$mask ${broadcast:+broadcast $broadcast} dev $interface + ip -4 link set dev $interface up routes resolvconf } renew() { - if ! ip addr show dev $interface | grep $ip/$mask; then - ip addr flush dev $interface - ip addr add $ip/$mask ${broadcast:+broadcast $broadcast} dev $interface + if ! ip -4 addr show dev $interface | grep $ip/$mask; then + ip -4 addr flush dev $interface + ip -4 addr add $ip/$mask ${broadcast:+broadcast $broadcast} dev $interface fi local i for i in $router; do - if ! ip route show | grep ^default | grep $i; then + if ! ip -4 route show | grep ^default | grep $i; then routes break fi |
