The patch set supports flow director on fortville. It includes: - set up/tear down fortville resources to support flow director, such as queue and vsi. - define new APIs to support multi-kind filters and their operations. - support operation to add or delete 8 flow types of the flow director filters, they are ipv4, tcpv4, udpv4, sctpv4, ipv6, tcpv6, udpv6, sctpv6. - support flushing flow director table (all filters). - support operation to get flow director information. - match status statistics and FD_ID report . - support operation to configure flexible payload and its mask - support flexible payload involved in comparison
v2 changes: - create real fdir vsi and assign queue 0 pair to it. - check filter status report on the rx queue 0 v3 change: - redefine filter APIs to support multi-kind filters - support sctpv4 and sctpv6 type flows - support flexible payload involved in comparison Jingjing Wu (20): i40e: set up and initialize flow director i40e: tear down flow director i40e: initialize flexible payload setting lib/librte_ether: new filter APIs definition lib/librte_ether: define structures for adding/deleting flow director i40e: implement operations to add/delete flow director app/test-pmd: add test commands to add/delete flow director filter i40e: match counter for flow director i40e: report flow director match info to mbuf lib/librte_ether: define structures for getting flow director information i40e: implement operations to get fdir info app/test-pmd: display fdir statistics i40e: implement operation to flush flow director table app/test-pmd: add test command to flush flow director table lib/librte_ether: define structures for configuring flexible payload i40e: implement operations to configure flexible payload app/test-pmd: add test command to configure flexible payload lib/librte_ether: define structures for configuring flex masks i40e: implement operations to configure flexible masks app/test-pmd: add test command to configure flexible masks app/test-pmd/cmdline.c | 813 +++++++++++++++++++++++++ app/test-pmd/config.c | 40 +- app/test-pmd/testpmd.h | 3 + lib/librte_ether/Makefile | 1 + lib/librte_ether/rte_eth_ctrl.h | 343 +++++++++++ lib/librte_ether/rte_ethdev.c | 32 + lib/librte_ether/rte_ethdev.h | 67 ++- lib/librte_pmd_i40e/Makefile | 2 + lib/librte_pmd_i40e/i40e_ethdev.c | 148 ++++- lib/librte_pmd_i40e/i40e_ethdev.h | 34 +- lib/librte_pmd_i40e/i40e_fdir.c | 1202 +++++++++++++++++++++++++++++++++++++ lib/librte_pmd_i40e/i40e_rxtx.c | 175 ++++++ 12 files changed, 2815 insertions(+), 45 deletions(-) create mode 100644 lib/librte_ether/rte_eth_ctrl.h create mode 100644 lib/librte_pmd_i40e/i40e_fdir.c -- 1.8.1.4