aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Agner <stefan.agner@toradex.com>2020-06-16 10:06:27 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2020-06-21 03:02:02 +0200
commit62744efa472886ea8fdeb262dcb184974e3f88de (patch)
tree278154ce0a9c0bdf5e26ad90e6319affdb553c54
parentfaab906d2867145c81e9bcb1f2bb1f81fd90e734 (diff)
downloadbusybox-62744efa472886ea8fdeb262dcb184974e3f88de.tar.gz
examples/udhcp/simple.script: fix IPv6 support when using udhcpc
The udhcpc script calls ip addr flush .. which flushes addresses of any address family, including IPv6. However, busybox udhcpc is IPv4 only and should not influence IPv6 addressing. Hence use ip addr flush with family constraint. The script particularly broke IPv6 SLAAC: Typically when udhcpc calls the script the kernel already assigned the IPv6 link-local address. The flush removes the link-local IPv6 address again and prohibits proper IPv6 operation such as SLAAC since neighbor discovery protocol relies on IPv6 link-local addressing. Signed-off-by: Stefan Agner <stefan.agner@toradex.com> [Taken from https://git.openembedded.org/openembedded-core/commit/meta/recipes-core/busybox/files/simple.script?id=b77541dbb2f442e51842f9d24c8745a6df2d1478] Signed-off-by: Quentin Schulz <quentin.schulz@streamunlimited.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rwxr-xr-xexamples/udhcp/simple.script2
1 files changed, 1 insertions, 1 deletions
diff --git a/examples/udhcp/simple.script b/examples/udhcp/simple.script
index 6658fbeef..f079ec8b8 100755
--- a/examples/udhcp/simple.script
+++ b/examples/udhcp/simple.script
@@ -18,7 +18,7 @@ case "$1" in
deconfig)
echo "Clearing IP addresses on $interface, upping it"
if command -v ip >/dev/null; then
- ip addr flush dev $interface
+ ip -4 addr flush dev $interface
ip link set dev $interface up
else
ifconfig $interface 0.0.0.0