{% comment %} "Connections" panel body for a breakout child (sub)interface. A subinterface is virtual and has no cable of its own; it is connected indirectly through a single lane of its parent trunk interface's breakout cable. This shows just that lane — the parent's cable, the lane's one-hop peer, and the n-hop connected endpoint — plus a Trace button into that lane. The "via parent interface" note makes clear the connection is the parent's, not the subinterface's own. Required context: - `object`: the child (sub)interface. Caller must ensure `object.get_breakout_lane_cable_path` is non-None (i.e. the parent is cabled and this lane resolves to a path) before including this. {% endcomment %} {% load helpers %} {% load cables %} {% with parent=object.parent_interface lane=object.get_breakout_lane breakout_path=object.get_breakout_lane_cable_path %}
Cable {{ parent.cable|hyperlinked_object }} (via {{ parent|hyperlinked_object }})
Cable Status {{ parent.cable.status|hyperlinked_object_with_color }}
Cable Peer {% if lane.far_termination %} {{ lane.far_termination.parent|hyperlinked_object }} {{ lane.far_termination|hyperlinked_object }} {% else %} {{ ""|placeholder }} {% endif %}
Endpoint {% with endpoint=object.get_breakout_connected_endpoint %} {% if endpoint %} {{ endpoint.parent|hyperlinked_object }} {{ endpoint|hyperlinked_object }} {# If the endpoint is itself a breakout trunk, annotate it with the child interface mapped back to the parent. #} {% with trunk_child=endpoint|breakout_trunk_child_interface:parent %}{% if trunk_child %} [{{ trunk_child|hyperlinked_object }}]{% endif %}{% endwith %} {% if breakout_path.is_active %} Reachable {% else %} Not Reachable {% endif %} {% else %} {{ ""|placeholder }} {% endif %} {% endwith %}
{% endwith %}