You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1.[Download the latest DPDK](https://core.dpdk.org/download). Version 18.02 or higher is required for Azure.
107
+
1.[Download the latest DPDK](https://core.dpdk.org/download). Version 18.11 LTS or 19.11 LTS is required for Azure.
108
108
2. Build the default config with `make config T=x86_64-native-linuxapp-gcc`.
109
109
3. Enable Mellanox PMDs in the generated config with `sed -ri 's,(MLX._PMD=)n,\1y,' build/.config`.
110
110
4. Compile with `make`.
@@ -116,7 +116,7 @@ After restarting, run the following commands once:
116
116
117
117
1. Hugepages
118
118
119
-
* Configure hugepage by running the following command, once for all numanodes:
119
+
* Configure hugepage by running the following command, once for each numa node:
120
120
121
121
```bash
122
122
echo 1024 | sudo tee /sys/devices/system/node/node*/hugepages/hugepages-2048kB/nr_hugepages
@@ -126,21 +126,21 @@ After restarting, run the following commands once:
126
126
* Mount hugepages with `mount -t hugetlbfs nodev /mnt/huge`.
127
127
* Check that hugepages are reserved with `grep Huge /proc/meminfo`.
128
128
129
-
> [!NOTE]
129
+
> [NOTE]
130
130
> There is a way to modify the grub file so that hugepages are reserved on boot by following the [instructions](https://dpdk.org/doc/guides/linux_gsg/sys_reqs.html#use-of-hugepages-in-the-linux-environment) for the DPDK. The instructions are at the bottom of the page. When you're using an Azure Linux virtual machine, modify files under **/etc/config/grub.d** instead, to reserve hugepages across reboots.
131
131
132
-
2. MAC & IP addresses: Use `ifconfig –a` to view the MAC and IP address of the network interfaces. The *VF* network interface and *NETVSC* network interface have the same MAC address, but only the *NETVSC* network interface has an IP address. VF interfaces are running as subordinate interfaces of NETVSC interfaces.
132
+
2. MAC & IP addresses: Use `ifconfig –a` to view the MAC and IP address of the network interfaces. The *VF* network interface and *NETVSC* network interface have the same MAC address, but only the *NETVSC* network interface has an IP address. *VF* interfaces are running as subordinate interfaces of *NETVSC* interfaces.
133
133
134
134
3. PCI addresses
135
135
136
136
* Use `ethtool -i <vf interface name>` to find out which PCI address to use for *VF*.
137
-
* If *eth0* has accelerated networking enabled, make sure that testpmd doesn’t accidentally take over the VF pci device for *eth0*. If the DPDK application accidentally takes over the management network interface and causes you to lose your SSH connection, use the serial console to stop the DPDK application. You can also use the serial console to stop or start the virtual machine.
137
+
* If *eth0* has accelerated networking enabled, make sure that testpmd doesn’t accidentally take over the *VF* pci device for *eth0*. If the DPDK application accidentally takes over the management network interface and causes you to lose your SSH connection, use the serial console to stop the DPDK application. You can also use the serial console to stop or start the virtual machine.
138
138
139
139
4. Load *ibuverbs* on each reboot with `modprobe -a ib_uverbs`. For SLES 15 only, also load *mlx4_ib* with `modprobe -a mlx4_ib`.
140
140
141
141
## Failsafe PMD
142
142
143
-
DPDK applications must run over the failsafe PMD that is exposed in Azure. If the application runs directly over the VF PMD, it doesn't receive **all** packets that are destined to the VM, since some packets show up over the synthetic interface.
143
+
DPDK applications must run over the failsafe PMD that is exposed in Azure. If the application runs directly over the *VF* PMD, it doesn't receive **all** packets that are destined to the VM, since some packets show up over the synthetic interface.
144
144
145
145
If you run a DPDK application over the failsafe PMD, it guarantees that the application receives all packets that are destined to it. It also makes sure that the application keeps running in DPDK mode, even if the VF is revoked when the host is being serviced. For more information about failsafe PMD, see [Fail-safe poll mode driver library](https://doc.dpdk.org/guides/nics/fail_safe.html).
0 commit comments