| Ansible user | 10 |{{ hostvars[network_switch]['ansible_user'] | default("Unknown") }} | 11 |
| Transport | 14 |{% set ansible_connection = hostvars[network_switch]['ansible_net_api'] %}{{ transport[ansible_connection] }} | 15 |
| Ansible Mgmt IP | 18 |{{ hostvars[network_switch]['ansible_host']|default("Unknown") }} | 19 |
| Ansible groups | 22 |{% for group in hostvars[network_switch]['group_names'] %}{{ group }} {% endfor %} | 23 |
| Ansible core version | 26 |{% for group in hostvars[network_switch]['ansible_version']['string']|default("Unknown") %}{{ group }} {% endfor %} | 27 |
| Ansible Python | 30 |{{ hostvars[network_switch]['ansible_playbook_python']|default("Unknown") }} | 31 |
| Python version | 34 |{{ hostvars[network_switch]['ansible_net_python_version']|default("Unknown") }} | 35 |
| ASN | 11 |Router ID | 12 | 13 |
|---|---|
| {{ hostvars[network_switch].ansible_network_resources.bgp_global['as_number']|default("Not Configured") }} | 18 |{{ hostvars[network_switch].ansible_network_resources.bgp_global.bgp['router_id']['address']|default("Not Configured") }} | 19 |
BGP Neighbors
26 || Address | 30 |Remote AS | 31 | 32 |
|---|---|
| {{ bgp_neighbor['address']|default("Not Configured") }} | 38 |{{ bgp_neighbor['remote_as']|default("Not Configured") }} | 39 |
Address Family {{ address_family['afi'] }}
10 || Network | 14 |Mask | 15 | 16 |
|---|---|
| {{ bgp_network['address']|default("Not Configured") }} | 23 |{{ bgp_network['mask']|default("Not Configured") }} | 24 |
| Interface Name | 11 |Description | 12 |Duplex | 13 |Enabled | 14 |MTU | 15 |Speed | 16 |
|---|---|---|---|---|---|
| {{interface['name']}} | 22 |{{interface['description']|default("none")}} | 23 |{{interface['duplex']|default("default")}} | 24 |{{interface['enabled']}} | 25 |{{interface['mtu']|default("default")}} | 26 |{{interface['speed']|default("default")}} | 27 |
| Name | 11 |Mode | 12 |Access VLAN | 13 |Trunk Native VLAN | 14 |Trunk Allowed VLANs | 15 |
|---|---|---|---|---|
| {{l2_interface['name']}} | 21 |{{l2_interface['mode']|default("Not Configured")}} | 22 |{{l2_interface['access']['vlan']|default("Not Configured")}} | 23 |{{l2_interface['trunk']['native_vlan']|default("Not Configured")}} | 24 |{{l2_interface['trunk']['trunk_allowed_vlans']|default("Not Configured")}} | 25 |
| Interface Name | 11 |IPv4 | 12 |IPv6 | 13 |
|---|---|---|
| {{interface['name']}} | 19 | 20 |
21 | {% if interface.ipv4 is defined %}
22 | {% for address in interface.ipv4 %}
23 | {{ address['address']|default("Not Configured") }}
24 | {% if address['secondary'] is defined %}
25 | secondary
26 | {% endif %}
27 | {% if loop.length > 1 and not loop.last %} {% endif %} 28 | {% endfor %} 29 | {% endif %} 30 | |
31 |
32 |
33 |
34 | {% if interface.ipv6 is defined %}
35 | {% for v6address in interface.ipv6 %}
36 | {{v6address['address']|default("Not Configured") }}
37 | {% if loop.length > 1 and not loop.last %} {% endif %} 38 | {% endfor %} 39 | {% endif %} 40 | |
41 |
42 |
| System Priority | 11 |
|---|
| {% if property['system'] is defined %} }{{property['system']['priority']}}{% else %}LACP not configured {% endif %} | 17 |
| vlan_id | 11 |Name | 12 |state | 13 |
|---|---|---|
| {{interface['name']}} | 19 |{{interface['receive']|default("Not Configured")}} | 20 |{{interface['transmit']|default("Not Configured")}} | 21 |
| Process ID | 11 |Router ID | 12 |
|---|---|
| {{ value[0].process_id }} | 18 |{{ value[0].router_id|default("Not Configured") }} | 19 |
| Network Device | 30 |Layer 1 | 31 |Layer 2 | 32 |Layer 3 | 33 |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
40 |
41 |
43 |
44 |
68 |
69 |
70 |
71 |
|
72 |
73 | 74 | {% include 'interfaces.j2' %} 75 | | 76 |77 | {% include 'vlans.j2' %} 78 | {% include 'lldp_interfaces.j2' %} 79 | {% include 'l2_interfaces.j2' %} 80 | | 81 |82 | {% include 'l3_interfaces.j2' %} 83 | {% include 'lacp.j2' %} 84 | {% include 'static.j2' %} 85 | {% include 'bgp.j2' %} 86 | {% include 'bgp_address_family.j2' %} 87 | {% include 'ospf.j2' %} 88 | | 89 |
Created with
95 | The source code to create this report can be found at https://github.com/network-automation/toolkit
96 | If you are new to Ansible Automation check out the following links:
97 | Getting Started
98 | Free hands-on workshops
99 | Youtube Videos
100 |
| VRF | 12 |Address-Family | 13 |Route | 14 |Interface | 15 |Next-Hop Address | 16 |Global | 17 |
|---|---|---|---|---|---|
| {{ net_route['vrf']|default("N/A") }} | 23 | {% for address_family in net_route.address_families|default([]) %} 24 |{{ address_family['afi'] }} | 25 | {% for routes in address_family['routes'] %} 26 |{{ routes['dest'] }} | 27 | {% for next_hops in routes['next_hops'] %} 28 |{{ next_hops['interface']|default("N/A") }} | 29 |{{ next_hops['forward_router_address']|default("N/A") }} | 30 |{{ next_hops['global']|default("N/A") }} | 31 | {% endfor %} 32 | {% endfor %} 33 | {% endfor %} 34 |
| vlan_id | 11 |Name | 12 |state | 13 |
|---|---|---|
| {{vlan['vlan_id']}} | 19 |{{vlan['name']|default("none")}} | 20 |{{vlan['state']|default("default")}} | 21 |
| Ansible user | 10 |{{ hostvars[network_switch]['ansible_user'] | default("Unknown") }} | 11 |
| Transport | 14 |{% set ansible_connection = hostvars[network_switch]['ansible_net_api'] %}{{ transport[ansible_connection] }} | 15 |
| Ansible Mgmt IP | 18 |{{ hostvars[network_switch]['ansible_host']|default("Unknown") }} | 19 |
| Ansible groups | 22 |{% for group in hostvars[network_switch]['group_names'] %}{{ group }} {% endfor %} | 23 |
| Ansible core version | 26 |{% for group in hostvars[network_switch]['ansible_version']['string']|default("Unknown") %}{{ group }} {% endfor %} | 27 |
| Ansible Python | 30 |{{ hostvars[network_switch]['ansible_playbook_python']|default("Unknown") }} | 31 |
| Python version | 34 |{{ hostvars[network_switch]['ansible_net_python_version']|default("Unknown") }} | 35 |
| ASN | 11 |Router ID | 12 | 13 |
|---|---|
| {{ hostvars[network_switch].ansible_network_resources.bgp_global['as_number']|default("Not Configured") }} | 18 |{{ hostvars[network_switch].ansible_network_resources.bgp_global.bgp['router_id']['address']|default("Not Configured") }} | 19 |
BGP Neighbors
26 || Address | 30 |Remote AS | 31 | 32 |
|---|---|
| {{ bgp_neighbor['address']|default("Not Configured") }} | 38 |{{ bgp_neighbor['remote_as']|default("Not Configured") }} | 39 |
Address Family {{ address_family['afi'] }}
10 || Network | 14 |Mask | 15 | 16 |
|---|---|
| {{ bgp_network['address']|default("Not Configured") }} | 23 |{{ bgp_network['mask']|default("Not Configured") }} | 24 |
| Interface Name | 11 |Description | 12 |Duplex | 13 |Enabled | 14 |MTU | 15 |Speed | 16 |
|---|---|---|---|---|---|
| {{interface['name']}} | 22 |{{interface['description']|default("none")}} | 23 |{{interface['duplex']|default("default")}} | 24 |{{interface['enabled']}} | 25 |{{interface['mtu']|default("default")}} | 26 |{{interface['speed']|default("default")}} | 27 |
| Name | 11 |Mode | 12 |Access VLAN | 13 |Trunk Native VLAN | 14 |Trunk Allowed VLANs | 15 |
|---|---|---|---|---|
| {{l2_interface['name']}} | 21 |{{l2_interface['mode']|default("Not Configured")}} | 22 |{{l2_interface['access']['vlan']|default("Not Configured")}} | 23 |{{l2_interface['trunk']['native_vlan']|default("Not Configured")}} | 24 |{{l2_interface['trunk']['trunk_allowed_vlans']|default("Not Configured")}} | 25 |
| Interface Name | 11 |IPv4 | 12 |IPv6 | 13 |
|---|---|---|
| {{interface['name']}} | 19 | 20 |
21 | {% if interface.ipv4 is defined %}
22 | {% for address in interface.ipv4 %}
23 | {{ address['address']|default("Not Configured") }}
24 | {% if address['secondary'] is defined %}
25 | secondary
26 | {% endif %}
27 | {% if loop.length > 1 and not loop.last %} {% endif %} 28 | {% endfor %} 29 | {% endif %} 30 | |
31 |
32 |
33 |
34 | {% if interface.ipv6 is defined %}
35 | {% for v6address in interface.ipv6 %}
36 | {{v6address['address']|default("Not Configured") }}
37 | {% if loop.length > 1 and not loop.last %} {% endif %} 38 | {% endfor %} 39 | {% endif %} 40 | |
41 |
42 |
| System Priority | 12 |
|---|
| {% if hostvars[network_switch]['ansible_network_resources']['lacp']['system'] is defined %} 17 | {{hostvars[network_switch]['ansible_network_resources']['lacp']['system']['priority']}} 18 | {% else %}LACP system priority not configured 19 | {% endif %} 20 | | 21 |
| System Priority | 29 |
|---|
| {% if property['system'] is defined %} 35 | {{property['system']['priority']}} 36 | {% else %}LACP system priority not configured 37 | {% endif %} 38 | | 39 |
| Interface | 18 |Receive | 19 |Transmit | 20 |
|---|---|---|
| {{ interface_name }} | 27 |{{ interface_config.receive|default("Not Configured") }} | 28 |{{ interface_config.transmit|default("Not Configured") }} | 29 |
| {{ interface.name }} | 35 |{{ interface.receive|default("Not Configured") }} | 36 |{{ interface.transmit|default("Not Configured") }} | 37 |
| Process ID | 23 |Router ID | 24 |Other Properties | 25 |
|---|---|---|
| {{ process.process_id|default("Not Configured") }} | 31 |{{ process.router_id|default("Not Configured") }} | 32 |
33 | {% if process.redistribute is defined and process.redistribute|length > 0 %}
34 | Redistributing:
35 | {% for redist in process.redistribute %}
36 | {{ redist.routes }}{% if not loop.last %}, {% endif %}
37 | {% endfor %}
38 | 39 | {% endif %} 40 | 41 | {% if process.max_lsa is defined %} 42 | Max LSA: {{ process.max_lsa.count|default("Not Configured") }} 43 | 44 | {% endif %} 45 | 46 | {% if process.areas is defined and process.areas|length > 0 %} 47 | Areas: 48 | {% for area in process.areas %} 49 | {{ area.area_id }}{% if not loop.last %}, {% endif %} 50 | {% endfor %} 51 | {% endif %} 52 | |
53 |
OSPF Interfaces
62 || Interface | 66 |Area | 67 |Network Type | 68 |Other Properties | 69 |
|---|---|---|---|
| {{ interface.name }} | 77 |78 | {% if family.area is defined %} 79 | {{ family.area.area_id|default("Not Configured") }} 80 | {% else %} 81 | Not Configured 82 | {% endif %} 83 | | 84 |{{ family.network|default("Not Configured") }} | 85 |
86 | {% if family.passive is defined %}
87 | Passive: {{ family.passive }}
88 | {% endif %}
89 | {% if family.afi is defined %}
90 | Address Family: {{ family.afi }} 91 | {% endif %} 92 | |
93 |
| {{ interface.name }} | 98 |Not Configured | 99 |Not Configured | 100 |No OSPF configuration | 101 |
| Network Device | 30 |Layer 1 | 31 |Layer 2 | 32 |Layer 3 | 33 |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
40 |
41 |
43 |
44 |
68 |
69 |
70 |
71 |
|
72 |
73 | 74 | {% include 'interfaces.j2' %} 75 | | 76 |77 | {% include 'vlans.j2' %} 78 | {% include 'lldp_interfaces.j2' %} 79 | {% include 'l2_interfaces.j2' %} 80 | | 81 |82 | {% include 'l3_interfaces.j2' %} 83 | {% include 'lacp.j2' %} 84 | {% include 'static.j2' %} 85 | {% include 'bgp.j2' %} 86 | {% include 'bgp_address_family.j2' %} 87 | {% include 'ospf.j2' %} 88 | | 89 |
Created with
95 | The source code to create this report can be found at https://github.com/network-automation/toolkit
96 | If you are new to Ansible Automation check out the following links:
97 | Getting Started
98 | Free hands-on workshops
99 | Youtube Videos
100 |
| VRF | 16 |Address-Family | 17 |Route | 18 |Interface | 19 |Next-Hop Address | 20 |Global | 21 |
|---|---|---|---|---|---|
| {{ net_route['vrf']|default("N/A") }} | 27 | {% for address_family in net_route.address_families|default([]) %} 28 |{{ address_family['afi'] }} | 29 | {% for routes in address_family['routes'] %} 30 |{{ routes['dest'] }} | 31 | {% for next_hops in routes['next_hops'] %} 32 |{{ next_hops['interface']|default("N/A") }} | 33 |{{ next_hops['forward_router_address']|default("N/A") }} | 34 |{{ next_hops['global']|default("N/A") }} | 35 | {% endfor %} 36 | {% endfor %} 37 | {% endfor %} 38 |
| vlan_id | 11 |Name | 12 |state | 13 |
|---|---|---|
| {{vlan['vlan_id']}} | 19 |{{vlan['name']|default("none")}} | 20 |{{vlan['state']|default("default")}} | 21 |