portspec

Fibre distribution

16U open frame. SC and LC panels, MPO trunk, gateway router and two 24-port SFP+ aggregation switches.

Fibre distribution, drawn from its YAML file

Devices

YAML

network: 1
imports:
  - ../../catalog/index.network.yaml
cables:
  cat6-blue:   { extends: cat6, color: "#3689c9" }
  cat6-green:  { extends: cat6, color: "#41a282" }
  cat6-yellow: { extends: cat6, color: "#d9a520" }
  cat6-red:    { extends: cat6, color: "#c8504a" }
racks:
  frame:
    type: open-rack
    units: 16
    panels:
      brush-11: { u: 11, type: brush }
      brush-7:  { u: 7, type: brush }
devices:
  feeder-a: { model: fibre-panel-sc-12, in: frame, u: 16 }
  feeder-b: { model: fibre-panel-sc-12, in: frame, u: 15 }
  odf-a: { model: fibre-panel-lc-24, in: frame, u: 14 }
  odf-b: { model: fibre-panel-lc-24, in: frame, u: 13 }
  trunk: { model: fibre-panel-mpo-12, in: frame, u: 12 }
  bng: { model: mikrotik/ccr2004-1g-12s+2xs, name: Gateway, in: frame, u: 10, ports: { sfp28-1: { module: sfp28-lc-25g }, sfp28-2: { module: sfp28-lc-25g }, sfp-sfpplus1: { module: sfp+-lc-10g }, sfp-sfpplus2: { module: sfp+-lc-10g } } }
  agg-a: { model: mikrotik/crs326-24s+2q+rm, name: Aggregation A, in: frame, u: 9, ports: { sfp-sfpplus1: { module: sfp+-lc-10g }, sfp-sfpplus2: { module: sfp+-lc-10g }, sfp-sfpplus3: { module: sfp+-lc-10g }, sfp-sfpplus4: { module: sfp+-lc-10g }, sfp-sfpplus5: { module: sfp+-lc-10g }, sfp-sfpplus6: { module: sfp+-lc-10g }, sfp-sfpplus7: { module: sfp+-lc-10g }, sfp-sfpplus8: { module: sfp+-lc-10g }, qsfpplus1-1: { module: qsfp-mpo } } }
  agg-b: { model: mikrotik/crs326-24s+2q+rm, name: Aggregation B, in: frame, u: 8, ports: { sfp-sfpplus1: { module: sfp+-lc-10g }, sfp-sfpplus2: { module: sfp+-lc-10g }, sfp-sfpplus3: { module: sfp+-lc-10g }, sfp-sfpplus4: { module: sfp+-lc-10g }, sfp-sfpplus5: { module: sfp+-lc-10g }, sfp-sfpplus6: { module: sfp+-lc-10g }, sfp-sfpplus7: { module: sfp+-lc-10g }, sfp-sfpplus8: { module: sfp+-lc-10g }, qsfpplus1-1: { module: qsfp-mpo } } }
  pdu: { model: pdu-8, in: frame, u: 3 }
  ups: { model: ups-2u, in: frame, u: 1 }
  far-feeder-a: { model: fibre-panel-sc-12, name: "North ring" }
  far-feeder-b: { model: fibre-panel-sc-12, name: "South ring" }
  far-odf-a: { model: fibre-panel-lc-24, name: "Building A" }
  far-odf-b: { model: fibre-panel-lc-24, name: "Building B" }
  far-trunk: { model: fibre-panel-mpo-12, name: "Core room" }
