<mxfile host="app.diagrams.net" agent="pubinvest-netdesign" version="24.7.0">
  <diagram id="pubinvest-metro" name="Metro Target Design">
    <mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1600" pageHeight="1100" math="0" shadow="0" background="#FBFCFE">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />

        <!-- Title -->
        <mxCell id="title" value="Pub Invest — Metro Network (Target Design)" style="text;html=1;align=center;verticalAlign=middle;fontSize=24;fontStyle=1;fontColor=#1F3A5F;" vertex="1" parent="1">
          <mxGeometry x="520" y="20" width="620" height="40" as="geometry" />
        </mxCell>
        <mxCell id="subtitle" value="Core routes, edges firewall · OSPF+BGP-RR · guest &amp; ISP-POP over BGP-VPLS" style="text;html=1;align=center;verticalAlign=middle;fontSize=13;fontColor=#5A6B7B;" vertex="1" parent="1">
          <mxGeometry x="520" y="58" width="620" height="24" as="geometry" />
        </mxCell>

        <!-- ===== Backdrops (drawn first, sit behind) ===== -->
        <mxCell id="c_colo" value="Colocation — 18–20 Fleet St" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F7F9FC;strokeColor=#A9BACB;fontColor=#37474F;fontSize=14;fontStyle=1;verticalAlign=top;align=left;spacingLeft=12;spacingTop=8;arcSize=6;" vertex="1" parent="1">
          <mxGeometry x="430" y="250" width="540" height="360" as="geometry" />
        </mxCell>
        <mxCell id="c_srv" value="Server Room — 10.128.0.0/16  (all routed VLANs gateway on OPNsense)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#F5F6F8;strokeColor=#AEB9C4;fontColor=#37474F;fontSize=13;fontStyle=1;verticalAlign=top;align=left;spacingLeft=12;spacingTop=8;arcSize=6;" vertex="1" parent="1">
          <mxGeometry x="1010" y="250" width="500" height="360" as="geometry" />
        </mxCell>

        <!-- ===== WAN sources ===== -->
        <mxCell id="n_isp" value="Vive Transit&#10;10G · eBGP" style="shape=cloud;whiteSpace=wrap;html=1;fillColor=#ECEFF1;strokeColor=#8A9AA8;fontColor=#37474F;fontSize=12;fontStyle=1;" vertex="1" parent="1">
          <mxGeometry x="60" y="300" width="150" height="90" as="geometry" />
        </mxCell>
        <mxCell id="n_star" value="Starlink backup&#10;RB4011 · eBGP AS65502&#10;payment prefixes only" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#37474F;strokeColor=#263238;fontColor=#FFFFFF;fontSize=11;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="240" y="130" width="170" height="60" as="geometry" />
        </mxCell>

        <!-- ===== Colo devices ===== -->
        <mxCell id="n_fw1" value="OPNsense FW-01&#10;CARP · AS65510" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B71C1C;strokeColor=#7F0000;fontColor=#FFFFFF;fontSize=11;fontStyle=1;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="460" y="300" width="150" height="52" as="geometry" />
        </mxCell>
        <mxCell id="n_fw2" value="OPNsense FW-02&#10;CARP · AS65510" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#B71C1C;strokeColor=#7F0000;fontColor=#FFFFFF;fontSize=11;fontStyle=1;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="640" y="300" width="150" height="52" as="geometry" />
        </mxCell>
        <mxCell id="n_c1" value="CR-COLO-01&#10;RR · PE · .1" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1F4E79;strokeColor=#12314D;fontColor=#FFFFFF;fontSize=12;fontStyle=1;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="460" y="408" width="150" height="58" as="geometry" />
        </mxCell>
        <mxCell id="n_c2" value="CR-COLO-02&#10;RR · PE · .2" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1F4E79;strokeColor=#12314D;fontColor=#FFFFFF;fontSize=12;fontStyle=1;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="640" y="408" width="150" height="58" as="geometry" />
        </mxCell>
        <mxCell id="n_croof" value="CR-COLOROOF-01&#10;roof PE · .3&#10;60 GHz to Old Bank / Irish House" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#5E35B1;strokeColor=#4527A0;fontColor=#FFFFFF;fontSize=11;fontStyle=1;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="548" y="514" width="180" height="60" as="geometry" />
        </mxCell>

        <!-- ===== Server room devices ===== -->
        <mxCell id="n_ceph" value="Storage CRS326 ×2&#10;MLAG · jumbo · L2 only" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#455A64;strokeColor=#263238;fontColor=#FFFFFF;fontSize=11;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="1035" y="306" width="200" height="52" as="geometry" />
        </mxCell>
        <mxCell id="n_vm" value="VM CRS326 ×2&#10;MLAG · trunk to hypervisors" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#455A64;strokeColor=#263238;fontColor=#FFFFFF;fontSize=11;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="1275" y="306" width="210" height="52" as="geometry" />
        </mxCell>
        <mxCell id="n_t1" value="VM Tier-1&#10;AD · POS · payments" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#546E7A;strokeColor=#263238;fontColor=#FFFFFF;fontSize=11;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="1035" y="392" width="200" height="48" as="geometry" />
        </mxCell>
        <mxCell id="n_t2" value="VM Tier-2 / DMZ&#10;UniFi · RADIUS · monitoring" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#546E7A;strokeColor=#263238;fontColor=#FFFFFF;fontSize=11;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="1275" y="392" width="210" height="48" as="geometry" />
        </mxCell>
        <mxCell id="n_oob" value="OOB — CRS326-24G + gateway (independent WAN · WireGuard · source-NAT)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#6D4C41;strokeColor=#4E342E;fontColor=#FFFFFF;fontSize=11;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="1035" y="474" width="450" height="46" as="geometry" />
        </mxCell>

        <!-- ===== Metro hubs ===== -->
        <mxCell id="n_hol" value="CR-HOLMES-01&#10;2×10G diverse · 3 venues" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1B7F72;strokeColor=#0F5147;fontColor=#FFFFFF;fontSize=11;fontStyle=1;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="60" y="660" width="168" height="72" as="geometry" />
        </mxCell>
        <mxCell id="n_seel" value="CR-SEELST-01&#10;fibre · 6 venues" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1B7F72;strokeColor=#0F5147;fontColor=#FFFFFF;fontSize=11;fontStyle=1;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="270" y="660" width="168" height="72" as="geometry" />
        </mxCell>
        <mxCell id="n_cha" value="CR-CHARLOTTE-01&#10;+ roof · 5 venues" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1B7F72;strokeColor=#0F5147;fontColor=#FFFFFF;fontSize=11;fontStyle=1;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="480" y="660" width="168" height="72" as="geometry" />
        </mxCell>
        <mxCell id="n_mat" value="CR-MATHEWST-01&#10;fibre · 6 venues&#10;(Vive WAN &amp; transit-B land here)" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1B7F72;strokeColor=#0F5147;fontColor=#FFFFFF;fontSize=11;fontStyle=1;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="690" y="654" width="180" height="84" as="geometry" />
        </mxCell>
        <mxCell id="n_fen" value="CR-FENWICK-01&#10;fibre · 2 venues" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1B7F72;strokeColor=#0F5147;fontColor=#FFFFFF;fontSize=11;fontStyle=1;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="910" y="660" width="168" height="72" as="geometry" />
        </mxCell>
        <mxCell id="n_tmp" value="CR-TEMPLECT-01&#10;+ roof · 4× Stanley St" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#1B7F72;strokeColor=#0F5147;fontColor=#FFFFFF;fontSize=11;fontStyle=1;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="1120" y="660" width="168" height="72" as="geometry" />
        </mxCell>
        <mxCell id="n_old" value="CR-OLDBANK-01&#10;roof · 2 venues" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#5E35B1;strokeColor=#4527A0;fontColor=#FFFFFF;fontSize=11;fontStyle=1;shadow=1;arcSize=12;" vertex="1" parent="1">
          <mxGeometry x="1330" y="660" width="168" height="72" as="geometry" />
        </mxCell>

        <!-- ===== Venue clusters ===== -->
        <mxCell id="v_hol" value="Venues /16 · eBGP CE" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E0F2F1;strokeColor=#26A69A;fontColor=#004D40;fontSize=10;arcSize=20;" vertex="1" parent="1">
          <mxGeometry x="60" y="772" width="168" height="38" as="geometry" />
        </mxCell>
        <mxCell id="v_seel" value="Venues /16 · eBGP CE" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E0F2F1;strokeColor=#26A69A;fontColor=#004D40;fontSize=10;arcSize=20;" vertex="1" parent="1">
          <mxGeometry x="270" y="772" width="168" height="38" as="geometry" />
        </mxCell>
        <mxCell id="v_cha" value="Venues /16 · eBGP CE" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E0F2F1;strokeColor=#26A69A;fontColor=#004D40;fontSize=10;arcSize=20;" vertex="1" parent="1">
          <mxGeometry x="480" y="772" width="168" height="38" as="geometry" />
        </mxCell>
        <mxCell id="v_mat" value="Venues /16 · eBGP CE" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E0F2F1;strokeColor=#26A69A;fontColor=#004D40;fontSize=10;arcSize=20;" vertex="1" parent="1">
          <mxGeometry x="694" y="772" width="172" height="38" as="geometry" />
        </mxCell>
        <mxCell id="v_fen" value="Venues /16 · eBGP CE" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E0F2F1;strokeColor=#26A69A;fontColor=#004D40;fontSize=10;arcSize=20;" vertex="1" parent="1">
          <mxGeometry x="910" y="772" width="168" height="38" as="geometry" />
        </mxCell>
        <mxCell id="v_tmp" value="Venues /16 · eBGP CE" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E0F2F1;strokeColor=#26A69A;fontColor=#004D40;fontSize=10;arcSize=20;" vertex="1" parent="1">
          <mxGeometry x="1120" y="772" width="168" height="38" as="geometry" />
        </mxCell>
        <mxCell id="v_old" value="Venues /16 · eBGP CE" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#E0F2F1;strokeColor=#26A69A;fontColor=#004D40;fontSize=10;arcSize=20;" vertex="1" parent="1">
          <mxGeometry x="1330" y="772" width="168" height="38" as="geometry" />
        </mxCell>

        <!-- ===== Edges: fibre ===== -->
        <mxCell id="e_mat" style="endArrow=none;html=1;strokeColor=#1565C0;strokeWidth=2;" edge="1" parent="1" source="n_mat" target="n_c1"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_cha" style="endArrow=none;html=1;strokeColor=#1565C0;strokeWidth=2;" edge="1" parent="1" source="n_cha" target="n_c1"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_seel" style="endArrow=none;html=1;strokeColor=#1565C0;strokeWidth=2;" edge="1" parent="1" source="n_seel" target="n_c2"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_hol1" style="endArrow=none;html=1;strokeColor=#1565C0;strokeWidth=2;" edge="1" parent="1" source="n_hol" target="n_c1"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_hol2" style="endArrow=none;html=1;strokeColor=#1565C0;strokeWidth=2;" edge="1" parent="1" source="n_hol" target="n_c2"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_fen" value="fibre" style="endArrow=none;html=1;strokeColor=#1565C0;strokeWidth=2;fontSize=9;fontColor=#1565C0;" edge="1" parent="1" source="n_fen" target="n_mat"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_tmp" value="fibre" style="endArrow=none;html=1;strokeColor=#1565C0;strokeWidth=2;fontSize=9;fontColor=#1565C0;" edge="1" parent="1" source="n_tmp" target="n_mat"><mxGeometry relative="1" as="geometry" /></mxCell>

        <!-- planned fibre -->
        <mxCell id="e_old_fen" value="planned" style="endArrow=none;html=1;strokeColor=#9E9E9E;strokeWidth=2;dashed=1;dashPattern=2 4;fontSize=9;fontColor=#757575;" edge="1" parent="1" source="n_old" target="n_fen"><mxGeometry relative="1" as="geometry" /></mxCell>

        <!-- 25G inter-core bond -->
        <mxCell id="e_bond" value="2×25G bond" style="endArrow=none;html=1;strokeColor=#6A1B9A;strokeWidth=4;fontSize=9;fontColor=#6A1B9A;fontStyle=1;" edge="1" parent="1" source="n_c1" target="n_c2"><mxGeometry relative="1" as="geometry" /></mxCell>

        <!-- 60 GHz -->
        <mxCell id="e_tmp_cha" value="60 GHz" style="endArrow=none;html=1;strokeColor=#EF6C00;strokeWidth=2;dashed=1;dashPattern=6 4;fontSize=9;fontColor=#EF6C00;" edge="1" parent="1" source="n_tmp" target="n_cha"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_old_roof" value="2×60 GHz" style="endArrow=none;html=1;strokeColor=#EF6C00;strokeWidth=2;dashed=1;dashPattern=6 4;fontSize=9;fontColor=#EF6C00;" edge="1" parent="1" source="n_old" target="n_croof"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_seel_hol" value="60 GHz (build)" style="endArrow=none;html=1;strokeColor=#EF6C00;strokeWidth=2;dashed=1;dashPattern=1 4;fontSize=9;fontColor=#EF6C00;" edge="1" parent="1" source="n_seel" target="n_hol"><mxGeometry relative="1" as="geometry" /></mxCell>

        <!-- eBGP / WAN -->
        <mxCell id="e_isp1" value="eBGP" style="endArrow=none;html=1;strokeColor=#C62828;strokeWidth=1.5;dashed=1;dashPattern=8 4;fontSize=9;fontColor=#C62828;" edge="1" parent="1" source="n_isp" target="n_fw1"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_isp2" style="endArrow=none;html=1;strokeColor=#C62828;strokeWidth=1.5;dashed=1;dashPattern=8 4;" edge="1" parent="1" source="n_isp" target="n_fw2"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_st1" style="endArrow=none;html=1;strokeColor=#C62828;strokeWidth=1.5;dashed=1;dashPattern=8 4;" edge="1" parent="1" source="n_star" target="n_c1"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_st2" style="endArrow=none;html=1;strokeColor=#C62828;strokeWidth=1.5;dashed=1;dashPattern=8 4;" edge="1" parent="1" source="n_star" target="n_c2"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_fwc1" value="eBGP" style="endArrow=none;html=1;strokeColor=#C62828;strokeWidth=1.5;dashed=1;dashPattern=8 4;fontSize=9;fontColor=#C62828;" edge="1" parent="1" source="n_fw1" target="n_c1"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_fwc2" style="endArrow=none;html=1;strokeColor=#C62828;strokeWidth=1.5;dashed=1;dashPattern=8 4;" edge="1" parent="1" source="n_fw2" target="n_c2"><mxGeometry relative="1" as="geometry" /></mxCell>

        <!-- server room trunks -->
        <mxCell id="e_srv1" value="2×10G LACP" style="endArrow=none;html=1;strokeColor=#1565C0;strokeWidth=2;fontSize=9;fontColor=#1565C0;" edge="1" parent="1" source="n_c1" target="n_vm"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_srv2" style="endArrow=none;html=1;strokeColor=#1565C0;strokeWidth=2;" edge="1" parent="1" source="n_c2" target="n_vm"><mxGeometry relative="1" as="geometry" /></mxCell>

        <!-- venue drops -->
        <mxCell id="e_vh" style="endArrow=none;html=1;strokeColor=#00897B;strokeWidth=1.2;" edge="1" parent="1" source="n_hol" target="v_hol"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_vs" style="endArrow=none;html=1;strokeColor=#00897B;strokeWidth=1.2;" edge="1" parent="1" source="n_seel" target="v_seel"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_vc" style="endArrow=none;html=1;strokeColor=#00897B;strokeWidth=1.2;" edge="1" parent="1" source="n_cha" target="v_cha"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_vm2" style="endArrow=none;html=1;strokeColor=#00897B;strokeWidth=1.2;" edge="1" parent="1" source="n_mat" target="v_mat"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_vf" style="endArrow=none;html=1;strokeColor=#00897B;strokeWidth=1.2;" edge="1" parent="1" source="n_fen" target="v_fen"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_vt" style="endArrow=none;html=1;strokeColor=#00897B;strokeWidth=1.2;" edge="1" parent="1" source="n_tmp" target="v_tmp"><mxGeometry relative="1" as="geometry" /></mxCell>
        <mxCell id="e_vo" style="endArrow=none;html=1;strokeColor=#00897B;strokeWidth=1.2;" edge="1" parent="1" source="n_old" target="v_old"><mxGeometry relative="1" as="geometry" /></mxCell>

        <!-- ===== Legend ===== -->
        <mxCell id="c_leg" value="Legend" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#FFFFFF;strokeColor=#B0BEC5;fontColor=#37474F;fontSize=13;fontStyle=1;verticalAlign=top;align=left;spacingLeft=12;spacingTop=6;arcSize=4;" vertex="1" parent="1">
          <mxGeometry x="60" y="864" width="840" height="150" as="geometry" />
        </mxCell>
        <!-- link samples -->
        <mxCell id="l1" style="endArrow=none;html=1;strokeColor=#1565C0;strokeWidth=2;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="90" y="906" as="sourcePoint" /><mxPoint x="170" y="906" as="targetPoint" /></mxGeometry></mxCell>
        <mxCell id="l1t" value="Fibre (10G)" style="text;html=1;align=left;fontSize=11;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="180" y="895" width="140" height="22" as="geometry" /></mxCell>
        <mxCell id="l2" style="endArrow=none;html=1;strokeColor=#6A1B9A;strokeWidth=4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="90" y="936" as="sourcePoint" /><mxPoint x="170" y="936" as="targetPoint" /></mxGeometry></mxCell>
        <mxCell id="l2t" value="25G inter-core bond" style="text;html=1;align=left;fontSize=11;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="180" y="925" width="180" height="22" as="geometry" /></mxCell>
        <mxCell id="l3" style="endArrow=none;html=1;strokeColor=#EF6C00;strokeWidth=2;dashed=1;dashPattern=6 4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="90" y="966" as="sourcePoint" /><mxPoint x="170" y="966" as="targetPoint" /></mxGeometry></mxCell>
        <mxCell id="l3t" value="60 GHz backup" style="text;html=1;align=left;fontSize=11;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="180" y="955" width="160" height="22" as="geometry" /></mxCell>
        <mxCell id="l4" style="endArrow=none;html=1;strokeColor=#9E9E9E;strokeWidth=2;dashed=1;dashPattern=2 4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="90" y="996" as="sourcePoint" /><mxPoint x="170" y="996" as="targetPoint" /></mxGeometry></mxCell>
        <mxCell id="l4t" value="Planned fibre" style="text;html=1;align=left;fontSize=11;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="180" y="985" width="160" height="22" as="geometry" /></mxCell>
        <mxCell id="l5" style="endArrow=none;html=1;strokeColor=#C62828;strokeWidth=1.5;dashed=1;dashPattern=8 4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="380" y="906" as="sourcePoint" /><mxPoint x="460" y="906" as="targetPoint" /></mxGeometry></mxCell>
        <mxCell id="l5t" value="eBGP (WAN / edge / Starlink)" style="text;html=1;align=left;fontSize=11;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="470" y="895" width="230" height="22" as="geometry" /></mxCell>
        <!-- node color swatches -->
        <mxCell id="s1" style="rounded=0;html=1;fillColor=#1F4E79;strokeColor=none;" vertex="1" parent="1"><mxGeometry x="380" y="936" width="16" height="16" as="geometry" /></mxCell>
        <mxCell id="s1t" value="Core / Route Reflector" style="text;html=1;align=left;fontSize=11;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="402" y="934" width="180" height="20" as="geometry" /></mxCell>
        <mxCell id="s2" style="rounded=0;html=1;fillColor=#B71C1C;strokeColor=none;" vertex="1" parent="1"><mxGeometry x="380" y="962" width="16" height="16" as="geometry" /></mxCell>
        <mxCell id="s2t" value="OPNsense edge" style="text;html=1;align=left;fontSize=11;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="402" y="960" width="180" height="20" as="geometry" /></mxCell>
        <mxCell id="s3" style="rounded=0;html=1;fillColor=#1B7F72;strokeColor=none;" vertex="1" parent="1"><mxGeometry x="600" y="936" width="16" height="16" as="geometry" /></mxCell>
        <mxCell id="s3t" value="Metro hub PE" style="text;html=1;align=left;fontSize=11;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="622" y="934" width="150" height="20" as="geometry" /></mxCell>
        <mxCell id="s4" style="rounded=0;html=1;fillColor=#5E35B1;strokeColor=none;" vertex="1" parent="1"><mxGeometry x="600" y="962" width="16" height="16" as="geometry" /></mxCell>
        <mxCell id="s4t" value="Roof PE" style="text;html=1;align=left;fontSize=11;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="622" y="960" width="150" height="20" as="geometry" /></mxCell>
        <mxCell id="s5" style="rounded=0;html=1;fillColor=#455A64;strokeColor=none;" vertex="1" parent="1"><mxGeometry x="740" y="936" width="16" height="16" as="geometry" /></mxCell>
        <mxCell id="s5t" value="Server room" style="text;html=1;align=left;fontSize=11;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="762" y="934" width="120" height="20" as="geometry" /></mxCell>
        <mxCell id="s6" style="rounded=0;html=1;fillColor=#E0F2F1;strokeColor=#26A69A;" vertex="1" parent="1"><mxGeometry x="740" y="962" width="16" height="16" as="geometry" /></mxCell>
        <mxCell id="s6t" value="Venue (eBGP CE)" style="text;html=1;align=left;fontSize=11;fontColor=#37474F;" vertex="1" parent="1"><mxGeometry x="762" y="960" width="130" height="20" as="geometry" /></mxCell>

        <!-- note -->
        <mxCell id="note" value="Guest WiFi &amp; the separate ISP business's POP circuits ride the metro as BGP-VPLS (not shown as L3). Retail ISP (AS204258) is a separate design — see WAN-DESIGN." style="text;html=1;align=left;verticalAlign=middle;fontSize=11;fontColor=#5A6B7B;fontStyle=2;" vertex="1" parent="1">
          <mxGeometry x="940" y="880" width="560" height="60" as="geometry" />
        </mxCell>

      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
