Deploying Azure Stack HCI or highly available Windows Server 2022 Hyper-Converged Infrastructure (HCI) clusters requires meticulous network configuration. Administrators must manually configure vSwitches, define precise QoS (Quality of Service) policies for SMB Direct, allocate Data Center Bridging (DCB) traffic classes, and configure RDMA (Remote Direct Memory Access) across multiple physical network adapters. A single MTU mismatch or misconfigured RoCEv2 priority tag can result in catastrophic cluster instability or massive storage latency. To eliminate human error and standardize high-performance fabric deployment, Microsoft introduced Network ATC (Automatic Traffic Control). By leveraging declarative intent-based networking, Network ATC automates the entirety of the host networking stack, allowing administrators to deploy complex switchless storage topologies with a single PowerShell command.
The Concept of Intent-Based Networking
Historically, configuring a cluster node required running dozens of distinct PowerShell cmdlets (e.g., New-VMSwitch, Enable-NetAdapterRdma, Set-NetQosDcbxSetting). Network ATC abstracts this complexity into “Intents.”
An Intent is a declarative statement of what traffic a specific physical network adapter (pNIC) is intended to carry. Network ATC recognizes three primary traffic types:
- Management: Standard TCP/IP traffic for RDP, Active Directory, and host management.
- Compute: Virtual machine traffic originating from the Hyper-V vSwitch.
- Storage: High-bandwidth, low-latency SMB Direct (RDMA) traffic used for Storage Spaces Direct (S2D) East-West cluster communication.
When you declare an intent and assign it to specific pNICs, the Network ATC service autonomously provisions the vSwitches, creates the virtual host vNICs, configures the precise DCB/QoS traffic classes required by Microsoft best practices, and enables RDMA—all without manual intervention.
Installing Network ATC
Network ATC is a Server Role included natively in Windows Server 2022. It must be installed on every node participating in the cluster.
Install-WindowsFeature -Name NetworkATC -IncludeManagementTools
Automating a Switchless Storage Topology
A common, highly cost-effective topology for 2-node or 3-node edge clusters is the “Switchless” storage configuration. In this topology, the high-speed 25GbE or 100GbE network adapters dedicated to storage traffic are connected directly via DAC cables from node to node, bypassing an expensive top-of-rack (ToR) physical switch.
Configuring a switchless RDMA mesh manually is incredibly difficult due to the required IP subnets and routing constraints. Network ATC handles this automatically.
Assume you have two high-speed physical adapters named Storage1 and Storage2. Open an elevated PowerShell prompt and execute the following command to declare the intent:
Add-NetIntent -Name "Storage_Intent" -Storage -AdapterName "Storage1", "Storage2"
Upon execution, Network ATC intercepts the intent and begins orchestrating the host. Because you did not include the -Compute or -Management flags, it understands these adapters are dedicated exclusively to Storage Spaces Direct traffic.
The Autonomous Configuration Process
In the background, Network ATC performs the following complex operations strictly according to Microsoft’s validated reference architectures:
- RDMA Activation: It verifies the adapters support RDMA (iWARP or RoCEv2) and enables it.
- Switchless IP Addressing: It autonomously detects that these adapters are not connected to a standard subnet (due to the lack of a DHCP server or gateway on the direct link) and provisions APIPA (Automatic Private IP Addressing) IP addresses specifically engineered for switchless routing.
- QoS Enforcement: It configures Data Center Bridging (DCB) policies, assigning strict priority flow control (PFC) tags to ensure SMB storage traffic is never dropped under heavy load.
Validating the Intent
Network ATC does not just configure the network; it acts as a continuous compliance engine. Every 15 minutes, the ATC daemon evaluates the host configuration against the declared intent. If another administrator manually modifies a vSwitch setting or accidentally disables RDMA on an adapter, Network ATC detects the configuration drift and immediately overwrites the manual change, forcefully bringing the host back into compliance with the intent.
To verify the status of your intents across the cluster, execute:
Get-NetIntentStatus -Name "Storage_Intent"
The output will display a ProvisioningStatus of “Success”. By utilizing Network ATC, enterprise administrators can reduce the deployment time of complex, high-performance RDMA storage fabrics from hours of meticulous PowerShell scripting to mere seconds, ensuring mathematically consistent cluster performance across the entire datacenter.