- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想要任何流量生成器(例如 iperf、D-ITG 甚至 ping)将数据发送到 tun 接口(interface)。此 tun 接口(interface)应自动转发到绑定(bind)到 DPDK 的 NIC。我想运行 l3fwd 示例,它从界面获取数据。
我在命令行中使用了选项 --vdev=net_tun0 创建 tun 接口(interface)。我认为 tun/tap PMD 会自动轮询 tun/tap 接口(interface)上的数据包并重定向到/来自 NIC。但是,这并没有发生。我无法接收任何数据包。
我需要 dpdk 和流量生成器在同一台 PC 上运行。 DPDK 应选择用户空间的流量。
最佳答案
由于问题不太清楚(无论是DPDK RX-TX还是Kernel RX-TX),这里从DPDK应用角度回答
rte_eth_rx_burst
并使用rte_eth_tx_burst
里面DPDK应用程序。rte_eth_rx_burst
轮询的接口(interface)和 rte_eth_tx_burst
在 DPDK 应用程序内部。一旦您使用vdev=net_tap0
这将创建内核tap接口(interface)dtap0
。因此,要获取内核接口(interface)收到的数据包,您可以调用 rte_eth_rx_burst
要将特定数据包发送到内核 TAP 接口(interface),您需要使用 rte_eth_tx_burst
.
根据您的要求,即将任何流量生成器引导到内核到 TAP 接口(interface),然后发送到与 DPDK 绑定(bind)的物理网卡,这是您必须做的
examples/skeleton
或testpmd
或没有 mac 更新的示例/l2fwd`vdev=net_tap0,iface=<your desired name for interface>
到 DPDK 应用程序。ip
或ifconfig
使用 IP 地址启动接口(interface)并将状态设置为 up(Promisc 模式可选)。route -n
.注意:在我的部署案例中,我最终也设置了静态 ARP。
这会将数据包发送到内核 TAP 接口(interface),然后由 DPDK 应用程序通过 rx_burst 调用拦截。然后使用端口到端口转发行为将其转发到 DPDK 物理网卡。在相反方向上,从物理网卡接收到的数据包通过 rx_burst 购买到应用程序中,然后通过 tx_burst 购买到 TAP PMD。然后这将注入(inject)到内核 TAP 接口(interface)。
关于c - 如何从tun接口(interface)接收数据到dpdk绑定(bind)的网卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57109819/
我是一名优秀的程序员,十分优秀!