summaryrefslogtreecommitdiffstats
path: root/src/usr/autoboot.c
diff options
context:
space:
mode:
authorMichael Brown2007-01-10 02:55:07 +0100
committerMichael Brown2007-01-10 02:55:07 +0100
commitd24b80acf292266680d9b04836269734602ec054 (patch)
tree88d98a1ab29bd0dc0043e2f13ef1d17b74656084 /src/usr/autoboot.c
parentAdd "name" field to network device, to facilitate netdev commands. (diff)
downloadipxe-d24b80acf292266680d9b04836269734602ec054.tar.gz
ipxe-d24b80acf292266680d9b04836269734602ec054.tar.xz
ipxe-d24b80acf292266680d9b04836269734602ec054.zip
Added network interface management commands
Diffstat (limited to 'src/usr/autoboot.c')
-rw-r--r--src/usr/autoboot.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/src/usr/autoboot.c b/src/usr/autoboot.c
index 0fa4e8e4..5cfde823 100644
--- a/src/usr/autoboot.c
+++ b/src/usr/autoboot.c
@@ -19,6 +19,7 @@
#include <string.h>
#include <vsprintf.h>
#include <gpxe/netdevice.h>
+#include <usr/ifmgmt.h>
#include <gpxe/autoboot.h>
/** @file
@@ -27,26 +28,21 @@
*
*/
-#include <gpxe/netdevice.h>
void test_dhcp ( struct net_device *netdev );
void autoboot ( void ) {
struct net_device *netdev;
int rc;
- netdev = next_netdev ();
- if ( ! netdev ) {
- printf ( "No network device found\n" );
- return;
- }
+ for_each_netdev ( netdev ) {
- if ( ( rc = netdev_open ( netdev ) ) != 0 ) {
- printf ( "Could not open %s: %s\n", netdev->name,
- strerror ( rc ) );
- return;
- }
+ if ( ( rc = ifopen ( netdev ) ) != 0 )
+ continue;
- test_dhcp ( netdev );
+ test_dhcp ( netdev );
+
+ ifclose ( netdev );
+ }
- netdev_close ( netdev );
+ printf ( "No more network devices\n" );
}