diff options
author | Christian Pointner <equinox@spreadspace.org> | 2020-05-21 13:50:11 +0200 |
---|---|---|
committer | Christian Pointner <equinox@spreadspace.org> | 2020-05-21 13:50:11 +0200 |
commit | 272524137ff85531d3eeb3dc5879b5aa521531c4 (patch) | |
tree | 4daf51018d6661db7979c6eac9aaaa19437b60c0 /roles/dellos6/layer2/templates/interfaces.j2 | |
parent | equinox-ws: install paramiko (diff) |
revamp dellos6 roles
Diffstat (limited to 'roles/dellos6/layer2/templates/interfaces.j2')
-rw-r--r-- | roles/dellos6/layer2/templates/interfaces.j2 | 51 |
1 files changed, 29 insertions, 22 deletions
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 |