Hi Joan Firstly, thanks for the initial patches to prompt me to doing something about Hurd
From: Joan Lledó <[email protected]> To: <[email protected]> Cc: "Roy Marples"<[email protected]> Date: Fri, 12 Jun 2026 19:16:41 +0100 Subject: Re: Guidance to implement io_select on network devices > Hi > > El 7/6/26 a les 19:55, Roy Marples ha escrit: > > I have ported what I need into bpf-hurd.c for dhcpcd. > > > > As I can't get lwip working yet I have concentrated on getting it to > > work with pfinet. > > This has been achieved with starting pfinet with the 0.0.0.0 address so > > dhcpcd has something to work with. > > I have created a 10-pfinet hook script to configure pfinet using fsysopts. > > I made some changes to pfinet recently that included setting the default > address to 0.0.0.0 > > https://lists.gnu.org/archive/html/bug-hurd/2026-04/msg00060.html > > If your pfinet doesn't set 0.0.0.0 as default, it's probably outdated > and I would expect you to face some other problems like not being able > to read the control block from packets. > > > > > My Gentoo hurd VM now starts and gets a working ssh connection > > automatically. > > Happy days. > > > > So where are we now? > > I'm waiting for a Gentoo bug to be solved in glibc to remove the AF_LINK > > and SIOCAIFADDR defines to reduce the changes I need to make in dhcpcd. > > I need to work out why IN_PKTINFO is not present in the CMSG for DHCP > > messages (unsure if pfinet bug or something I've done wrong, pfinet does > > have code for it). > > Yeah, that's what I meant. See the last changes in pfinet. Those > problems are solved: > > https://cgit.git.savannah.gnu.org/cgit/hurd/hurd.git/log/?qt=grep&q=pfinet > > Also you would need a recent glibc to have IN_PKTINFO > > https://lists.gnu.org/archive/html/bug-hurd/2026-01/msg00041.html OK, so it might work in the future for me. > > > I need to add a mechanism for handling gethostname(2) in dhcpcd's > > privilege separation code. > > I can work on privilege separation if you want to use your time in other > matters. Tell me how can I be useful. I can also spend my time trying to > hack gnumach to get notifications on ports, but that will take me much > more time for sure. The privilege separation is done. 100% working on Hurd in a POSIX limited sandbox. One thing I lack the time to do because I am very much limited by my inability to upgrade much on my Hurd VM is fix the ethernet header disater. If you can get any changes upstreamed to Hurd libc I would appreciate that greatly. See here on my hurd_test branch: https://github.com/NetworkConfiguration/dhcpcd/commit/cbd462a9a671a5bd20212eba4619aca5f4e8bc5e#diff-9625d3bf762014910c77568e8fab6f16ed8a0c3891483266d32e47793ec9b41e #ifdef __GNU__ #include <net/ethernet.h> #include <net/if_arp.h> #else #include <netinet/if_ether.h> #endif I should NOT have to do this. Every other OS dhcpcd compiles on (it's a long exhaustive list) pulls in what I need from netinet/if_ether.h Relevant upstream bug: https://sourceware.org/bugzilla/show_bug.cgi?id=11142 Again, if you can progress that so I don't have to special case Hurd each time I want some ethernet stuff I would greatly appreciate it. Thanks Roy
