瀏覽代碼

[pxe] Populate ciaddr in fake PXE Boot Server ACK packet

We currently do not populate the ciaddr field in the constructed PXE
Boot Server ACK packet.  This causes a WDS server to respond with a
broadcast packet, which is then ignored by wdsmgfw.efi since it does
not match the specified IP address filter.

Fix by populating ciaddr within the constructed PXE Boot Server ACK
packet.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 8 年之前
父節點
當前提交
be51713474
共有 1 個檔案被更改,包括 4 行新增0 行删除
  1. 4
    0
      src/net/fakedhcp.c

+ 4
- 0
src/net/fakedhcp.c 查看文件

@@ -199,6 +199,10 @@ int create_fakepxebsack ( struct net_device *netdev,
199 199
 		return rc;
200 200
 	}
201 201
 
202
+	/* Populate ciaddr */
203
+	fetch_ipv4_setting ( netdev_settings ( netdev ), &ip_setting,
204
+			     &dhcppkt.dhcphdr->ciaddr );
205
+
202 206
 	/* Merge in ProxyDHCP options */
203 207
 	if ( proxy_settings &&
204 208
 	     ( ( rc = copy_settings ( &dhcppkt, proxy_settings ) ) != 0 ) ) {

Loading…
取消
儲存