mirror of
https://github.com/arehnman/yttrium-virtio-gpu.git
synced 2026-10-31 02:05:04 +00:00
Signed-off-by: Annie Li <[email protected]> Signed-off-by: Yuri Benditovich <[email protected]>
Notify object of VIOPROT protocol supported by NETKVM
The notify object runs on protocol installation (it checks all the existing adapters) and on installation of new adapter (it checks the new adapter):
If the adapter's PnP ID matches the list of supported ones, the notify object unbinds it from all the protocols and binds only to VIOPROT. It there is NETKVM adapter with the MAC address identical to one of checked netwrok adapter, these 2 adapters with the same MAC address will be 'teamed' (subject to compatibility check) and the NETKVM uses the teamed adapter for RX and TX.
Protocol installation
(by admin, from the directory where vioprot.inf is located)
netcfg -v -l vioprot.inf -c p -i VIOPROT
Protocol uninstallation (example of the batch):
netcfg -v -u VIOPROT
timeout /t 3
for %%f in (c:\windows\inf\oem*.inf) do call :checkinf %%f
echo Done
timeout /t 3
goto :eof
:checkinf
type %1 | findstr /i vioprot.cat
if not errorlevel 1 goto :removeinf
echo %1 is not VIOPROT inf file
goto :eof
:removeinf
echo This is VIOPROT inf file
pnputil /d "%~nx1"
timeout /t 2
goto :eof
Supported adapters
Built-in list at the moment of writing:
- "ven_8086&dev_1515" - Intel X540 Virtual Function
- "ven_8086&dev_10ca" - Intel 82576 Virtual Function
- "ven_8086&dev_15a8" - Intel Ethernet Connection X552
- "ven_15b3&dev_101a" - Mellanox MT28800 Family
Change the list of supported adapter without rebuilding the binary
Registry key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\VioProt
| Name | Type | Value | Note |
|---|---|---|---|
| NoDefaults | DWORD | 1 | Disables built-in list |
| Supported | MULTI_SZ | List | Substrings in format "ven_XXXX&dev_XXXX", for example: "ven_8086&dev_1520XXXX" |
Note: Never include PnP ID of NETKVM adapter!