use std::io; use std::net; use thiserror::Error; #[derive(Debug, Error)] pub enum Error { #[error("link {0} not found")] LinkNotFound(String), #[error("not enough ipv6 subnets")] NotEnoughIpv6Subnets, #[error("io: {0}")] Io(#[from] io::Error), #[error("ipnet prefix len: {0}")] IpnetPrefixLen(#[from] ipnet::PrefixLenError), #[error("net: parse ip address: {0}")] NetAddrParseError(#[from] net::AddrParseError), #[error("notify: {0}")] Notify(#[from] notify::Error), #[error("rtnetlink: {0}")] RtNetlink(#[from] rtnetlink::Error), #[error("serde_json: {0}")] SerdeJson(#[from] serde_json::Error), } pub type Result = std::result::Result;