Hi Stephen, Thanks for reply.
I have the impression that rte flow raw API only support a few Intel NICs and is only in physical function not virtual function. Is there other method to match raw byte string and direct to specific receive queue, there are only 2 bytes can be accessed on X520 NIC. Or should I just buy a Intel 700 series NIC? By the way, what is flex payload, is this a kind of feature only on Intel 700 series NICs? Thanks a lot. > Stephen Hemminger <[email protected]> 於 2019年7月3日 下午10:51 寫道: > > On Wed, 3 Jul 2019 16:05:34 +0800 > Huai-En Tseng <[email protected]> wrote: > >> Hi, >> >> I suppose below three things to understand what difference between flex >> filter, fdir, flex payload and how to use them by tracing source code in >> testpmd. >> >> First, while I use flex filter API with rte_eth_dev_filter_ctrl(), >> RTE_ETH_FILTER_FLEXIBLE and struct rte_eth_flex_filter on my CX4 and X520 >> its not working. >> >> And I find that in dpdk NIC driver there are only a little NICs like igb NIC >> support it, so I assume flex filter does not support most NICs such as i40e, >> ixgbe, ixgbevf and mlx5. >> >> Second, I assume the fdir API is a smaller set which is included the flex >> filter API. >> >> Third, flex payload is kind of flex filter API application. >> >> Is all my assumption right? >> >> And is there any full support hardware list? >> >> Last question, is there any method that I can direct specific packets to >> specific receive queue? >> >> I want to direct pppoe packets to specific receive queue. >> >> I have tried the raw fdir API but it has limited function in X520, and >> testpmd flex filter is not working on my CX4 and X520 too. >> >> I also find there is a feature DDP in Intel 700 series NICs but it seems >> only detects pppoe header but I need to detect ppp header in pppoe header. >> >> Thanks a lot. > > Did you know that flex filter and fdir are older API's that were only > supported on a few Intel NIC's. > > > Use rte_flow instead.
