我正在尝试接收另一个DPDK应用程序在不同系统上传输的数据包。我能够使用rte_eth_tx_burst Api发送1个数据包的突发值,但无法在rte_eth_rx_burst Api中接收1突发值的数据包。仅当rx_burst值为4或更高时,我才能接收数据包。是因为任何ethdev配置吗?
答案 0 :(得分:0)
您能更详细地说明您的问题吗?传递给rte_eth_rx_brust()的参数是什么。在我的应用程序中,我只能接收和发送一个1 pkt。
您可以尝试为rx_burst数据包定义一个数组大小为1的方法吗?
struct rte_mbuf * pkts_burst [1];
rte_eth_rx_burst(port_id,local_targetid,pkts_burst,1);
答案 1 :(得分:0)
ixgbe i40e 设备有问题,virtio-net 没有问题。修改文件 *_rxtx.h 中的 RTE_*_DESCS_PER_LOOP。