From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id A0720594F for ; Wed, 21 May 2014 17:30:32 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga103.fm.intel.com with ESMTP; 21 May 2014 08:26:40 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.98,880,1392192000"; d="scan'208";a="535510377" Received: from shilc102.sh.intel.com ([10.239.39.44]) by fmsmga001.fm.intel.com with ESMTP; 21 May 2014 08:30:37 -0700 Received: from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com [10.239.29.89]) by shilc102.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP id s4LFUTaV001336; Wed, 21 May 2014 23:30:32 +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 s4LFUQYD004808; Wed, 21 May 2014 23:30:28 +0800 Received: (from hzhan75@localhost) by shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id s4LFUQg4004804; Wed, 21 May 2014 23:30:26 +0800 From: Helin Zhang To: dev@dpdk.org Date: Wed, 21 May 2014 23:29:59 +0800 Message-Id: <1400686221-4696-1-git-send-email-helin.zhang@intel.com> X-Mailer: git-send-email 1.7.0.7 Subject: [dpdk-dev] [PATCH 00/22][PMD][I40E] *** Add i40e PMD support *** 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: Wed, 21 May 2014 15:30:33 -0000 Summary: The series of patches are to add i40e PMD support. * Add new PMD driver of i40e in the folder of librte_pmd_i40e * Add some neccessary definitions, changes in rte_mbuf.h and eth_dev * Add new configurations for i40e * Add or modifiy makefiles to support i40e compilation * Add neccessary changes in ixgbe, e1000 and vmxnet3 PMD, as hash flags has been enlarged from 16 bits to 64 bits to support i40e * Add neccessary changes in example applications and testpmd to use ETH_RSS_IP to replace all IP hash flags, as i40e introduced more hash flags. * Add command in testpmd for port based vlan insertion offload testing * Add neccessary changes in eth_dev to support configuring maximum packet length of less than 1518 * Add two sys files in igb_uio to support enabling/disabling 'Extended Tag' and resetting 'Max Read Request Size', as it has big impacts on i40e performance * Add neccessary changes in pci to read/write the above two sys files during probing PCI Helin Zhang (22): i40e: add basic shared code i40e: add PMD source files i40e: add i40e support e1000: enlarge the hash flags of RSS to 64 bits ixgbe: enlarge the hash flags of RSS to 64 bits vmxnet3: enlarge the hash flags of RSS to 64 bits app/testpmd: enlarge the hash flags of RSS to 64 bits examples/qos_meter: use ETH_RSS_IP to replace IP hash flags of RSS examples/multi_process: use ETH_RSS_IP to replace IP hash flags of RSS examples/l3fwd: use ETH_RSS_IP to replace IP hash flags of RSS examples/l3fwd-vf: use ETH_RSS_IP to replace IP hash flags of RSS examples/l3fwd-power: use ETH_RSS_IP to replace IP hash flags of RSS examples/ip_reassembly: use ETH_RSS_IP to replace IP hash flags of RSS examples/dpdk_qat: use ETH_RSS_IP to replace IP hash flags of RSS examples/load_balancer: use ETH_RSS_IP to replace IP hash flags of RSS app/test-pmd: tell the driver the correct packet type to support i40e TX checksum offload app/test-pmd: support displaying i40e 32 bytes RX descriptor app/test-pmd: support setting port based VLAN ID offloading igb_uio: add sys files to read/write specific bits in pci config space pci: support reading/writing sys files of 'extended_tag' and 'max_read_request_size' config: add configurations for enabling 'Extended Tag' or resetting 'Max Read Request Size' ethdev: support setting maximum packet length to less than 1518 app/test-pmd/cmdline.c | 65 +- app/test-pmd/config.c | 45 +- app/test-pmd/csumonly.c | 2 + app/test-pmd/parameters.c | 5 +- app/test-pmd/testpmd.c | 2 +- app/test-pmd/testpmd.h | 4 +- config/defconfig_i686-default-linuxapp-gcc | 30 + config/defconfig_i686-default-linuxapp-icc | 30 + config/defconfig_x86_64-default-bsdapp-gcc | 15 + config/defconfig_x86_64-default-linuxapp-gcc | 30 + config/defconfig_x86_64-default-linuxapp-icc | 30 + examples/dpdk_qat/main.c | 2 +- examples/ip_reassembly/main.c | 2 +- examples/l3fwd-power/main.c | 2 +- examples/l3fwd-vf/main.c | 2 +- examples/l3fwd/main.c | 2 +- examples/load_balancer/init.c | 2 +- examples/multi_process/symmetric_mp/main.c | 2 +- examples/qos_meter/main.c | 2 +- lib/Makefile | 1 + lib/librte_eal/common/include/rte_pci_dev_ids.h | 44 + lib/librte_eal/linuxapp/eal/eal_pci.c | 101 + lib/librte_eal/linuxapp/igb_uio/igb_uio.c | 107 + lib/librte_ether/rte_ethdev.c | 25 +- lib/librte_ether/rte_ethdev.h | 146 +- lib/librte_ether/rte_ether.h | 24 + lib/librte_mbuf/rte_mbuf.h | 8 + lib/librte_pmd_e1000/igb_rxtx.c | 16 +- lib/librte_pmd_i40e/Makefile | 85 + lib/librte_pmd_i40e/i40e/i40e_adminq.c | 1210 ++ lib/librte_pmd_i40e/i40e/i40e_adminq.h | 121 + lib/librte_pmd_i40e/i40e/i40e_adminq_cmd.h | 2198 ++++ lib/librte_pmd_i40e/i40e/i40e_alloc.h | 65 + lib/librte_pmd_i40e/i40e/i40e_common.c | 5176 ++++++++ lib/librte_pmd_i40e/i40e/i40e_dcb.c | 1165 ++ lib/librte_pmd_i40e/i40e/i40e_dcb.h | 264 + lib/librte_pmd_i40e/i40e/i40e_diag.c | 180 + lib/librte_pmd_i40e/i40e/i40e_diag.h | 61 + lib/librte_pmd_i40e/i40e/i40e_hmc.c | 388 + lib/librte_pmd_i40e/i40e/i40e_hmc.h | 287 + lib/librte_pmd_i40e/i40e/i40e_lan_hmc.c | 1443 ++ lib/librte_pmd_i40e/i40e/i40e_lan_hmc.h | 272 + lib/librte_pmd_i40e/i40e/i40e_nvm.c | 487 + lib/librte_pmd_i40e/i40e/i40e_osdep.h | 192 + lib/librte_pmd_i40e/i40e/i40e_prototype.h | 480 + lib/librte_pmd_i40e/i40e/i40e_register.h | 15210 ++++++++++++++++++++++ lib/librte_pmd_i40e/i40e/i40e_register_int.h | 96 + lib/librte_pmd_i40e/i40e/i40e_status.h | 107 + lib/librte_pmd_i40e/i40e/i40e_type.h | 1660 +++ lib/librte_pmd_i40e/i40e/i40e_virtchnl.h | 385 + lib/librte_pmd_i40e/i40e_ethdev.c | 3961 ++++++ lib/librte_pmd_i40e/i40e_ethdev.h | 349 + lib/librte_pmd_i40e/i40e_ethdev_vf.c | 1286 ++ lib/librte_pmd_i40e/i40e_logs.h | 74 + lib/librte_pmd_i40e/i40e_pf.c | 902 ++ lib/librte_pmd_i40e/i40e_pf.h | 67 + lib/librte_pmd_i40e/i40e_rxtx.c | 2217 ++++ lib/librte_pmd_i40e/i40e_rxtx.h | 187 + lib/librte_pmd_ixgbe/ixgbe_rxtx.c | 16 +- lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c | 16 +- mk/rte.app.mk | 4 + 61 files changed, 41311 insertions(+), 46 deletions(-) create mode 100644 lib/librte_pmd_i40e/Makefile create mode 100644 lib/librte_pmd_i40e/i40e/i40e_adminq.c create mode 100644 lib/librte_pmd_i40e/i40e/i40e_adminq.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_adminq_cmd.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_alloc.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_common.c create mode 100644 lib/librte_pmd_i40e/i40e/i40e_dcb.c create mode 100644 lib/librte_pmd_i40e/i40e/i40e_dcb.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_diag.c create mode 100644 lib/librte_pmd_i40e/i40e/i40e_diag.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_hmc.c create mode 100644 lib/librte_pmd_i40e/i40e/i40e_hmc.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_lan_hmc.c create mode 100644 lib/librte_pmd_i40e/i40e/i40e_lan_hmc.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_nvm.c create mode 100644 lib/librte_pmd_i40e/i40e/i40e_osdep.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_prototype.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_register.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_register_int.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_status.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_type.h create mode 100644 lib/librte_pmd_i40e/i40e/i40e_virtchnl.h create mode 100644 lib/librte_pmd_i40e/i40e_ethdev.c create mode 100644 lib/librte_pmd_i40e/i40e_ethdev.h create mode 100644 lib/librte_pmd_i40e/i40e_ethdev_vf.c create mode 100644 lib/librte_pmd_i40e/i40e_logs.h create mode 100644 lib/librte_pmd_i40e/i40e_pf.c create mode 100644 lib/librte_pmd_i40e/i40e_pf.h create mode 100644 lib/librte_pmd_i40e/i40e_rxtx.c create mode 100644 lib/librte_pmd_i40e/i40e_rxtx.h -- 1.8.1.4