我有一个带有EAL的process1:--vdev"/tmp/socket",queues=4,server=1作为virtio前端,另一个process2作为后端。
当他们完成协商时,dpdk的日志中没有任何错误,但是当我打印每个队列的情况时,如下所示:
Queue idx: 0, pkt in queue: 0;
Queue idx: 1, pkts in queue: 256;
Queue idx: 2, pkts in queue: 0;
Queue idx: 3, pkts in queue: 256;
Queue idx: 4, pkts in queue: 256;
Queue idx: 5, pkts in queue: 256;
Queue idx: 6, pkts in queue: 256;
Queue idx: 7, pkts in queue: 256; 队列4和6的容量应该是0,但它是256,我确信后端进程还没有开始处理pkt。
发布于 2021-12-23 01:48:21
好吧,我自己找答案。
我试图使用testpmd查找这个问题,当我使用相同的EAL param时,日志显示:
Queue idx: 0, pkt in queue: 0;
Queue idx: 1, pkts in queue: 256;
Queue idx: 2, pkts in queue: 256;
Queue idx: 3, pkts in queue: 256;
Queue idx: 4, pkts in queue: 256;
Queue idx: 5, pkts in queue: 256;
Queue idx: 6, pkts in queue: 256;
Queue idx: 7, pkts in queue: 256; 我猜它是端口而不是配置,它只使用一个队列。我使用port config all rxq 4到配置端口配置端口来使用4个rx队列,然后日志显示:
Queue idx: 0, pkt in queue: 0;
Queue idx: 1, pkts in queue: 256;
Queue idx: 2, pkts in queue: 0;
Queue idx: 3, pkts in queue: 256;
Queue idx: 4, pkts in queue: 0;
Queue idx: 5, pkts in queue: 256;
Queue idx: 6, pkts in queue: 0;
Queue idx: 7, pkts in queue: 256; https://stackoverflow.com/questions/70446949
复制相似问题