summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2025-06-26 08:17:22 -0600
committerTom Rini <[email protected]>2025-06-26 08:33:42 -0600
commited2007d27b19171f2ded5a658e8e41ba63c95425 (patch)
treee21f972d0e21f71558c20fc1bef42e625fc4ae7a /net
parent579d1a1bb77004d0e22d9db6de12fe87cac44055 (diff)
parent092f0c45f4663d03340e50a4752ad56cfd8994b4 (diff)
Merge patch series "net: consolidate PXE processor architecture type Kconfig"
Heinrich Schuchardt <[email protected]> says: DHCP and DHCPv6 use the same value defined in https://www.iana.org/assignments/dhcpv6-parameters#processor-architecture to encode the processor architecture type. We should only use a single Kconfig symbol for both protocols. Furthermore we should make the value customizable. This allows for instance to choose between "x86 BIOS" or "x64 UEFI". As "x86 BIOS" is encoded as 0, we should not use this value to switch off transmission of the DHCP option. Use 0xFF instead. Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'net')
-rw-r--r--net/bootp.c6
-rw-r--r--net/dhcpv6.c6
2 files changed, 6 insertions, 6 deletions
diff --git a/net/bootp.c b/net/bootp.c
index f22921ed388..95d906e3b2d 100644
--- a/net/bootp.c
+++ b/net/bootp.c
@@ -545,14 +545,14 @@ static int dhcp_extended(u8 *e, int message_type, struct in_addr server_ip,
}
#endif
-#ifdef CONFIG_BOOTP_PXE_CLIENTARCH
- clientarch = CONFIG_BOOTP_PXE_CLIENTARCH;
+#ifdef CONFIG_DHCP_PXE_CLIENTARCH
+ clientarch = CONFIG_DHCP_PXE_CLIENTARCH;
#endif
if (env_get("bootp_arch"))
clientarch = env_get_ulong("bootp_arch", 16, clientarch);
- if (clientarch > 0) {
+ if (clientarch != 0xff) {
*e++ = 93; /* Client System Architecture */
*e++ = 2;
*e++ = (clientarch >> 8) & 0xff;
diff --git a/net/dhcpv6.c b/net/dhcpv6.c
index 0c2de75ba1d..5bf935cb6a3 100644
--- a/net/dhcpv6.c
+++ b/net/dhcpv6.c
@@ -128,7 +128,7 @@ static int dhcp6_add_option(int option_id, uchar *pkt)
break;
case DHCP6_OPTION_CLIENT_ARCH_TYPE:
client_arch_opt = (struct dhcp6_option_client_arch *)dhcp_option_start;
- client_arch_opt->arch_type[num_client_arch++] = htons(CONFIG_DHCP6_PXE_CLIENTARCH);
+ client_arch_opt->arch_type[num_client_arch++] = htons(CONFIG_DHCP_PXE_CLIENTARCH);
opt_len = sizeof(__be16) * num_client_arch;
break;
@@ -194,7 +194,7 @@ static void dhcp6_send_solicit_packet(void)
pkt += dhcp6_add_option(DHCP6_OPTION_ELAPSED_TIME, pkt);
pkt += dhcp6_add_option(DHCP6_OPTION_IA_NA, pkt);
pkt += dhcp6_add_option(DHCP6_OPTION_ORO, pkt);
- if (CONFIG_DHCP6_PXE_CLIENTARCH != 0xFF)
+ if (CONFIG_DHCP_PXE_CLIENTARCH != 0xFF)
pkt += dhcp6_add_option(DHCP6_OPTION_CLIENT_ARCH_TYPE, pkt);
pkt += dhcp6_add_option(DHCP6_OPTION_VENDOR_CLASS, pkt);
pkt += dhcp6_add_option(DHCP6_OPTION_NII, pkt);
@@ -244,7 +244,7 @@ static void dhcp6_send_request_packet(void)
memcpy(pkt, sm_params.server_uid.uid_ptr, sm_params.server_uid.uid_size);
pkt += sm_params.server_uid.uid_size;
}
- if (CONFIG_DHCP6_PXE_CLIENTARCH != 0xFF)
+ if (CONFIG_DHCP_PXE_CLIENTARCH != 0xFF)
pkt += dhcp6_add_option(DHCP6_OPTION_CLIENT_ARCH_TYPE, pkt);
pkt += dhcp6_add_option(DHCP6_OPTION_VENDOR_CLASS, pkt);
pkt += dhcp6_add_option(DHCP6_OPTION_NII, pkt);