我正在尝试在单个物理端口上使用带有多个rx
和tx
队列的dpdk。目标是让每个线程在其自己的tx
端口上发送Rpcs(在数据包内部具有一些标识符),并在其自己的rx
队列上接收响应。
但是,为了让响应返回正确的队列,我需要配置rss
以根据请求中的某个标识符来引导响应数据包。
逻辑上,我想用我们发送的tx队列的队列ID标记我的请求数据包,并且rpc的服务器端将使用相同的队列ID标记响应;目标是硬件读取标记并将响应数据包定向到正确的硬件队列。
基于dpdk documentation,似乎我只能指定一个哈希键而不是一个任意函数来决定传入的消息将进入哪个rx
队列。不幸的是,我似乎无法找到源代码或文档演示了如何使用此哈希键(可能是因为它在硬件中),因此我无法相应地安排我的数据包。
有没有办法使用哈希键来获得匹配请求和响应的效果?
或者,是否有某种方法让dpdk运行任意函数来确定传入数据包的正确目标队列?
答案 0 :(得分:0)
有没有办法让dpdk运行一个任意函数来确定传入数据包的正确目标队列?
如果我们需要将某些流量转移到特定队列,则DPDK中会有Generic flow API。
首先,请查看Flow API Examples。