diff options
| author | Ritika Chopra <r.chopra@vyos.io> | 2026-02-06 14:25:52 -0700 |
|---|---|---|
| committer | Ritika Chopra <r.chopra@vyos.io> | 2026-02-26 02:16:15 -0700 |
| commit | 80727823e8ac309959a06f8aaeb0e12f2f7a1f43 (patch) | |
| tree | 13bbffe69a3f35e58a6ecbf1b9b18353cfbdfc62 /python | |
| parent | 61d8e945ee356befde46c94cfed859d3e9f37d55 (diff) | |
| download | vyos-1x-80727823e8ac309959a06f8aaeb0e12f2f7a1f43.tar.gz vyos-1x-80727823e8ac309959a06f8aaeb0e12f2f7a1f43.zip | |
T7513: vyos-1x: CGNAT Exclude Rule CLI support
Diffstat (limited to 'python')
| -rw-r--r-- | python/vyos/vpp/nat/det44.py | 27 |
1 files changed, 27 insertions, 0 deletions
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, + ) |
