欢迎来到 DPDK交流社区 ,有什么问题可以尽管在这里提问,您将会收到社区其他成员的回答;也可以将您的总结写在这里,为社区其他成员提供帮助。 (QQ交流群:127163755)

dpdk l3fwd如何搭建拓扑

0 投票
我在测试dpdk l3fwd过程中,使用ping命令发流量时,通过抓包发现发送的arp请求又从这个口回来了,然后我直接设置从0口收到包后从1口发出去,从1口收到后从0口发出去,设置后发现只能收到0口的包,收不到1口的包,这个是怎么回事,l3fwd包是怎么处理的?
最新提问 5月 14, 2017 分类:DPDK初学入门 | 用户: 趁着d年轻 (260 分)

2 个回答

+1 投票
l3fwd在初始化时会添加转发表,如果你的网络与它的不一样的话,要不修改你的网络中的IP,要不修改代码里它添加的那几个IP。
最新回答 5月 15, 2017 用户: sysight (12,190 分)
我用ping进行发包是,我通过gdb调试发现发出去的arp请求的下一跳还是这个端口,通过抓包确实是给发回来了
那可能得再跟一下这个发回来的包到哪里了,一步一步跟一下吧。
我用的拓扑就是dpdk一个口进,一个口出,进的口连接一个clent,配置ip为10.2,出的口连接server,配置ip 为11.2 ;然后在client 上ping 11.2
从port 0口进的arp request 包又从port 0口发回来了
发回来的还是arp request包吗?
是的是的。我看源码好像是对于arp包获取到dst_port = 0,只处理tcp 或者udp的包的转发
有可能,我之前测的时候直接用的tcp包,用它做转发。回头看看代码,是不是只能处理tcp/udp包。
能直接发送tcp包?发送tcp包是不是也会先发一个arp请求,获取对应的mac地址?
我当时是用测试仪测的,可以直接发tcp包或udp包。
好的,我用scapy发个tcp包看下能成功吗
+1 投票

用测试仪发应该可以吧,把 mac地址写死,另外用的ip地址10.2和11.2在代码里面添加进去了吗

最新回答 6月 28, 2017 用户: kk (210 分)
ip也要写到程序中吗?测试仪有哪些呢
ip是他程序里面本来就有的1.1.1.0--8.1.1.0,目的ip必须要是那么几个,和接口一一对应。测试仪就用的网络测试仪,填好包的源目的地址和mac地址。
如果你要用其他ip就得改代码了
按照你的思路将代码中的ip改成测试机的ip,在增加了一个arp包的转发后可以测试通了,在一端用ssh连另外一端可以了,但是用iperf测试测不同,应该是iperf工具有问题吧
在测试l3fwd-power 的时候,一直出现这个问题:
rte_eth_dev_rx_intr_ctl_q: RX Intr vector unset
L3FWD_POWER: RX interrupt won't enable.
L3FWD_POWER: RX interrupt won't enable.
这个怎么解决呢,我是在虚拟机里面测试的
ipref可能是配置问题吧,这个工具没用过不太清楚了。我们在网络测试仪测试时目的mac和目的ip都必须写。l3fwd-power还没试过,但是如果l3fwd相同环境可以的话,可能是虚拟机不支持中断?只能问问别人了,解决了告知一下吧。
...