{% extends "generic/object.html" %} {% load form_helpers %} {% load kea_options %} {% block content %} {% kea_option_datalist dhcp_version %}
{% if lease_diff %} {% endif %}
{{ action }} DHCPv{{ dhcp_version }} Reservation
{% if object.sync_enabled and object.sync_reservations_enabled %} {% else %} {% endif %}
{% csrf_token %} {% render_form form %} {# Advisory NetBox IPAM conflict check (Add mode only) — populated on IP blur. #}
{# DHCP Options section #}
{% if dhcp_version == 4 %}
DHCP Options (optional)

Common ZTP / vendor options

NameExample valueUse case
boot-file-namehttp://10.0.0.1/ztp.pyCisco IOS XE / NX-OS / Junos bootstrap URL (option 67)
tftp-server-name10.0.0.1TFTP server for legacy IOS (option 66)
vendor-encapsulated-options0117687474703a2f2f31302e302e302e312f706f61702e7079Cisco POAP / Aruba Central (option 43, hex TLV)

Option 43 value is a hex string encoding TLV sub-options — see Kea docs for full reference.

{% else %}
DHCP Options (optional)
{% endif %} {{ options_formset.management_form }} {% if options_formset.non_form_errors %}
{% for error in options_formset.non_form_errors %}
{{ error }}
{% endfor %}
{% endif %} {% for opt_form in options_formset %} {% endfor %}
Option NameValueAlways SendDelete
{{ opt_form.name }}{% for err in opt_form.name.errors %}
{{ err }}
{% endfor %}
{{ opt_form.data }}{% for err in opt_form.data.errors %}
{{ err }}
{% endfor %}
{{ opt_form.always_send }} {{ opt_form.DELETE }}
Cancel
{% include "netbox_kea/inc/formset_add_row.html" %} {% if action == "Add" %} {% comment %} Live NetBox IPAM conflict advisory: on blur of the IP field, fetch a small HTML fragment and show it under the field. Plain fetch, no HTMX dependency. Only attached in Add mode — the IP field is disabled (read-only) when editing. {% endcomment %} {% endif %} {% endblock %}