summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2024-08-15 12:14:34 +0200
committerGitHub <noreply@github.com>2024-08-15 12:14:34 +0200
commit45d8ca97291128e1549ee7bcba7eed6ac6bdfdb3 (patch)
treeaf7eb8293dd225f14616aa029e098f13bf3e2c7e
parent8baa5b535430d1a14f16004174cb91f3e6d266ca (diff)
parent85f19deb34884337af343fc39b1ce484c9ba1ddb (diff)
downloadvyos-1x-45d8ca97291128e1549ee7bcba7eed6ac6bdfdb3.tar.gz
vyos-1x-45d8ca97291128e1549ee7bcba7eed6ac6bdfdb3.zip
Merge pull request #3984 from vyos/mergify/bp/sagitta/pr-3981
T6646: conntrack: in ignore rules, if protocols=all, do not append it to the rule (backport #3981)
-rwxr-xr-x[-rw-r--r--]python/vyos/template.py3
-rwxr-xr-xsmoketest/scripts/cli/test_system_conntrack.py1
2 files changed, 3 insertions, 1 deletions
diff --git a/python/vyos/template.py b/python/vyos/template.py
index a4fff649c..2a99eef9d 100644..100755
--- a/python/vyos/template.py
+++ b/python/vyos/template.py
@@ -692,7 +692,8 @@ def conntrack_rule(rule_conf, rule_id, action, ipv6=False):
else:
for protocol, protocol_config in rule_conf['protocol'].items():
proto = protocol
- output.append(f'meta l4proto {proto}')
+ if proto != 'all':
+ output.append(f'meta l4proto {proto}')
tcp_flags = dict_search_args(rule_conf, 'tcp', 'flags')
if tcp_flags and action != 'timeout':
diff --git a/smoketest/scripts/cli/test_system_conntrack.py b/smoketest/scripts/cli/test_system_conntrack.py
index 7870561e7..1902c32f2 100755
--- a/smoketest/scripts/cli/test_system_conntrack.py
+++ b/smoketest/scripts/cli/test_system_conntrack.py
@@ -254,6 +254,7 @@ class TestSystemConntrack(VyOSUnitTestSHIM.TestCase):
self.cli_set(base_path + ['ignore', 'ipv4', 'rule', '2', 'source', 'address', '192.0.2.1'])
self.cli_set(base_path + ['ignore', 'ipv4', 'rule', '2', 'destination', 'group', 'address-group', address_group])
+ self.cli_set(base_path + ['ignore', 'ipv4', 'rule', '2', 'protocol', 'all'])
self.cli_set(base_path + ['ignore', 'ipv6', 'rule', '11', 'source', 'address', 'fe80::1'])
self.cli_set(base_path + ['ignore', 'ipv6', 'rule', '11', 'destination', 'address', 'fe80::2'])