mirror of
https://github.com/ipxe/ipxe
synced 2025-12-12 23:15:10 +03:00
[cmdline] Expose "iflinkwait" as a command
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -212,17 +212,20 @@ static int iflinkwait_progress ( struct ifpoller *ifpoller ) {
|
||||
*
|
||||
* @v netdev Network device
|
||||
* @v timeout Timeout period, in ticks
|
||||
* @v verbose Always display progress message
|
||||
* @ret rc Return status code
|
||||
*/
|
||||
int iflinkwait ( struct net_device *netdev, unsigned long timeout ) {
|
||||
int iflinkwait ( struct net_device *netdev, unsigned long timeout,
|
||||
int verbose ) {
|
||||
int rc;
|
||||
|
||||
/* Ensure device is open */
|
||||
if ( ( rc = ifopen ( netdev ) ) != 0 )
|
||||
return rc;
|
||||
|
||||
/* Return immediately if link is already up */
|
||||
/* Return immediately if link is already up, unless being verbose */
|
||||
netdev_poll ( netdev );
|
||||
if ( netdev_link_ok ( netdev ) )
|
||||
if ( netdev_link_ok ( netdev ) && ( ! verbose ) )
|
||||
return 0;
|
||||
|
||||
/* Wait for link-up */
|
||||
@@ -273,7 +276,7 @@ int ifconf ( struct net_device *netdev,
|
||||
int rc;
|
||||
|
||||
/* Ensure device is open and link is up */
|
||||
if ( ( rc = iflinkwait ( netdev, LINK_WAIT_TIMEOUT ) ) != 0 )
|
||||
if ( ( rc = iflinkwait ( netdev, LINK_WAIT_TIMEOUT, 0 ) ) != 0 )
|
||||
return rc;
|
||||
|
||||
/* Start configuration */
|
||||
|
||||
@@ -208,9 +208,9 @@ int loopback_test ( struct net_device *sender, struct net_device *receiver,
|
||||
return rc;
|
||||
|
||||
/* Wait for link-up */
|
||||
if ( ( rc = iflinkwait ( sender, 0 ) ) != 0 )
|
||||
if ( ( rc = iflinkwait ( sender, 0, 0 ) ) != 0 )
|
||||
return rc;
|
||||
if ( ( rc = iflinkwait ( receiver, 0 ) ) != 0 )
|
||||
if ( ( rc = iflinkwait ( receiver, 0, 0 ) ) != 0 )
|
||||
return rc;
|
||||
|
||||
/* Allocate data buffer */
|
||||
|
||||
Reference in New Issue
Block a user