summaryrefslogtreecommitdiff
path: root/src/conf_mode/system_conntrack.py
diff options
context:
space:
mode:
authorsarthurdev <965089+sarthurdev@users.noreply.github.com>2024-03-20 22:40:33 +0100
committerMergify <37929162+mergify[bot]@users.noreply.github.com>2024-03-21 00:03:45 +0000
commitd19be874eb5cbdfa888742f88703e711a33d2dda (patch)
tree4e522b48b5b9eff2c5cfde6203a093ded6ebe6e3 /src/conf_mode/system_conntrack.py
parent197f48aa3286c52989739f72d52fe280877d8ed1 (diff)
downloadvyos-1x-d19be874eb5cbdfa888742f88703e711a33d2dda.tar.gz
vyos-1x-d19be874eb5cbdfa888742f88703e711a33d2dda.zip
conntrack: T6147: Enable conntrack when firewall state-policy is defined
* Move global state-policy smoketest to it's own test, verify conntrack (cherry picked from commit 62bda3b082a79c2f31483dba5bfeb19464f6dbe2)
Diffstat (limited to 'src/conf_mode/system_conntrack.py')
-rwxr-xr-xsrc/conf_mode/system_conntrack.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/conf_mode/system_conntrack.py b/src/conf_mode/system_conntrack.py
index 2a55daed4..4bea31bbb 100755
--- a/src/conf_mode/system_conntrack.py
+++ b/src/conf_mode/system_conntrack.py
@@ -180,12 +180,16 @@ def generate(conntrack):
conntrack['ipv4_firewall_action'] = 'return'
conntrack['ipv6_firewall_action'] = 'return'
- for rules, path in dict_search_recursive(conntrack['firewall'], 'rule'):
- if any(('state' in rule_conf or 'connection_status' in rule_conf or 'offload_target' in rule_conf) for rule_conf in rules.values()):
- if path[0] == 'ipv4':
- conntrack['ipv4_firewall_action'] = 'accept'
- elif path[0] == 'ipv6':
- conntrack['ipv6_firewall_action'] = 'accept'
+ if dict_search_args(conntrack['firewall'], 'global_options', 'state_policy') != None:
+ conntrack['ipv4_firewall_action'] = 'accept'
+ conntrack['ipv6_firewall_action'] = 'accept'
+ else:
+ for rules, path in dict_search_recursive(conntrack['firewall'], 'rule'):
+ if any(('state' in rule_conf or 'connection_status' in rule_conf or 'offload_target' in rule_conf) for rule_conf in rules.values()):
+ if path[0] == 'ipv4':
+ conntrack['ipv4_firewall_action'] = 'accept'
+ elif path[0] == 'ipv6':
+ conntrack['ipv6_firewall_action'] = 'accept'
render(conntrack_config, 'conntrack/vyos_nf_conntrack.conf.j2', conntrack)
render(sysctl_file, 'conntrack/sysctl.conf.j2', conntrack)