From 80727823e8ac309959a06f8aaeb0e12f2f7a1f43 Mon Sep 17 00:00:00 2001 From: Ritika Chopra Date: Fri, 6 Feb 2026 14:25:52 -0700 Subject: T7513: vyos-1x: CGNAT Exclude Rule CLI support --- python/vyos/vpp/nat/det44.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'python') diff --git a/python/vyos/vpp/nat/det44.py b/python/vyos/vpp/nat/det44.py index 51ad41dc8..600f02e8c 100644 --- a/python/vyos/vpp/nat/det44.py +++ b/python/vyos/vpp/nat/det44.py @@ -16,6 +16,7 @@ # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. from vyos.vpp import VPPControl +from vyos.vpp.nat.nat44 import NAT_IS_NONE, NAT_IS_ADDR_ONLY class Det44: @@ -118,3 +119,29 @@ class Det44: if iface.is_inside: ifaces_inside.append(iface.sw_if_index) return ifaces_inside + + def add_det44_identity_mapping(self, ip_address, protocol, port, tag=''): + """Add DET44 identity mapping (exclude rule)""" + flags = NAT_IS_ADDR_ONLY if not (protocol or port) else NAT_IS_NONE + + self.vpp.api.det44_add_del_identity_mapping( + is_add=True, + addr=ip_address, + protocol=protocol, + port=port, + flags=flags, + tag=tag if tag else '', + ) + + def delete_det44_identity_mapping(self, ip_address, protocol, port, tag=''): + """Delete DET44 identity mapping (exclude rule)""" + flags = NAT_IS_ADDR_ONLY if not (protocol or port) else NAT_IS_NONE + + self.vpp.api.det44_add_del_identity_mapping( + is_add=False, + addr=ip_address, + protocol=protocol, + port=port, + flags=flags, + tag=tag, + ) -- cgit v1.2.3