mirror of
https://github.com/ipxe/ipxe
synced 2025-12-21 12:30:20 +03:00
[DHCP] Fix RFC4390 client identifier constructions.
RFC 4390 provides for the DHCP client identifier to contain the link-layer hardware type and MAC address when the MAC address exceeds 16 bytes. However, the hardware type field is only 8 bits; we were assuming 16 bits.
This commit is contained in:
@@ -610,7 +610,7 @@ int create_dhcp_request ( struct net_device *netdev, int msgtype,
|
|||||||
/* Add DHCP client identifier. Required for Infiniband, and
|
/* Add DHCP client identifier. Required for Infiniband, and
|
||||||
* doesn't hurt other link layers.
|
* doesn't hurt other link layers.
|
||||||
*/
|
*/
|
||||||
client_id.ll_proto = netdev->ll_protocol->ll_proto;
|
client_id.ll_proto = ntohs ( netdev->ll_protocol->ll_proto );
|
||||||
ll_addr_len = netdev->ll_protocol->ll_addr_len;
|
ll_addr_len = netdev->ll_protocol->ll_addr_len;
|
||||||
assert ( ll_addr_len <= sizeof ( client_id.ll_addr ) );
|
assert ( ll_addr_len <= sizeof ( client_id.ll_addr ) );
|
||||||
memcpy ( client_id.ll_addr, netdev->ll_addr, ll_addr_len );
|
memcpy ( client_id.ll_addr, netdev->ll_addr, ll_addr_len );
|
||||||
|
|||||||
Reference in New Issue
Block a user