DHCPClient: Send ParameterRequestList option with DHCPRequest packet

We'll need SubnetMask and Router options to be returned with the ACK
packet. So, it's a good idea to request them explicitly in this packet.
This commit is contained in:
Thitat Auareesuksakul 2022-04-15 01:11:27 +07:00 committed by Ali Mohammad Pur
parent 01a602cb51
commit c949a4db2d
Notes: sideshowbarker 2024-07-17 11:44:31 +09:00

View file

@ -5,6 +5,7 @@
*/
#include "DHCPv4Client.h"
#include <AK/Array.h>
#include <AK/Debug.h>
#include <AK/JsonArray.h>
#include <AK/JsonObject.h>
@ -366,6 +367,12 @@ void DHCPv4Client::dhcp_request(DHCPv4Transaction& transaction, DHCPv4Packet con
if (maybe_dhcp_server_ip.has_value())
builder.add_option(DHCPOption::ServerIdentifier, sizeof(IPv4Address), &maybe_dhcp_server_ip.value());
AK::Array<DHCPOption, 2> parameter_request_list = {
DHCPOption::SubnetMask,
DHCPOption::Router,
};
builder.add_option(DHCPOption::ParameterRequestList, parameter_request_list.size(), &parameter_request_list);
auto& dhcp_packet = builder.build();
// broadcast the "request" request