At times we need to set the physical adapter advanced properties such as VLAN ID. This can be done using the Set-NetAdapterAdvancedProperty cmdlet. However, when using DSC-based configuration management, it makes sense to configure these advanced properties as well using DSC resource modules. Within the automation that I have been working on for automated deployments of Storage Spaces Direct clusters, I have the need for setting adapter advanced properties and that is what triggered me to write this new resource module — NetworkAdapterProperty. This is a part of the NetworkingDSC module.
This is not a fork of the xNetworking module. I am adding only the resources that I am developing from scratch to this NetworkingDsc. These resources will follow the HQRM guidelines.
Resource Properties
Property Name | Description |
---|---|
Id | Key property to uniquely identify the resource instance. |
Name | Name of the network adapter. |
DisplayName | Display Name of the advanced property. |
DisplayValue | Value to be set on the advanced property. |
Ensure | Specifies if the property needs to be configured (present) or reset to its default value (absent). |
The display name of a network adapter advanced property can be seen by using the Get-NetAdapterAdvancedProperty cmdlet. Depending on what the network adapter driver implements, this list changes between different network adapter models/vendors. Let’s see a couple of examples of using this resource.
Configuring VLAN ID advanced property
The display name of the advanced property for VLAN configuration on physical adapter is usually VLAN ID.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Configuration PhysicalAdapterVLAN { Import-DscResource -ModuleName PSDesiredStateConfiguration -ModuleVersion 1.1 Import-DscResource -ModuleName NetworkingDsc -ModuleVersion 1.0.0.0 NetworkAdapterProperty VLAN { Id = 'S1P1VLAN' Name = 'SLOT 1 PORT 1' DisplayName = 'VLAN ID' DisplayValue = '102' Ensure = 'Present' } } |
Configuring DCBX Mode on Mellanox CX4 adapters
This following example is specific to Mellanox CX4 adapters. These adapters support firmware or host controlled DCB exchange. We can configure this by changing the value of DcbxMode property.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Configuration PhysicalAdapterVLAN { Import-DscResource -ModuleName PSDesiredStateConfiguration -ModuleVersion 1.1 Import-DscResource -ModuleName NetworkingDsc -ModuleVersion 1.0.0.0 NetworkAdapterProperty S1P1DCBX { Id = 'S1P1DCBX' Name = 'SLOT 1 PORT 1' DisplayName = 'DcbxMode' DisplayValue = 'Host in charge' Ensure = 'Present' } NetworkAdapterProperty S1P2DCBX { Id = 'S2P2DCBX' Name = 'SLOT 1 PORT 2' DisplayName = 'DcbxMode' DisplayValue = 'Host in charge' Ensure = 'Present' } } |
This resource will eventually be made a part of NetworkingDsc in the official DSC resource kit. Stay tuned.