summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-05-16 22:20:43 +0200
committerChristian Poessinger <christian@poessinger.com>2020-05-16 22:52:30 +0200
commit7d01f7fec95f65705ec886f4de8bce21e0bfee07 (patch)
treec34361e7c4a6d0f04eae4567fd2a7abb14c4a51a /src
parent9e305400f281a1ce558aab692f44426da0d76bcc (diff)
downloadvyos-1x-7d01f7fec95f65705ec886f4de8bce21e0bfee07.tar.gz
vyos-1x-7d01f7fec95f65705ec886f4de8bce21e0bfee07.zip
nat: nptv6: T2198: add XML/Python skeleton
- define XML CLI interface - read CLI into Python dict
Diffstat (limited to 'src')
-rwxr-xr-xsrc/conf_mode/nat.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/conf_mode/nat.py b/src/conf_mode/nat.py
index 5cb1af1f1..406ec1caf 100755
--- a/src/conf_mode/nat.py
+++ b/src/conf_mode/nat.py
@@ -102,8 +102,10 @@ def parse_source_destination(conf, source_dest):
'protocol': 'all',
'number': number,
'source_address': '',
+ 'source_prefix': '',
'source_port': '',
'translation_address': '',
+ 'translation_prefix': '',
'translation_port': ''
}
conf.set_level(base_level + ['rule', number])
@@ -138,12 +140,18 @@ def parse_source_destination(conf, source_dest):
if conf.exists(['source', 'address']):
rule['source_address'] = conf.return_value(['source', 'address'])
+ if conf.exists(['source', 'prefix']):
+ rule['source_prefix'] = conf.return_value(['source', 'prefix'])
+
if conf.exists(['source', 'port']):
rule['source_port'] = conf.return_value(['source', 'port'])
if conf.exists(['translation', 'address']):
rule['translation_address'] = conf.return_value(['translation', 'address'])
+ if conf.exists(['translation', 'prefix']):
+ rule['translation_prefix'] = conf.return_value(['translation', 'prefix'])
+
if conf.exists(['translation', 'port']):
rule['translation_port'] = conf.return_value(['translation', 'port'])
@@ -193,7 +201,7 @@ def get_config():
# use a common wrapper function to read in the source / destination
# tree from the config - thus we do not need to replicate almost the
# same code :-)
- for tgt in ['source', 'destination']:
+ for tgt in ['source', 'destination', 'nptv6']:
nat[tgt] = parse_source_destination(conf, tgt)
return nat