{% load helpers %}
{% if panels %}

Backbone reachability by panel (next hop)

{% for p in panels %} {% for r in p.rows %} {% endfor %} {% endfor %}
PanelLocationRackMediaFree / TotalFill
{% if forloop.first %}{{ p.panel }}{% endif %} {{ r.location }} {{ r.rack }} {{ r.media }} {{ r.free }}/{{ r.total }} {% utilization_graph r.used_pct %}
{% else %}

Backbone

{% endif %} {% if leaves %}
Leaves served (rackless patches) — {{ leaves|length }}
{% for l in leaves %} {% endfor %}
PanelLeafMediaFree / TotalFill
{{ l.panel }} {{ l.leaf_device }} {{ l.media }} {{ l.free }}/{{ l.total }} {% utilization_graph l.used_pct %}
{% endif %}