Use when: discovering topology from a lab that should be treated as a real network; read only node names from st.clab.yml; log into nodes individually; derive links from live device state.
Goal:
Build topology from live node state, not from static containerlab links or config files.
Inputs:
Allowed from bootstrap file:
Forbidden from bootstrap file:
Forbidden project paths for topology inference:
Procedure:
docker inspect <node> --format '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'.show version, show interface brief, show system lldp neighbor, , , show interface ethernet-1/*show arpnd arp-entriesshow network-instance default route-tableip addr show, ip link show, ip route showOutput schema:
Diagram output format: draw.io XML (mxGraph format)
Write the diagram to: /home/kamal/AI_Network_Documentation/output/topology.drawio
Do NOT produce Mermaid diagrams. Do NOT embed Mermaid code blocks in any output file.
draw.io XML rules:
<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/>...cells...</root></mxGraphModel><mxCell> per node (vertex="1") and one per link (edge="1").rounded=1;whiteSpace=wrap;html=1;fillColor=#dae8fc;strokeColor=#6c8ebf;rounded=1;whiteSpace=wrap;html=1;fillColor=#d5e8d4;strokeColor=#82b366;rounded=1;whiteSpace=wrap;html=1;fillColor=#fff2cc;strokeColor=#d6b656;rounded=1;whiteSpace=wrap;html=1;fillColor=#f8cecc;strokeColor=#b85450;<b>name</b><br/>loopback_ip<br/>mgmt_ip<mxCell edge="1" source="..." target="..." parent="1">. Set value to the interface pair label (e.g. e1-1 | e1-49).edgeStyle=orthogonalEdgeStyle;Markdown summary output: /home/kamal/AI_Network_Documentation/output/topology.md
output/topology.drawio (importable into draw.io / diagrams.net)Quality checks:
Return format:
Also return the full topology model in your response: