This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RX flow定义的接收队列的问题



大家好,有一个概念需要专家帮我解释一下。在RX flow中定义了RX_DEST_QNUM,看解释是:在这个flow上的packet的接受队列。还定义了RX_FDQ0_SZ0_QNUM,看解释是用于接收第一部分的Rx buffer。那么最后我从发送端发送的包裹最后实在队列RX_DEST_QNUM还是队列RX_FDQ0_SZ0_QNUM?如果在RX_DEST_QNUM中,那么RX_FDQ0_SZ0_QNUM队列的作用是什么呢?

  • 比如说我看到一个程序,当在发送端发送了packet之后,在接收端的dest queue中弹出一个descpritor,这时,这个descpritor中的buffer就是pay load了是吧,可是为什么最后回收descpritor就是把descpritor压入RX_FDQ0_SZ0_QNUM呢?这是什么原因?

  • guoping Lee 您好!

    1 RX flow中定义了RX_DEST_QNUM是指收到包之后发送到哪个队列。

    2 RX_FDQ0_SZ0_QNUM指的是自由的描述符队列。

    您想想啊:rx flow在接收数据的时候,他要把这些数据放到一个地方吧,然后通知用户说我收到一个包。PA就会从RX_FDQ0_SZ0_QNUM中弹出一个描述符,将数据写到buffPtr中,然后入队到RX_DEST_QNUM,这样用户通过查询或中断的方式就可以知道 有数据接收到了。

    3 如果PA一直收到包,不断的从RX_FDQ0_SZ0_QNUM中弹出描述符,那么总有一天会空的,空就接收失败了,所以回收要push到这个队列

  • 讲的很明白,多谢LI TIAN的解答

  • 您好!

    2个不同的queue,是从RX_FDQ0_SZ0_QNUM取descriptor放到RX_DEST_QNUM。

    RX_DEST_QNUM是目的地。