[dpdk-dev] [PATCH v5 0/8] support of multiple sizes of redirection table
erlu.chen at intel.com
Sat Nov 8 09:01:57 CET 2014
Tested-by: Erlu Chen <erlu.chen at intel.com>
- Tested Commit: 6630bc42449aebba33b0817ae830cbdf3a83a1b6
- OS: Linux fc20 3.11.10-301.fc20.x86_64
- CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
- GCC: gcc version 4.8.3 20140624
- NIC: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572]
Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ [8086:1584]
Intel Corporation Ethernet Controller XL710 for 40GbE QSFP+ [8086:1583]
- Default x86_64-native-linuxapp-gcc configuration
- Total 1 cases, 1 passed, 0 failed
- Case: pmdrss_reta
Description: pmdrss_reta is designed to improve networking performance by load balancing the packets received from a NIC port to multiple NIC RX queues, with each queue handled by a different logical core.
Command / instruction:
#1. set up testpmd with fortville NICs::
./testpmd -c fffff -n %d -- -i --coremask=0xffffe --rxq=16 --txq=16
#2. verbose configuration::
testpmd command: set verbose 8
#3. PMD fwd only receive the packets::
testpmd command: set fwd rxonly
#4. Reta Configuration. 128 or 512 reta entries configuration::
testpmd command: port config 0 rss reta (hash_index,queue_id)
#5. start packet receive::
testpmd command: start
#1. set up scapy
#2. send packets with different type ipv4/ipv4 with tcp/ipv4 with udp/ipv6/ipv6 with tcp/ipv6 with udp::
sendp([Ether(dst="90:e2:ba:36:99:3c")/IP(src="192.168.0.4", dst="192.168.0.5")], iface="eth3")
Expected test result:
The testpmd will print the hash value and actual queue of every packet.
#1. Calaute the queue id: hash value%128or512, then refer to the redirection table to get the theoretical queue id.
#2. The theoretical queue id is the same with the actual queue id.
From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Helin Zhang
Sent: Thursday, November 06, 2014 10:25 PM
To: dev at dpdk.org
Subject: [dpdk-dev] [PATCH v5 0/8] support of multiple sizes of redirection table
As e1000, ixgbe and i40e hardware use different sizes of redirection table in PF or VF, ethdev and PMDs need to be reworked to support multiple sizes of that table. In addition, commands in testpmd also need to be reworked to support these changes.
* Reorganized the patches.
* Added code style fixes.
* Added support of reta updating/querying in i40e VF.
* Reorganized the patch set.
* Added returning default RX/TX configurations in VF (igb/ixgbe/i40e), as the
patch set of it for PF has been accepted recently.
* Renamed RTE_BIT_WIDTH_64 to RTE_RETA_GROUP_SIZE.
* Added more comments to rte_eth_dev_rss_reta_update() and
* Reworked the annotations of macros of RETA sizes in rte_ethdev.h.
Helin Zhang (8):
app/testpmd: code style fix
i40evf: code style fix
i40e: support of setting hash lookup table size
igb: implement ops of 'dev_infos_get' for PF and VF respectively
ixgbe: implement ops of 'dev_infos_get' for PF and VF respectively
i40e: rework of ops of 'dev_infos_get' for both PF and VF
ethdev: support of multiple sizes of redirection table
i40evf: support of updating/querying redirection table
app/test-pmd/cmdline.c | 166 +++++++++++++++++++++--------
app/test-pmd/config.c | 37 ++++---
app/test-pmd/testpmd.h | 4 +-
lib/librte_ether/rte_ethdev.c | 116 ++++++++++++--------
lib/librte_ether/rte_ethdev.h | 51 ++++++---
lib/librte_pmd_e1000/igb_ethdev.c | 170 +++++++++++++++++++-----------
lib/librte_pmd_i40e/i40e_ethdev.c | 122 +++++++++++----------
lib/librte_pmd_i40e/i40e_ethdev.h | 25 ++++-
lib/librte_pmd_i40e/i40e_ethdev_vf.c | 124 +++++++++++++++++++++- lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 198 ++++++++++++++++++++++-------------
10 files changed, 694 insertions(+), 319 deletions(-)
More information about the dev