portspec

Backbone rack

42U cabinet. Two border routers, two 100G spines, six 25G leaves, out-of-band switch, fibre panels, two UPS.

Backbone rack, 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:
  cabinet:
    type: rack-cabinet
    door: none
    units: 42
    panels:
      brush-40: { u: 40, type: brush }
      brush-37: { u: 37, type: brush }
      brush-34: { u: 34, type: brush }
      brush-26: { u: 26, type: brush }
      vent-22:  { u: 22, type: vent }
      vent-17:  { u: 17, type: vent }
      blank-13: { u: 13, type: blank, units: 4 }
      blank-9:  { u: 9, type: blank, units: 4 }
      blank-7:  { u: 7, type: blank, units: 2 }
devices:
  odf-a: { model: fibre-panel-lc-24, in: cabinet, u: 42 }
  odf-b: { model: fibre-panel-lc-24, in: cabinet, u: 41 }
  border-a: { model: mikrotik/ccr2216-1g-12xs-2xq, name: Border A, in: cabinet, u: 39, ports: { sfp28-1: { module: sfp28-lc-25g }, sfp28-2: { module: sfp28-lc-25g }, qsfp28-1-1: { module: qsfp28-lc-100g }, qsfp28-2-1: { module: qsfp28-lc-100g } } }
  border-b: { model: mikrotik/ccr2216-1g-12xs-2xq, name: Border B, in: cabinet, u: 38, ports: { sfp28-1: { module: sfp28-lc-25g }, sfp28-2: { module: sfp28-lc-25g }, qsfp28-1-1: { module: qsfp28-lc-100g }, qsfp28-2-1: { module: qsfp28-lc-100g } } }
  spine-a: { model: mikrotik/crs520-4xs-16xq-rm, name: Spine A, in: cabinet, u: 36, ports: { qsfp28-1-1: { module: qsfp28-lc-100g }, qsfp28-2-1: { module: qsfp28-lc-100g }, qsfp28-3-1: { module: qsfp28-lc-100g }, qsfp28-4-1: { module: qsfp28-lc-100g }, qsfp28-5-1: { module: qsfp28-lc-100g }, qsfp28-6-1: { module: qsfp28-lc-100g }, qsfp28-7-1: { module: qsfp28-lc-100g }, qsfp28-8-1: { module: qsfp28-lc-100g } } }
  spine-b: { model: mikrotik/crs520-4xs-16xq-rm, name: Spine B, in: cabinet, u: 35, ports: { qsfp28-1-1: { module: qsfp28-lc-100g }, qsfp28-2-1: { module: qsfp28-lc-100g }, qsfp28-3-1: { module: qsfp28-lc-100g }, qsfp28-4-1: { module: qsfp28-lc-100g }, qsfp28-5-1: { module: qsfp28-lc-100g }, qsfp28-6-1: { module: qsfp28-lc-100g }, qsfp28-7-1: { module: qsfp28-lc-100g }, qsfp28-8-1: { module: qsfp28-lc-100g } } }
  leaf-1: { model: mikrotik/crs518-16xs-2xq-rm, name: Leaf 1, in: cabinet, u: 33, ports: { qsfp28-1-1: { module: qsfp28-lc-100g }, qsfp28-2-1: { module: qsfp28-lc-100g } } }
  leaf-2: { model: mikrotik/crs518-16xs-2xq-rm, name: Leaf 2, in: cabinet, u: 32, ports: { qsfp28-1-1: { module: qsfp28-lc-100g }, qsfp28-2-1: { module: qsfp28-lc-100g } } }
  leaf-3: { model: mikrotik/crs518-16xs-2xq-rm, name: Leaf 3, in: cabinet, u: 31, ports: { qsfp28-1-1: { module: qsfp28-lc-100g }, qsfp28-2-1: { module: qsfp28-lc-100g } } }
  leaf-4: { model: mikrotik/crs518-16xs-2xq-rm, name: Leaf 4, in: cabinet, u: 30, ports: { qsfp28-1-1: { module: qsfp28-lc-100g }, qsfp28-2-1: { module: qsfp28-lc-100g } } }
  leaf-5: { model: mikrotik/crs518-16xs-2xq-rm, name: Leaf 5, in: cabinet, u: 29, ports: { qsfp28-1-1: { module: qsfp28-lc-100g }, qsfp28-2-1: { module: qsfp28-lc-100g } } }
  leaf-6: { model: mikrotik/crs518-16xs-2xq-rm, name: Leaf 6, in: cabinet, u: 28, ports: { qsfp28-1-1: { module: qsfp28-lc-100g }, qsfp28-2-1: { module: qsfp28-lc-100g } } }
  oob: { model: mikrotik/crs354-48g-4s+2q+rm, name: Out-of-band, in: cabinet, u: 25 }
  panel: { model: patch-panel-48, in: cabinet, u: 23 }
  rr-a: { model: server-1u, name: Route reflector A, in: cabinet, u: 21 }
  rr-b: { model: server-1u, name: Route reflector B, in: cabinet, u: 20 }
  flow: { model: server-2u, name: Flow collector, in: cabinet, u: 18 }
  pdu-a: { model: pdu-8, in: cabinet, u: 6 }
  pdu-b: { model: pdu-8, in: cabinet, u: 5 }
  ups-a: { model: ups-2u, in: cabinet, u: 3 }
  ups-b: { model: ups-2u, in: cabinet, u: 1 }
  far-odf-a: { model: fibre-panel-lc-24, name: "Meet-me room A" }
  far-odf-b: { model: fibre-panel-lc-24, name: "Meet-me room B" }
  far-panel: { model: patch-panel-48, name: "Row B, out-of-band" }
