tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: dhcpcd in netbsd-7 and -current



John Klos wrote:
Hi,

I'm curious if anyone is working on any of the known issues with dhcpcd.
I've seen it mentioned in various other places that there are instances
where dhcpcd doesn't work, but dhclient does. I've come across this
myself, but not consistently enough to gather much data.

Only issue I occasionally see with dhclient is that it fails to get an address on my x64 system with wm adapter. Although I don't believe that's a dhcpcd bug as dhclient has exactly the same problem so I think its a quirk of my specifc wm chipset.


Two of the other issues I'm curious about is how to stop a running
dhcpcd instance without deconfiguring the interface. Sure, the man page
says to run it with -p or --persistent, but what happens if you have an
already running dhcpcd which wasn't started with --persistent? While the
man page weakly implies that the -p option can be used in conjunction
with --exit, --exit can only be used if dhcpcd was launched in -M
(master) mode, which isn't common if you're running a machine as a NAT
router. I suppose I could just kill -9 it, but I'd like something nicer.

You might be running into this as its a slightly unusual configuration. Most people with NetBSD as their NAT router probably have everything set up statically (I certainly do as my ISP interface is pppoe).


Note that I'm aware that /etc/dhcpcd.conf defaults to persistence.
Perhaps this should be better framed as asking how one does stuff with
dhcpcd when not in master mode.

Now thats a fair question and possibly something that could be improved. I've only ever run it in master mode here as that's what makes sense for my NetBSD dhcp configured systems and in my experience master mode IS the default.

Oh - /etc/rc.d/dhcpcd does not find a running dhcpcd daemon when it is
run in non-master mode. I'm thinking I should file a PR, unless someone
can explain why this is expected behavior. Or master mode should be made
the default.

If you add dhcpcd=YES to rc.conf that's what you get. It only runs in non-master mode if you give it an interface on the command line. If you want to exclude some interfaces from its processing you can add -Z <ifname>,<ifname>. You can also list specific interfaces to operate on (still in master mode) using -z <ifname>,<ifname>.

How are you setting up rc.conf in your system?

Furthermore, it appears that dhcpcd doesn't run as expected on NetBSD-7
or current. On NetBSD-7 from two days ago, every third time or so that I
send dhcpcd a signal (dhcpcd -p --exit, for instance) when it is in
master mode, it pegs the CPU and fails to quit until a kill -9 is sent.
Launching dhcpcd for the first time on -current (evbmips64-eb) works,
sorta, but spews a non-ending stream of uninterruptible messages to the
console:

trap: pid 892(dhcpcd): sig 11: cause=0x8 epc=0x100173e8 va=0
registers:
Well assuming the trap code on mips has decoded the cause register that looks like something very mips specific went wrong handling a system call request (although I'm not a netBSD mips expert) so that one looks like a flaw in the mips kernel or a kernel userland mismatch rather than a dhcpcd bug. I certainly don't see this on my 2 netbsd 7-rc3 systems and I've never seen anything in netbsd 6 either.



Home | Main Index | Thread Index | Old Index