From 9203d781cbb12fab9f5a6fd7d4ac108c263b4254 Mon Sep 17 00:00:00 2001 From: Gris Ge Date: Fri, 15 Dec 2023 20:45:11 +0800 Subject: [PATCH] ipsec: Fix error when `ipsec-interface` set to yes or a number The new nispor 1.2.15 is showing xfrm interface type as `Other("Xfrm")` as its dependent netlink-packet-route is not placing it into Other. To fix that, we just compare the interface type after `str::to_lowercase()`. No test code needed, existing `test_ipsec_ipv4_libreswan_psk_auth_with_ipsec_iface` can reproduce this problem. Signed-off-by: Gris Ge --- rust/src/lib/nispor/base_iface.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rust/src/lib/nispor/base_iface.rs b/rust/src/lib/nispor/base_iface.rs index 415769d3..011182e6 100644 --- a/rust/src/lib/nispor/base_iface.rs +++ b/rust/src/lib/nispor/base_iface.rs @@ -26,7 +26,9 @@ fn np_iface_type_to_nmstate( nispor::IfaceType::Vxlan => InterfaceType::Vxlan, nispor::IfaceType::Ipoib => InterfaceType::InfiniBand, nispor::IfaceType::Tun => InterfaceType::Tun, - nispor::IfaceType::Other(v) if v == "xfrm" => InterfaceType::Xfrm, + nispor::IfaceType::Other(v) if v.to_lowercase() == "xfrm" => { + InterfaceType::Xfrm + } _ => InterfaceType::Other(format!("{np_iface_type:?}")), } } -- 2.43.0