The networks in an AI factory, and what the RA refuses to specify
S1·E4The chapter that is not missing · Customer design review, Thursday, ninety minutes in and one day before the BOM freezes
Before you read: what do you already know?
3 quick questions. Wrong answers are fine and expected; trying first makes the lesson stick.
After this lesson you can
- Name the three physical fabrics and the six logical networks an Enterprise RA defines and say what each carries.
- Explain how VLAN isolation carries several logical networks over one physical converged fabric.
- State what the reference architectures deliberately do not publish and name the document that does publish each item.
- Count the out-of-band ports one compute node actually consumes including the DPU's own BMC.
Episode 4 — The chapter that is not missing
The network architect wants the part of the reference architecture that contains the IP plan, the BGP configuration and the DSCP and PFC values. He has read the document twice and concluded he was sent an incomplete copy. The SE is one sentence away from promising a follow-up from NVIDIA. At the back of the room the night-shift operator is quietly printing labels for a rack that does not exist yet, and he has a question of his own about port counts.
There is no missing chapter. Both Enterprise RA logical-architecture pages stop at topology, hardware and separation. The NVL72 RA names six logical networks - GPU Compute, CPU Converged, Storage, Customer Network Connectivity, Support Server Networking and Out-of-band Management - and states that VLAN isolation would be used to provide logical separation of the networks over the single physical fabric.[1] What it does not publish is BGP or EVPN configuration, IP addressing, MTU, or DSCP, PFC and ECN values.[2]
That boundary is deliberate. Topology and hardware are stable across deployments; configuration is version-specific, so the values live where they can be revised on their own cadence - RoCE classification and PFC/ECN in the Cumulus Linux RoCE page, the default 9216-byte MTU in the Ethernet Storage Fabric guide.[9][11] An RA carrying those values would be stale on the next switch release.
The RA is a topology and a bill of materials, not a configuration guide - name the document, never improvise the value. Start with the fabrics you can touch.
1Three fabrics you can touch
Start with the physical layer, because it is the part a Dell install team wires.
The HGX AI Factory RA defines three physical fabrics: the Compute (node east/west) network, built with switches using NVIDIA Spectrum technology in a full non-blocking fat tree topology; the CPU Converged (node north/south) network carrying storage and management; and the Out-of-Band Management network for infrastructure management traffic.[3]
The compute fabric is rail-optimized through each GPU’s own ConnectX-8 SuperNIC.[3] The recommended wiring is dual plane: each GPU’s 800 Gb/s splits into 2x400 Gb/s interfaces landing on different leaf switches, each plane an independent fabric that scales to 1024 interfaces of 400 Gb/s.[3] Single plane is the documented cost option using a single 400 Gb/s connection per GPU and accepting a 50% reduction in total GPU bandwidth.[3]
The converged fabric is deliberately unglamorous: each compute and management node is connected with two 400 GbE ports to two separate switches, reaching up to 40 GB/s per node.[3] On GB300 NVL72 the same idea has two shapes - each compute tray connects to two separate switches using dual 400 Gb/s ports, while each management node connects to the same switches with four 200 Gb/s ports.[4]
The OOB network provides bulk management 1 Gb RJ45 connectivity for all the nodes and uses low-cost bulk management switches; the NVIDIA SN2201 switch connects to the BMC and OOB 1 Gbps ports of those components.[2]
Node 0 · rail 3 — ConnectX-8 SuperNIC
The 800 Gb/s port breaks out to 2 interfaces, one per fabric. It lands on leaf 3 in every one of the 2 fabrics. Every node's rail 3 NIC lands on that same leaf — that is what rail-optimized means.
- Same-rail peer (n1·g3): 1 hop leaf only.
- Cross-rail peer (n1·g4): 3 hops leaf → spine → leaf. Crossing rails always traverses the spine — that is the design's cost.
"Traffic per rail of the DGX B300 systems is always one hop away from the other 64 nodes in a SU" (72 on the XDR RA).
2 × 400 Gb/s per GPU (800 Gb/s ConnectX-8 port, broken out)
"Each GPU generating 800 Gb/s bandwidth through the ConnectX-8 SuperNICs, dual plane topology involves breaking the interface to 2x400 Gb/s interfaces" — each interface goes "to a different leaf switch", and "Each leaf switch is part of an independent fabric that scales to 1024 interfaces of 400 Gb/s". Load balancing is done "by the ConnectX-8 SuperNIC at hardware level".
Transceiver: twin-port transceiver — MMA4Z00-NS, 800 Gb/s twin-port OSFP, 2 × 400 Gb/s, multimode, 50 m max reach. The RA states the fork in the optics: "dual-plane using twin-port transceivers or single-plane using single-port OSFP transceivers".
Host side: NUM_OF_PLANES_P1=2 (hwplb; 0 for swplb/uniplane) · LAG_RESOURCE_ALLOCATION=1 for hwplb · CNP DSCP 48 for hwplb vs 0 · multiplaneMode: "swplb" | "hwplb"
Network Operator 26.4.0 matrix: Dual-Plane on ConnectX-8 with B300 / GB300 — "swplb" GA, "hwplb" tech preview. "hwplb multiplane mode is only supported on ConnectX-8 (device ID 1023)".
- It is not a bond and not redundancy pairing: two independent fabrics with no links between them.
- BOM consequence: leaf count doubles versus single plane at the same per-GPU bandwidth, and the customer must operate two IP fabrics.
- Twin-planar resilience claim on the DGX B300 SuperPOD RA: "A single switch failure, transceiver failure or cable failure will not lead to a catastrophic job abortion".
32 nodes × 8 rails = 256 server-facing 400 Gb/s interfaces per fabric × 2 fabrics = 512 total.
Rail-aligned needs at least one leaf per rail per fabric: 8 rails × 1 leaf per rail = 8 leaves per fabric, 16 leaves total. Pure port arithmetic would only need 4 per fabric — the difference is what rail alignment costs. derived
Leaf radix: SN5610 / SN5600 presents 64 OSFP cages = 128 × 400 Gb/s logical; a non-blocking leaf faces 64 of them at the servers and 64 at the spines. derived — the RAs do not print a per-leaf split
Transceiver at the NIC: twin-port OSFP (MMA4Z00-NS class) — this is a BOM fork, not a field option.
8 GPUs / node: HGX B300 node: "Eight NVIDIA B300 GPUs on an HGX B300 baseboard" with "Eight NVIDIA ConnectX-8 SuperNICs per NVIDIA HGX B300 baseboard" — a 1:1 GPU-to-SuperNIC ratio at "800 Gb/s (2 x 400Gb/s Ethernet) per GPU". 8 GPUs per node means 8 rails.
32 nodes: Two nodes short of half an Ethernet SU. Still one leaf per rail per plane.
Keeping traffic on its rail from the host
- NCCL_IB_HCA selects the HCAs, format <hca>[:<port>[:<rail>[:<plane>]]]; ^ excludes, = forces an exact match. Default is "All available IB interfaces".
- NCCL_IB_TC "Defines the InfiniBand traffic class field", default 0, range 0–15 — set it to the traffic class the switch marks as RoCE.
- NCCL_IB_SL "Defines the InfiniBand Service Level", default 0, range 0–15. NCCL_IB_GID_INDEX "Defines the Global ID index used in RoCE mode", default -1.
- NCCL_NET_GDR_LEVEL controls GPUDirect RDMA between a NIC and a GPU: LOC (disabled), PIX, PXB, PHB, SYS. NCCL_SOCKET_IFNAME auto-selects, "favoring interfaces starting with ib".
- NicInterfaceNameTemplate gives "rail/plane-based network device naming via udev rules" — that is how a rail survives a reboot with a stable interface name.
- SpectrumXRailPoolConfig carries "rail topology, PF selection, IPAM binding, resource exposure"; CIDRPool allocates IPs per rail or per rail/plane.
FAE angle. "We bought the RA and we get 60% of line rate on all-reduce" is the escalation. Check in order: (1) is the cabling actually rail-aligned, or did the installer cable node-sequentially? (2) is NCCL_IB_HCA pinned so rank N uses rail N? (3) is NCCL_IB_TC set to the traffic class the switch marks as RoCE? Two of those three are free to fix.
Where the RA stops. The RA names six logical networks over one physical fabric — GPU Compute, CPU Converged, Storage, Customer, Support Server Networking and OOB — with "VLAN isolation ... to provide logical separation". It publishes no BGP/EVPN configuration, no IP addressing, no MTU, no DSCP/PFC/ECN values and no adaptive-routing or congestion-control parameters. Those live in the Cumulus and Spectrum-X software docs.
2Six logical networks over one physical fabric
Above the cable the RA gets more granular. The NVL72 AI Factory logical architecture names six logical networks: GPU Compute (East/West), CPU Converged (North/South), Storage connectivity, Customer Network Connectivity, Support Server Networking, and Out-of-band Management Networking.[1]
They are not six sets of switches. The separation is logical: VLAN isolation would be used to provide logical separation of the networks over the single physical fabric.[1] The HGX RA uses the same sentence about the networks above the single physical fabric.[2]
So the mapping is many-to-few. Compute has its own physical fabric. OOB has its own physical fabric. Everything else - storage, customer access, support servers, in-band management - rides the converged fabric separated by VLAN.
Diagram source (Mermaid)
flowchart TB
subgraph P1["Physical: compute fabric"]
EW["GPU Compute east-west"]
end
subgraph P2["Physical: converged fabric, VLAN separated"]
NS["CPU Converged north-south"]
ST["Storage"]
CU["Customer network"]
SS["Support server networking"]
end
subgraph P3["Physical: OOB, 1 Gb RJ45"]
OOB["BMCs, switch mgmt, DPU mgmt"]
end
EW --- NODE["Compute node"]
NS --- NODE
OOB --- NODEThe SuperPOD editions arrange the same traffic slightly differently but with the same idea. In-band management on the DC-busbar B300 RA carries cluster service management, NFS storage access, uplink connectivity and user access to Slurm or Kubernetes.[5] The out-of-band management network is physically rolled up into the aggregation layer of each SU as a dedicated VXLAN.[5] The customer edge is specified as at least 2x 100GbE links with DR1 single-mode connectivity, peered with BGP.[5]
3Where the RA stops, on purpose
This is the part that saves you a quarter of an escalation.
Neither Enterprise RA logical-architecture page publishes BGP or EVPN configuration, an IP addressing plan, an MTU, DSCP, PFC or ECN values, adaptive-routing parameters or congestion-control settings.[1][2] That was re-checked against both pages on 2026-09-07 and both answered no on every item.[1][2]
That is not an omission, it is a boundary. Topology and hardware are stable for the life of a platform; configuration moves with every software release. So the RA describes what to buy and how to cable it, and the software documentation describes how to configure it:
| What you were looking for | Where it actually lives |
|---|---|
| RoCE classification, PFC and ECN behaviour | Cumulus Linux RoCE documentation[9] |
| Adaptive routing enablement and constraints | Cumulus Linux ECMP and adaptive routing documentation[10] |
| MTU for a storage fabric - the guide’s default is 9216 bytes | Cumulus Linux Ethernet Storage Fabric configuration guide[11] |
| Matched switch NOS, NIC firmware, DOCA and NCCL versions | Spectrum-X validated solution stack[12] |
| Rail-alignment behaviour of the collective library | NCCL documentation, covered in module 2 |
Those documents are taught in the RoCE and Spectrum-X tracks rather than here. The skill this lesson wants is narrower and more useful in a meeting: name the document, do not improvise the value.
4Counting the ports nobody counts
Two counting habits separate a design review that works from one that produces a change order.
Out-of-band ports per node. The Quantum-X800 SuperPOD edition spells out that the OOB network reaches DGX B300 compute trays including system BMCs and BlueField-3 BMCs.[6] That is two RJ45 ports per node before you count switch management ports, and it surprises people who budgeted one. An SN2201 provides 48 ports of 1GbE plus uplinks, so the node-to-OOB-switch ratio is roughly half of what a naive count suggests.[2][8]
Storage bandwidth as a floor, not a target. The SuperPOD RA requires that I/O per node must exceed 40 GBps, and offers the storage fabric either as InfiniBand with MQM9700-NS2R for AC power or MQM9701-NS2R for DC, or as Ethernet with SN5600 for AC or SN5600D for DC.[5] The GB200 SuperPOD publishes the blocking directly: a slightly blocking fabric with a blocking factor of 5:3 on the DGX node side, with 16x 800 Gbps of non-blocking bandwidth to the storage appliances.[13]
Both habits share a shape. The RA gives ratios and floors; the port count comes from multiplying them by the customer’s node count, and the errors come from the ports nobody wrote down - the DPU’s BMC, the switch management port, the second converged port.
Two links and a label problem
You give the architect the Cumulus RoCE page for classification and PFC/ECN, the Ethernet Storage Fabric guide for the MTU, and the validated solution stack for the version rows, then ask which software versions his cluster is pinned to.[9][11][12] Then the operator gets his answer, and it costs the rack an RJ45 run: the out-of-band network reaches compute trays including system BMCs and BlueField-3 BMCs, so every node consumes two OOB ports, not one.[6] He reprints the labels in pairs. As the room empties the architect points at the existing forecasting pod and says its BlueField-3 cards run at 400 gigabit - confirm that for tomorrow?
Lab
Goal: prove on real hardware that the DPU has a management identity of its own, and count the OOB ports one node consumes. All steps read state only; no firmware or mode changes.
- Pre-flight. Record the node’s iDRAC address, its BlueField-3 BMC address if already provisioned, and the switch port each cable lands on. If the BF-3 BMC address is unknown, stop and find it from the DHCP lease or the cabling record rather than probing broadly.
- Reach the host BMC over its 1 GbE port: from your workstation open the iDRAC web UI or run
ipmitool -I lanplus -H <idrac-ip> -U <user> -P <pass> chassis status. Expected: a chassis status block. If it times out, the OOB VLAN does not reach your workstation - note it as a finding. - Reach the BlueField-3 BMC on its own address the same way, or over HTTPS to its Redfish endpoint:
curl -sk https://<bf3-bmc-ip>/redfish/v1/ | head -20. Expected: a Redfish service root document. The point is that this is a different endpoint from step 2 on a different cable.[6] - Count OOB RJ45 ports the node consumes: system BMC plus BlueField-3 BMC is the published minimum on a DGX B300 tray.[6] Add any dedicated switch management port in the same rack and write the rack total.
- On the host, list the interfaces that belong to each fabric role:
ip -br linkand match against your cabling record. Expected: the east-west adapters, the converged adapter and no OOB interface at all - OOB terminates on BMCs, not on the host OS. - Sanity check the converged side only:
ethtool <converged-iface> | grep -E 'Speed|Link detected'. Expected: 200000Mb/s or 400000Mb/s depending on generation. Compare it to the RA figure for that generation rather than to the card’s maximum.[3] - Acceptance: you can state the number of OOB ports and the number of converged ports one node consumes, and you have reached two distinct BMCs to prove the first number.
Goal: realise the six logical networks as VLANs on one physical fabric in containerlab with Dell Enterprise SONiC 4.5.1, then write the boundary list.
- Build a two-node topology: one leaf and one spine, with two Linux hosts on the leaf. Deploy with
containerlab deploy -t <file>. Expected: a node table listing the SONiC containers and the hosts in a running state. If a SONiC container restarts in a loop, check the image tag before changing anything else. - On the leaf create six VLANs, one per logical network named by the RA - GPU compute, CPU converged, storage, customer, support servers, OOB.[1] Use whatever VLAN IDs your lab convention prefers; the IDs are not the lesson.
- Verify with
show vlan brief. Expected: six VLAN rows with their member ports. If a VLAN is missing, the config was not saved - re-apply rather than rebooting. - Put the two hosts in two different VLANs, give them addresses in different subnets and build a ping matrix: each host to itself, to its own gateway and to the other host. Expected: no connectivity across VLANs until you add routing. That failure is the demonstration - VLAN isolation is the mechanism the RA relies on.[1]
- Now the reading half. Write the “what the RA does not say” list: BGP and EVPN configuration, IP addressing, MTU, DSCP/PFC/ECN values, adaptive-routing parameters, congestion-control settings.[1][2]
- Next to each item name the document that does publish it - the Cumulus Linux RoCE page, the ECMP and adaptive routing page, the Ethernet Storage Fabric configuration guide, and the Spectrum-X validated solution stack.[9][10][11][12] Record one concrete value per document so the list is checkable, for example the ESF guide’s default MTU of 9216 bytes.[11]
- Tear down with
containerlab destroy -t <file>. - Acceptance: you can hand someone the two-column list and they can find every value on the page you named, without you in the room.
Retrieval check
10 questions from memory. Answer before looking anything up; misses become flashcards.
Explain it to a Dell SE
Explain to a Dell SE in four sentences what an AI factory's networks are and why the reference architecture will not answer their next question about MTU.
Sources
Facts in this lesson were checked against HGX AI Factory and NVL72 AI Factory logical and physical topology pages, DGX SuperPOD B300 network fabrics (both editions), all re-fetched 2026-09-07. Dates are when each page was fetched.
- Network Logical Architecture - NVIDIA NVL72 AI Factory · fetched 2026-09-07
- Networking Logical Architecture - NVIDIA HGX AI Factory · fetched 2026-09-07
- Networking Physical Topologies - NVIDIA HGX AI Factory · fetched 2026-09-07
- Networking Physical Topologies - NVIDIA NVL72 AI Factory · fetched 2026-09-07
- Network Fabrics - DGX SuperPOD B300 Spectrum-4 Ethernet and DC Busbar Power RA · fetched 2026-09-07
- Network Fabrics - DGX SuperPOD B300 Quantum-X800 InfiniBand and AC Power RA · fetched 2026-09-07
- Networking Hardware - NVIDIA NVL72 AI Factory · fetched 2026-09-07
- Networking Hardware - NVIDIA HGX AI Factory · fetched 2026-09-07
- RDMA over Converged Ethernet - RoCE - Cumulus Linux 5.13 · fetched 2026-09-07
- Equal Cost Multipath Load Sharing incl. Adaptive Routing - Cumulus Linux 5.13 · fetched 2026-09-07
- Cumulus Linux Configuration Guide for Ethernet Storage Fabrics · fetched 2026-09-07
- NVIDIA Spectrum-X Validated Solution Stack · fetched 2026-09-07
- Network Fabrics - DGX GB200 SuperPOD Reference Architecture · fetched 2026-09-07
The same idea elsewhere
Other lessons that cover this ground, sometimes from another course's angle.
- The other three networks: converged, storage, out-of-bandElsewhere in this course · Same ground: edge, converged and gb200
- Scenario: a 256-GPU Dell AI Factory design reviewElsewhere in this course · Same ground: oob, converged and storage
- Dual plane: two fabrics, not a bondElsewhere in this course · Same ground: converged, gb300 and Dual plane