1个稳定版本
1.0.0+1.90.632-b035 | 2021年6月23日 |
---|
#4 in #高可用性
42KB
1K SLoC
版权所有(C)2021 Red Hat, Inc. 保留所有权利。
作者:Christine Caulfield [email protected]
本软件根据GPL-2.0+授权
此crate包含kornosnet的一部分libnozzle库的Rust绑定:[https://kronosnet.org/](https://kronosnet.org/)
libnozzle是一个用于管理以太网接口的通用库
lib.rs
:
此crate通过Rust提供对kronosnet库libknet和libnozzle的访问。它们是实际API调用的一层非常薄的包装,但使用Rust数据类型和迭代器。
此处不再提供关于knet本身的信息,如果需要访问knet API调用,则假定已知它们的作用 :)
示例
use nozzle_bindings::nozzle_bindings as nozzle; use std::io::{Result}; use std::env; use std::{thread, time};
fn main() -> Result<()> { let mut nozzle_name = String::from("rustnoz"); let handle = match nozzle::open(&mut nozzle_name, &String::from(env::current_dir().unwrap().to_str().unwrap())) { Ok(h) => { println!("Opened device {}", nozzle_name); h }, Err(e) => { println!("Error from open: {}", e); return Err(e); } };
let if Err(e) = nozzle::add_ip(handle, &"192.160.100.1".to_string(), &"24".to_string()) {
println!("Error from add_ip: {}", e);
return Err(e);
}
let if Err(e) = nozzle::set_mtu(handle, 157) {
println!("Error from set_mtu: {}", e);
return Err(e);
}
Ok(())
}
依赖项
~115–355KB