summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@vyos.io>2025-04-17 15:21:58 +0100
committerGitHub <noreply@github.com>2025-04-17 15:21:58 +0100
commit9deb059d3d781b1fdc0f3dd707590979426f3370 (patch)
treec73f7bee83c42c6074341d03becfe55198ef26dc /data
parent4069538bc665148e7277d15f202ad26fdcc66916 (diff)
parent41ba7fc5c7edbaca6ff149818aa5689b3ac3c097 (diff)
downloadvyos-1x-9deb059d3d781b1fdc0f3dd707590979426f3370.tar.gz
vyos-1x-9deb059d3d781b1fdc0f3dd707590979426f3370.zip
Merge pull request #4446 from sever-sever/T7343
T7343: IPsec add traffic-selector handling for VTI interfaces
Diffstat (limited to 'data')
-rw-r--r--data/templates/ipsec/swanctl/peer.j215
1 files changed, 13 insertions, 2 deletions
diff --git a/data/templates/ipsec/swanctl/peer.j2 b/data/templates/ipsec/swanctl/peer.j2
index 3a9af2c94..cf0865c88 100644
--- a/data/templates/ipsec/swanctl/peer.j2
+++ b/data/templates/ipsec/swanctl/peer.j2
@@ -68,8 +68,19 @@
rekey_packets = 0
rekey_time = 0s
{% endif %}
- local_ts = 0.0.0.0/0,::/0
- remote_ts = 0.0.0.0/0,::/0
+{# set default traffic-selectors #}
+{% set local_ts = '0.0.0.0/0,::/0' %}
+{% set remote_ts = '0.0.0.0/0,::/0' %}
+{% if peer_conf.vti.traffic_selector is vyos_defined %}
+{% if peer_conf.vti.traffic_selector.local is vyos_defined and peer_conf.vti.traffic_selector.local.prefix is vyos_defined %}
+{% set local_ts = peer_conf.vti.traffic_selector.local.prefix | join(',') %}
+{% endif %}
+{% if peer_conf.vti.traffic_selector.remote is vyos_defined and peer_conf.vti.traffic_selector.remote.prefix is vyos_defined %}
+{% set remote_ts = peer_conf.vti.traffic_selector.remote.prefix | join(',') %}
+{% endif %}
+{% endif %}
+ local_ts = {{ local_ts }}
+ remote_ts = {{ remote_ts }}
updown = "/etc/ipsec.d/vti-up-down {{ peer_conf.vti.bind }}"
{# The key defaults to 0 and will match any policies which similarly do not have a lookup key configuration. #}
{# Thus we simply shift the key by one to also support a vti0 interface #}