From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 3733C7E2B for ; Tue, 30 Sep 2014 08:14:11 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP; 29 Sep 2014 23:18:35 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.04,625,1406617200"; d="scan'208";a="610692224" Received: from shvmail01.sh.intel.com ([10.239.29.42]) by orsmga002.jf.intel.com with ESMTP; 29 Sep 2014 23:20:34 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shvmail01.sh.intel.com with ESMTP id s8U6KVI1003437; Tue, 30 Sep 2014 14:20:31 +0800 Received: from shecgisg004.sh.intel.com (localhost [127.0.0.1]) by shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id s8U6KTu2011006; Tue, 30 Sep 2014 14:20:31 +0800 Received: (from hzhan75@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id s8U6KTOU011002; Tue, 30 Sep 2014 14:20:29 +0800 From: Helin Zhang To: dev@dpdk.org Date: Tue, 30 Sep 2014 14:20:21 +0800 Message-Id: <1412058028-10971-1-git-send-email-helin.zhang@intel.com> X-Mailer: git-send-email 1.7.4.1 Subject: [dpdk-dev] [PATCH v3 0/7] Support configuring hash functions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Sep 2014 06:14:11 -0000 These patches mainly support configuring hash functions. In detail, - It can get or set hash functions. - It can configure symmetric hash functions. * Get/set symmetric hash enable per port. * Get/set symmetric hash enable per 'PCTYPE'. * Get/set filter swap configurations. - 'ethdev' level interfaces are added. * 'rte_eth_dev_filter_supported', to check if a filter control is supported on a port. * 'rte_eth_dev_filter_ctrl', a common API to execute specific filter control. - Six commands have been implemented in testpmd to support testing above. * get_sym_hash_ena_per_port * set_sym_hash_ena_per_port * get_sym_hash_ena_per_pctype * set_sym_hash_ena_per_pctype * get_filter_swap * set_filter_swap * get_hash_function * set_hash_function Note that 'PCTYPE' means 'Packet Classification Type'. v3 changes: * Removed renamings in rte_ethdev.h. * Redesigned filter control API and its relevant structures/enums. * Renamed header file from rte_eth_features.h to rte_eth_ctrol.h. * Remove public header file of rte_i40e.h specific for i40e. * Added hardware initialization function during port init. * Used constant random hash keys in i40e PF. * renamed the commands in testpmd based on the redesigned filter control API. Helin Zhang (7): ethdev: add more annotations ethdev: add interfaces and relevant for filter control ethdev: add structures and enum for hash filter control i40e: add hash filter control implementation i40e: add hardware initialization i40e: Use constant random hash keys app/testpmd: add commands to support hash filter control app/test-pmd/cmdline.c | 565 ++++++++++++++++++++++++++++++++++++++ lib/librte_ether/Makefile | 1 + lib/librte_ether/rte_eth_ctrl.h | 154 +++++++++++ lib/librte_ether/rte_ethdev.c | 32 +++ lib/librte_ether/rte_ethdev.h | 53 +++- lib/librte_pmd_i40e/i40e_ethdev.c | 492 ++++++++++++++++++++++++++++++++- 6 files changed, 1290 insertions(+), 7 deletions(-) create mode 100644 lib/librte_ether/rte_eth_ctrl.h -- 1.8.1.4