Quellcode durchsuchen

[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 vor 10 Jahren
Ursprung
Commit
be51713474
1 geänderte Dateien mit 4 neuen und 0 gelöschten Zeilen
  1. 4
    0
      src/net/fakedhcp.c

+ 4
- 0
src/net/fakedhcp.c Datei anzeigen

199
 		return rc;
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
 	/* Merge in ProxyDHCP options */
206
 	/* Merge in ProxyDHCP options */
203
 	if ( proxy_settings &&
207
 	if ( proxy_settings &&
204
 	     ( ( rc = copy_settings ( &dhcppkt, proxy_settings ) ) != 0 ) ) {
208
 	     ( ( rc = copy_settings ( &dhcppkt, proxy_settings ) ) != 0 ) ) {

Laden…
Abbrechen
Speichern