vmware下DPDK的使用--以dpdk-19.11.10为例
vmware下DPDK的使用–以dpdk-19.11.10为例
dpdk-19.11.10下载参照【AMD平台下DPDK的使用–以dpdk-19.11.10为例】.
vmware中安装ubuntu1804
按照通用方法安装vm下的u1804,操作略
vmware配置的更改
ubuntu环境
安装环境包
sudo apt install vim git gcc g++ make autoconf openssh-server net-tools libnuma-dev python3-pip
软连接python与pip
cd /usr/bin/
sudo ln -s python3 python
sudo ln -s pip3 pip
dpdk更改
这里给出patch
diff --git a/kernel/linux/igb_uio/igb_uio.c b/kernel/linux/igb_uio/igb_uio.c
index 039f5a5f63..1c1dabce2b 100644
--- a/kernel/linux/igb_uio/igb_uio.c
+++ b/kernel/linux/igb_uio/igb_uio.c
@@ -257,7 +257,7 @@ igbuio_pci_enable_interrupts(struct rte_uio_pci_dev *udev)
/* falls through - to INTX */
case RTE_INTR_MODE_LEGACY:
- if (pci_intx_mask_supported(udev->pdev)) {
+ if (pci_intx_mask_supported(udev->pdev) || 1) {
dev_dbg(&udev->pdev->dev, "using INTX");
udev->info.irq_flags = IRQF_SHARED | IRQF_NO_THREAD;
udev->info.irq = udev->pdev->irq;
l2fwd使用
安装常规方法编译,配置,运行l2fwd 使得网卡link起来,配置对应ip,icmp通
l3fwd使用
对于l3fwd来说,网卡驱动需要改成支持多队列网卡 ethernetX.virtualdev = "vmxnet3"
可能是虚拟设备的原因,硬件计算CHECKSUM不支持,需要屏蔽掉 DEV_RX_OFFLOAD_CHECKSUM,并添加 –parse-ptype,才能运行
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index 4dea12a653..757b62c623 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -122,7 +122,7 @@ static struct rte_eth_conf port_conf = {
.mq_mode = ETH_MQ_RX_RSS,
.max_rx_pkt_len = RTE_ETHER_MAX_LEN,
.split_hdr_size = 0,
- .offloads = DEV_RX_OFFLOAD_CHECKSUM,
+ // .offloads = DEV_RX_OFFLOAD_CHECKSUM,
},
.rx_adv_conf = {
.rss_conf = {
运行
./build/l3fwd -c 0x3 -n 4 -- -p 0x3 --config="(0,0,0),(1,0,1)" --parse-ptype
参数说明
-c 绑定cpu bit表示法 -n 内存通道数量 -p 绑定接口bit表示法 –config配置接口、队列、cpu的绑定关系(port,queue,lcore)
|