summaryrefslogtreecommitdiff
path: root/data/templates/conntrack/nftables-helpers.j2
diff options
context:
space:
mode:
authorsarthurdev <965089+sarthurdev@users.noreply.github.com>2023-09-21 12:05:20 +0200
committersarthurdev <965089+sarthurdev@users.noreply.github.com>2023-09-24 16:50:05 +0200
commitfd0bcaf120bc4ad5f3e9add93f0fa2c2c60e984f (patch)
tree6ec51ed61a1953ebe2bf14680f3ce245f1f0df5f /data/templates/conntrack/nftables-helpers.j2
parent7253377e754ed8bc95cbe59840ed3a70c6945b93 (diff)
downloadvyos-1x-fd0bcaf120bc4ad5f3e9add93f0fa2c2c60e984f.tar.gz
vyos-1x-fd0bcaf120bc4ad5f3e9add93f0fa2c2c60e984f.zip
conntrack: T5376: T5598: Fix for kernel conntrack helpers
`nf_conntrack_helper` that auto-assigned helpers is removed from the kernel
Diffstat (limited to 'data/templates/conntrack/nftables-helpers.j2')
-rw-r--r--data/templates/conntrack/nftables-helpers.j270
1 files changed, 70 insertions, 0 deletions
diff --git a/data/templates/conntrack/nftables-helpers.j2 b/data/templates/conntrack/nftables-helpers.j2
new file mode 100644
index 000000000..433931162
--- /dev/null
+++ b/data/templates/conntrack/nftables-helpers.j2
@@ -0,0 +1,70 @@
+{% macro conntrack_helpers(module_map, modules, ipv4=True) %}
+{% if modules.ftp is vyos_defined %}
+ ct helper ftp_tcp {
+ type "ftp" protocol tcp;
+ }
+{% endif %}
+
+{% if modules.h323 is vyos_defined %}
+ ct helper ras_udp {
+ type "RAS" protocol udp;
+ }
+
+ ct helper q931_tcp {
+ type "Q.931" protocol tcp;
+ }
+{% endif %}
+
+{% if modules.pptp is vyos_defined and ipv4 %}
+ ct helper pptp_tcp {
+ type "pptp" protocol tcp;
+ }
+{% endif %}
+
+{% if modules.nfs is vyos_defined %}
+ ct helper rpc_tcp {
+ type "rpc" protocol tcp;
+ }
+
+ ct helper rpc_udp {
+ type "rpc" protocol udp;
+ }
+{% endif %}
+
+{% if modules.sip is vyos_defined %}
+ ct helper sip_tcp {
+ type "sip" protocol tcp;
+ }
+
+ ct helper sip_udp {
+ type "sip" protocol udp;
+ }
+{% endif %}
+
+{% if modules.tftp is vyos_defined %}
+ ct helper tftp_udp {
+ type "tftp" protocol udp;
+ }
+{% endif %}
+
+{% if modules.sqlnet is vyos_defined %}
+ ct helper tns_tcp {
+ type "tns" protocol tcp;
+ }
+{% endif %}
+
+ chain VYOS_CT_HELPER {
+{% for module, module_conf in module_map.items() %}
+{% if modules[module] is vyos_defined %}
+{% if 'nftables' in module_conf %}
+{% if module_conf.ipv4 is not vyos_defined or module_conf.ipv4 == ipv4 %}
+{% for rule in module_conf.nftables %}
+ {{ rule }}
+{% endfor %}
+{% endif %}
+{% endif %}
+{% endif %}
+{% endfor %}
+ return
+ }
+{% endmacro %}