links:
  transit-a: { ends: [border-a/sfp28-1, odf-a/1], cable: lc-duplex }
  transit-b: { ends: [border-a/sfp28-2, odf-a/2], cable: lc-duplex }
  peering-a: { ends: [border-b/sfp28-1, odf-b/1], cable: lc-duplex }
  peering-b: { ends: [border-b/sfp28-2, odf-b/2], cable: lc-duplex }
  ba-sa: { ends: [border-a/qsfp28-1-1, spine-a/qsfp28-1-1], cable: lc-duplex }
  ba-sb: { ends: [border-a/qsfp28-2-1, spine-b/qsfp28-1-1], cable: lc-duplex }
  bb-sa: { ends: [border-b/qsfp28-1-1, spine-a/qsfp28-2-1], cable: lc-duplex }
  bb-sb: { ends: [border-b/qsfp28-2-1, spine-b/qsfp28-2-1], cable: lc-duplex }
  l1-sa: { ends: [leaf-1/qsfp28-1-1, spine-a/qsfp28-3-1], cable: lc-duplex }
  l1-sb: { ends: [leaf-1/qsfp28-2-1, spine-b/qsfp28-3-1], cable: lc-duplex }
  l2-sa: { ends: [leaf-2/qsfp28-1-1, spine-a/qsfp28-4-1], cable: lc-duplex }
  l2-sb: { ends: [leaf-2/qsfp28-2-1, spine-b/qsfp28-4-1], cable: lc-duplex }
  l3-sa: { ends: [leaf-3/qsfp28-1-1, spine-a/qsfp28-5-1], cable: lc-duplex }
  l3-sb: { ends: [leaf-3/qsfp28-2-1, spine-b/qsfp28-5-1], cable: lc-duplex }
  l4-sa: { ends: [leaf-4/qsfp28-1-1, spine-a/qsfp28-6-1], cable: lc-duplex }
  l4-sb: { ends: [leaf-4/qsfp28-2-1, spine-b/qsfp28-6-1], cable: lc-duplex }
  l5-sa: { ends: [leaf-5/qsfp28-1-1, spine-a/qsfp28-7-1], cable: lc-duplex }
  l5-sb: { ends: [leaf-5/qsfp28-2-1, spine-b/qsfp28-7-1], cable: lc-duplex }
  l6-sa: { ends: [leaf-6/qsfp28-1-1, spine-a/qsfp28-8-1], cable: lc-duplex }
  l6-sb: { ends: [leaf-6/qsfp28-2-1, spine-b/qsfp28-8-1], cable: lc-duplex }
  oob-1: { ends: [border-a/ether1, oob/ether1], cable: cat6-yellow }
  oob-2: { ends: [border-b/ether1, oob/ether2], cable: cat6-yellow }
  oob-3: { ends: [spine-a/ether1, oob/ether3], cable: cat6-yellow }
  oob-4: { ends: [spine-b/ether1, oob/ether4], cable: cat6-yellow }
  oob-p9: { ends: [oob/ether9, panel/9], cable: cat6-blue }
  oob-p14: { ends: [oob/ether14, panel/14], cable: cat6-blue }
  oob-p22: { ends: [oob/ether22, panel/22], cable: cat6-blue }
  oob-p31: { ends: [oob/ether31, panel/31], cable: cat6-blue }
  run-odf-a-1: { ends: [odf-a/r1, far-odf-a/r1], cable: lc-duplex }
  run-odf-a-2: { ends: [odf-a/r2, far-odf-a/r2], cable: lc-duplex }
  run-odf-b-1: { ends: [odf-b/r1, far-odf-b/r1], cable: lc-duplex }
  run-odf-b-2: { ends: [odf-b/r2, far-odf-b/r2], cable: lc-duplex }
  run-panel-9: { ends: [panel/r9, far-panel/r9], cable: cat6-blue }
  run-panel-14: { ends: [panel/r14, far-panel/r14], cable: cat6-blue }
  run-panel-22: { ends: [panel/r22, far-panel/r22], cable: cat6-blue }
  run-panel-31: { ends: [panel/r31, far-panel/r31], cable: cat6-blue }
scenes:
  front: { title: Backbone rack, layout: [cabinet] }
  rear: { title: "Backbone rack, rear", layout: [cabinet, { column: { gap: 24, items: [far-odf-a, far-odf-b, far-panel] } }], view: rear }