UCS always recommends to keep vNIC MTU same as that of assigned QoS policy priority class value.
Below warning appears when you assign QoS policy to any vNIC.
When the QoS policy is not assigned to vNIC, it takes the best-efforts class.
In huge domains, there are cases where one incorrect setting in service profile template leads to multiple profiles with MTU mismatch and MTU mismatch can lead to issues like packet drops, slow drain for the domain.
This powershell script will login to UCS, gather all vNIC Name, MAC Address, VNIC template, vNIC level MTU, set QoS policy Name, set QoS policy MTU value and will compare vNIC level MTU with its corresponding Global QoS MTU. Script will provide an output csv with all mentioned fields and MTU comparison status value.
I created this script so that it can be run against single /multiple domains having MTU Mismatch and fetch all vNIC MTU data, allowing one to easily find out all service profiles and vNICs with MTU mismatch. In turn, one can remediate all MTU mismatch issues to avoid slow-drain or CRC related issues.
Prerequisites on client machine from where script will be executed:
PowerShell v3 or greater
Network access to UCSM
Cisco UCS PowerTool for PowerShell installed in the client machine
Attached zip folder contains two files:
UCS-vNICvsGlobalMTUComparision.ps1 --- Powershell script
ScriptDemo-UCSvNICvsGlobalMTUComparision.docx --- Document explaining script execution steps and output fields
Version control:
V1.0 - Initial posted version
Please let me know if you have any questions, problems or suggestions.