=== README.md ===
# containers — as-built network documentation

5 element(s) across 1 site page(s), covering the whole inventory.

| Fact | Value |
|:---|:---|
| Inventory | `containers` |
| Scope | the whole inventory |
| Generated | 2026-01-31T09:00:00Z |
| netviz | 0.0.0-test |
| Inventory revision | not under version control |


<a id="contents"></a>

## Sites

One page per site. A site is a namespace; see --group-depth.

<a id="table-sites"></a>

**Site pages**

| SITE | ELEMENTS | CABLES | TUNNELS | SUBNETS |
|:---|---:|---:|---:|---:|
| [(inventory root)](sites/root.md) | 3 | 2 | 0 | 4 |


<a id="diagrams"></a>

## Diagrams

One drawing per layer, from the same inventory as the tables below.

**Physical topology** — 3 node(s), 2 link(s)

![Physical topology (l1)](diagrams/root-l1.svg)

**VLANs** — 3 node(s), 2 link(s)

![VLANs (l2)](diagrams/root-l2.svg)

**IP subnets** — 10 node(s), 9 link(s)

![IP subnets (l3)](diagrams/root-l3.svg)

**Routing: BGP sessions and OSPF adjacencies** — 1 node(s), 0 link(s)

![Routing: BGP sessions and OSPF adjacencies (routing)](diagrams/root-routing.svg)


<a id="findings"></a>

## Validation findings

<a id="table-findings"></a>

**Findings**

_The validator reports nothing about this inventory._

These are the findings 'netviz validate' reports for this inventory. A report is only as authoritative as the inventory behind it, so they are documented here rather than left out.


<a id="devices"></a>

## Every element

One row per element, linked to its page.

<a id="table-devices"></a>

**Elements**

| NAME | KIND | PORTS | ADDRESS | VLANS |
|:---|:---|---:|:---|:---|
| [hosts/srv-host-a](devices/hosts_srv-host-a.md) | server | 8 | 10.20.0.11/24 | 20 |
| [hosts/srv-host-b](devices/hosts_srv-host-b.md) | server | 3 | 10.20.0.12/24 | 20 |
| [network/sw-lab](devices/network_sw-lab.md) | switch | 2 | - | 20 |

PORTS counts declared interfaces; ADDRESS is the address that places the element on the network, of however many it has.


<a id="addressing"></a>

## Address plan

Every prefix an address sits in, and how full it is.

<a id="table-subnets"></a>

**Subnets**

| PREFIX | IP | VLANS | HOSTS | USED | FREE | UTIL | DEVICES |
|:---|---:|:---|---:|---:|---:|---:|---:|
| 10.20.0.0/24 | 4 | - | 254 | 2 | 252 | 0.8% | 2 |
| 10.30.0.0/24 | 4 | - | 254 | 3 | 251 | 1.2% | 1 |
| 10.31.0.0/30 | 4 | - | 2 | 2 | 0 | 100.0% | 1 |
| 10.32.0.0/30 | 4 | - | 2 | 2 | 0 | 100.0% | 1 |

HOSTS is the usable capacity of the prefix, USED the distinct addresses declared in it. Loopback and link-local prefixes are left out: they are scoped to one host or one link and say nothing about the plan.


<a id="vlans"></a>

## VLANs

Every VLAN, the prefixes carried in it and the elements that are in it.

<a id="table-vlan-summary"></a>

**VLANs**

| VLAN | NAME | ELEMENTS | PORTS |
|---:|:---|---:|---:|
| 20 | lab | 3 | 2 |

Membership is derived: a host on an untagged access port counts as a member even though it declares no VLAN itself.

<a id="table-vlan-matrix"></a>

**VLAN, subnet and element matrix**

| VLAN | NAME | ELEMENT | PORTS | MODE | SUBNETS |
|---:|:---|:---|:---|:---|:---|
| 20 | lab | [srv-host-a](devices/hosts_srv-host-a.md) | — | — | — |
| 20 | lab | [srv-host-b](devices/hosts_srv-host-b.md) | — | — | — |
| 20 | lab | [sw-lab](devices/network_sw-lab.md) | ether1, ether2 | access | — |

A row with no port is an element that reaches the VLAN over a link rather than by configuring it — a host behind an access port, or a hub.


---

