forked from netascode/ansible-dc-vxlan
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathndfc_interface_dot1q.j2
More file actions
65 lines (64 loc) · 4.07 KB
/
Copy pathndfc_interface_dot1q.j2
File metadata and controls
65 lines (64 loc) · 4.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
---
# This NDFC access interface data structure is auto-generated
# DO NOT EDIT MANUALLY
#
{% for switch in data_model_extended.vxlan.topology.switches %}
{% if switch.interfaces is defined %}
{% for interface in switch['interfaces'] %}
{% set interface_name = interface['name']|lower %}
{% if interface_name.startswith('e') %}
{% if interface['mode'] == 'dot1q' %}
- name: {{ interface['name'] }}
type: eth
switch:
{% if switch.management.management_ipv4_address is defined %}
- {{ switch.management.management_ipv4_address}}
{% elif (switch.management.management_ipv4_address is not defined) and (switch.management.management_ipv6_address is defined) %}
- {{ switch.management.management_ipv6_address}}
{% endif %}
deploy: false
profile:
admin_state: {{ interface['enabled'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.enabled) | lower }}
enable_cdp: {{ interface['enable_cdp'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.enable_cdp) | lower }}
mode: dot1q
description: "{{ interface['description'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.description) }}"
mtu: {{ interface['mtu'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.mtu) }}
speed: {{ interface['speed'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.speed) }}
port_type_fast: {{ interface['spanning_tree_portfast'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.spanning_tree_portfast) | lower }}
access_vlan: {{ interface['access_vlan'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.access_vlan) }}
bpdu_guard: {{ interface['enable_bpdu_guard'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.enable_bpdu_guard) | lower }}
duplex: {{ interface['duplex'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.duplex) }}
{% if interface['orphan_port'] | default(false) %}
orphan_port: {{ interface['orphan_port'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.orphan_port) | lower }}
{% endif %}
{% if ndfc_version | cisco.nac_dc_vxlan.version_compare('12.4.1', '>=') %}
enable_storm_control: {{ interface['enable_storm_control'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.enable_storm_control) | lower }}
{% if interface['enable_storm_control'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.enable_storm_control) %}
storm_control_action: {{ interface['storm_control_action'] | default(defaults.vxlan.topology.switches.interfaces.topology_switch_dot1q_interface.storm_control_action) | lower }}
{% if interface['storm_control_broadcast_level_percent'] is defined %}
storm_control_broadcast_level_percent: "{{ '%0.2f' % interface['storm_control_broadcast_level_percent'] }}"
{% endif %}
{% if interface['storm_control_multicast_level_percent'] is defined %}
storm_control_multicast_level_percent: "{{ '%0.2f' % interface['storm_control_multicast_level_percent'] }}"
{% endif %}
{% if interface['storm_control_unicast_level_percent'] is defined %}
storm_control_unicast_level_percent: "{{ '%0.2f' % interface['storm_control_unicast_level_percent'] }}"
{% endif %}
{% if interface['storm_control_broadcast_level_pps'] is defined %}
storm_control_broadcast_level_pps: {{ interface['storm_control_broadcast_level_pps'] }}
{% endif %}
{% if interface['storm_control_multicast_level_pps'] is defined %}
storm_control_multicast_level_pps: {{ interface['storm_control_multicast_level_pps'] }}
{% endif %}
{% if interface['storm_control_unicast_level_pps'] is defined %}
storm_control_unicast_level_pps: {{ interface['storm_control_unicast_level_pps'] }}
{% endif %}
{% endif %}
{% endif %}
cmds: |2-
{{ interface['freeform_config'] | default('') | indent(6, false) }}
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}