From 272524137ff85531d3eeb3dc5879b5aa521531c4 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Thu, 21 May 2020 13:50:11 +0200 Subject: revamp dellos6 roles --- roles/dellos6/layer2/templates/interfaces.j2 | 51 ++++++++++++++++------------ 1 file changed, 29 insertions(+), 22 deletions(-) (limited to 'roles/dellos6/layer2/templates/interfaces.j2') diff --git a/roles/dellos6/layer2/templates/interfaces.j2 b/roles/dellos6/layer2/templates/interfaces.j2 index 6484db19..dc6b344e 100644 --- a/roles/dellos6/layer2/templates/interfaces.j2 +++ b/roles/dellos6/layer2/templates/interfaces.j2 @@ -5,34 +5,41 @@ description "{{ interface.description }}" {% endif %} {% if 'channel_group' in interface %} channel-group {{ interface.channel_group }} mode active -{% endif %} +{% else %} switchport mode {{ interface.switchport_mode | default('access') }} -{% if 'switchport_mode' not in interface or interface.switchport_mode == 'access' %} -{% if 'vlan' in interface %} +{% if 'switchport_mode' not in interface or interface.switchport_mode == 'access' %} +{% if 'vlan' in interface %} switchport access vlan {{ interface.vlan }} -{% endif %} -{% elif interface.switchport_mode == 'trunk' %} -{% if 'pvid' in interface %} +{% endif %} +{% elif interface.switchport_mode == 'trunk' %} +{% if 'pvid' in interface %} switchport trunk native vlan {{ interface.pvid }} -{% endif %} -{% elif interface.switchport_mode == 'general' %} -{% if 'tagged_only' in interface and interface.tagged_only %} +{% endif %} +{% elif interface.switchport_mode == 'general' %} +{% if 'tagged_only' in interface and interface.tagged_only %} switchport general acceptable-frame-type tagged-only -{% endif %} -{% if 'ingress_filtering' in interface and not interface.ingress_filtering %} +{% endif %} +{% if 'ingress_filtering' in interface and not interface.ingress_filtering %} switchport general ingress-filtering disable -{% endif %} -{% if 'forbidden_vlans' in interface %} -switchport general forbidden vlan add {{ interface.forbidden_vlans | join(',') }} -{% endif %} -{% if 'allowed_vlans_tagged' in interface %} -switchport general allowed vlan add {{ interface.allowed_vlans_tagged | join(',') }} tagged -{% endif %} -{% if 'allowed_vlans_untagged' in interface %} -switchport general allowed vlan add {{ interface.allowed_vlans_untagged | join(',') }} untagged -{% endif %} -{% if 'pvid' in interface %} +{% endif %} +{% if 'forbidden_vlans' in interface %} +{% for vlans in (interface.forbidden_vlans | vlan_parser) %} +switchport general forbidden vlan add {{ vlans }} +{% endfor %} +{% endif %} +{% if 'allowed_vlans_tagged' in interface %} +{% for vlans in (interface.allowed_vlans_tagged | vlan_parser) %} +switchport general allowed vlan add {{ vlans }} tagged +{% endfor %} +{% endif %} +{% if 'allowed_vlans_untagged' in interface %} +{% for vlans in (interface.allowed_vlans_untagged | vlan_parser) %} +switchport general allowed vlan add {{ vlans }} untagged +{% endfor %} +{% endif %} +{% if 'pvid' in interface %} switchport general pvid {{ interface.pvid }} +{% endif %} {% endif %} {% endif %} exit -- cgit v1.2.3