Ah, to be clear, I think that providing a means to convert something mach into something selectable as a fd would be of great use as I'm using the same pipe trick you used in libpcap as I can't think of any other way of doing this with the tools we currently have.
I really dislike the small timeout just to add a cancellation point as it means there is a lot of context switching going on just because of this. Roy From: Roy Marples <[email protected]> To: ""Joan Lledó""<[email protected]> Cc: "bug-hurd"<[email protected]>, "martin-ericracine"<[email protected]> Date: Sun, 07 Jun 2026 18:55:40 +0100 Subject: Re:Guidance to implement io_select on network devices Hi Joan It's fine, 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. 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). I need to add a mechanism for handling gethostname(2) in dhcpcd's privilege separation code. I need to work out why BPF for handling ARP is failing. I would like not to have to do a header dance to get ethernet defines as glibc is just different on Hurd, but I can live with that. I'm hopeful I can wrap this up next week so others can look at it. Then we can look at working with lwip as well. Roy From: Joan Lledó < mailto:[email protected] > To: "bug-hurd"< mailto:[email protected] > Cc: "Roy Marples"< mailto:[email protected] >, "martin-ericracine"< mailto:[email protected] > Date: Sun, 07 Jun 2026 17:51:21 +0100 Subject: Guidance to implement io_select on network devices Hi, The dhcpcd port is stuck waiting for the libpcap patch to be accepted https://github.com/the-tcpdump-group/libpcap/pull/1565 It's been a month since I sent my last changes to the PR and there's no answer so far. I wonder how should we proceed, should we wait more time? The alternative that should be accepted upstream implies implementing `io_select` on network devices in gnumach. I'm not working on anything else right now, so I might try, but, how difficult would be?, is it doable? If so, I'd need some basic guidance on how to start doing this.
