Skip to content

Commit d80c541

Browse files
authored
Merge pull request #108861 from victorcheng7/patch-2
Patch 2
2 parents f81a3cf + e0e5e32 commit d80c541

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

articles/virtual-network/setup-dpdk.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@ DPDK can run on Azure virtual machines that are supporting multiple operating sy
3434

3535
## Supported operating systems
3636

37-
The following distributions from the Azure Gallery are supported:
37+
The following distributions from the Azure Marketplace are supported:
3838

39-
| Linux OS | Kernel version | DPDK-18.11 | DPDK-19.11 |
40-
|--------------|--------------------------- |--------------|-------------- |
41-
| Ubuntu 16.04 | 4.15.0-1014-azure+ | Pass | Pass |
42-
| Ubuntu 18.04 | 4.15.0-1014-azure+ | Pass | Pass |
43-
| SUSE15SP1 | 4.12.14-8.27-azure+ | Pass | Pass |
44-
| RHEL 7.5 | 3.10.0-862.11.6.el7.x86_64+ | Pass | Pass |
45-
| CentOS 7.5 | 3.10.0-862.11.6.el7.x86_64+ | Pass | Pass |
39+
| Linux OS | Kernel version |
40+
|--------------|--------------------------- |
41+
| Ubuntu 16.04 | 4.15.0-1014-azure+ |
42+
| Ubuntu 18.04 | 4.15.0-1014-azure+ |
43+
| SLES 15 SP1 | 4.12.14-8.27-azure+ |
44+
| RHEL 7.5 | 3.10.0-862.11.6.el7.x86_64+ |
45+
| CentOS 7.5 | 3.10.0-862.11.6.el7.x86_64+ |
4646

4747
**Custom kernel support**
4848

@@ -82,7 +82,7 @@ sudo dracut --add-drivers "mlx4_en mlx4_ib mlx5_ib" -f
8282
yum install -y gcc kernel-devel-`uname -r` numactl-devel.x86_64 librdmacm-devel libmnl-devel
8383
```
8484

85-
### SLES 15
85+
### SLES 15 SP1
8686

8787
**Azure kernel**
8888

@@ -104,7 +104,7 @@ zypper \
104104

105105
## Set up the virtual machine environment (once)
106106

107-
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.
108108
2. Build the default config with `make config T=x86_64-native-linuxapp-gcc`.
109109
3. Enable Mellanox PMDs in the generated config with `sed -ri 's,(MLX._PMD=)n,\1y,' build/.config`.
110110
4. Compile with `make`.
@@ -116,7 +116,7 @@ After restarting, run the following commands once:
116116

117117
1. Hugepages
118118

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:
120120

121121
```bash
122122
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:
126126
* Mount hugepages with `mount -t hugetlbfs nodev /mnt/huge`.
127127
* Check that hugepages are reserved with `grep Huge /proc/meminfo`.
128128

129-
> [!NOTE]
129+
> [NOTE]
130130
> 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.
131131
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.
133133
134134
3. PCI addresses
135135
136136
* 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.
138138
139139
4. Load *ibuverbs* on each reboot with `modprobe -a ib_uverbs`. For SLES 15 only, also load *mlx4_ib* with `modprobe -a mlx4_ib`.
140140
141141
## Failsafe PMD
142142
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.
144144

145145
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).
146146

0 commit comments

Comments
 (0)