]> git.ipfire.org Git - thirdparty/systemd.git/commit
dhcp: fix sd_dhcp_client_set_client_id() for infiniband addresses
authorThomas Haller <thaller@redhat.com>
Thu, 20 Dec 2018 12:05:13 +0000 (13:05 +0100)
committerThomas Haller <thaller@redhat.com>
Thu, 20 Dec 2018 12:15:49 +0000 (13:15 +0100)
commitb9d80714583bf40e354ad0fc364ebfb35a0b3d76
tree30a06f29d93eb17545dd6bd279a02a7592f379fc
parentfcfb1f775ed0e9d282607bb118ba788b98952855
dhcp: fix sd_dhcp_client_set_client_id() for infiniband addresses

Infiniband addresses are 20 bytes (INFINIBAND_ALEN), but only the last
8 bytes are suitable for putting into the client-id.

This bug had no effect for networkd, because sd_dhcp_client_set_client_id()
has only one caller which always uses ARPHRD_ETHER type.

I was unable to find good references for why this is correct ([1]). Fedora/RHEL
has patches for ISC dhclient that also only use the last 8 bytes ([2], [3]).
RFC 4390 (Dynamic Host Configuration Protocol (DHCP) over InfiniBand) [4] does
not discuss the content of the client-id either.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1658057#c29
[2] https://bugzilla.redhat.com/show_bug.cgi?id=660681
[3] https://src.fedoraproject.org/rpms/dhcp/blob/3ccf3c8d815df4b8e11e1a04850975f099273d5d/f/dhcp-lpf-ib.patch
[4] https://tools.ietf.org/html/rfc4390
src/libsystemd-network/sd-dhcp-client.c