summaryrefslogtreecommitdiff
path: root/data/templates/dhcp-relay
diff options
context:
space:
mode:
Diffstat (limited to 'data/templates/dhcp-relay')
-rw-r--r--data/templates/dhcp-relay/config.tmpl4
-rw-r--r--data/templates/dhcp-relay/dhcrelay.conf.tmpl6
-rw-r--r--data/templates/dhcp-relay/dhcrelay6.conf.tmpl21
3 files changed, 27 insertions, 4 deletions
diff --git a/data/templates/dhcp-relay/config.tmpl b/data/templates/dhcp-relay/config.tmpl
deleted file mode 100644
index b223807cf..000000000
--- a/data/templates/dhcp-relay/config.tmpl
+++ /dev/null
@@ -1,4 +0,0 @@
-### Autogenerated by dhcp_relay.py ###
-
-# Defaults for isc-dhcp-relay6.service
-OPTIONS="{{ options | join(' ') }} -i {{ interface | join(' -i ') }} {{ server | join(' ') }}"
diff --git a/data/templates/dhcp-relay/dhcrelay.conf.tmpl b/data/templates/dhcp-relay/dhcrelay.conf.tmpl
new file mode 100644
index 000000000..a9d17ed9a
--- /dev/null
+++ b/data/templates/dhcp-relay/dhcrelay.conf.tmpl
@@ -0,0 +1,6 @@
+### Autogenerated by dhcp_relay.py ###
+
+{% set max_size = '-A ' + relay_options.max_size if relay_options.max_size is defined and relay_options.max_size is not none %}
+{# hop_count and relay_agents_packets is a default option, thus it is always present #}
+OPTIONS="-c {{ relay_options.hop_count }} -a -m {{ relay_options.relay_agents_packets }} {{ max_size }} -i {{ interface | join(' -i ') }} {{ server | join(' ') }}"
+
diff --git a/data/templates/dhcp-relay/dhcrelay6.conf.tmpl b/data/templates/dhcp-relay/dhcrelay6.conf.tmpl
new file mode 100644
index 000000000..58c216b7c
--- /dev/null
+++ b/data/templates/dhcp-relay/dhcrelay6.conf.tmpl
@@ -0,0 +1,21 @@
+### Autogenerated by dhcpv6_relay.py ###
+
+{# upstream_interface is mandatory so it's always present #}
+{% set upstream = namespace(value='') %}
+{% for interface, config in upstream_interface.items() %}
+{% for address in config.address %}
+{% set upstream.value = upstream.value + '-u ' + address + '%' + interface + ' ' %}
+{% endfor %}
+{% endfor %}
+{# listen_interface is mandatory so it's always present #}
+{% set listen = namespace(value='') %}
+{% for interface, config in listen_interface.items() %}
+{% if config.address is defined and config.address is not none %}
+{% set listen.value = listen.value + '-l ' + config.address + '%' + interface + ' ' %}
+{% else %}
+{% set listen.value = listen.value + '-l ' + interface + ' ' %}
+{% endif %}
+{% endfor %}
+
+OPTIONS="{{ listen.value }} {{ upstream.value }} -c {{ max_hop_count }} {{ '-I' if use_interface_id_option is defined }}"
+