links:
  up-a: { ends: [bng/sfp28-1, odf-a/1], cable: lc-duplex }
  up-b: { ends: [bng/sfp28-2, odf-b/1], cable: lc-duplex }
  x-1: { ends: [feeder-a/2, feeder-b/2], cable: sc-simplex }
  x-2: { ends: [feeder-a/5, feeder-b/7], cable: sc-simplex }
  x-3: { ends: [feeder-a/9, feeder-b/10], cable: sc-simplex }
  bng-a: { ends: [bng/sfp-sfpplus1, agg-a/sfp-sfpplus1], cable: lc-duplex }
  bng-b: { ends: [bng/sfp-sfpplus2, agg-b/sfp-sfpplus1], cable: lc-duplex }
  trunk-a: { ends: [agg-a/qsfpplus1-1, trunk/1], cable: mpo }
  trunk-b: { ends: [agg-b/qsfpplus1-1, trunk/2], cable: mpo }
  a-2: { ends: [agg-a/sfp-sfpplus2, odf-a/4], cable: lc-duplex }
  b-2: { ends: [agg-b/sfp-sfpplus2, odf-b/4], cable: lc-duplex }
  a-3: { ends: [agg-a/sfp-sfpplus3, odf-a/6], cable: lc-duplex }
  b-3: { ends: [agg-b/sfp-sfpplus3, odf-b/7], cable: lc-duplex }
  a-4: { ends: [agg-a/sfp-sfpplus4, odf-a/8], cable: lc-duplex }
  b-4: { ends: [agg-b/sfp-sfpplus4, odf-b/10], cable: lc-duplex }
  a-5: { ends: [agg-a/sfp-sfpplus5, odf-a/10], cable: lc-duplex }
  b-5: { ends: [agg-b/sfp-sfpplus5, odf-b/13], cable: lc-duplex }
  a-6: { ends: [agg-a/sfp-sfpplus6, odf-a/12], cable: lc-duplex }
  b-6: { ends: [agg-b/sfp-sfpplus6, odf-b/16], cable: lc-duplex }
  a-7: { ends: [agg-a/sfp-sfpplus7, odf-a/14], cable: lc-duplex }
  b-7: { ends: [agg-b/sfp-sfpplus7, odf-b/19], cable: lc-duplex }
  a-8: { ends: [agg-a/sfp-sfpplus8, odf-a/16], cable: lc-duplex }
  b-8: { ends: [agg-b/sfp-sfpplus8, odf-b/22], cable: lc-duplex }
  run-feeder-a-2: { ends: [feeder-a/r2, far-feeder-a/r2], cable: sc-simplex }
  run-feeder-a-5: { ends: [feeder-a/r5, far-feeder-a/r5], cable: sc-simplex }
  run-feeder-a-9: { ends: [feeder-a/r9, far-feeder-a/r9], cable: sc-simplex }
  run-feeder-b-2: { ends: [feeder-b/r2, far-feeder-b/r2], cable: sc-simplex }
  run-feeder-b-7: { ends: [feeder-b/r7, far-feeder-b/r7], cable: sc-simplex }
  run-feeder-b-10: { ends: [feeder-b/r10, far-feeder-b/r10], cable: sc-simplex }
  run-odf-a-1: { ends: [odf-a/r1, far-odf-a/r1], cable: lc-duplex }
  run-odf-a-4: { ends: [odf-a/r4, far-odf-a/r4], cable: lc-duplex }
  run-odf-a-6: { ends: [odf-a/r6, far-odf-a/r6], cable: lc-duplex }
  run-odf-a-8: { ends: [odf-a/r8, far-odf-a/r8], cable: lc-duplex }
  run-odf-a-10: { ends: [odf-a/r10, far-odf-a/r10], cable: lc-duplex }
  run-odf-a-12: { ends: [odf-a/r12, far-odf-a/r12], cable: lc-duplex }
  run-odf-a-14: { ends: [odf-a/r14, far-odf-a/r14], cable: lc-duplex }
  run-odf-a-16: { ends: [odf-a/r16, far-odf-a/r16], cable: lc-duplex }
  run-odf-b-1: { ends: [odf-b/r1, far-odf-b/r1], cable: lc-duplex }
  run-odf-b-4: { ends: [odf-b/r4, far-odf-b/r4], cable: lc-duplex }
  run-odf-b-7: { ends: [odf-b/r7, far-odf-b/r7], cable: lc-duplex }
  run-odf-b-10: { ends: [odf-b/r10, far-odf-b/r10], cable: lc-duplex }
  run-odf-b-13: { ends: [odf-b/r13, far-odf-b/r13], cable: lc-duplex }
  run-odf-b-16: { ends: [odf-b/r16, far-odf-b/r16], cable: lc-duplex }
  run-odf-b-19: { ends: [odf-b/r19, far-odf-b/r19], cable: lc-duplex }
  run-odf-b-22: { ends: [odf-b/r22, far-odf-b/r22], cable: lc-duplex }
  run-trunk-1: { ends: [trunk/r1, far-trunk/r1], cable: mpo }
  run-trunk-2: { ends: [trunk/r2, far-trunk/r2], cable: mpo }
scenes:
  front: { title: Fibre distribution, layout: [frame] }
  rear: { title: "Fibre distribution, rear", layout: [frame, { column: { gap: 24, items: [far-feeder-a, far-feeder-b, far-odf-a, far-odf-b, far-trunk] } }], view: rear }