vhost_user_net: switch to argh

Signed-off-by: Wei Liu <liuwe@microsoft.com>
This commit is contained in:
Wei Liu 2023-01-12 15:53:51 +00:00 committed by Rob Bradford
parent 54e9ed9932
commit d1ec65873e
3 changed files with 14 additions and 57 deletions

42
Cargo.lock generated
View File

@ -147,30 +147,6 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "clap"
version = "4.0.32"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a7db700bc935f9e43e88d00b0850dae18a63773cfbec6d8e070fccf7fef89a39"
dependencies = [
"bitflags",
"clap_lex",
"is-terminal",
"once_cell",
"strsim",
"termcolor",
"terminal_size",
]
[[package]]
name = "clap_lex"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0d4198f73e42b4936b35b5bb248d81d2b595ecb170da0bac7655c54eedfa8da8"
dependencies = [
"os_str_bytes",
]
[[package]]
name = "cloud-hypervisor"
version = "29.0.0"
@ -729,12 +705,6 @@ dependencies = [
name = "option_parser"
version = "0.1.0"
[[package]]
name = "os_str_bytes"
version = "6.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b7820b9daea5457c9f21c69448905d723fbd21136ccf521748f23fd49e723ee"
[[package]]
name = "parking_lot"
version = "0.11.2"
@ -1216,16 +1186,6 @@ dependencies = [
"winapi-util",
]
[[package]]
name = "terminal_size"
version = "0.2.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb20089a8ba2b69debd491f8d2d023761cbf196e999218c591fa1e7e15a21907"
dependencies = [
"rustix",
"windows-sys",
]
[[package]]
name = "test_infra"
version = "0.1.0"
@ -1437,7 +1397,7 @@ dependencies = [
name = "vhost_user_net"
version = "0.1.0"
dependencies = [
"clap",
"argh",
"env_logger",
"epoll",
"libc",

View File

@ -5,7 +5,7 @@ authors = ["The Cloud Hypervisor Authors"]
edition = "2021"
[dependencies]
clap = { version = "4.0.32", features = ["wrap_help","cargo"] }
argh = "0.1.9"
env_logger = "0.10.0"
epoll = "4.3.1"
libc = "0.2.139"

View File

@ -6,25 +6,22 @@
//
// SPDX-License-Identifier: (Apache-2.0 AND BSD-3-Clause)
use clap::{Arg, Command};
use argh::FromArgs;
use vhost_user_net::start_net_backend;
#[derive(FromArgs)]
/// Launch a vhost-user-net backend.
struct TopLevel {
#[argh(option, long = "net-backend")]
/// vhost-user-net backend parameters
/// ip=<ip_addr>,mask=<net_mask>,socket=<socket_path>,client=on|off,num_queues=<number_of_queues>,queue_size=<size_of_each_queue>,tap=<if_name>
backend_command: String,
}
fn main() {
env_logger::init();
let cmd_arguments = Command::new("vhost-user-net backend")
.version(env!("CARGO_PKG_VERSION"))
.author(env!("CARGO_PKG_AUTHORS"))
.about("Launch a vhost-user-net backend.")
.arg(
Arg::new("net-backend")
.long("net-backend")
.help(vhost_user_net::SYNTAX)
.num_args(1)
.required(true),
)
.get_matches();
let toplevel: TopLevel = argh::from_env();
let backend_command = cmd_arguments.get_one::<String>("net-backend").unwrap();
start_net_backend(backend_command);
start_net_backend(&toplevel.backend_command);
}