IPv4 and IPv6 network structs.
Add this to your Cargo.toml
:
toml
[dependencies]
ip_network = "0.2"
this to your crate root:
rust
extern crate ip_network;
and then you can use it like this:
```rust use std::net::Ipv4Addr; use ip_network::Ipv4Network;
let ipnetwork = Ipv4Network::from(Ipv4Addr::new(192, 168, 0, 0), 16).unwrap(); asserteq!(format!("{}", ip_network), "192.168.0.0/16"); ```
Minimal required version of Rust compiler is 1.26 (because of support u128
data type), for
older compiler you can use 0.1.X
versions.
To enable serialization, just add serde
feature to package in Cargo.toml
:
toml
[dependencies]
ip_network = { version = "0.2", features = ["serde"] }
To enable support for postgres crate CIDR type, just add postgres
feature to package in Cargo.toml
:
toml
[dependencies]
ip_network = { version = "0.2", features = ["postgres"] }
To enable support for diesel CIDR type for PostgreSQL, just add diesel
feature to package in Cargo.toml
:
toml
[dependencies]
ip_network = { version = "0.2", features = ["diesel"] }
You can then use ip_network::diesel_support::PqCidrExtensionMethods
trait for CIDR operators support.