1个稳定版本

1.0.0+1.90.632-b0352021年6月23日

#4 in #高可用性

LGPL-2.1+

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