ovs_unixctl/
lib.rs

1//! OpenvSwitch application control (appctl) library.
2//!
3//! Example:
4//! ```no_run
5//! use ovs_unixctl::OvsUnixCtl;
6//!
7//! let mut unixctl = OvsUnixCtl::new(None).unwrap();
8//! let commands = unixctl.list_commands().unwrap();
9//! println!("Available commands");
10//! for (command, args) in commands.iter() {
11//!     println!("{command}: {args}");
12//! }
13//!
14//! let bonds = unixctl.run("bond/list", None).unwrap();
15//! println!("{}", bonds.unwrap());
16//! let bond0 = unixctl.run("bond/show", Some(&["bond0"])).unwrap();
17//! println!("{}", bond0.unwrap());
18//! ```
19
20mod jsonrpc;
21pub mod ovs;
22mod unix;
23pub use ovs::*;
24
25pub mod error;
26pub use error::Error;
27
28/// An alias for [`std::result::Result`] with a generic error from this crate.
29pub type Result<T> = std::result::Result<T, Error>;