Hi,
I spent some time these last weeks to update the dhcpcd patches to implement review suggestions and progress a bit with the port. This is the complete list of changes compared to previous patches: [PATCH 1/6] New libpcap BPF backend - No changes [PATCH 2/6] Escape filenames - No changes [PATCH 3/6] Adapt codebase to the new Hurd backend. - RTM_NEWADDR and RTM_DELADDR: Give them the same values they have in BSD. - Add new exceptions when `__GNU__` is defined. Required after rebasing to recent changes from master. [PATCH 4/6] New GNU/Hurd backend - Simplify `if_init` by calling ioctls instead of accessing the gnumach device. - Return -1 and set EOPNOTSUP when possible, as other OSs do. Also, add comments to those functions that should nothing. - Implement function `if_carrier`. [PATCH 5/6] Add support for the Hurd in ./configure - Remove dependency on lwip. - Fix autodetection of the Hurd. This was failing because in the Hurd, `uname -m` is `i686-AT386` which includes a dash, that breaks the shell script to detect the platform. The debian package is manually setting `--build=i686-gnu` to avoid this, now that won't be needed. - Automatically disable unsupported features like IPv6 and privilege separation when the Hurd is detected. - Patch order: This patch was second in the series, now it's the last one that implements code changes. [PATCH 6/6] Add some build instructions for the Hurd - Remove mentions to required configure parameters and dependency on lwip. Next is an updated version of the status report I wrote in my previous email about dhcpcd: - Support only for IPv4. IPv6 not supported yet. - It works only over lwip. pfinet fails but I haven't investigated yet. - Only Ethernet is supported. This is because the Hurd doesn't define AF_LINK so dhcpcd can't get any data from the interface other thant what is returned by `getifaddrs()`. - dhcpcd monitors the interfaces and gets notified when there are changes in routes or network configurations. This is not working yet for the Hurd. - dhcpcd implements some privilege separation by which the process spawns new processes that run as a non-privileged user. Or that's what I understood. It's not implemented for the Hurd because I've deferred this for now. - Access to BPF is provided by libpcap. - libpcap is a dependency for the Hurd. - This has been tested only in a 32-bit Hurd. These patches still can't be merged because they depend on: 1. Changes in libpcap being merged and included the debian package - https://github.com/the-tcpdump-group/libpcap/pull/1565 2. Changes in Glibc being included in the debian package 3. Changes in lwip being included in the debian package, which I won't merge unless both previous points are met - https://salsa.debian.org/debian/lwip/-/commits/in_pktinfo
