dhcpcd changed behavior after upgrading to kernel 3.18
iw3gtf
Thu Jan 22 08:55:42 2015
Hi all,
I use dhcpcd 6.6.x in some network configuration scripts also to
configure static addresses, with the cmdline option '-S
ip_address=.../...'.
I also found it very handy to use different labels for the network
device
to be able to configure/unconfigure different addresses on the same
device
as in the following example:
# dhcpcd -S ip_address=192.168.0.10/24 eth0:static
# dhcpcd -S ip_address=10.1.2.3/8 eth0:factory
...
these commands run in the background until I decide to unconfigure
one of them with:
# dhcpcd -k eth0:factory
This only remove the factory ip without affecting the other.
Now, after upgrading the linux kernel to v3.18.x these commands
don't work anymore:
# dhcpcd -d -S ip_address=192.168.0.10/24 eth0:static
dhcpcd[26781]: version 6.6.7 starting
dhcpcd[26781]: /proc/sys/net/ipv6/conf/eth0:factory/accept_ra: No such
file or directory
dhcpcd[26781]: eth0:factory: adding address fe80::5ece:4894:34ea:7bcb
dhcpcd[26781]: eth0:factory: pltime infinity, vltime infinity
dhcpcd[26781]: eth0:factory: executing `/lib/dhcpcd/dhcpcd-run-hooks'
PREINIT
dhcpcd[26781]: eth0:factory: executing `/lib/dhcpcd/dhcpcd-run-hooks'
CARRIER
dhcpcd[26781]: DUID 00:01:00:01:1b:8d:cc:38:00:22:3f:e1:1a:31
dhcpcd[26781]: eth0:factory: IAID c5:07:00:a5
dhcpcd[26781]: eth0:factory: delaying IPv4 for 0.1 seconds
dhcpcd[26781]: eth0:factory: interface departed
dhcpcd[26781]: eth0:factory: removing interface
dhcpcd[26781]: eth0:factory: deleting address fe80::5ece:4894:34ea:7bcb
dhcpcd[26781]: eth0:factory: executing `/lib/dhcpcd/dhcpcd-run-hooks'
DEPARTED
dhcpcd[26781]: exited
After some try and fails I found that this is due to the ipv6 part of
the command,
if I just request an ipv4 address it works as expected:
# dhcpcd -d -4 -S ip_address=192.168.0.10/24 eth0:factory
dhcpcd[27095]: version 6.6.7 starting
dhcpcd[27095]: eth0:factory: executing `/lib/dhcpcd/dhcpcd-run-hooks'
PREINIT
dhcpcd[27095]: eth0:factory: executing `/lib/dhcpcd/dhcpcd-run-hooks'
CARRIER
dhcpcd[27095]: DUID 00:01:00:01:1b:8d:cc:38:00:22:3f:e1:1a:31
dhcpcd[27095]: eth0:factory: IAID c5:07:00:a5
dhcpcd[27095]: eth0:factory: delaying IPv4 for 0.3 seconds
dhcpcd[27095]: eth0:factory: using static address 192.168.0.10/24
dhcpcd[27095]: eth0:factory: adding IP address 192.168.0.10/24
dhcpcd[27095]: eth0:factory: adding route to 192.168.0.0/24
dhcpcd[27095]: eth0:factory: executing `/lib/dhcpcd/dhcpcd-run-hooks'
STATIC
dhcpcd[27095]: forking to background
dhcpcd[27095]: forked to background, child pid 27123
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 10.0.0.54/8 brd 10.255.255.255 scope global eth0
valid_lft forever preferred_lft forever
inet 192.168.0.10/24 brd 192.168.0.255 scope global eth0:factory
valid_lft forever preferred_lft forever
inet6 fe80::203:c5ff:fe07:a5/64 scope link
valid_lft forever preferred_lft forever
Moreover, if I just use 'eth0' as the net device, without the label
':factory'
it works again as expected:
# dhcpcd -d -S ip_address=192.168.0.10/24 eth0
dhcpcd[28154]: version 6.6.7 starting
dhcpcd[28154]: eth0: disabling kernel IPv6 RA support
dhcpcd[28154]: eth0: executing `/lib/dhcpcd/dhcpcd-run-hooks' PREINIT
dhcpcd[28154]: eth0: executing `/lib/dhcpcd/dhcpcd-run-hooks' CARRIER
dhcpcd[28154]: DUID 00:01:00:01:1b:8d:cc:38:00:22:3f:e1:1a:31
dhcpcd[28154]: eth0: IAID c5:07:00:a5
dhcpcd[28154]: eth0: delaying IPv6 router solicitation for 0.7 seconds
dhcpcd[28154]: eth0: delaying IPv4 for 0.5 seconds
dhcpcd[28154]: eth0: using static address 192.168.0.10/24
dhcpcd[28154]: eth0: adding IP address 192.168.0.10/24
dhcpcd[28154]: eth0: adding route to 192.168.0.0/24
dhcpcd[28154]: eth0: executing `/lib/dhcpcd/dhcpcd-run-hooks' STATIC
dhcpcd[28154]: forking to background
dhcpcd[28154]: forked to background, child pid 28176
# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast
state UP group default qlen 1000
link/ether xx:xx:xx:xx:xx:xx brd ff:ff:ff:ff:ff:ff
inet 10.0.0.54/8 brd 10.255.255.255 scope global eth0
valid_lft forever preferred_lft forever
inet 192.168.0.10/24 brd 192.168.0.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::203:c5ff:fe07:a5/64 scope link
valid_lft forever preferred_lft forever
Does someone also experience the same problems ?
giorgio
--
Giorgio, iw3gtf@xxxxxxxxxx
Connetti gratis il mondo con la nuova indoona: hai la chat, le
chiamate, le video chiamate e persino le chiamate di gruppo.
E chiami gratis anche i numeri fissi e mobili nel mondo!
Scarica subito l’app Vai su https://www.indoona.com/
Archive administrator: postmaster@marples.name