diff options
author | Nicolas Fort <nicolasfort1988@gmail.com> | 2022-10-28 18:19:47 +0000 |
---|---|---|
committer | Nicolas Fort <nicolasfort1988@gmail.com> | 2022-11-19 14:31:32 +0000 |
commit | 9a5dfb4b7ec9e065a73511a38e1713aec03eee0e (patch) | |
tree | 6c27d3413c22f14af358fd28994a243b9fcf5633 /python | |
parent | a61e1a78fe116bb44fe55be3493de7c4dbe8db97 (diff) | |
download | vyos-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')
-rw-r--r-- | python/vyos/firewall.py | 16 |
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': '<'} |