Intel® Media Transport Library requires Windows netuio driver Windows virt2phys driver and huge page to run.
bcdedit /set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit /set TESTSIGNING ON
-
Control Panel / Computer Management / Local Security Policy ( or Win+R, type
secpol
, press Enter). -
Open Local Policies / User Rights Assignment / Lock pages in memory.
-
Add desired users or groups to the list of grantees. Privilege is applied upon next logon. In particular, if privilege has been granted to current user, a logoff is required before it is available.
-
Download and install rktools from https://technlg.net/downloads/rktools.exe
-
Open PowerShell, run:
ntrights.exe +r SeLockMemoryPrivilege -u Administrator
-
Reboot to enable it.
git://dpdk.org/dpdk-kmods Compile the virt2phys and netuio project using visual studio 2019
Get devcon.exe from Windows WDK package (if you don't want WDK, you can refer to https://networchestration.wordpress.com/2016/07/11/how-to-obtain-device-console-utility-devcon-exe-without-downloading-and-installing-the-entire-windows-driver-kit-100-working-method/ for how to get devcon.exe), copy the devcon.exe to your netuio driver folder.
execute command:
devcon.exe install virt2phys.inf root\virt2phys
-
Test sign the driver using a test certificate and then boot the Windows in "Test mode", or
-
Use the boot time option to "Disable driver signature enforcement".
- From Device Manager, Action menu, select "Add legacy hardware".
- It will launch the "Add Hardware Wizard". Click "Next".
- Select second option "Install the hardware that I manually select from a list".
- On the next screen, "Kernel bypass" will be shown as a device class.
- Select it and click "Next".
- Click "Have Disk".
- Find location of your virt2phys.inf driver.
- Select it and click "Next".
The previously installed drivers will now be installed for the "Virtual to physical address translator" device. Here we just go through next and finish buttons.
execute command:
devcon.exe update netuio.inf "PCI\VEN_8086&DEV_1592"
You can change "1592" per your NIC type.
- Go to Device Manager -> Network Adapters.
- Right Click on target e810 network adapter -> Select Update Driver.
- Select "Browse my computer for driver software".
- In the resultant window, select "Let me pick from a list of available drivers on my computer".
- Select "DPDK netUIO for Network Adapter" from the list of drivers.
- The NetUIO.sys driver is successfully installed.
To get the latest DDP file (ice-1.3.30.0.pkg), visit https://www.intel.com/content/www/us/en/download/19630/intel-network-adapter-driver-for-e810-series-devices-under-linux.html, unzip the driver and go to the DDP directory.
The Windows ICE driver will try to search for the DDP file with the path "c:\dpdk\lib\ice.pkg" or ".\ice.pkg". Please place the latest DDP file in one of these locations and rename it to ice.pkg. Otherwise, you will see the following error when running the RxTxApp.
ice_load_pkg(): failed to search file path
ice_dev_init(): Failed to load the DDP package, Use safe-mode-support=1 to enter Safe Mode
You can bind the app to the cpu socket 0 ( if your NIC is inserted into the pcie slot belongs to cpu socket 0 )as following: To identify the socket if you do not know it, in the NIC card driver property page, check the bus number, if the number is great than 0x80, then socket 1, else socket 0, for example
start /Node 0 /B .\build\app\RxTxApp --config_file config\test_tx_1port_1v.json
Please refer to sections 3, 4, and 5 in the linux run guide for instructions on how to run the sample application. The Windows version shares the same codebase as the Linux version, and the application/library behavior is the same.
6.1 Download openVPN driver by searching "OpenVPN-2.5.6-I601-amd64.msi" and download the installation file
In the Control Panel->Network and internet->Network Connections, find the "OpenVPN TAP-Windows6" device, set the adaptor IP address, such as 192.168.2.2
.
meson tap_build -Ddpdk_root_dir=${DPDK_SRC_DIR} -Denable_tap=true
ninja -C tap_build install
Ping 192.168.2.2
from other machine in the same network such as 192.168.2.3
, if have reply, the TAP works.