Compare commits

...

2 commits

Author SHA1 Message Date
Timotej Lazar 1d97ec2cda exit: remove --giaddr-src option for DHCP relay
Seems to work OK without it.
2024-11-09 19:59:11 +01:00
Timotej Lazar de05fd236b access: enable DHCP snooping on D-Link switches
Use the ifaces_dhcp custom context property to select interfaces where
we should expect DHCP replies.
2024-11-09 19:58:28 +01:00
3 changed files with 14 additions and 3 deletions

View file

@ -19,7 +19,7 @@
ansible_terminal_stderr_re: [] # some errors are not actually errors ansible_terminal_stderr_re: [] # some errors are not actually errors
register: result register: result
# These lines are not displayed by 'sho ru' and always reported as different, so ignore them. # These lines are not displayed by 'sho ru' and always reported as different, so ignore them.
changed_when: result.commands | reject('match', '^(no shutdown|no switchport access vlan|no voice vlan.*|switchport mode access|switchport mode hybrid|interface .*|no enable service web-server https?)$') changed_when: result.commands | reject('match', '^(no shutdown|no switchport access vlan|no voice vlan.*|switchport mode access|switchport mode hybrid|interface .*|no enable service web-server https?|no ip dhcp snooping|no ip dhcp snooping trust)$')
notify: write config notify: write config
- name: Run model-specific tasks - name: Run model-specific tasks

View file

@ -51,6 +51,12 @@ interface {{ iface.name }}
{% set mgmt.gw = iface.custom_fields.gateway.address %} {% set mgmt.gw = iface.custom_fields.gateway.address %}
{% endif %} {% endif %}
{% endif %} {% endif %}
{% if iface.name in ifaces_dhcp | default([]) %}
ip dhcp snooping trust
{% else %}
no ip dhcp snooping trust
{% endif %}
{% endfor %} {% endfor %}
{%- if mgmt.ip %} {%- if mgmt.ip %}
@ -83,6 +89,12 @@ sntp server {{ address }}
ntp access-group default nomodify noquery ntp access-group default nomodify noquery
{% if ifaces_dhcp | default(false) %}
ip dhcp snooping
{% else %}
no ip dhcp snooping
{% endif %}
{% if mgmt.gw %} {% if mgmt.gw %}
ip route 0.0.0.0 0.0.0.0 {{ mgmt.gw | ipaddr('address') }} primary ip route 0.0.0.0 0.0.0.0 {{ mgmt.gw | ipaddr('address') }} primary
{% endif %} {% endif %}

View file

@ -5,8 +5,7 @@
SERVERS="{{ my_server | ipaddr('address') }}" SERVERS="{{ my_server | ipaddr('address') }}"
{% if my_prefix.vrf.name == 'outside' %} {% if my_prefix.vrf.name == 'outside' %}
INTF_CMD="{{ my_vlans | map('regex_replace', '^', '-id bridge.') | join(' ') }} -iu {{ iface_uplink }} -iu peerlink.4 -U {{ my_prefix.vrf.name }}" INTF_CMD="{{ my_vlans | map('regex_replace', '^', '-id bridge.') | join(' ') }} -iu {{ iface_uplink }} -iu peerlink.4 -U {{ my_prefix.vrf.name }}"
OPTIONS=""
{% else %} {% else %}
INTF_CMD="{{ my_vlans | map('regex_replace', '^', '-id bridge.') | join(' ') }} -U bridge.{{ my_prefix.vlan.vid }}" INTF_CMD="{{ my_vlans | map('regex_replace', '^', '-id bridge.') | join(' ') }} -U bridge.{{ my_prefix.vlan.vid }}"
OPTIONS="--giaddr-src"
{% endif %} {% endif %}
OPTIONS=""