summaryrefslogtreecommitdiff
path: root/data/templates/conntrack/nftables-helpers.j2
diff options
context:
space:
mode:
authorJohn Estabrook <jestabro@vyos.io>2023-09-28 09:54:31 -0500
committerGitHub <noreply@github.com>2023-09-28 09:54:31 -0500
commit5bcd00a2ee5ef92470ddc67f7821bb8c8659765d (patch)
tree979de9fd8fcfcad6779a13c7d24eb713aa0c271f /data/templates/conntrack/nftables-helpers.j2
parent6aa3679187243a9d1eaa16e6e81237f00dde0c63 (diff)
parent5acf5acedbf7e0c581653ddf2e7693f148017943 (diff)
downloadvyos-1x-5bcd00a2ee5ef92470ddc67f7821bb8c8659765d.tar.gz
vyos-1x-5bcd00a2ee5ef92470ddc67f7821bb8c8659765d.zip
Merge pull request #2304 from sarthurdev/conntrack_helpers
conntrack: T5376: T5598: Restore kernel conntrack helpers
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 %}