summaryrefslogtreecommitdiffstats
path: root/src/net
diff options
context:
space:
mode:
authorMichael Brown2007-07-06 18:07:50 +0200
committerMichael Brown2007-07-06 18:07:50 +0200
commit934b70d62c7cd9835b2b8682f665277e1e1259e1 (patch)
tree3d83d4e2f2cb922f95dc93dee0166083d367fa32 /src/net
parentMerge branch 'master' of rom.etherboot.org:/pub/scm/gpxe (diff)
downloadipxe-934b70d62c7cd9835b2b8682f665277e1e1259e1.tar.gz
ipxe-934b70d62c7cd9835b2b8682f665277e1e1259e1.tar.xz
ipxe-934b70d62c7cd9835b2b8682f665277e1e1259e1.zip
Apply global DHCP options when register_dhcp_options() is called. Do
not apply DHCP options in dhcp_configure_netdev().
Diffstat (limited to 'src/net')
-rw-r--r--src/net/dhcpopts.c12
-rw-r--r--src/net/udp/dhcp.c7
2 files changed, 12 insertions, 7 deletions
diff --git a/src/net/dhcpopts.c b/src/net/dhcpopts.c
index 6038709ba..c713909e0 100644
--- a/src/net/dhcpopts.c
+++ b/src/net/dhcpopts.c
@@ -289,6 +289,9 @@ void register_dhcp_options ( struct dhcp_option_block *options ) {
}
dhcpopt_get ( options );
list_add_tail ( &options->list, &existing->list );
+
+ /* Apply all registered DHCP options */
+ apply_global_dhcp_options();
}
/**
@@ -609,3 +612,12 @@ int apply_dhcp_options ( struct dhcp_option_block *options ) {
return 0;
}
+
+/**
+ * Apply global DHCP options
+ *
+ * @ret rc Return status code
+ */
+int apply_global_dhcp_options ( void ) {
+ return apply_dhcp_options ( NULL );
+}
diff --git a/src/net/udp/dhcp.c b/src/net/udp/dhcp.c
index a8cb9376f..81454b061 100644
--- a/src/net/udp/dhcp.c
+++ b/src/net/udp/dhcp.c
@@ -855,12 +855,5 @@ int dhcp_configure_netdev ( struct net_device *netdev,
return rc;
}
- /* Apply other DHCP options */
- if ( ( rc = apply_dhcp_options ( options ) ) != 0 ) {
- DBG ( "Could not apply %s DHCP result options: %s\n",
- netdev->name, strerror ( rc ) );
- return rc;
- }
-
return 0;
}