diff options
| author | Viacheslav Hletenko <v.gletenko@vyos.io> | 2026-03-04 17:53:27 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-04 17:53:27 +0200 |
| commit | 25925528d06cd557ca380e23ff1dc11670d9bc1f (patch) | |
| tree | 5b6eaf4b2eb25860dc4f871946e86d27b6a939ce /python | |
| parent | 9fae68c92fe769da4f877c8df358868812a660ad (diff) | |
| parent | 80727823e8ac309959a06f8aaeb0e12f2f7a1f43 (diff) | |
| download | vyos-1x-25925528d06cd557ca380e23ff1dc11670d9bc1f.tar.gz vyos-1x-25925528d06cd557ca380e23ff1dc11670d9bc1f.zip | |
Merge pull request #5006 from ritika0313/T7513-CGNAT-exclude-rule-vyos-1x
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, + ) |
