Configure NNM in High Performance Mode on Hyper-V

To configure NNM in High Performance Mode on Hyper-V:

  1. Install the CentOS VM.
  2. Shut down the VM after install completes.
  3. Right click the VM and navigate to Settings.
  4. In the Memory section, check the Enable Dynamic Memory check box.

  5. Set the Minimum RAM to the startup RAM setting.
  6. In the Automatic Stop Action section, select the Turn off the virtual machine radio button.

  7. Click OK.
  8. Open Device Manager.
  9. Right click on the device you want to configure for passthrough.
  10. In the Properties dialog, click the Details tab.
  11. In the Property drop-down box, select Device instance path.
  12. Copy the value from the Value box.

  13. In Powershell, use the following commands to perform the DDA configuration:

    # Setting up environment
    # Configure VMName

    $vmName = '10GNNM'

    # Configure Instance ID
    $instanceId = 'PCI\VEN_8086&DEV_1563&SUBSYS_001D8086&REV_01\9126D1FFFF74000000'

    # Configure Extra variable
    $vm = Get-VM -Name $vmName
    $dev = (Get-PnpDevice -PresentOnly).Where{ $_.InstanceId -like $instanceId }

    # Disable device from hosts
    Disable-PnpDevice -InstanceId $dev.InstanceId -Confirm:$false

    # Setup location path and dismount the device from hosts
    $locationPath = (Get-PnpDeviceProperty -KeyName DEVPKEY_Device_LocationPaths -InstanceId
    echo $locationPath

    # Dismount device from the host
    Dismount-VmHostAssignableDevice -LocationPath $locationPath -Force -Verbose

    # Assign the device to our VM
    Add-VMAssignableDevice -VM $vm -LocationPath $locationPath -Verbose

    Use the following commands if you do not intend to use the device with NNM in the VM:

    # Roll back, shutdown the VM first

    # Remove the device from the VM
    Remove-VMAssignableDevice -VMName $vmName -Verbose

    # Return the device to host
    Get-VMHostAssignableDevice | Mount-VmHostAssignableDevice -Verbose

    # Enable it in devmgmt.msc
    (Get-PnpDevice -PresentOnly).Where{ $_.InstanceId -like $instanceId }| Enable-PnpDevice -Confirm:$false -Verbose

  14. Turn on the VM.
  15. Install NNM.
  16. Configure huge pages with the commands listed in the Linux Command Line Operations documentation.
  17. Enable High Performance Mode.