Skip to content

Commit

Permalink
examples/udhcp/simple.script: fix IPv6 support when using udhcpc
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Stefan Agner authored and Denys Vlasenko committed Jun 21, 2020
1 parent faab906 commit 62744ef
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion examples/udhcp/simple.script
Expand Up @@ -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
Expand Down

0 comments on commit 62744ef

Please sign in to comment.