diff options
author | Joe Groocock <jgroocock@cloudflare.com> | 2019-09-20 13:41:29 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2020-07-22 12:44:51 +0100 |
commit | a08ee6e7221ea50d9096579d57674a07f3409da3 (patch) | |
tree | ffad4a137e5e0f9375bf17e92691b1040198b2aa /src/hci | |
parent | 145311c62e46feae1703e4b5da353603a99c21f5 (diff) | |
download | ipxe-a08ee6e7221ea50d9096579d57674a07f3409da3.tar.gz |
[cmdline] Add "--timeout" parameter to "ifconf" command
Modified-by: Michael Brown <mcb30@ipxe.org>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/hci')
-rw-r--r-- | src/hci/commands/ifmgmt_cmd.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/hci/commands/ifmgmt_cmd.c b/src/hci/commands/ifmgmt_cmd.c index c89af2e81..2e976d3fb 100644 --- a/src/hci/commands/ifmgmt_cmd.c +++ b/src/hci/commands/ifmgmt_cmd.c @@ -193,6 +193,8 @@ static int ifstat_exec ( int argc, char **argv ) { /** "ifconf" options */ struct ifconf_options { + /** Configuration timeout */ + unsigned long timeout; /** Configurator */ struct net_device_configurator *configurator; }; @@ -202,6 +204,9 @@ static struct option_descriptor ifconf_opts[] = { OPTION_DESC ( "configurator", 'c', required_argument, struct ifconf_options, configurator, parse_netdev_configurator ), + OPTION_DESC ( "timeout", 't', required_argument, + struct ifconf_options, timeout, + parse_timeout ), }; /** @@ -216,7 +221,8 @@ static int ifconf_payload ( struct net_device *netdev, int rc; /* Attempt configuration */ - if ( ( rc = ifconf ( netdev, opts->configurator ) ) != 0 ) { + if ( ( rc = ifconf ( netdev, opts->configurator, + opts->timeout ) ) != 0 ) { /* Close device on failure, to avoid memory exhaustion */ netdev_close ( netdev ); |