mirror of
https://github.com/xcat2/xcat-dep.git
synced 2024-12-25 12:41:33 +00:00
a60d90375d
-Add workaround for use of Etherboot UNDI stack from git tree -Add workaround for UNDI drivers that do not call the undi open call before attempting to use defive from git tree -Change ProxyDHCP broadcast to go to port 67 (from git tree) -Enable use of DHCP options when BOOTP fields are not present -Report UNDI device to driver as a more standard interface type -Workaround malformed OACK packets sent by certain PXE servers -Avoid a spurious IRQ -Add fix for e1000 driver -Have the UNDI stack report UNDI capabilities -Fix some places where interrupt handlers did not use iret to return
40 lines
1.2 KiB
Diff
40 lines
1.2 KiB
Diff
diff -urN gpxe-0.9.7/src/net/udp/dhcp.c gpxe-0.9.7-pdhcp67/src/net/udp/dhcp.c
|
|
--- gpxe-0.9.7/src/net/udp/dhcp.c 2009-08-21 21:33:52.000000000 -0400
|
|
+++ gpxe-0.9.7-pdhcp67/src/net/udp/dhcp.c 2009-08-21 21:33:13.000000000 -0400
|
|
@@ -668,8 +668,13 @@
|
|
struct dhcp_pxe_boot_menu_item menu_item = { 0, 0 };
|
|
int rc;
|
|
|
|
+ /* Set server address */
|
|
+ peer->sin_addr = *(dhcp->pxe_attempt);
|
|
+ peer->sin_port = ( ( peer->sin_addr.s_addr == INADDR_BROADCAST ) ?
|
|
+ htons ( BOOTPS_PORT ) : htons ( PXE_PORT ) );
|
|
+
|
|
DBGC ( dhcp, "DHCP %p PXEBS REQUEST to %s:%d for type %d\n",
|
|
- dhcp, inet_ntoa ( *(dhcp->pxe_attempt) ), PXE_PORT,
|
|
+ dhcp, inet_ntoa ( peer->sin_addr ), ntohs ( peer->sin_port ),
|
|
ntohs ( dhcp->pxe_type ) );
|
|
|
|
/* Set boot menu item */
|
|
@@ -678,10 +683,6 @@
|
|
&menu_item, sizeof ( menu_item ) ) ) != 0 )
|
|
return rc;
|
|
|
|
- /* Set server address */
|
|
- peer->sin_addr = *(dhcp->pxe_attempt);
|
|
- peer->sin_port = htons ( PXE_PORT );
|
|
-
|
|
return 0;
|
|
}
|
|
|
|
@@ -741,7 +742,8 @@
|
|
DBGC ( dhcp, "\n" );
|
|
|
|
/* Filter out unacceptable responses */
|
|
- if ( peer->sin_port != htons ( PXE_PORT ) )
|
|
+ if ( ( peer->sin_port != htons ( BOOTPS_PORT ) ) &&
|
|
+ ( peer->sin_port != htons ( PXE_PORT ) ) )
|
|
return;
|
|
if ( msgtype != DHCPACK )
|
|
return;
|