nmstate/revert/
net_state.rs

1// SPDX-License-Identifier: Apache-2.0
2
3use crate::{MergedNetworkState, NetworkState, NetworkStateMode, NmstateError};
4
5impl NetworkState {
6    pub fn generate_revert(
7        &self,
8        current: &Self,
9    ) -> Result<Self, NmstateError> {
10        let merged_state = MergedNetworkState::new(
11            self.clone(),
12            current.clone(),
13            NetworkStateMode::default(),
14            false,
15        )?;
16        Ok(Self {
17            interfaces: merged_state.interfaces.generate_revert()?,
18            routes: merged_state.routes.generate_revert(),
19            rules: merged_state.rules.generate_revert(),
20            dns: merged_state.dns.generate_revert(),
21            ovsdb: merged_state.ovsdb.generate_revert(),
22            ovn: merged_state.ovn.generate_revert(),
23            hostname: merged_state.hostname.generate_revert(),
24            ..Default::default()
25        })
26    }
27}