1#![doc(html_favicon_url = "https://nmstate.io/favicon.png")]
4#![doc(html_logo_url = "https://nmstate.io/favicon.png")]
5
6mod deserializer;
87mod dispatch;
88mod dns;
89mod error;
90#[cfg(feature = "gen_conf")]
91mod gen_conf;
92mod hostname;
93mod ieee8021x;
94mod iface;
95mod ifaces;
96mod ip;
97mod lldp;
98mod mptcp;
99mod net_state;
100#[cfg(feature = "query_apply")]
101mod nispor;
102mod nm;
103#[allow(deprecated)]
104mod ovn;
105mod ovs;
106#[cfg(feature = "query_apply")]
107mod ovsdb;
108#[cfg(feature = "query_apply")]
109mod policy;
110#[cfg(feature = "query_apply")]
111mod query_apply;
112#[cfg(feature = "gen_revert")]
113mod revert;
114mod route;
115mod route_rule;
116mod serializer;
117mod state;
118#[cfg(feature = "query_apply")]
119mod statistic;
120mod unit_tests;
121
122pub use crate::dispatch::DispatchConfig;
123pub(crate) use crate::dns::MergedDnsState;
124pub use crate::dns::{DnsClientState, DnsState};
125pub use crate::error::{ErrorKind, NmstateError};
126pub use crate::hostname::HostNameState;
127pub(crate) use crate::hostname::MergedHostNameState;
128pub use crate::ieee8021x::Ieee8021XConfig;
129pub(crate) use crate::iface::MergedInterface;
130pub use crate::iface::{
131 Interface, InterfaceIdentifier, InterfaceState, InterfaceType,
132 UnknownInterface,
133};
134pub(crate) use crate::ifaces::MergedInterfaces;
135pub use crate::ifaces::{
136 BaseInterface, BondAdSelect, BondAllPortsActive, BondArpAllTargets,
137 BondArpValidate, BondConfig, BondFailOverMac, BondInterface, BondLacpRate,
138 BondMode, BondOptions, BondPortConfig, BondPrimaryReselect,
139 BondXmitHashPolicy, BridgePortTrunkTag, BridgePortVlanConfig,
140 BridgePortVlanMode, BridgePortVlanRange, DummyInterface, EthernetConfig,
141 EthernetDuplex, EthernetInterface, EthtoolCoalesceConfig, EthtoolConfig,
142 EthtoolFeatureConfig, EthtoolFecConfig, EthtoolFecMode, EthtoolPauseConfig,
143 EthtoolRingConfig, HsrConfig, HsrInterface, HsrProtocol, InfiniBandConfig,
144 InfiniBandInterface, InfiniBandMode, Interfaces, IpVlanConfig,
145 IpVlanInterface, IpVlanMode, IpsecInterface, LibreswanAddressFamily,
146 LibreswanConfig, LibreswanConnectionType, LinuxBridgeConfig,
147 LinuxBridgeInterface, LinuxBridgeMulticastRouterType, LinuxBridgeOptions,
148 LinuxBridgePortConfig, LinuxBridgeStpOptions, LoopbackInterface,
149 MacSecConfig, MacSecInterface, MacSecOffload, MacSecValidate,
150 MacVlanConfig, MacVlanInterface, MacVlanMode, MacVtapConfig,
151 MacVtapInterface, MacVtapMode, OvsBridgeBondConfig, OvsBridgeBondMode,
152 OvsBridgeBondPortConfig, OvsBridgeConfig, OvsBridgeInterface,
153 OvsBridgeOptions, OvsBridgePortConfig, OvsBridgeStpOptions, OvsDpdkConfig,
154 OvsInterface, OvsPatchConfig, SrIovConfig, SrIovVfConfig, VethConfig,
155 VlanConfig, VlanInterface, VlanProtocol, VlanQosMapping,
156 VlanRegistrationProtocol, VrfConfig, VrfInterface, VxlanConfig,
157 VxlanInterface, XfrmInterface,
158};
159pub use crate::ip::{
160 AddressFamily, Dhcpv4ClientId, Dhcpv6Duid, InterfaceIpAddr, InterfaceIpv4,
161 InterfaceIpv6, Ipv6AddrGenMode, WaitIp,
162};
163pub use crate::lldp::{
164 LldpAddressFamily, LldpChassisId, LldpChassisIdType, LldpConfig,
165 LldpMacPhy, LldpMaxFrameSize, LldpMgmtAddr, LldpMgmtAddrs, LldpNeighborTlv,
166 LldpPortId, LldpPortIdType, LldpPpvids, LldpSystemCapabilities,
167 LldpSystemCapability, LldpSystemDescription, LldpSystemName, LldpVlan,
168 LldpVlans,
169};
170pub use crate::mptcp::{MptcpAddressFlag, MptcpConfig};
171pub(crate) use crate::net_state::MergedNetworkState;
172pub use crate::net_state::NetworkState;
173pub(crate) use crate::ovn::MergedOvnConfiguration;
174pub use crate::ovn::{
175 OvnBridgeMapping, OvnBridgeMappingState, OvnConfiguration,
176};
177pub(crate) use crate::ovs::MergedOvsDbGlobalConfig;
178pub use crate::ovs::{OvsDbGlobalConfig, OvsDbIfaceConfig};
179#[cfg(feature = "query_apply")]
180pub use crate::policy::{
181 NetworkCaptureRules, NetworkPolicy, NetworkStateTemplate,
182};
183pub(crate) use crate::route::MergedRoutes;
184pub use crate::route::{RouteEntry, RouteState, RouteType, Routes};
185pub(crate) use crate::route_rule::MergedRouteRules;
186pub use crate::route_rule::{
187 RouteRuleAction, RouteRuleEntry, RouteRuleState, RouteRules,
188};
189#[cfg(feature = "query_apply")]
190pub use crate::statistic::{NmstateFeature, NmstateStatistic};