dpdk 收发包测试之使用内核接口给 dpdk 绑定的端口发包

如何使用内核接口给 dpdk 绑定的端口发包

最近一次测试中,需要通过内核接口给 dpdk 绑定的端口发包进行测试,具体的测试方法见下文。

硬件连接

两个网卡的端口连接到一起。

软件配置

一个口绑定到内核驱动,一个口绑定 igb_uio 驱动。绑定到 igb_uio 的网卡端口,使用 l2fwd 程序来收发包。

通过指定的端口发包

ping 命令的 -I 选项支持指定收发包的 netdev 端口。

使用 ping -I eth0 192.234.234.23 就可以从 eth0 口将数据包发送出去。这里的 eth0 口就是上面我们绑定到内核驱动上面的口。由于硬件连接到了一起,l2fwd 监控的端口会收到包,就可以进行测试了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
DPDK提供了多种不同类型的驱动程序,括基于物理设备的驱动程序和虚拟设备驱动程序。其中一种虚拟设备驱动程序是libpcap-PMD驱动程序,它允许使用libpcap捕获和发送数据。在本文中,我们将介绍如何使用libpcap-PMD驱动程序在DPDK收发数据。 1. 安装libpcap和libpcap-dev库 在使用libpcap-PMD驱动程序之前,需要先安装libpcap和libpcap-dev库。在Ubuntu系统中,可以使用以下命令进行安装: ``` sudo apt-get install libpcap0.8 libpcap0.8-dev ``` 2. 编译DPDK 在编译DPDK时,需要启用libpcap-PMD驱动程序。可以使用以下命令进行编译: ``` make config T=x86_64-native-linuxapp-gcc O=x86_64-native-linuxapp-gcc CONFIG_RTE_LIBRTE_PMD_PCAP=y make ``` 在这个命令中,CONFIG_RTE_LIBRTE_PMD_PCAP=y用于启用libpcap-PMD驱动程序。 3. 配置DPDK环境 在使用libpcap-PMD驱动程序之前,需要进行DPDK环境的配置。可以使用以下命令进行配置: ``` sudo modprobe uio_pci_generic sudo ./usertools/dpdk-devbind.py --bind=uio_pci_generic sudo ./usertools/dpdk-devbind.py --status ``` 这将加载uio_pci_generic内核模块,并将所有网络设备到uio_pci_generic驱动程序。 4. 运行应用程序 在使用libpcap-PMD驱动程序时,需要指使用libpcap作为数据源和目的地。可以使用以下命令运行应用程序: ``` ./build/app/testpmd -c 0x03 -n 4 --vdev 'net_pcap0,rx_iface=<iface>,tx_iface=<iface>' -- -i --port-topology=loop ``` 在这个命令中,rx_iface和tx_iface参数分别指libpcap-PMD驱动程序的接收和发送接口。可以使用以下命令查看可用接口: ``` sudo tcpdump -D ``` 5. 测试 在运行应用程序后,可以使用testpmd命令进行测试。可以使用以下命令发送和接收数据: ``` testpmd> start tx_first testpmd> show port stats all ``` 在这个命令中,tx_first参数将启动数据发送,show port stats all命令将显示端口统计信息。 这就是使用libpcap-PMD驱动程序在DPDK收发数据的过程。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值