diff --git a/layers/0-soc-ig-common/recipes-bsp/u-boot-xlnx/0001-Add-DHCP-Client-ID-by-P.-Zejdl.patch b/layers/0-soc-ig-common/recipes-bsp/u-boot-xlnx/0001-Add-DHCP-Client-ID-by-P.-Zejdl.patch index 15930f30cc6c6514fd2acd2ce38913a9ac8591ff..e4c8589086e940c6021aaea0bd1e0ceb3e56cdd1 100644 --- a/layers/0-soc-ig-common/recipes-bsp/u-boot-xlnx/0001-Add-DHCP-Client-ID-by-P.-Zejdl.patch +++ b/layers/0-soc-ig-common/recipes-bsp/u-boot-xlnx/0001-Add-DHCP-Client-ID-by-P.-Zejdl.patch @@ -26,7 +26,7 @@ index 0000000000..38070e5d0f +int string_to_clientid(const char *str, u8 *clientid, size_t size); +void print_clientid(const u8 *clientid, size_t len); + -+void construct_dhcp_clientid(unsigned int hw_addr, unsigned int ipmb_addr, unsigned int site_number, unsigned int site_type, const char *shelf_addr); ++void construct_dhcp_clientid(unsigned int hw_addr, const char *ipmb_addr, unsigned int site_number, unsigned int site_type, const char *shelf_addr); + +#endif \ No newline at end of file @@ -34,7 +34,7 @@ diff --git a/net/Kconfig b/net/Kconfig index cabe93c6bd..e399cc11c4 100644 --- a/net/Kconfig +++ b/net/Kconfig -@@ -99,4 +99,10 @@ config SERVERIP_FROM_PROXYDHCP_DELAY_MS +@@ -144,6 +144,12 @@ receiving response from main DHCP server. Has no effect if SERVERIP_FROM_PROXYDHCP is false. @@ -44,15 +44,17 @@ index cabe93c6bd..e399cc11c4 100644 + help + Add the Client Identifier option to DHCP requests. + - endif # if NET + config KEEP_SERVERADDR + bool "Write the server's MAC address to 'serveraddr'" + default y if SANDBOX diff --git a/net/Makefile b/net/Makefile index fb3eba840f..7b0c5168d6 100644 --- a/net/Makefile +++ b/net/Makefile -@@ -29,6 +29,7 @@ obj-$(CONFIG_CMD_TFTPBOOT) += tftp.o - obj-$(CONFIG_UDP_FUNCTION_FASTBOOT) += fastboot.o - obj-$(CONFIG_CMD_WOL) += wol.o +@@ -35,6 +35,7 @@ obj-$(CONFIG_PROT_UDP) += udp.o + obj-$(CONFIG_PROT_TCP) += tcp.o + obj-$(CONFIG_CMD_WGET) += wget.o +obj-$(CONFIG_DHCP_CLIENTID) += dhcp-clientid.o # Disable this warning as it is triggered by: @@ -184,7 +186,7 @@ index 0000000000..61e77c6f37 +#endif +// This function is a "weak symbol": if it is defined anywhere else, that symbol will take precedence at link time +// In practice we provide a sensible default implementation that users can override -+__weak void construct_dhcp_clientid(unsigned int hw_addr, unsigned int ipmb_addr, unsigned int site_number, unsigned int site_type, const char *shelf_addr) { ++__weak void construct_dhcp_clientid(unsigned int hw_addr, const char *ipmb_addr, unsigned int site_number, unsigned int site_type, const char *shelf_addr) { + char dhcp_clientid[3*(3+SIPL_SHELF_ADDR_MAXSIZE)]; + // The string begins with site_type, site_number, ipmb_addr concatenated as hex + sprintf(dhcp_clientid, "%02X:%02X:%02X", site_type, site_number, ipmb_addr);