#![doc(html_favicon_url = "https://nmstate.io/favicon.png")]
#![doc(html_logo_url = "https://nmstate.io/favicon.png")]
mod deserializer;
mod dispatch;
mod dns;
mod error;
#[cfg(feature = "gen_conf")]
mod gen_conf;
mod hostname;
mod ieee8021x;
mod iface;
mod ifaces;
mod ip;
mod lldp;
mod mptcp;
mod net_state;
#[cfg(feature = "query_apply")]
mod nispor;
mod nm;
#[allow(deprecated)]
mod ovn;
mod ovs;
#[cfg(feature = "query_apply")]
mod ovsdb;
mod pci_address;
#[cfg(feature = "query_apply")]
mod policy;
#[cfg(feature = "query_apply")]
mod query_apply;
#[cfg(feature = "gen_revert")]
mod revert;
mod route;
mod route_rule;
mod serializer;
mod state;
#[cfg(feature = "query_apply")]
mod statistic;
mod unit_tests;
#[cfg(feature = "query_apply")]
mod validate;
#[cfg(feature = "query_apply")]
pub use crate::policy::{
NetworkCaptureRules, NetworkPolicy, NetworkStateTemplate,
};
#[cfg(feature = "query_apply")]
pub use crate::statistic::{NmstateFeature, NmstateStatistic};
pub use crate::{
dispatch::DispatchConfig,
dns::{DnsClientState, DnsState},
error::{ErrorKind, NmstateError},
hostname::HostNameState,
ieee8021x::Ieee8021XConfig,
iface::{
Interface, InterfaceIdentifier, InterfaceState, InterfaceType,
UnknownInterface,
},
ifaces::{
AltNameEntry, AltNameState, BaseInterface, BondAdSelect,
BondAllPortsActive, BondArpAllTargets, BondArpValidate, BondConfig,
BondFailOverMac, BondInterface, BondLacpRate, BondMode, BondOptions,
BondPortConfig, BondPrimaryReselect, BondXmitHashPolicy,
BridgePortTrunkTag, BridgePortVlanConfig, BridgePortVlanMode,
BridgePortVlanRange, DummyInterface, EthernetConfig, EthernetDuplex,
EthernetInterface, EthtoolCoalesceConfig, EthtoolConfig,
EthtoolFeatureConfig, EthtoolFecConfig, EthtoolFecMode,
EthtoolPauseConfig, EthtoolRingConfig, HsrConfig, HsrInterface,
HsrProtocol, InfiniBandConfig, InfiniBandInterface, InfiniBandMode,
Interfaces, IpVlanConfig, IpVlanInterface, IpVlanMode, IpsecInterface,
LibreswanAddressFamily, LibreswanConfig, LibreswanConnectionType,
LinuxBridgeConfig, LinuxBridgeInterface,
LinuxBridgeMulticastRouterType, LinuxBridgeOptions,
LinuxBridgePortConfig, LinuxBridgeStpOptions, LoopbackInterface,
MacSecConfig, MacSecInterface, MacSecOffload, MacSecValidate,
MacVlanConfig, MacVlanInterface, MacVlanMode, MacVtapConfig,
MacVtapInterface, MacVtapMode, OvsBridgeBondConfig, OvsBridgeBondMode,
OvsBridgeBondPortConfig, OvsBridgeConfig, OvsBridgeInterface,
OvsBridgeOptions, OvsBridgePortConfig, OvsBridgeStpOptions,
OvsDpdkConfig, OvsInterface, OvsPatchConfig, SrIovConfig,
SrIovVfConfig, VethConfig, VlanConfig, VlanInterface, VlanProtocol,
VlanQosMapping, VlanRegistrationProtocol, VrfConfig, VrfInterface,
VxlanConfig, VxlanInterface, XfrmInterface,
},
ip::{
AddressFamily, Dhcpv4ClientId, Dhcpv6Duid, InterfaceIpAddr,
InterfaceIpv4, InterfaceIpv6, Ipv6AddrGenMode, WaitIp,
},
lldp::{
LldpAddressFamily, LldpChassisId, LldpChassisIdType, LldpConfig,
LldpMacPhy, LldpMaxFrameSize, LldpMgmtAddr, LldpMgmtAddrs,
LldpNeighborTlv, LldpPortId, LldpPortIdType, LldpPpvids,
LldpSystemCapabilities, LldpSystemCapability, LldpSystemDescription,
LldpSystemName, LldpVlan, LldpVlans,
},
mptcp::{MptcpAddressFlag, MptcpConfig},
net_state::NetworkState,
ovn::{OvnBridgeMapping, OvnBridgeMappingState, OvnConfiguration},
ovs::{OvsDbGlobalConfig, OvsDbIfaceConfig},
pci_address::PciAddress,
route::{RouteEntry, RouteState, RouteType, Routes},
route_rule::{RouteRuleAction, RouteRuleEntry, RouteRuleState, RouteRules},
};
pub(crate) use crate::{
dns::MergedDnsState,
hostname::MergedHostNameState,
iface::MergedInterface,
ifaces::MergedInterfaces,
net_state::{MergedNetworkState, NetworkStateMode},
ovn::MergedOvnConfiguration,
ovs::MergedOvsDbGlobalConfig,
route::MergedRoutes,
route_rule::MergedRouteRules,
};