summaryrefslogtreecommitdiff
path: root/src/conf_mode
diff options
context:
space:
mode:
authorHenning Surmeier <me@hensur.de>2022-01-21 13:27:18 +0100
committerHenning Surmeier <me@hensur.de>2022-02-23 22:12:35 +0100
commit00b680a4ac975759b088f6b480e311b5919a2e09 (patch)
treeef244ac3ca8efdab767059fd86e5f27bee05aa8c /src/conf_mode
parentcb580de792caa00206401c84bbb11a31a6fccf95 (diff)
downloadvyos-1x-00b680a4ac975759b088f6b480e311b5919a2e09.tar.gz
vyos-1x-00b680a4ac975759b088f6b480e311b5919a2e09.zip
backport: policy: T4151: Bugfix policy ipv6-local-route
Diffstat (limited to 'src/conf_mode')
-rwxr-xr-xsrc/conf_mode/policy-local-route.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/conf_mode/policy-local-route.py b/src/conf_mode/policy-local-route.py
index 5e2b8c267..f866346a4 100755
--- a/src/conf_mode/policy-local-route.py
+++ b/src/conf_mode/policy-local-route.py
@@ -127,11 +127,14 @@ def apply(pbr):
if rule_rm in pbr:
v6 = " -6" if rule_rm == 'rule6_remove' else ""
for rule, rule_config in pbr[rule_rm].items():
- for src in (rule_config['source'] or ['']):
+ rule_config['source'] = rule_config['source'] if 'source' in rule_config else ['']
+ for src in rule_config['source']:
f_src = '' if src == '' else f' from {src} '
- for dst in (rule_config['destination'] or ['']):
+ rule_config['destination'] = rule_config['destination'] if 'destination' in rule_config else ['']
+ for dst in rule_config['destination']:
f_dst = '' if dst == '' else f' to {dst} '
- for fwmk in (rule_config['fwmark'] or ['']):
+ rule_config['fwmark'] = rule_config['fwmark'] if 'fwmark' in rule_config else ['']
+ for fwmk in rule_config['fwmark']:
f_fwmk = '' if fwmk == '' else f' fwmark {fwmk} '
call(f'ip{v6} rule del prio {rule} {f_src}{f_dst}{f_fwmk}')
@@ -147,9 +150,11 @@ def apply(pbr):
for rule, rule_config in pbr_route['rule'].items():
table = rule_config['set']['table']
- for src in (rule_config['source'] or ['all']):
+ rule_config['source'] = rule_config['source'] if 'source' in rule_config else ['all']
+ for src in rule_config['source'] or ['all']:
f_src = '' if src == '' else f' from {src} '
- for dst in (rule_config['destination'] or ['all']):
+ rule_config['destination'] = rule_config['destination'] if 'destination' in rule_config else ['all']
+ for dst in rule_config['destination']:
f_dst = '' if dst == '' else f' to {dst} '
f_fwmk = ''
if 'fwmark' in rule_config: