summaryrefslogtreecommitdiff
path: root/roles/dellos6/layer2
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2020-05-21 13:50:11 +0200
committerChristian Pointner <equinox@spreadspace.org>2020-05-21 13:50:11 +0200
commit272524137ff85531d3eeb3dc5879b5aa521531c4 (patch)
tree4daf51018d6661db7979c6eac9aaaa19437b60c0 /roles/dellos6/layer2
parentequinox-ws: install paramiko (diff)
revamp dellos6 roles
Diffstat (limited to 'roles/dellos6/layer2')
-rw-r--r--roles/dellos6/layer2/templates/interfaces.j251
-rw-r--r--roles/dellos6/layer2/templates/vlans.j22
2 files changed, 31 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
diff --git a/roles/dellos6/layer2/templates/vlans.j2 b/roles/dellos6/layer2/templates/vlans.j2
index 6403c735..a5081288 100644
--- a/roles/dellos6/layer2/templates/vlans.j2
+++ b/roles/dellos6/layer2/templates/vlans.j2
@@ -1,5 +1,7 @@
{% for vlan in dellos6_vlans %}
+{% if vlan.id != "1" %}
vlan {{ vlan.id }}
name "{{ vlan.name }}"
exit
+{% endif %}
{% endfor %}