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


Reply via email to