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>
If /etc/resolv.conf is a symlink to a tmpfs and the actual file does not
already exist, "readlink -f" will not detect it as symlink. Explicitely check
for that condition before and touch the file, making the other code work as
intended.
Signed-off-by: Rolf Eike Beer <eb@emlix.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Script uses "ifconfig" only, not up-to-date so much.
This patch adds "ip" in condition if exists.
Signed-off-by: Jiří Prchal <jiri.prchal@aksignal.cz>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
The realpath utility requires all paths exist when canonicalizing
symlinks. If /etc/resolv.conf points to a tmpfs, then it might
not exist initially. Use `readlink -f` so that we follow all
symlinks that are available.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Some shells (like dash) are lame and omit the POSIX increment/decrement
feature (because it is listed as optional). Tweak the shell script to
work in all POSIX variants.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Often it is desirable to have /etc/ be on read-only storage (well, the
whole rootfs) but have things like /etc/resolv.conf be symlinks to a
writable location. Tweak the simple script to support that.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
function old new delta
udhcp_str2optset 415 532 +117
Signed-off-by: Michael McTernan <Michael.McTernan.2001@cs.bris.ac.uk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
requestip, vendorclass, clientid are client-side variables,
they do not make sense as udhcpd opts
dhcptype is the packet type (not interesting, it's always 5)
userclass needs parser support in order to work
function old new delta
dhcp_options 68 66 -2
read_opt 865 859 -6
dhcp_option_strings 253 203 -50
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-58) Total: -58 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Erik,
Attached is a patch for the udhcpc sample scripts, to correct the order in
which routers are applied if the DHCP server provides more than one (as per
section 3.5 of RFC2132).
Apologies for not being on the mailing list and thanks for your continued
efforts.
Simon.
Hello,
Here's a patch for a first attempt at static leases for udhcpd.
Included in the tarball are 2 files (static_leases.c, static_leases.h)
and a patch against the latest cvs.
In the config file you can configure static leases with the following
format:
static_lease 00:60:08:11:CE:4E 192.168.0.54
static_lease 00:60:08:11:CE:3E 192.168.0.44
Comments/suggestions/improvements are welcome.
Wade