[dpdk-dev] [PATCH v3 0/6] new ntuple filter replaces 2tuple and 5tuple filters
Xu, HuilongX
huilongx.xu at intel.com
Fri Feb 13 03:59:30 CET 2015
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
More information about the dev
mailing list