Stock ISC dhcp doesn't support serving on Infiniband networks: # /etc/init.d/dhcpd start * Starting dhcpd ... * start-stop-daemon: failed to start `/usr/sbin/dhcpd' [ !! ] * ERROR: dhcpd failed to start It syslogs: dhcpd: Unsupported device type 32 for "ib0" # ethtool -i ib0 driver: ib_ipoib version: 6.3.8-gentoo-x86_64 firmware-version: 2.42.5000 expansion-rom-version: bus-info: 0000:03:00.0 supports-statistics: yes supports-test: no supports-eeprom-access: no supports-register-dump: no supports-priv-flags: no Patches were posted to dhcp mailing lists around 2013 or so but never merged. Fedora and Ubuntu both have patches to add Infiniband support: https://src.fedoraproject.org/rpms/dhcp/blob/f38/f/0014-IPoIB-support-660681.patch https://packages.ubuntu.com/source/lunar/isc-dhcp These patches in particular (which aren't in Debian's version of isc-dhcp FWIW): dhcp-4.2.4-dhclient-options-changed.patch dhcp-lpf-ib.patch dhcp-improved-xid.patch dhcp-improved-xid-correct-byte-order.patch dhcp-4.4.3-infiniband.patch None of these apply cleanly to ::gentoo's version, will see what I can do.
I'm hoping we can find an alternative here - we'd love to get rid of ISC dhcp, as it's EOL. For the server side, there's net-misc/kea which I'm not super sold on yet. For clients, it's mainly net-misc/dhcpcd...
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9d7c00231ffdd25767f9f730f15a1a41692d0319 commit 9d7c00231ffdd25767f9f730f15a1a41692d0319 Author: Hank Leininger <hlein@korelogic.com> AuthorDate: 2023-06-22 06:43:14 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-02-18 11:24:24 +0000 net-misc/dhcp: add support for Infiniband Taken from Ubuntu's patchset, although it does not apply cleanly: https://packages.ubuntu.com/lunar/isc-dhcp-server Signed-off-by: Hank Leininger <hlein@korelogic.com> Closes: https://bugs.gentoo.org/908986 Closes: https://github.com/gentoo/gentoo/pull/31568 Signed-off-by: Sam James <sam@gentoo.org> net-misc/dhcp/files/dhcp-4.4.3-infiniband.patch | 957 ++++++++++++++++++++++++ 1 file changed, 957 insertions(+)
Just to dump the gh discussion here: -- Member robbat2 (Robin H. Johnson) commented Feb 17, 2024 @hlein that's a large patch. A better way to maintain it would be to add the Ubuntu .debian.tar.* file as a distfile, and apply that patch. Some of the existing patches in $FILESDIR might be duplicates @hlein Contributor Author hlein commented Feb 17, 2024 @hlein that's a large patch. A better way to maintain it would be to add the Ubuntu .debian.tar.* file as a distfile, and apply that patch. Some of the existing patches in $FILESDIR might be duplicates Ah sure, I could look at that. Is the objection about sheer maintainability, or bloat of the portage tree rather than a devspace tarball, or both? Hm, well the challenge with that is that their patchset doesn't apply cleanly to our version. Short of possibly throwing out all of our patches so that we use their series (or a subset), I'd have to... patch their patch before applying it maybe? In Ubuntu's patchset, Infiniband changes are spread across multiple diffs (sometimes patching previous patches) and they are also quite large: isc-dhcp_4.4.3-P1-4ubuntu1.debian/debian/patches $ ls -lU $(egrep -f <(egrep -il infiniband *) series) -rw-rw-r-- 1 hlein wheel 20953 Nov 27 04:23 dhcp-lpf-ib.patch -rw-rw-r-- 1 hlein wheel 5241 Nov 27 04:23 dhcp-improved-xid.patch -rw-rw-r-- 1 hlein wheel 2760 Nov 27 04:23 dhcp-gpxe-cid.patch -rw-rw-r-- 1 hlein wheel 1428 Nov 27 04:23 dhcp-improved-xid-correct-byte-order.patch -rw-rw-r-- 1 hlein wheel 6111 Nov 27 04:23 dhcp-4.2.4-dhclient-options-changed.patch The good news is, if I apply those to our dhcp-4.4.3_p1-r4, there's actually only one hunk that outright fails; the rest just get various dirty offsets. Would it in fact be better to use the upstream patchset, patching the failing patch (dhcp-lpf-ib.patch) before applying? We have some quite big patches in net-misc/dhcp/files/ already, although my dhcp-4.4.3-infiniband.patch is indeed the biggest by almost a factor of 2. I also wondered about giving up on ISC dhcpd entirely, as ISC themselves have done, and maybe switch to their replacement kea. But... it also doesn't support Infiniband without third-party patches. Thanks! @thesamesam Member thesamesam commented Feb 18, 2024 • In Ubuntu's patchset, Infiniband changes are spread across multiple diffs (sometimes patching previous patches) and they are also quite large: Given this, I don't think it's really going to be a win for us to change to it. Normally, I'd really prefer using the Debian/Ubuntu patchsets in a situation like this and just patch stuff on top if we must, but it doesn't really seem like a good fit here... Longer-term though, we should probably figure out Kea and patch it if needed given dhcp is limping on... Anyway, I'll pull the patch into devspace for now.