mirror of
https://github.com/edera-dev/krata.git
synced 2025-08-03 13:11:31 +00:00
network: inter-container networking support
This commit is contained in:
@ -1,35 +1,15 @@
|
||||
use std::str::FromStr;
|
||||
|
||||
use advmac::MacAddr6;
|
||||
use anyhow::Result;
|
||||
use clap::Parser;
|
||||
use env_logger::Env;
|
||||
use hyphanet::NetworkService;
|
||||
|
||||
#[derive(Parser, Debug)]
|
||||
struct NetworkArgs {
|
||||
#[arg(long, default_value = "192.168.42.1/24")]
|
||||
ipv4_network: String,
|
||||
struct NetworkArgs {}
|
||||
|
||||
#[arg(long, default_value = "fe80::1/10")]
|
||||
ipv6_network: String,
|
||||
|
||||
#[arg(long)]
|
||||
force_mac_address: Option<String>,
|
||||
}
|
||||
|
||||
#[tokio::main]
|
||||
#[tokio::main(flavor = "multi_thread", worker_threads = 10)]
|
||||
async fn main() -> Result<()> {
|
||||
env_logger::Builder::from_env(Env::default().default_filter_or("warn")).init();
|
||||
let args = NetworkArgs::parse();
|
||||
|
||||
let force_mac_address = if let Some(mac_str) = args.force_mac_address {
|
||||
Some(MacAddr6::from_str(&mac_str)?)
|
||||
} else {
|
||||
None
|
||||
};
|
||||
|
||||
let mut service = NetworkService::new(args.ipv4_network, args.ipv6_network, force_mac_address)?;
|
||||
service.watch().await?;
|
||||
Ok(())
|
||||
let _ = NetworkArgs::parse();
|
||||
let mut service = NetworkService::new()?;
|
||||
service.watch().await
|
||||
}
|
||||
|
Reference in New Issue
Block a user