Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 908986 - net-misc/dhcp does not support infiniband networks
Summary: net-misc/dhcp does not support infiniband networks
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2023-06-22 05:59 UTC by Hank Leininger
Modified: 2024-02-18 11:30 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hank Leininger 2023-06-22 05:59:58 UTC
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.
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-06-22 06:04:07 UTC
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...
Comment 2 Larry the Git Cow gentoo-dev 2024-02-18 11:29:30 UTC
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(+)
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-02-18 11:30:51 UTC
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.