Generated by [netviz](https://github.com/blechschmidt/netviz) 0.0.0-test with
`netviz report`. Every table on these pages comes from the same inventory as the
diagrams, so the two cannot disagree.

=== devices/hosts_srv-host-a.md ===
# srv-host-a

server hosts/srv-host-a

[← containers — as-built network documentation](../README.md) · [site](../sites/root.md)

<a id="identity"></a>

## Identity

| Field | Value |
|:---|:---|
| Name | srv-host-a |
| Qualified name | hosts/srv-host-a |
| Kind | server |
| Site | [(inventory root)](../sites/root.md) |
| Description | Container host. Two tenants in their own network namespaces, bridged onto one host bridge, plus a namespace nested inside 'blue' for its web tier. |
| Vendor | Supermicro |
| Model | SYS-5019C-MR |
| Serial | — |
| Declared in | hosts/srv-host-a.yaml#0:1 |

<a id="table-labels"></a>

**Labels**

_This element carries no label._

<a id="table-annotations"></a>

**Annotations**

_This element carries no annotation._


<a id="placement"></a>

## Placement and power

| Field | Value |
|:---|:---|
| Site | — |
| Room | — |
| Rack | — |
| Position | — |
| Height | 1U |

<a id="table-feeds"></a>

**Power feeds**

_No power feed is declared for this element._

A dual-corded element has one row per cord.


<a id="interfaces"></a>

## Interfaces

<a id="table-interfaces"></a>

**Interfaces**

| NAME | TYPE | UP | MAC | MTU | ADDRESSES | VLANS | NETNS | VRF | AGGREGATION | DESCRIPTION |
|:---|:---|:---|:---|---:|:---|:---|:---|:---|:---|:---|
| eno1 | ethernet | yes | — | 1500 | 10.20.0.11/24 | — | (initial) | — | — | Uplink to sw-lab. |
| br-tenants | bridge | yes | — | — | 10.30.0.1/24 | — | (initial) | — | members: veth-blue-h, veth-green-h | Host side of every tenant veth pair; the tenants' gateway. |
| veth-blue-h | ethernet | yes | — | — | — | — | (initial) | — | member of br-tenants | Host end of the blue pair. |
| veth-blue | ethernet | yes | — | — | 10.30.0.11/24 | — | [blue](#netns) | — | — | Container end of the blue pair. |
| veth-web-h | ethernet | yes | — | — | 10.31.0.1/30 | — | [blue](#netns) | — | — | Blue's end of the pair into its web tier. |
| veth-web | ethernet | yes | — | — | 10.31.0.2/30 | — | [blue-web](#netns) | — | — | Web tier end of the pair. |
| veth-green-h | ethernet | yes | — | — | — | — | (initial) | — | member of br-tenants | Host end of the green pair. |
| veth-green | ethernet | yes | — | — | 10.30.0.12/24 | — | [green](#netns) | — | — | Container end of the green pair. |

Addresses are as configured, prefix length included. VLANS reads 'mode: ids', with the native VLAN named where a trunk has one. NETNS is the network stack the interface is in; it is a whole second stack rather than a second routing table, so it composes with VRF.


<a id="netns"></a>

## Network namespaces

The network stacks this machine runs, and the veth pairs that join them.

<a id="table-namespaces"></a>

**Network namespaces**

| NAMESPACE | PARENT | INTERFACES | ADDRESSES | DESCRIPTION |
|:---|:---|:---|:---|:---|
| (initial) | — | eno1, br-tenants, veth-blue-h, veth-green-h | 10.20.0.11/24, 10.30.0.1/24 | The machine itself; the stack every other section on this page is about. |
| └─ blue | (initial) | veth-blue, veth-web-h | 10.30.0.11/24, 10.31.0.1/30 | Tenant blue. |
| └─ └─ blue-web | blue | veth-web | 10.31.0.2/30 | The web tier of tenant blue, nested inside its namespace. |
| └─ green | (initial) | veth-green | 10.30.0.12/24 | Tenant green. |

One row per stack, the initial one first and every declared namespace indented under the namespace it was created from. A namespace is a whole second stack: its own interface names, its own addresses, its own routes.

<a id="table-veth"></a>

**veth pairs**

| INTERFACE | NAMESPACE | PEER | PEER NAMESPACE | ADDRESSES | DESCRIPTION |
|:---|:---|:---|:---|:---|:---|
| veth-blue-h | (initial) | veth-blue | blue | — | Host end of the blue pair. |
| veth-blue | blue | veth-blue-h | (initial) | 10.30.0.11/24 | Container end of the blue pair. |
| veth-web-h | blue | veth-web | blue-web | 10.31.0.1/30 | Blue's end of the pair into its web tier. |
| veth-web | blue-web | veth-web-h | blue | 10.31.0.2/30 | Web tier end of the pair. |
| veth-green-h | (initial) | veth-green | green | — | Host end of the green pair. |
| veth-green | green | veth-green-h | (initial) | 10.30.0.12/24 | Container end of the green pair. |

One row per end, so a pair is named from both sides; 'NV-N023' is what makes the two rows agree. A veth end is an ordinary ethernet interface whose far side is another interface of this machine rather than a socket, which is why no cable terminates on one.


<a id="links"></a>

## Links

What is plugged into this element, and what runs over it.

<a id="table-cables"></a>

**Cables**

| PORT | CABLE | LABEL | MEDIUM | SPEED | LENGTH | FAR END | FAR PORT | VIA |
|:---|:---|:---|:---|---:|---:|:---|:---|:---|
| eno1 | sw-lab-to-srv-host-a | — | copper | 1Gbps | — | [sw-lab](network_sw-lab.md) | ether1 | — |

One row per cable that physically terminates here. VIA names the panels the run this cable is a segment of crosses, and the two ends of that run; the site page's cable schedule has every segment of it. An attachment row is an adapter's upstream rather than a cable somebody pulled.

<a id="table-tunnels"></a>

**Tunnels**

_No tunnel terminates on this element._


<a id="diagrams"></a>

## Diagrams

The drawings this element is in.

- [Physical topology (l1)](../sites/root.md#diagrams)
- [VLANs (l2)](../sites/root.md#diagrams)
- [IP subnets (l3)](../sites/root.md#diagrams)


---

netviz 0.0.0-test, generated 2026-01-31T09:00:00Z.

=== devices/hosts_srv-host-b.md ===
# srv-host-b

server hosts/srv-host-b

[← containers — as-built network documentation](../README.md) · [site](../sites/root.md)

<a id="identity"></a>

## Identity

| Field | Value |
|:---|:---|
| Name | srv-host-b |
| Qualified name | hosts/srv-host-b |
| Kind | server |
| Site | [(inventory root)](../sites/root.md) |
| Description | The second host. One sandbox namespace, joined by a veth pair that is routed rather than bridged - the other of the two shapes a pair comes in. |
| Vendor | Supermicro |
| Model | SYS-5019C-MR |
| Serial | — |
| Declared in | hosts/srv-host-b.yaml#0:1 |

<a id="table-labels"></a>

**Labels**

_This element carries no label._

<a id="table-annotations"></a>

**Annotations**

_This element carries no annotation._


<a id="placement"></a>

## Placement and power

| Field | Value |
|:---|:---|
| Site | — |
| Room | — |
| Rack | — |
| Position | — |
| Height | 1U |

<a id="table-feeds"></a>

**Power feeds**

_No power feed is declared for this element._

A dual-corded element has one row per cord.


<a id="interfaces"></a>

## Interfaces

<a id="table-interfaces"></a>

**Interfaces**

| NAME | TYPE | UP | MAC | MTU | ADDRESSES | VLANS | NETNS | VRF | AGGREGATION | DESCRIPTION |
|:---|:---|:---|:---|---:|:---|:---|:---|:---|:---|:---|
| eno1 | ethernet | yes | — | 1500 | 10.20.0.12/24 | — | (initial) | — | — | Uplink to sw-lab. |
| veth-sbx-h | ethernet | yes | — | — | 10.32.0.1/30 | — | (initial) | — | — | Host end of the sandbox pair, addressed rather than bridged. |
| veth-sbx | ethernet | yes | — | — | 10.32.0.2/30 | — | [sandbox](#netns) | — | — | Sandbox end of the pair. |

Addresses are as configured, prefix length included. VLANS reads 'mode: ids', with the native VLAN named where a trunk has one. NETNS is the network stack the interface is in; it is a whole second stack rather than a second routing table, so it composes with VRF.


<a id="netns"></a>

## Network namespaces

The network stacks this machine runs, and the veth pairs that join them.

<a id="table-namespaces"></a>

**Network namespaces**

| NAMESPACE | PARENT | INTERFACES | ADDRESSES | DESCRIPTION |
|:---|:---|:---|:---|:---|
| (initial) | — | eno1, veth-sbx-h | 10.20.0.12/24, 10.32.0.1/30 | The machine itself; the stack every other section on this page is about. |
| └─ sandbox | (initial) | veth-sbx | 10.32.0.2/30 | Throwaway namespace for testing; routed off the host. |

One row per stack, the initial one first and every declared namespace indented under the namespace it was created from. A namespace is a whole second stack: its own interface names, its own addresses, its own routes.

<a id="table-veth"></a>

**veth pairs**

| INTERFACE | NAMESPACE | PEER | PEER NAMESPACE | ADDRESSES | DESCRIPTION |
|:---|:---|:---|:---|:---|:---|
| veth-sbx-h | (initial) | veth-sbx | sandbox | 10.32.0.1/30 | Host end of the sandbox pair, addressed rather than bridged. |
| veth-sbx | sandbox | veth-sbx-h | (initial) | 10.32.0.2/30 | Sandbox end of the pair. |

One row per end, so a pair is named from both sides; 'NV-N023' is what makes the two rows agree. A veth end is an ordinary ethernet interface whose far side is another interface of this machine rather than a socket, which is why no cable terminates on one.

<a id="table-netns-routes"></a>

**Routes inside a namespace**

| NAMESPACE | ROUTE |
|:---|:---|
| [sandbox](#netns) | 10.30.0.0/24 via 10.32.0.1 dev veth-sbx table sandbox-egress |

A route is installed in the stack of the interface it leaves by, so 'dev' is what places it here. The routing section holds every route this element declares, the initial namespace's included; these are the ones a declared namespace answers with, and two stacks may hold one prefix and answer differently.

<a id="table-netns-policy"></a>

**Policy rules inside a namespace**

| NAMESPACE | RULE |
|:---|:---|
| [sandbox](#netns) | 100: from 10.32.0.2/32 oif veth-sbx lookup sandbox-egress |

Placed by 'iif' or 'oif', for the reason the route table gives. Each stack walks its own database from the lowest priority, so a priority here does not compete with the same priority in another stack.

- [Routing](#routing)

The routing section below is the whole control plane of this element — its VRFs, its tables, its routes and its adjacencies — and is not restated per namespace here.


<a id="links"></a>

## Links

What is plugged into this element, and what runs over it.

<a id="table-cables"></a>

**Cables**

| PORT | CABLE | LABEL | MEDIUM | SPEED | LENGTH | FAR END | FAR PORT | VIA |
|:---|:---|:---|:---|---:|---:|:---|:---|:---|
| eno1 | sw-lab-to-srv-host-b | — | copper | 1Gbps | — | [sw-lab](network_sw-lab.md) | ether2 | — |

One row per cable that physically terminates here. VIA names the panels the run this cable is a segment of crosses, and the two ends of that run; the site page's cable schedule has every segment of it. An attachment row is an adapter's upstream rather than a cable somebody pulled.

<a id="table-tunnels"></a>

**Tunnels**

_No tunnel terminates on this element._


<a id="routing"></a>

## Routing

The control plane this element takes part in.

| Field | Value |
|:---|:---|
| AS number | — |
| Router id | — |
| OSPF area | — |
| OSPF interfaces | — |

<a id="table-vrfs"></a>

**VRFs**

_This element declares no VRF._

An unbound VRF holds no address: it is declared but nothing is in it.

<a id="table-routes"></a>

**Static routes**

| ROUTE |
|:---|
| 10.30.0.0/24 via 10.20.0.11 dev eno1 |
| 10.30.0.0/24 via 10.32.0.1 dev veth-sbx table sandbox-egress |

<a id="table-adjacencies"></a>

**Adjacencies**

_This element has no adjacency._

A BGP session names its peer address; an OSPF adjacency discovers it.

- [Network namespaces](#netns)

This element runs more than one network stack, so these are the routes and the instances of all of them together. Which stack each one is in is in the namespace section above.


<a id="diagrams"></a>

## Diagrams

The drawings this element is in.

- [Physical topology (l1)](../sites/root.md#diagrams)
- [VLANs (l2)](../sites/root.md#diagrams)
- [IP subnets (l3)](../sites/root.md#diagrams)
- [Routing: BGP sessions and OSPF adjacencies (routing)](../sites/root.md#diagrams)


---

netviz 0.0.0-test, generated 2026-01-31T09:00:00Z.

=== devices/network_sw-lab.md ===
# sw-lab

switch network/sw-lab

[← containers — as-built network documentation](../README.md) · [site](../sites/root.md)

<a id="identity"></a>

## Identity

| Field | Value |
|:---|:---|
| Name | sw-lab |
| Qualified name | network/sw-lab |
| Kind | switch |
| Site | [(inventory root)](../sites/root.md) |
| Description | Lab access switch. Two ports, both taken by the container hosts. |
| Vendor | MikroTik |
| Model | CRS310-1G-5S-4S+ |
| Serial | — |
| Declared in | network/sw-lab.yaml#0:1 |

<a id="table-labels"></a>

**Labels**

_This element carries no label._

<a id="table-annotations"></a>

**Annotations**

_This element carries no annotation._


<a id="placement"></a>

## Placement and power

| Field | Value |
|:---|:---|
| Site | — |
| Room | — |
| Rack | — |
| Position | — |
| Height | 1U |

<a id="table-feeds"></a>

**Power feeds**

_No power feed is declared for this element._

A dual-corded element has one row per cord.


<a id="interfaces"></a>

## Interfaces

<a id="table-interfaces"></a>

**Interfaces**

| NAME | TYPE | UP | MAC | MTU | ADDRESSES | VLANS | VRF | AGGREGATION | DESCRIPTION |
|:---|:---|:---|:---|---:|:---|:---|:---|:---|:---|
| ether1 | ethernet | yes | — | — | — | access 20 | — | — | srv-host-a |
| ether2 | ethernet | yes | — | — | — | access 20 | — | — | srv-host-b |

Addresses are as configured, prefix length included. VLANS reads 'mode: ids', with the native VLAN named where a trunk has one.


<a id="links"></a>

## Links

What is plugged into this element, and what runs over it.

<a id="table-cables"></a>

**Cables**

| PORT | CABLE | LABEL | MEDIUM | SPEED | LENGTH | FAR END | FAR PORT | VIA |
|:---|:---|:---|:---|---:|---:|:---|:---|:---|
| ether1 | sw-lab-to-srv-host-a | — | copper | 1Gbps | — | [srv-host-a](hosts_srv-host-a.md) | eno1 | — |
| ether2 | sw-lab-to-srv-host-b | — | copper | 1Gbps | — | [srv-host-b](hosts_srv-host-b.md) | eno1 | — |

One row per cable that physically terminates here. VIA names the panels the run this cable is a segment of crosses, and the two ends of that run; the site page's cable schedule has every segment of it. An attachment row is an adapter's upstream rather than a cable somebody pulled.

<a id="table-tunnels"></a>

**Tunnels**

_No tunnel terminates on this element._


<a id="diagrams"></a>

## Diagrams

The drawings this element is in.

- [Physical topology (l1)](../sites/root.md#diagrams)
- [VLANs (l2)](../sites/root.md#diagrams)


---

netviz 0.0.0-test, generated 2026-01-31T09:00:00Z.

=== diagrams/root-l1.svg (drawing, not compared) ===

=== diagrams/root-l2.svg (drawing, not compared) ===

=== diagrams/root-l3.svg (drawing, not compared) ===

=== diagrams/root-routing.svg (drawing, not compared) ===

=== sites/root.md ===
# (inventory root)

As-built record of the inventory root.

[← containers — as-built network documentation](../README.md)


<a id="summary"></a>

## Summary

| Field | Value |
|:---|:---|
| Namespace | (inventory root) |
| Elements | 3 |
| Cables | 2 |
| Tunnels | 0 |
| Subnets | 4 |

- [Report overview](../README.md)


<a id="diagrams"></a>

## Diagrams

One drawing per layer, from the same inventory as the tables below.

**Physical topology** — 3 node(s), 2 link(s)

![Physical topology (l1)](../diagrams/root-l1.svg)

**VLANs** — 3 node(s), 2 link(s)

![VLANs (l2)](../diagrams/root-l2.svg)

**IP subnets** — 10 node(s), 9 link(s)

![IP subnets (l3)](../diagrams/root-l3.svg)

**Routing: BGP sessions and OSPF adjacencies** — 1 node(s), 0 link(s)

![Routing: BGP sessions and OSPF adjacencies (routing)](../diagrams/root-routing.svg)


<a id="devices"></a>

## Elements

Everything documented on this page, with a page each.

<a id="table-devices"></a>

**Elements**

| NAME | KIND | PORTS | ADDRESS | VLANS |
|:---|:---|---:|:---|:---|
| [hosts/srv-host-a](../devices/hosts_srv-host-a.md) | server | 8 | 10.20.0.11/24 | 20 |
| [hosts/srv-host-b](../devices/hosts_srv-host-b.md) | server | 3 | 10.20.0.12/24 | 20 |
| [network/sw-lab](../devices/network_sw-lab.md) | switch | 2 | - | 20 |


<a id="addressing"></a>

## Address plan

Every prefix an address sits in, and how full it is.

<a id="table-subnets"></a>

**Subnets**

| PREFIX | IP | VLANS | HOSTS | USED | FREE | UTIL | DEVICES |
|:---|---:|:---|---:|---:|---:|---:|---:|
| 10.20.0.0/24 | 4 | - | 254 | 2 | 252 | 0.8% | 2 |
| 10.30.0.0/24 | 4 | - | 254 | 3 | 251 | 1.2% | 1 |
| 10.31.0.0/30 | 4 | - | 2 | 2 | 0 | 100.0% | 1 |
| 10.32.0.0/30 | 4 | - | 2 | 2 | 0 | 100.0% | 1 |

HOSTS is the usable capacity of the prefix, USED the distinct addresses declared in it. Loopback and link-local prefixes are left out: they are scoped to one host or one link and say nothing about the plan.


<a id="vlans"></a>

## VLANs

Every VLAN, the prefixes carried in it and the elements that are in it.

<a id="table-vlan-summary"></a>

**VLANs**

| VLAN | NAME | ELEMENTS | PORTS |
|---:|:---|---:|---:|
| 20 | lab | 3 | 2 |

Membership is derived: a host on an untagged access port counts as a member even though it declares no VLAN itself.

<a id="table-vlan-matrix"></a>

**VLAN, subnet and element matrix**

| VLAN | NAME | ELEMENT | PORTS | MODE | SUBNETS |
|---:|:---|:---|:---|:---|:---|
| 20 | lab | [srv-host-a](../devices/hosts_srv-host-a.md) | — | — | — |
| 20 | lab | [srv-host-b](../devices/hosts_srv-host-b.md) | — | — | — |
| 20 | lab | [sw-lab](../devices/network_sw-lab.md) | ether1, ether2 | access | — |

A row with no port is an element that reaches the VLAN over a link rather than by configuring it — a host behind an access port, or a hub.


<a id="cabling"></a>

## Cabling

What an installer would carry into the room.

<a id="table-cable-schedule"></a>

**Cable schedule**

| RUN | SEGMENT | CABLE | LABEL | MEDIUM | CATEGORY | SPEED | LENGTH | A END | A PORT | A POSITION | B END | B PORT | B POSITION |
|:---|:---|:---|:---|:---|:---|---:|---:|:---|:---|:---|:---|:---|:---|
| — | — | sw-lab-to-srv-host-a | — | copper | cat6 | 1Gbps | — | [srv-host-a](../devices/hosts_srv-host-a.md) | eno1 | — | [sw-lab](../devices/network_sw-lab.md) | ether1 | — |
| — | — | sw-lab-to-srv-host-b | — | copper | cat6 | 1Gbps | — | [srv-host-b](../devices/hosts_srv-host-b.md) | eno1 | — | [sw-lab](../devices/network_sw-lab.md) | ether2 | — |

One row per cable document, which is one run somebody pulls: a link through a patch panel is several. RUN names the end-to-end link and SEGMENT which leg of it this is. 'netviz export cable-list' writes the same rows as CSV, with the full location of both ends.


<a id="wireless"></a>

## Wireless

Every BSS: which radio beacons which SSID, on what channel, into which VLAN.

<a id="table-bss"></a>

**BSS and SSID plan**

_No radio is declared here._

One row per SSID per radio: a dual-band AP serving three networks has six.


<a id="external"></a>

## Links leaving this page

Where this part of the network is joined to the rest of it.

<a id="table-external-links"></a>

**External links**

_Nothing on this page is joined to an element outside it._

These links are deliberately absent from the diagrams and the cable schedule above, which cover this page's elements only. A far end with no page of its own is outside what this report documents at all.


<a id="findings"></a>

## Validation findings

<a id="table-findings"></a>

**Findings**

_The validator reports nothing about this inventory._

Findings anchored to an element of this site.


---

netviz 0.0.0-test, generated 2026-01-31T09:00:00Z.
