[PATCH 1/5] dhcp6: Include Client ID in Information-Request

Andrew Zaborowski <[email protected]>
Newsgroups dev.linux.lists.ell
Message-ID <[email protected]>
The Reply parser requires that the Client ID be present in the Reply but
the server only includes that if the Information-Request included the
Client ID.  RFC 8415 Section 18.2.6 has this to say about the Client ID:

"The client SHOULD include a Client Identifier option (see Section 21.2)
to identify itself to the server (however, see Section 4.3.1 of [RFC7844]
for reasons why a client may not want to include this option).  If the
client does not include a Client Identifier option, the server will not
be able to return any client-specific options to the client, or the
server may choose not to respond to the message at all."

RFC 7833 Section 4.3.1 says this:
"When using stateless DHCPv6, clients wanting to protect their privacy
SHOULD NOT include client identifiers in their Information-request
messages.  This will prevent the server from specifying client-specific
options if it is configured to do so, but the need for anonymity
precludes such options anyway."
---
The obvious alternative is to not include the Client ID and not require
it in the Reply validation, or make this configurable to avoid privacy
concerns.  I'm happy to go with either of these options.

 ell/dhcp6.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ell/dhcp6.c b/ell/dhcp6.c
index 2792ff2..0705a7b 100644
--- a/ell/dhcp6.c
+++ b/ell/dhcp6.c
@@ -738,6 +738,8 @@ static int dhcp6_client_send_information_request(struct l_dhcp6_client *client)
 	option_append_elapsed_time(builder, client->transaction_start_t);
 	option_append_option_request(builder, client->request_options,
 					DHCP6_STATE_REQUESTING_INFORMATION);
+	option_append_bytes(builder, DHCP6_OPTION_CLIENT_ID,
+					client->duid, client->duid_len);
 
 	information_request = dhcp6_message_builder_free(builder, false,
 						&information_request_len);
-- 
2.34.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.