2017-07-06 13:27:13 -04:00
< tr class = "interface{% if not iface.enabled %} danger{% elif iface.connection and iface.connection.connection_status %} success{% elif iface.connection and not iface.connection.connection_status %} info{% endif %}" >
2017-01-05 15:37:15 -05:00
{% if selectable and perms.dcim.change_interface or perms.dcim.delete_interface %}
2016-07-26 10:14:51 -04:00
< td class = "pk" >
< input name = "pk" type = "checkbox" value = "{{ iface.pk }}" / >
< / td >
{% endif %}
2016-03-01 11:23:03 -05:00
< td >
2017-06-16 17:52:09 -04:00
< i class = "fa fa-fw fa-{% if iface.mgmt_only %}wrench{% elif iface.is_virtual %}square{% elif iface.is_wireless %}wifi{% else %}exchange{% endif %}" > < / i >
2017-06-16 17:13:33 -04:00
< span title = "{{ iface.get_form_factor_display }}" > {{ iface.name }}< / span >
2017-02-27 16:52:13 -05:00
{% if iface.lag %}
< span class = "label label-primary" > {{ iface.lag.name }}< / span >
{% endif %}
2016-03-01 11:23:03 -05:00
{% if iface.description %}
< i class = "fa fa-fw fa-comment-o" title = "{{ iface.description }}" > < / i >
{% endif %}
< / td >
2017-06-23 14:04:15 -04:00
< td > {{ iface.mtu|default:"" }}< / td >
2017-05-02 15:01:27 -04:00
< td > {{ iface.mac_address|default:"" }}< / td >
2017-04-12 16:06:36 -04:00
{% if iface.is_lag %}
2017-05-05 15:37:42 -04:00
< td colspan = "2" class = "text-muted" >
LAG interface< br / >
< small class = "text-muted" > {{ iface.member_interfaces.all|join:", "|default:"No members" }}< / small >
< / td >
2017-04-12 16:06:36 -04:00
{% elif iface.is_virtual %}
2016-12-14 13:47:22 -05:00
< td colspan = "2" class = "text-muted" > Virtual interface< / td >
2017-06-16 17:52:09 -04:00
{% elif iface.is_wireless %}
< td colspan = "2" class = "text-muted" > Wireless interface< / td >
2016-03-01 11:23:03 -05:00
{% elif iface.connection %}
2016-12-27 13:21:19 -05:00
{% with iface.connected_interface as connected_iface %}
2016-03-01 11:23:03 -05:00
< td >
< a href = "{% url 'dcim:device' pk=connected_iface.device.pk %}" > {{ connected_iface.device }}< / a >
2016-07-06 14:40:40 -04:00
< / td >
< td >
2016-03-01 11:23:03 -05:00
< span title = "{{ connected_iface.get_form_factor_display }}" > {{ connected_iface }}< / span >
< / td >
{% endwith %}
2016-12-14 13:47:22 -05:00
{% elif iface.circuit_termination %}
{% with iface.circuit_termination.get_peer_termination as peer_termination %}
< td colspan = "2" >
2016-12-27 13:21:19 -05:00
< i class = "fa fa-fw fa-globe" title = "Circuit" > < / i >
2016-12-14 13:47:22 -05:00
{% if peer_termination %}
2017-03-22 16:58:56 -04:00
{% if peer_termination.interface %}
< a href = "{% url 'dcim:device' pk=peer_termination.interface.device.pk %}" > {{ peer_termination.interface.device }}< / a >
(< a href = "{% url 'dcim:site' slug=peer_termination.site.slug %}" > {{ peer_termination.site }}< / a > )
{% else %}
< a href = "{% url 'dcim:site' slug=peer_termination.site.slug %}" > {{ peer_termination.site }}< / a >
{% endif %}
via
2016-12-14 13:47:22 -05:00
{% endif %}
< a href = "{% url 'circuits:circuit' pk=iface.circuit_termination.circuit_id %}" > {{ iface.circuit_termination.circuit }}< / a >
< / td >
{% endwith %}
2016-03-01 11:23:03 -05:00
{% else %}
2016-07-06 14:40:40 -04:00
< td colspan = "2" >
< span class = "text-muted" > Not connected< / span >
< / td >
2016-03-01 11:23:03 -05:00
{% endif %}
2017-04-12 22:02:23 -04:00
< td colspan = "2" class = "text-right" >
2016-07-29 13:19:58 -04:00
{% if show_graphs %}
2016-12-14 13:47:22 -05:00
{% if iface.circuit_termination or iface.connection %}
2017-02-03 16:54:13 -05:00
< button type = "button" class = "btn btn-primary btn-xs" data-toggle = "modal" data-target = "#graphs_modal" data-obj = "{{ device.name }} - {{ iface.name }}" data-url = "{% url 'dcim-api:interface-graphs' pk=iface.pk %}" title = "Show graphs" >
2016-07-29 13:19:58 -04:00
< i class = "glyphicon glyphicon-signal" aria-hidden = "true" > < / i >
< / button >
{% endif %}
2016-03-01 11:23:03 -05:00
{% endif %}
2017-04-12 22:02:23 -04:00
{% if perms.ipam.add_ipaddress %}
2017-04-13 14:54:17 -04:00
< a href = "{% url 'ipam:ipaddress_add' %}?interface_site={{ device.site.pk }}&interface_rack={{ device.rack.pk }}&interface_device={{ device.pk }}&interface={{ iface.pk }}&return_url={{ device.get_absolute_url }}" class = "btn btn-xs btn-success" title = "Add IP address" >
2017-04-12 22:02:23 -04:00
< i class = "glyphicon glyphicon-plus" aria-hidden = "true" > < / i >
< / a >
{% endif %}
2016-03-01 11:23:03 -05:00
{% if perms.dcim.change_interface %}
2017-02-27 16:52:13 -05:00
{% if not iface.is_virtual %}
2016-03-01 11:23:03 -05:00
{% if iface.connection %}
{% if iface.connection.connection_status %}
< a href = "#" class = "btn btn-warning btn-xs interface-toggle connected" data = "{{ iface.connection.pk }}" title = "Mark planned" >
< i class = "glyphicon glyphicon-ban-circle" aria-hidden = "true" > < / i >
< / a >
{% else %}
2017-06-16 10:01:47 -04:00
< a href = "#" class = "btn btn-success btn-xs interface-toggle" data = "{{ iface.connection.pk }}" title = "Mark installed" >
2016-03-01 11:23:03 -05:00
< i class = "fa fa-plug" aria-hidden = "true" > < / i >
< / a >
{% endif %}
2017-04-12 22:02:23 -04:00
< a href = "{% url 'dcim:interfaceconnection_delete' pk=iface.connection.pk %}?device={{ device.pk }}" class = "btn btn-danger btn-xs" title = "Disconnect" >
< i class = "glyphicon glyphicon-resize-full" aria-hidden = "true" > < / i >
2016-03-01 11:23:03 -05:00
< / a >
2016-12-14 13:47:22 -05:00
{% elif iface.circuit_termination and perms.circuits.change_circuittermination %}
< button class = "btn btn-warning btn-xs interface-toggle connected" disabled = "disabled" title = "Circuits cannot be marked as planned or connected" >
< i class = "glyphicon glyphicon-ban-circle" aria-hidden = "true" > < / i >
< / button >
< a href = "{% url 'circuits:circuittermination_edit' pk=iface.circuit_termination.pk %}" class = "btn btn-danger btn-xs" title = "Edit circuit termination" >
2017-04-12 22:02:23 -04:00
< i class = "glyphicon glyphicon-resize-full" aria-hidden = "true" > < / i >
2016-08-16 09:29:20 -04:00
< / a >
2016-03-01 11:23:03 -05:00
{% else %}
2016-12-09 11:43:50 -05:00
< a href = "{% url 'dcim:interfaceconnection_add' pk=device.pk %}?interface_a={{ iface.pk }}" class = "btn btn-success btn-xs" title = "Connect" >
2017-04-12 22:02:23 -04:00
< i class = "glyphicon glyphicon-resize-small" aria-hidden = "true" > < / i >
2016-03-01 11:23:03 -05:00
< / a >
{% endif %}
{% endif %}
< a href = "{% url 'dcim:interface_edit' pk=iface.pk %}" class = "btn btn-info btn-xs" title = "Edit interface" >
< i class = "glyphicon glyphicon-pencil" aria-hidden = "true" > < / i >
< / a >
{% endif %}
{% if perms.dcim.delete_interface %}
2016-12-14 13:47:22 -05:00
{% if iface.connection or iface.circuit_termination %}
2016-03-01 11:23:03 -05:00
< button class = "btn btn-danger btn-xs" disabled = "disabled" >
< i class = "glyphicon glyphicon-trash" aria-hidden = "true" > < / i >
< / button >
{% else %}
2017-01-23 14:07:26 -05:00
< a href = "{% url 'dcim:interface_delete' pk=iface.pk %}" class = "btn btn-danger btn-xs" title = "Delete interface" >
2016-03-01 11:23:03 -05:00
< i class = "glyphicon glyphicon-trash" aria-hidden = "true" > < / i >
< / a >
{% endif %}
{% endif %}
< / td >
< / tr >
2017-04-12 22:02:23 -04:00
{% for ip in iface.ip_addresses.all %}
< tr class = "ipaddress" >
{% if selectable and perms.dcim.change_interface or perms.dcim.delete_interface %}
< td > < / td >
{% endif %}
2017-07-17 13:55:20 -04:00
< td colspan = "3" >
2017-04-12 22:02:23 -04:00
< a href = "{% url 'ipam:ipaddress' pk=ip.pk %}" > {{ ip }}< / a >
{% if ip.description %}
< i class = "fa fa-fw fa-comment-o" title = "{{ ip.description }}" > < / i >
{% endif %}
{% if device.primary_ip4 == ip or device.primary_ip6 == ip %}
< span class = "label label-success" > Primary< / span >
{% endif %}
< / td >
< td class = "text-right" >
{% if ip.vrf %}
< a href = "{% url 'ipam:vrf' pk=ip.vrf.pk %}" > {{ ip.vrf }}< / a >
{% else %}
< span class = "text-muted" > Global< / span >
{% endif %}
< / td >
< td >
< span class = "label label-{{ ip.get_status_class }}" > {{ ip.get_status_display }}< / span >
< / td >
< td class = "text-right" >
2017-05-10 16:02:50 -04:00
{% if perms.ipam.change_ipaddress %}
2017-04-12 22:02:23 -04:00
< a href = "{% url 'ipam:ipaddress_edit' pk=ip.pk %}?return_url={{ device.get_absolute_url }}" class = "btn btn-info btn-xs" >
< i class = "glyphicon glyphicon-pencil" aria-hidden = "true" title = "Edit IP address" > < / i >
< / a >
{% endif %}
{% if perms.ipam.delete_ipaddress %}
< a href = "{% url 'ipam:ipaddress_delete' pk=ip.pk %}?return_url={{ device.get_absolute_url }}" class = "btn btn-danger btn-xs" >
< i class = "glyphicon glyphicon-trash" aria-hidden = "true" title = "Delete IP address" > < / i >
< / a >
{% endif %}
< / td >
< / tr >
{% endfor %}