summaryrefslogtreecommitdiffstats
path: root/src/net/udp
diff options
context:
space:
mode:
authorMichael Brown2015-08-18 18:18:38 +0200
committerMichael Brown2015-08-18 18:18:38 +0200
commit0a34c2aab9951bf571a5093a5a8d0f6d1f5ca107 (patch)
treea174307fe44fa434181c013022018bf949309553 /src/net/udp
parent[dhcp] Allow pseudo-DHCP servers to use pseudo-identifiers (diff)
downloadipxe-0a34c2aab9951bf571a5093a5a8d0f6d1f5ca107.tar.gz
ipxe-0a34c2aab9951bf571a5093a5a8d0f6d1f5ca107.tar.xz
ipxe-0a34c2aab9951bf571a5093a5a8d0f6d1f5ca107.zip
[dhcp] Ignore ProxyDHCPACKs without PXE options
Suggested-by: Wissam Shoukair <wissams@mellanox.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/net/udp')
-rw-r--r--src/net/udp/dhcp.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/net/udp/dhcp.c b/src/net/udp/dhcp.c
index 7d5237bc..aed5ee36 100644
--- a/src/net/udp/dhcp.c
+++ b/src/net/udp/dhcp.c
@@ -670,6 +670,8 @@ static void dhcp_proxy_rx ( struct dhcp_session *dhcp,
DBGC ( dhcp, " (%s/", inet_ntoa ( server_id ) );
DBGC ( dhcp, "%s)", inet_ntoa ( pseudo_id ) );
}
+ if ( dhcp_has_pxeopts ( dhcppkt ) )
+ DBGC ( dhcp, " pxe" );
DBGC ( dhcp, "\n" );
/* Filter out unacceptable responses */
@@ -679,6 +681,8 @@ static void dhcp_proxy_rx ( struct dhcp_session *dhcp,
return;
if ( ( pseudo_id.s_addr != dhcp->proxy_server.s_addr ) )
return;
+ if ( ! dhcp_has_pxeopts ( dhcppkt ) )
+ return;
/* Register settings */
if ( ( rc = register_settings ( settings, NULL,