use crate::BaseInterface;
impl BaseInterface {
pub(crate) fn generate_revert_extra(
&mut self,
desired: &Self,
current: &Self,
) {
if !desired.can_have_ip() && self.can_have_ip() {
self.ipv4.clone_from(¤t.ipv4);
self.ipv6.clone_from(¤t.ipv6);
}
if desired.ipv4.as_ref().map(|i| i.is_auto()) == Some(true)
&& current.ipv4.as_ref().map(|i| !i.is_auto()) == Some(true)
{
self.ipv4.clone_from(¤t.ipv4);
}
if desired.ipv6.as_ref().map(|i| i.is_auto()) == Some(true)
&& current.ipv6.as_ref().map(|i| !i.is_auto()) == Some(true)
{
self.ipv6.clone_from(¤t.ipv6);
}
self.ipv4.as_mut().and_then(|i| i.sanitize(false).ok());
self.ipv6.as_mut().and_then(|i| i.sanitize(false).ok());
}
}