<html><div>Hi,</div>
<div>I am trying to use the rte_flow_query function to find all the flow rules in a port, but when it comes the action parameter i cannot find the right way because when I use count action like in the ipsec example</div>
<div> </div>
<div>
<div>struct rte_flow_action action;</div>
<div>action.type = RTE_FLOW_ACTION_TYPE_COUNT;</div>
<div>
<div>
<div>rte_errno = 0;</div>
<div>ret = rte_flow_query(port_id,flow_local,action,&count_query,&error);</div>
<div>if (ret) {</div>
<div>std::cout<<error.message<<error.type<<std::endl;</div>
<div>printf("Error meaning:%d%d%s\n",ret,rte_errno,rte_strerror(-ret));</div>
<div>}</div>
</div>
</div>
</div>
<div>it gives me "Error meaning:-22 22 Invalid argument".</div>
<div>And when i try to use my original flow rule</div>
<div> </div>
<div>
<div>struct rte_flow_action action[4];</div>
<br />
<div>structrte_flow_action_rssrss;</div>
<div>structrte_flow_action_markmark;</div>
<br />
<div>staticuint8_thash_key[RSS_HASH_KEY_LENGTH] = {</div>
<div>0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,</div>
<div>0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,</div>
<div>0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,</div>
<div>0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,</div>
<div>0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A, 0x6D, 0x5A,</div>
<div>};</div>
<div>rss.key = hash_key;</div>
<div>rss.key_len = RSS_HASH_KEY_LENGTH;</div>
<div>rss.func = RTE_ETH_HASH_FUNCTION_DEFAULT;</div>
<div> </div>
<div>rss.types = RTE_ETH_RSS_IP;</div>
<div>rss.queue_num = 1;</div>
<div>rss.level = 0;</div>
<br />
<div>mark.id = 0;</div>
<br />
<div>action[0].type = RTE_FLOW_ACTION_TYPE_MARK;</div>
<div>action[0].conf = &mark;</div>
<div>action[1].type = RTE_FLOW_ACTION_TYPE_RSS;</div>
<div>action[1].conf = &rss;</div>
<div>action[2].type = RTE_FLOW_ACTION_TYPE_END;</div>
<div>
<div>rte_errno = 0;</div>
<div>ret = rte_flow_query(port_id,flow_local,action,&count_query,&error);</div>
<div>if (ret) {</div>
<div>std::cout<<error.message<<error.type<<std::endl;</div>
<div>printf("Error meaning:%d%d%s\n",ret,rte_errno,rte_strerror(-ret));</div>
<div>}</div>
<div> </div>
<div>it gives me "Error meaning:-95 95 Operation not supported".</div>
<div> </div>
<div>What is the correct way to use this function in order to reach all the flows of the port.</div>
<div> </div>
<div>Thanks,</div>
<div>Aisenur Yoldas</div>
<div> </div>
<div> </div>
</div>
</div></html>