Re: Guidance to implement io_select on network devices

Joan Lledó <[email protected]> Sat, 13 Jun 2026 13:24:45 +0200
Newsgroups gmane.os.hurd.bugs
Message-ID <[email protected]>
Hi Roy,

El 13/6/26 a les 11:17, Roy Marples ha escrit:
> if-hurd.c and privsep-hurd.c are mostly stubs because setting up IPv4 is pretty common
> amongst all platforms and the only hurd specifics we need is the ability to get the
> interface index and hardware address - other platforms can get this via getifaddrs and
> look at AF_LINK/AF_PACKET address which the Hurd lacks.
> The Hurd also lacks important things like interface/address/route state change notification.
> 
> Anyway.....
> 
> Checkout the hurd_test branch
> ./configure
> make
> sudo make install
> 
> Ensure pfinet is running
> 
> sudo dhcpcd
> 
> And the 10-pfinet hook script we installed should then configure pfinet on the fly with the needed details
> and configure resolv.conf for you.
> 
> IF lwip only supports one interface then it could be configured the same way.
> Otherwise we'll need to start adding ioctls to if-hurd.c to handle setup.
I finally had some time today to actually get hands-on with the code and 
test everything. It works for me.

The pfinet hook might need some changes to detect active translators 
instead of passive translators, and to not be strict about translators 
being installed at `/hurd/*`.

On the other hand, pfinet and lwip react differently to fsysopts 
commands. I should make some changes to lwip to make it behave exactly 
like pfinet, for compatibility. There's no reason we should require a 
different hook for lwip. The pfinet one should be valid.

Also, of course, I'll work on the ethernet headers.