access: set IPv6 management address for D-Link switches

Also default route.
This commit is contained in:
Timotej Lazar 2025-07-31 17:49:37 +02:00
parent 78e02134e7
commit 88686ab939

View file

@ -1,3 +1,5 @@
{% set mgmt_iface = interfaces | selectattr('mgmt_only') | first -%}
terminal length default 0 terminal length default 0
no ip http server no ip http server
line console line console
@ -19,7 +21,6 @@ interface {{ iface.name }}
{% endfor %} {% endfor %}
{# access interfaces #} {# access interfaces #}
{%- set mgmt = namespace(ip=false, gw=false) %}
{%- for iface in interfaces | rejectattr('lag') %} {%- for iface in interfaces | rejectattr('lag') %}
interface {{ iface.name }} interface {{ iface.name }}
{# common setup for user-facing interfaces #} {# common setup for user-facing interfaces #}
@ -73,16 +74,6 @@ interface {{ iface.name }}
{% endif %} {% endif %}
{# store management address and gateway for later #}
{%- if iface.mgmt_only and iface.ip_addresses %}
{% set mgmt.ip = iface.ip_addresses[0].address %}
{% set subnet = mgmt.ip | ipaddr('subnet') %}
{% set prefix = prefixes | selectattr('prefix', '==', subnet) | first %}
{% if prefix.custom_fields.gateway %}
{% set mgmt.gw = prefix.custom_fields.gateway.address %}
{% endif %}
{% endif %}
{% if iface.name in ifaces_dhcp | default([]) %} {% if iface.name in ifaces_dhcp | default([]) %}
ip dhcp snooping trust ip dhcp snooping trust
{% else %} {% else %}
@ -91,10 +82,14 @@ interface {{ iface.name }}
{% endfor %} {% endfor %}
{# management VLAN #} {# management VLAN #}
{%- if mgmt.ip %}
interface Vlan1 interface Vlan1
ip address {{ mgmt.ip | ipaddr('address') }} {{ mgmt.ip | ipaddr('netmask') }} {% for address in mgmt_iface.ip_addresses %}
{% if address.family.value == 4 %}
ip address {{ address.address | ipaddr('address') }} {{ address.address | ipaddr('netmask') }}
{% else %}
ipv6 address {{ address.address | upper }}
{% endif %} {% endif %}
{% endfor %}
voice vlan mac-address 2C-3E-CF-00-00-00 FF-FF-FF-00-00-00 description Cisco voice vlan mac-address 2C-3E-CF-00-00-00 FF-FF-FF-00-00-00 description Cisco
voice vlan mac-address 3C-0E-23-00-00-00 FF-FF-FF-00-00-00 description Cisco voice vlan mac-address 3C-0E-23-00-00-00 FF-FF-FF-00-00-00 description Cisco
@ -127,8 +122,18 @@ ip dhcp snooping
no ip dhcp snooping no ip dhcp snooping
{% endif %} {% endif %}
{% if mgmt.gw %} {% for address in mgmt_iface.ip_addresses %}
ip route 0.0.0.0 0.0.0.0 {{ mgmt.gw | ipaddr('address') }} primary {% set subnet = address.address | ipaddr('subnet') %}
{% set prefix = prefixes | selectattr('prefix', '==', subnet) | first %}
{% if prefix.custom_fields.gateway %}
{% set gateway = prefix.custom_fields.gateway %}
{% if gateway.family.value == 4 %}
ip route 0.0.0.0 0.0.0.0 {{ gateway.address | ipaddr('address') }} primary
{% else %}
ipv6 route default vlan1 {{ gateway.address | ipaddr('address') | upper }} primary
{% endif %} {% endif %}
{% endif %}
{% endfor %}
no ddp no ddp