diff --git a/docs/hardware/index.md b/docs/hardware/index.md
index 704f2eb..b11b679 100644
--- a/docs/hardware/index.md
+++ b/docs/hardware/index.md
@@ -2,6 +2,12 @@
_Auto-generated from `docs/hardware/*.md` — do not edit by hand. Run `make docs-index` after changing a file._
+## Patch panels
+
+| Hostname | Location | CPU | RAM | Storage | NIC | Status |
+|---|---|---|---|---|---|---|
+| [pp01](pp01.md) | | | | | | in-use |
+
## PDUs
| Hostname | Location | CPU | RAM | Storage | NIC | Status |
@@ -19,3 +25,9 @@ _Auto-generated from `docs/hardware/*.md` — do not edit by hand. Run `make doc
| [mf02](mf02.md) | The pile | Intel Core i5-8500 @ 3.00GHz · 6c | 16 GB | 40 GB NVME | 1 GbE | staging |
| [mf03](mf03.md) | The pile | Intel Core i5-3570K @ 3.40GHz · 4c | 8 GB | 500 GB HDD | 1 GbE | staging |
| [mf04](mf04.md) | The pile | Intel Core i5-3570K @ 3.40GHz · 4c | 8 GB | 500 GB HDD | 1 GbE | staging |
+
+## Switches
+
+| Hostname | Location | CPU | RAM | Storage | NIC | Status |
+|---|---|---|---|---|---|---|
+| [sw01](sw01.md) | | | | | | in-use |
diff --git a/docs/hardware/mf00.md b/docs/hardware/mf00.md
index ddf2e2f..19647b9 100644
--- a/docs/hardware/mf00.md
+++ b/docs/hardware/mf00.md
@@ -16,6 +16,8 @@ rack_face: front
power:
- { pdu: pdu01, outlet: 1 }
- { pdu: pdu02, outlet: 1 }
+links:
+ - { local: eth0, peer: sw01, peer_port: 1, speed_gbps: 1 }
---
## Notes
diff --git a/docs/hardware/mf01.md b/docs/hardware/mf01.md
index 37a2978..2328008 100644
--- a/docs/hardware/mf01.md
+++ b/docs/hardware/mf01.md
@@ -17,6 +17,8 @@ u_height: 1
rack_face: front
power:
- { pdu: pdu01, outlet: 2 }
+links:
+ - { local: eth0, peer: pp01, peer_port: 1, speed_gbps: 1 }
---
## Notes
diff --git a/docs/hardware/mf02.md b/docs/hardware/mf02.md
index 7897747..aa5bc0a 100644
--- a/docs/hardware/mf02.md
+++ b/docs/hardware/mf02.md
@@ -17,6 +17,8 @@ u_height: 1
rack_face: front
power:
- { pdu: pdu01, outlet: 3 }
+links:
+ - { local: eth0, peer: pp01, peer_port: 2, speed_gbps: 1 }
---
## Notes
diff --git a/docs/hardware/mf03.md b/docs/hardware/mf03.md
index df7b551..d99d2aa 100644
--- a/docs/hardware/mf03.md
+++ b/docs/hardware/mf03.md
@@ -16,6 +16,8 @@ u_height: 2
rack_face: front
power:
- { pdu: pdu01, outlet: 4 }
+links:
+ - { local: eth0, peer: pp01, peer_port: 3, speed_gbps: 1 }
---
## Notes
diff --git a/docs/hardware/mf04.md b/docs/hardware/mf04.md
index 130545a..3fce863 100644
--- a/docs/hardware/mf04.md
+++ b/docs/hardware/mf04.md
@@ -16,6 +16,8 @@ u_height: 2
rack_face: rear
power:
- { pdu: pdu01, outlet: 5 }
+links:
+ - { local: eth0, peer: pp01, peer_port: 4, speed_gbps: 1 }
---
## Notes
diff --git a/docs/hardware/pp01.md b/docs/hardware/pp01.md
new file mode 100644
index 0000000..fe697eb
--- /dev/null
+++ b/docs/hardware/pp01.md
@@ -0,0 +1,16 @@
+---
+hostname: pp01
+kind: patch-panel
+status: in-use
+rack: rack01
+rack_u: 24
+u_height: 1
+rack_face: front
+ports: 24
+links:
+ - { local: uplink, peer: sw01, peer_port: 24, speed_gbps: 1 }
+---
+
+## Notes
+
+- Provisional placeholder patch panel. Devices patch in here; rear uplink to sw01.
diff --git a/docs/hardware/sw01.md b/docs/hardware/sw01.md
new file mode 100644
index 0000000..8c54af7
--- /dev/null
+++ b/docs/hardware/sw01.md
@@ -0,0 +1,14 @@
+---
+hostname: sw01
+kind: switch
+status: in-use
+rack: rack01
+rack_u: 10
+u_height: 1
+rack_face: front
+ports: 24
+---
+
+## Notes
+
+- Provisional placeholder switch. Port assignments are not yet real.
diff --git a/docs/infrastructure/racks/rack01-elevation.svg b/docs/infrastructure/racks/rack01-elevation.svg
index 1949787..8df4916 100644
--- a/docs/infrastructure/racks/rack01-elevation.svg
+++ b/docs/infrastructure/racks/rack01-elevation.svg
@@ -157,6 +157,10 @@
mf03 (U5–U6)
mf04 (U5–U6)
+
+sw01 (U10)
+
+pp01 (U24)
pdu01
diff --git a/docs/infrastructure/racks/rack01.md b/docs/infrastructure/racks/rack01.md
index d15ead8..99287c0 100644
--- a/docs/infrastructure/racks/rack01.md
+++ b/docs/infrastructure/racks/rack01.md
@@ -25,6 +25,25 @@ flowchart LR
pdu02 -->|outlet 1| mf00
```
+## Network
+
+```mermaid
+flowchart LR
+ mf00["mf00"]
+ mf01["mf01"]
+ mf02["mf02"]
+ mf03["mf03"]
+ mf04["mf04"]
+ pp01["pp01
patch-panel"]
+ sw01["sw01
switch"]
+ mf00 -->|eth0 → p1 · 1G| sw01
+ mf01 -->|eth0 → p1 · 1G| pp01
+ mf02 -->|eth0 → p2 · 1G| pp01
+ mf03 -->|eth0 → p3 · 1G| pp01
+ mf04 -->|eth0 → p4 · 1G| pp01
+ pp01 -->|uplink → p24 · 1G| sw01
+```
+
## Occupancy
| U | Device | Kind | Face | Status |
@@ -34,5 +53,7 @@ flowchart LR
| U3 | [mf02](../../hardware/mf02.md) | server | front | staging |
| U5–U6 | [mf03](../../hardware/mf03.md) | server | front | staging |
| U5–U6 | [mf04](../../hardware/mf04.md) | server | rear | staging |
+| U10 | [sw01](../../hardware/sw01.md) | switch | front | in-use |
+| U24 | [pp01](../../hardware/pp01.md) | patch-panel | front | in-use |
| 0U | [pdu01](../../hardware/pdu01.md) | pdu | left | in-use |
| 0U | [pdu02](../../hardware/pdu02.md) | pdu | right | in-use |