为什么DPDK只能发送和接收60字节的数据包

时间:2018-02-02 13:47:28

标签: dpdk

我编写了一个简单的DPDK发送和接收应用程序。当数据包len <= 60字节时,发送和接收应用程序工作,但当数据包len&gt; 60个字节,发送应用程序显示它已发送出包。但是在收到申请时,它没有收到任何东西。

在发送申请中:

{
  "slots": [
    {
      "name": "cityName",
      "type": "AMAZON.US_CITY"
    }
  ],
  "intent": "cityIntent"
}

我尝试将l2fwd和basicfwd作为接收应用程序。结果相同。

1 个答案:

答案 0 :(得分:0)

问题在于:

pchar[12]=0;
pchar[13] = 0

这意味着Ethertype为0.从指定的Ethertypes列表:

documentation

我们看到0意味着以太网帧长度为零。由于最小以太网帧长度为64(60 + 4 FCS),因此您在发送长度超过60个字节的数据包时遇到麻烦。

要解决此问题,只需在上面的列表中添加一个合理的Ethertype。