summaryrefslogtreecommitdiff
path: root/python/vyos/firewall.py
diff options
context:
space:
mode:
authorNicolas Fort <nicolasfort1988@gmail.com>2022-10-28 18:19:47 +0000
committerNicolas Fort <nicolasfort1988@gmail.com>2022-11-19 14:31:32 +0000
commit9a5dfb4b7ec9e065a73511a38e1713aec03eee0e (patch)
tree6c27d3413c22f14af358fd28994a243b9fcf5633 /python/vyos/firewall.py
parenta61e1a78fe116bb44fe55be3493de7c4dbe8db97 (diff)
downloadvyos-1x-9a5dfb4b7ec9e065a73511a38e1713aec03eee0e.tar.gz
vyos-1x-9a5dfb4b7ec9e065a73511a38e1713aec03eee0e.zip
T4780: Firewall: add firewall groups in firewall. Extend matching criteria so this new group can be used in inbound and outbound matcher
Diffstat (limited to 'python/vyos/firewall.py')
-rw-r--r--python/vyos/firewall.py16
1 files changed, 12 insertions, 4 deletions
diff --git a/python/vyos/firewall.py b/python/vyos/firewall.py
index 4075e55b0..0e92da8ab 100644
--- a/python/vyos/firewall.py
+++ b/python/vyos/firewall.py
@@ -249,12 +249,20 @@ def parse_rule(rule_conf, fw_name, rule_id, ip_name):
output.append(f'ip6 hoplimit {operator} {value}')
if 'inbound_interface' in rule_conf:
- iiface = rule_conf['inbound_interface']
- output.append(f'iifname {iiface}')
+ if 'interface_name' in rule_conf['inbound_interface']:
+ iiface = rule_conf['inbound_interface']['interface_name']
+ output.append(f'iifname {{{iiface}}}')
+ else:
+ iiface = rule_conf['inbound_interface']['interface_group']
+ output.append(f'iifname @I_{iiface}')
if 'outbound_interface' in rule_conf:
- oiface = rule_conf['outbound_interface']
- output.append(f'oifname {oiface}')
+ if 'interface_name' in rule_conf['outbound_interface']:
+ oiface = rule_conf['outbound_interface']['interface_name']
+ output.append(f'oifname {{{oiface}}}')
+ else:
+ oiface = rule_conf['outbound_interface']['interface_group']
+ output.append(f'oifname @I_{oiface}')
if 'ttl' in rule_conf:
operators = {'eq': '==', 'gt': '>', 'lt': '<'}