diff options
Diffstat (limited to 'src/usr/autoboot.c')
| -rw-r--r-- | src/usr/autoboot.c | 22 |
1 files changed, 9 insertions, 13 deletions
diff --git a/src/usr/autoboot.c b/src/usr/autoboot.c index 0fa4e8e4f..5cfde823d 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" ); } |
