[dpdk-dev] [PATCH 00/22][PMD][I40E] *** Add i40e PMD support ***
Helin Zhang
helin.zhang at intel.com
Wed May 21 17:29:59 CEST 2014
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
More information about the dev
mailing list