我对PKTDMA的理解是:PKTDMA是一个特定环境下的数据包的收发器,如SRIO、NETCP等,但在“sprugr9f:KeyStone Architecture Multicore Navigator.pdf”资料上讲,每一个PKTDMA有不同数目的channels与flows。我一直认为每一个PKTDMA只需要一个收、发channel及一个flow就可以了。
不知道我的理解哪儿出了问题?谢谢帮我解答一下困惑。
chenpjh:
是否可以这样对比理解:(以PKTDMA与我们最熟习的IP互联网协议进行对比)
PKTDMA相当于IP 地址
channels相当于ports的端口号
chenpjh:
回复 chenpjh:
PKTDAM可以配置多个信道channels,以便并行接收。因而,PKTDAM与Channel之间是一对多的关系。
而Rxflows主要用来标识接收channel信号流的属性,同一个channel可能由多个Rxflows来进行说明,而同一个RxFlow也可以同时给多个接收Channel进行说明。因而RxFlows与Channels之间没有明确的对应关系。
以上对PKTDAM、Channels、RxFlows之间的关系理解是否正确?望点评一下,谢谢了!
chenpjh:
回复 chenpjh:
谢谢Andy!
Andy Yin1:
回复 chenpjh:
你的理解是正确的。flow可以由用户在每个pkt的descriptor中配置指定,所以每个pkt可以指定不同的flow,channel分成Tx/Rx channel,一般来说Tx channel是与Tx Q一一对应的,Rxchannel的选定与不同的navigator device有关,可能是与Tx channel一一对应,也可能是由PKTDMA随机选择。