Added network interface management commands
[people/dverkamp/gpxe.git] / src / usr / autoboot.c
index 0fa4e8e..5cfde82 100644 (file)
@@ -19,6 +19,7 @@
 #include <string.h>
 #include <vsprintf.h>
 #include <gpxe/netdevice.h>
+#include <usr/ifmgmt.h>
 #include <gpxe/autoboot.h>
 
 /** @file
  *
  */
 
-#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" );
 }