Tested-by:huilong xu <huilongx.xu at intel.com> - Tested Commit: 2250cc5a191906c914221ff4f0da7b5d699b4175 - OS: Fedora20 3.11.10-301.fc20.x86_64 - GCC: gcc version 4.8.3 20140911 (Red Hat 4.8.3-7) (GCC) - CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz - NIC: Intel Corporation 82599EB 10-Gigabit Network Connection [8086:10fb] Intel Corporation I350 Gigabit Network Connection [8086:1521] Intel Corporation 82580 Gigabit Network Connection [8086:150e]
- Default x86_64-native-linuxapp-gcc configuration - Total 2 cases, 2 passed, 0 failed - Case: five_tuple_filter Description: Check specified tcp package receive by specified queue. Test NIC 82599EB Command / instruction: Start testpmd testpmd -c ffff -n 4 -- -i --disable-rss --rxq=4 --txq=4 --portmask=0x3 --nb-cores=8 --nb-ports=2 set queue map: set stat_qmap rx 0 0 0 set stat_qmap rx 1 0 0 set stat_qmap rx 0 1 1 set stat_qmap rx 1 1 1 set stat_qmap rx 0 2 2 set stat_qmap rx 1 2 2 set stat_qmap rx 0 3 3 set stat_qmap rx 1 3 3 set vlan offload: vlan set strip off 0 vlan set strip off 1 vlan set filter off 0 vlan set filter off 1 set flush rx on: set flush_rx on start testpmd: start add five tuple filter: 5tuple_filter 0 add dst_ip 2.2.2.5 src_ip 2.2.2.4 dst_port 1 src_port 1 protocol 0x06 mask 0x1f tcp_flags 0x0 priority 3 queue 3 Send packets with tcp inner L4 data,dstip 2.2.2.5, scrip 2.2.2.4,dstport 1, srcport 1, protocol 0x06 test result: testpmd can receive the package by port 0 queue 3 remove five tuple filter: 5tuple _filter 0 del dst_ip 2.2.2.5 src_ip 2.2.2.4 dst_port 1 src_port 1 protocol 0x06 mask 0x1f tcp_flags 0x0 priority 3 queue 3 Send packets with tcp inner L4 data,dstip 2.2.2.5, scrip 2.2.2.4,dstport 1, srcport 1, protocol 0x06 test result: testpmd can receive the package by port 0 queue 0 - Case: twotuple_filter Description: Check specified udp package receive by specified queue. Test NIC i350 and 82580 Command / instruction: Start testpmd testpmd -c ffff -n 4 -- -i --disable-rss --rxq=4 --txq=4 --portmask=0x3 --nb-cores=8 --nb-ports=2 set queue map: set stat_qmap rx 0 0 0 set stat_qmap rx 1 0 0 set stat_qmap rx 0 1 1 set stat_qmap rx 1 1 1 set stat_qmap rx 0 2 2 set stat_qmap rx 1 2 2 set stat_qmap rx 0 3 3 set stat_qmap rx 1 3 3 set vlan offload: vlan set strip off 0 vlan set strip off 1 vlan set filter off 0 vlan set filter off 1 set flush rx on: set flush_rx on start testpmd: start add two tuple filter: 2tuple_filter 0 add dst_port 64 protocol 0x11 mask 1 tcp_flags 0 priority 3 queue 1 Send packets with udp inner L4 data,dstport 64, protocol 0x11 test result: testpmd can receive the package by port 0 queue 1 remove five tuple filter: 5tuple 2tuple_filter 0 del dst_port 64 protocol 0x11 mask 1 tcp_flags 0 priority 3 queue 1 Send packets with tcp inner L4 data, dstport 64 ,protocol 0x11 test result: testpmd can receive the package by port 0 queue 0 -----Original Message----- From: Wu, Jingjing Sent: Tuesday, February 10, 2015 12:48 PM To: dev at dpdk.org Cc: Wu, Jingjing; De Lara Guarch, Pablo; Cao, Min; Xu, HuilongX Subject: [PATCH v3 0/6] new ntuple filter replaces 2tuple and 5tuple filters v2 changes: - remove the code which is already applied in patch "Integrate ethertype filter in igb/ixgbe driver to new API". - modify commands' description in doc testpmd_funcs.rst. v3 change: - remove the UINT32_BIT definition in ixgbe driver The patch set uses new filter_ctrl API to replace old 2tuple and 5tuple filter APIs. It defines ntuple filter to combine 2tuple and 5tuple types. It uses new functions and structure to replace old ones in igb/ixgbe driver, new commands to replace old ones in testpmd, and removes the old APIs. It removes the filter's index parameters from user interface, only the filter's key and assigned queue are visible to user. Jingjing Wu (6): ethdev: define ntuple filter type and its structure ixgbe: ntuple filter functions replace old ones for 5tuple filter e1000: ntuple filter functions replace old ones for 2tuple and 5tuple filter testpmd: new commands for ntuple filter ethdev: remove old APIs and structures of 5tuple and 2tuple filters doc: commands changed in testpmd_funcs for 2tuple amd 5tuple filter app/test-pmd/cmdline.c | 406 ++++++------- app/test-pmd/config.c | 65 --- doc/guides/testpmd_app_ug/testpmd_funcs.rst | 99 +--- lib/librte_ether/rte_eth_ctrl.h | 57 ++ lib/librte_ether/rte_ethdev.c | 116 ---- lib/librte_ether/rte_ethdev.h | 192 ------ lib/librte_pmd_e1000/e1000_ethdev.h | 69 ++- lib/librte_pmd_e1000/igb_ethdev.c | 869 +++++++++++++++++++--------- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 468 +++++++++++---- lib/librte_pmd_ixgbe/ixgbe_ethdev.h | 52 +- 10 files changed, 1300 insertions(+), 1093 deletions(-) -- 1.9.3