From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by dpdk.org (Postfix) with ESMTP id F23027E24 for ; Fri, 27 Apr 2018 02:21:22 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 26 Apr 2018 17:21:19 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,332,1520924400"; d="scan'208";a="51160657" Received: from sivswdev02.ir.intel.com ([10.237.217.46]) by orsmga001.jf.intel.com with ESMTP; 26 Apr 2018 17:21:18 -0700 From: Ferruh Yigit To: Thomas Monjalon Cc: dev@dpdk.org, Ferruh Yigit Date: Fri, 27 Apr 2018 01:21:13 +0100 Message-Id: <20180427002113.19761-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.12.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [pull-request] next-net 18.05 RC1 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Apr 2018 00:21:24 -0000 The following changes since commit 363e56f9e23cfdd0ba73c9a49a97d95565052baf: mempool/bucket: do not allow one lcore to grab all buckets (2018-04-26 23:34:07 +0200) are available in the Git repository at: http://dpdk.org/git/next/dpdk-next-net for you to fetch changes up to 80c7d70b5f32cf2ae86c848e4d79d763f436cfff: ethdev: rename folder to library name (2018-04-27 00:57:08 +0100) ---------------------------------------------------------------- Adrien Mazarguil (27): net/mlx4: fix RSS resource leak in case of error net/mlx4: fix ignored RSS hash types net/mlx5: fix RSS flow action bounds check net/bnxt: fix matching of flow API item masks app/testpmd: fix flow completion for RSS queues app/testpmd: fix lack of flow action configuration app/testpmd: fix RSS flow action configuration app/testpmd: fix missing RSS fields in flow action app/testpmd: fix missing boolean values in flow command ethdev: fix shallow copy of flow API RSS action ethdev: fix missing include in flow API ethdev: add error types to flow API ethdev: clarify flow API pattern items and actions doc: remove flow API migration section ethdev: remove DUP action from flow API ethdev: alter behavior of flow API actions ethdev: fix C99 flexible arrays from flow API ethdev: flatten RSS configuration in flow API ethdev: add hash function to RSS flow API action ethdev: add encap level to RSS flow API action ethdev: fix TPID handling in flow API ethdev: fix default VLAN TCI mask in flow API ethdev: add transfer attribute to flow API ethdev: fix behavior of VF/PF in flow API ethdev: rename physical port item in flow API ethdev: add physical port action to flow API ethdev: add port ID item and action to flow API Ajit Khaparde (16): net/bnxt: set default log level to informational net/bnxt: set padding flags in Rx descriptor net/bnxt: fix endianness of flag net/bnxt: fix incorrect ntuple flag setting net/bnxt: fix Rx checksum flags for tunnel frames net/bnxt: fix L2 filter cleanup net/bnxt: fix flow destroy net/bnxt: add code to determine the Tx COS queue net/bnxt: maintain rx_mbuf_alloc_fail per RxQ net/bnxt: reset l2_filter_id once filter is freed net/bnxt: free memory allocated for VF filters net/bnxt: use UINT64_MAX to initialize filter ids net/bnxt: avoid freeing mem_zone multiple times net/bnxt: cache address of doorbell to subsequent access net/bnxt: avoid invalid vnic id in set L2 Rx mask net/bnxt: fix mbuf data offset initialization Alejandro Lucero (2): net/nfp: support MAC address change net/nfp: fix mbufs releasing when stop or close Andrew Rybchenko (21): net/sfc/base: cope with clang warning on negative shift net/sfc: ignore spec bits not covered by mask net/sfc: do not use RSS context if it is not required net/sfc/base: update autogenerated MCDI and TLV headers net/sfc/base: make RxQ type data an union net/sfc/base: detect equal stride super-buffer support net/sfc/base: support equal stride super-buffer Rx mode net/sfc/base: add equal stride super-buffer prefix layout net/sfc: factor out function to push Rx doorbell net/sfc: prepare EF10 Rx event parser to be reused net/sfc: move EF10 Rx event parser to shared header net/sfc: conditionally compile support for tunnel packets net/sfc: allow one Rx queue entry carry many packet buffers net/sfc: allow to take mbuf pool into account when sizing net/sfc: support equal stride super-buffer Rx mode net/sfc: support callback to check if mempool is supported net/sfc: check mempool when equal stride super-buffer used net/sfc: support DPDK firmware variant net/sfc: add Rx descriptor wait timeout net/sfc: support flow marks in equal stride super-buffer Rx doc: advertise equal stride super-buffer Rx mode in net/sfc Chas Williams (1): net/vmxnet3: keep link state consistent David Marchand (1): net/enic: add primary MAC address handler Declan Doherty (12): doc: add switch representation documentation ethdev: add switch identifier parameter to port ethdev: add generic create/destroy ethdev APIs ethdev: add port representor device flag app/testpmd: add port name to device info ethdev: add switch domain allocator net/i40e: add support for representor ports net/ixgbe: add support for representor ports ethdev: add tunnel encap/decap actions ethdev: add group JUMP action ethdev: add mark flow item to rte flow item types ethdev: add shared counter support to rte flow Didier Pallard (8): net: export IPv6 header extensions skip function net/vmxnet3: return unknown IPv4 extension len ptype net/vmxnet3: gather offload data on first and last segment net/vmxnet3: fix Rx offload information in multiseg packets net/vmxnet3: complete Rx offloads support net/vmxnet3: guess mss if not provided in LRO mode net/vmxnet3: ignore empty segments in reception net/vmxnet3: skip empty segments in transmission Ferruh Yigit (4): drivers/net: update link status net/tap: fix icc build drivers/net: fix link autoneg value for virtual PMDs ethdev: rename folder to library name Helin Zhang (1): net/ixgbe: add access and locking APIs for MDIO Hemant Agrawal (1): net/vmxnet3: change the SPDX tag style Hyong Youb Kim (1): net/enic: enable overlay offload for VXLAN and GENEVE Ivan Malov (8): net/sfc: add missing Rx fini on RSS setup fail path net/sfc/base: add a new means to control RSS hash net/sfc/base: support more RSS hash configurations net/sfc/base: honour packed stream RSS restriction net/sfc: process RSS settings on Rx configure step net/sfc: remove conditional compilation for RSS net/sfc: factor out RSS fields from adapter info net/sfc: convert to the advanced EFX RSS interface John Daley (1): net/enic: fix uninitialized variable Junjie Chen (1): net/vhost: update license to SPDX format Matan Azrad (4): net/vdev_netvsc: remove specified devices IP check net/vdev_netvsc: add check for specifying by 1 way net/vdev_netvsc: prefer netvsc devices in scan net/bonding: add rte flow support Nitin Saxena (1): net/thunderx: fix MTU configuration for jumbo pkts NĂ©lio Laranjeiro (5): net/mlx5: split L3/L4 in flow director net/mlx5: fix flow director mask net/mlx5: more checks on MAC addresses net/mlx5: split MAC address add/remove code net/mlx5: implement multicast add list devop Ophir Munk (3): net/failsafe: add TCP TSO default Tx capability net/vdev_netvsc: shorten devices names net/tap: return empty port offload capabilities Pablo de Lara (1): net/ixgbe: enable vector PMD for icc 32 bits Pavan Nikhilesh (1): net/axgbe: fix incorrect cache alignment macro Qi Zhang (11): app/testpmd: fix port id type app/testpmd: fix command token ethdev: support runtime queue setup app/testpmd: add command for queue setup app/testpmd: enable per queue configure app/testpmd: enable queue ring size configure net/i40e: enable runtime queue setup ethdev: add neighbor discovery support to flow API ethdev: add TTL change actions to flow API ethdev: add VLAN and MPLS actions to flow API app/testpmd: fix testpmd failure due to RSS offload check Rasesh Mody (2): net/bnx2x: fix for PCI FLR after ungraceful exit net/bnx2x: make init and driver logtype names consistent Remy Horton (1): ethdev: add common devargs parser Roman Zhukov (5): net/sfc/base: get actions MARK and FLAG support net/sfc/base: support MARK and FLAG actions in filters net/sfc/base: get max supported value for action MARK net/sfc: make processing of flow rule actions more uniform net/sfc: support MARK and FLAG actions in flow API Shahaf Shuler (1): ethdev: remove new to old offloads API helpers Shahed Shaikh (1): app/testpmd: add option to configure udp tunnel port Shraddha Joshi (1): net/vmxnet3: increase Rx data ring descriptor size Somnath Kotur (1): net/bnxt: add device ID for Stratus VF Stephen Hemminger (15): net/nfp: use correct logtype for init messages net/nfp: add implied new line to PMD_DRV_LOG net/nfp: fix double space in init log net/nfp: add newline in PMD_RX/TX_LOG macros net/nfp: use dynamic logging everywhere net/tap: convert to dynamic logging net/af_packet: convert to dynamic log level net/null: convert to dynamic logging net/ring: convert to dynamic logging net/softnic: convert to dynamic logging net/failsafe: convert to dynamic logging net/kni: support dynamic logging net/pcap: support dynamic logging net/vhost: implement dynamic logging net/bonding: convert to dynamic logging Sunil Kumar Kori (2): net/dpaa: fix the ethdev offload checks net/dpaa2: fix the ethdev offload checks Thomas Monjalon (2): drivers/net: remove duplicated includes ethdev: remove experimental flag of ports enumeration Tomasz Duszynski (1): net/mvpp2: update maintainers Vipin Varghese (1): net/tap: fix the protocol field for non ip Wei Dai (2): net/ixgbe: fix missing support of multi-segs offloading net/ixgbe: fix segfault in configuring VF VLAN strip Xiao Wang (5): vfio: extend data structure for multi container vfio: add multi container support net/virtio: skip device probe in vdpa mode net/ifcvf: add ifcvf vdpa driver doc: add ifcvf driver document and release note Xueming Li (23): net/mlx5: fix invalid flow item check ethdev: add supported hash function check app/testpmd: new parameter for port config all RSS command ethdev: introduce generic IP/UDP tunnel checksum and TSO app/testpmd: testpmd support Tx generic tunnel offloads net/mlx5: separate TSO function in Tx data path net/mlx5: support generic tunnel offloading net/mlx5: allow max 192B TSO inline header length ethdev: introduce new tunnel VXLAN-GPE ethdev: introduce tunnel type MPLS-in-GRE and MPLS-in-UDP app/testpmd: introduce new tunnel VXLAN-GPE app/testpmd: add more GRE extension support to csum engine net/mlx5: support 16 hardware priorities net/mlx5: support GRE tunnel flow net/mlx5: support L3 VXLAN flow net/mlx5: support Rx tunnel type identification net/mlx5: cleanup tunnel checksum offloads net/mlx5: split flow RSS handling logic net/mlx5: support tunnel RSS level net/mlx5: add hardware flow debug dump net/mlx5: introduce VXLAN-GPE tunnel type net/mlx5: allow flow tunnel ID 0 with outer pattern doc: update mlx5 guide on tunnel offloading Yangchao Zhou (2): net/nfp: fix possible resource leak net/bnx2x: reserve enough headroom for mbuf prepend Yongseok Koh (2): net/mlx5: fix alignment of Memory Region net/mlx4: fix alignment of Memory Region Zijie Pan (5): ethdev: add access to eeprom examples/ethtool: add a new command module-eeprom net/ixgbe: add module EEPROM callbacks for ixgbe net/e1000: add module EEPROM callbacks for e1000 net/i40e: add module EEPROM callbacks for i40e MAINTAINERS | 16 +- app/test-pmd/cmdline.c | 354 +++++- app/test-pmd/cmdline_flow.c | 1093 ++++++++++++++-- app/test-pmd/config.c | 324 +++-- app/test-pmd/csumonly.c | 103 +- app/test-pmd/parameters.c | 12 +- app/test-pmd/testpmd.c | 106 +- app/test-pmd/testpmd.h | 23 +- config/common_base | 8 + config/common_linuxapp | 1 + config/defconfig_i686-native-linuxapp-icc | 5 - config/rte_config.h | 1 + doc/api/doxy-api.conf | 2 +- doc/guides/nics/bnx2x.rst | 1 + doc/guides/nics/enic.rst | 53 + doc/guides/nics/features.rst | 40 + doc/guides/nics/features/avf.ini | 1 - doc/guides/nics/features/avf_vec.ini | 1 - doc/guides/nics/features/default.ini | 4 + doc/guides/nics/features/fm10k.ini | 2 + doc/guides/nics/features/fm10k_vf.ini | 2 + doc/guides/nics/features/i40e.ini | 3 + doc/guides/nics/features/i40e_vec.ini | 1 + doc/guides/nics/features/i40e_vf.ini | 1 + doc/guides/nics/features/i40e_vf_vec.ini | 1 + doc/guides/nics/features/ifcvf.ini | 8 + doc/guides/nics/features/igb.ini | 1 + doc/guides/nics/features/igb_vf.ini | 1 + doc/guides/nics/features/ixgbe.ini | 1 + doc/guides/nics/features/ixgbe_vec.ini | 1 + doc/guides/nics/features/mlx5.ini | 3 + doc/guides/nics/features/qede.ini | 1 - doc/guides/nics/features/qede_vf.ini | 1 - doc/guides/nics/features/vhost.ini | 1 - doc/guides/nics/features/virtio.ini | 1 + doc/guides/nics/features/virtio_vec.ini | 1 + doc/guides/nics/i40e.rst | 15 + doc/guides/nics/ifcvf.rst | 96 ++ doc/guides/nics/index.rst | 1 + doc/guides/nics/ixgbe.rst | 14 + doc/guides/nics/mlx5.rst | 30 +- doc/guides/nics/sfc_efx.rst | 42 +- doc/guides/nics/tap.rst | 2 +- doc/guides/nics/vdev_netvsc.rst | 10 +- doc/guides/nics/virtio.rst | 13 + doc/guides/prog_guide/index.rst | 1 + .../prog_guide/link_bonding_poll_mode_drv_lib.rst | 43 +- doc/guides/prog_guide/poll_mode_drv.rst | 19 + doc/guides/prog_guide/rte_flow.rst | 1196 +++++++++++------- doc/guides/prog_guide/source_org.rst | 2 +- doc/guides/prog_guide/switch_representation.rst | 837 +++++++++++++ .../prog_guide/traffic_metering_and_policing.rst | 2 +- doc/guides/rel_notes/deprecation.rst | 8 - doc/guides/rel_notes/release_18_05.rst | 59 + doc/guides/sample_app_ug/ethtool.rst | 3 + doc/guides/testpmd_app_ug/run_app.rst | 5 + doc/guides/testpmd_app_ug/testpmd_funcs.rst | 178 ++- drivers/net/Makefile | 3 + drivers/net/af_packet/rte_eth_af_packet.c | 134 +- drivers/net/axgbe/axgbe_common.h | 1 - drivers/net/axgbe/axgbe_rxtx.h | 2 +- drivers/net/bnx2x/bnx2x.c | 24 +- drivers/net/bnx2x/bnx2x_ethdev.c | 4 +- drivers/net/bnx2x/bnx2x_rxtx.c | 8 +- drivers/net/bnxt/bnxt.h | 4 +- drivers/net/bnxt/bnxt_cpr.c | 2 +- drivers/net/bnxt/bnxt_ethdev.c | 32 +- drivers/net/bnxt/bnxt_filter.c | 85 +- drivers/net/bnxt/bnxt_hwrm.c | 39 +- drivers/net/bnxt/bnxt_hwrm.h | 3 + drivers/net/bnxt/bnxt_ring.c | 27 +- drivers/net/bnxt/bnxt_ring.h | 4 +- drivers/net/bnxt/bnxt_rxq.c | 5 +- drivers/net/bnxt/bnxt_rxq.h | 2 + drivers/net/bnxt/bnxt_rxr.c | 12 +- drivers/net/bnxt/bnxt_rxr.h | 16 +- drivers/net/bnxt/bnxt_stats.c | 10 +- drivers/net/bnxt/bnxt_txq.c | 4 +- drivers/net/bnxt/bnxt_txq.h | 1 + drivers/net/bnxt/hsi_struct_def_dpdk.h | 552 +++++---- drivers/net/bonding/Makefile | 2 +- drivers/net/bonding/meson.build | 4 +- drivers/net/bonding/rte_eth_bond_8023ad.c | 126 +- drivers/net/bonding/rte_eth_bond_alb.c | 4 +- drivers/net/bonding/rte_eth_bond_api.c | 63 + drivers/net/bonding/rte_eth_bond_args.c | 5 +- drivers/net/bonding/rte_eth_bond_flow.c | 228 ++++ drivers/net/bonding/rte_eth_bond_pmd.c | 333 ++--- drivers/net/bonding/rte_eth_bond_private.h | 25 +- drivers/net/dpaa/dpaa_ethdev.c | 87 +- drivers/net/dpaa2/dpaa2_ethdev.c | 88 +- drivers/net/e1000/base/e1000_phy.h | 8 + drivers/net/e1000/e1000_ethdev.h | 13 +- drivers/net/e1000/em_ethdev.c | 2 +- drivers/net/e1000/igb_ethdev.c | 90 +- drivers/net/e1000/igb_flow.c | 83 +- drivers/net/e1000/igb_rxtx.c | 55 +- drivers/net/ena/ena_ethdev.c | 2 +- drivers/net/enic/base/vnic_dev.c | 33 + drivers/net/enic/base/vnic_dev.h | 5 +- drivers/net/enic/base/vnic_devcmd.h | 12 + drivers/net/enic/base/vnic_wq.h | 1 + drivers/net/enic/enic.h | 10 +- drivers/net/enic/enic_ethdev.c | 91 +- drivers/net/enic/enic_flow.c | 50 +- drivers/net/enic/enic_main.c | 36 +- drivers/net/enic/enic_res.c | 23 + drivers/net/enic/enic_rxtx.c | 104 +- drivers/net/failsafe/failsafe.c | 13 +- drivers/net/failsafe/failsafe_flow.c | 4 +- drivers/net/failsafe/failsafe_ops.c | 3 +- drivers/net/failsafe/failsafe_private.h | 8 +- drivers/net/fm10k/fm10k_ethdev.c | 6 +- drivers/net/i40e/Makefile | 3 + drivers/net/i40e/i40e_ethdev.c | 292 ++++- drivers/net/i40e/i40e_ethdev.h | 31 +- drivers/net/i40e/i40e_ethdev_vf.c | 2 +- drivers/net/i40e/i40e_flow.c | 130 +- drivers/net/i40e/i40e_rxtx.c | 183 ++- drivers/net/i40e/i40e_vf_representor.c | 402 ++++++ drivers/net/i40e/meson.build | 4 +- drivers/net/i40e/rte_pmd_i40e.c | 43 + drivers/net/i40e/rte_pmd_i40e.h | 18 + drivers/net/ifc/Makefile | 35 + drivers/net/ifc/base/ifcvf.c | 298 +++++ drivers/net/ifc/base/ifcvf.h | 154 +++ drivers/net/ifc/base/ifcvf_osdep.h | 52 + drivers/net/ifc/ifcvf_vdpa.c | 792 ++++++++++++ drivers/net/ifc/rte_ifcvf_version.map | 4 + drivers/net/ixgbe/Makefile | 1 + drivers/net/ixgbe/ixgbe_ethdev.c | 175 ++- drivers/net/ixgbe/ixgbe_ethdev.h | 27 +- drivers/net/ixgbe/ixgbe_flow.c | 91 +- drivers/net/ixgbe/ixgbe_pf.c | 7 + drivers/net/ixgbe/ixgbe_rxtx.c | 58 +- drivers/net/ixgbe/ixgbe_vf_representor.c | 215 ++++ drivers/net/ixgbe/meson.build | 1 + drivers/net/ixgbe/rte_pmd_ixgbe.c | 202 +++ drivers/net/ixgbe/rte_pmd_ixgbe.h | 71 ++ drivers/net/ixgbe/rte_pmd_ixgbe_version.map | 9 + drivers/net/kni/rte_eth_kni.c | 36 +- drivers/net/mlx4/mlx4.c | 2 +- drivers/net/mlx4/mlx4_ethdev.c | 2 +- drivers/net/mlx4/mlx4_flow.c | 130 +- drivers/net/mlx4/mlx4_flow.h | 2 +- drivers/net/mlx4/mlx4_mr.c | 5 +- drivers/net/mlx4/mlx4_rxq.c | 2 +- drivers/net/mlx4/mlx4_rxtx.h | 2 +- drivers/net/mlx5/Makefile | 7 +- drivers/net/mlx5/mlx5.c | 40 +- drivers/net/mlx5/mlx5.h | 11 +- drivers/net/mlx5/mlx5_defs.h | 9 +- drivers/net/mlx5/mlx5_ethdev.c | 9 +- drivers/net/mlx5/mlx5_flow.c | 1306 ++++++++++++++------ drivers/net/mlx5/mlx5_glue.c | 16 + drivers/net/mlx5/mlx5_glue.h | 8 + drivers/net/mlx5/mlx5_mac.c | 113 +- drivers/net/mlx5/mlx5_mr.c | 5 +- drivers/net/mlx5/mlx5_prm.h | 24 + drivers/net/mlx5/mlx5_rxq.c | 109 +- drivers/net/mlx5/mlx5_rxtx.c | 238 ++-- drivers/net/mlx5/mlx5_rxtx.h | 133 +- drivers/net/mlx5/mlx5_rxtx_vec.c | 9 +- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 23 +- drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 19 +- drivers/net/mlx5/mlx5_trigger.c | 8 - drivers/net/mlx5/mlx5_txq.c | 10 +- drivers/net/mlx5/mlx5_utils.h | 6 + drivers/net/mvpp2/Makefile | 1 - drivers/net/mvpp2/mrvl_flow.c | 32 +- drivers/net/nfp/nfp_net.c | 225 ++-- drivers/net/nfp/nfp_net_ctrl.h | 2 + drivers/net/nfp/nfp_net_logs.h | 9 +- drivers/net/nfp/nfpcore/nfp_cpp_pcie_ops.c | 2 +- drivers/net/null/rte_eth_null.c | 29 +- drivers/net/pcap/rte_eth_pcap.c | 43 +- drivers/net/ring/rte_eth_ring.c | 48 +- drivers/net/sfc/Makefile | 1 + drivers/net/sfc/base/ef10_ev.c | 30 +- drivers/net/sfc/base/ef10_filter.c | 31 +- drivers/net/sfc/base/ef10_impl.h | 14 +- drivers/net/sfc/base/ef10_nic.c | 92 +- drivers/net/sfc/base/ef10_rx.c | 165 ++- drivers/net/sfc/base/ef10_tlv_layout.h | 22 + drivers/net/sfc/base/efx.h | 164 ++- drivers/net/sfc/base/efx_check.h | 7 + drivers/net/sfc/base/efx_filter.c | 21 + drivers/net/sfc/base/efx_impl.h | 25 +- drivers/net/sfc/base/efx_regs_ef10.h | 15 + drivers/net/sfc/base/efx_regs_mcdi.h | 646 +++++++++- drivers/net/sfc/base/efx_rx.c | 235 +++- drivers/net/sfc/base/efx_types.h | 38 +- drivers/net/sfc/base/siena_nic.c | 17 + drivers/net/sfc/efsys.h | 2 + drivers/net/sfc/meson.build | 1 + drivers/net/sfc/sfc.c | 74 +- drivers/net/sfc/sfc.h | 33 +- drivers/net/sfc/sfc_dp.h | 3 +- drivers/net/sfc/sfc_dp_rx.h | 27 +- drivers/net/sfc/sfc_ef10.h | 34 + drivers/net/sfc/sfc_ef10_essb_rx.c | 666 ++++++++++ drivers/net/sfc/sfc_ef10_rx.c | 185 +-- drivers/net/sfc/sfc_ef10_rx_ev.h | 169 +++ drivers/net/sfc/sfc_ethdev.c | 99 +- drivers/net/sfc/sfc_ev.c | 34 + drivers/net/sfc/sfc_flow.c | 237 +++- drivers/net/sfc/sfc_flow.h | 4 - drivers/net/sfc/sfc_kvargs.c | 1 + drivers/net/sfc/sfc_kvargs.h | 10 +- drivers/net/sfc/sfc_rx.c | 326 +++-- drivers/net/sfc/sfc_rx.h | 11 +- drivers/net/sfc/sfc_tweak.h | 8 + drivers/net/softnic/rte_eth_softnic.c | 27 +- drivers/net/tap/rte_eth_tap.c | 201 +-- drivers/net/tap/rte_eth_tap.h | 1 + drivers/net/tap/tap_flow.c | 100 +- drivers/net/tap/tap_intr.c | 2 +- drivers/net/tap/tap_log.h | 10 + drivers/net/tap/tap_netlink.c | 18 +- drivers/net/tap/tap_tcmsgs.c | 9 +- drivers/net/thunderx/base/nicvf_hw_defs.h | 5 +- drivers/net/thunderx/nicvf_ethdev.c | 15 +- drivers/net/vdev_netvsc/vdev_netvsc.c | 137 +- drivers/net/vhost/rte_eth_vhost.c | 116 +- drivers/net/vhost/rte_eth_vhost.h | 35 +- drivers/net/virtio/virtio_ethdev.c | 43 + drivers/net/vmxnet3/Makefile | 1 + drivers/net/vmxnet3/base/upt1_defs.h | 7 +- drivers/net/vmxnet3/base/vmxnet3_defs.h | 34 +- drivers/net/vmxnet3/vmxnet3_ethdev.c | 4 +- drivers/net/vmxnet3/vmxnet3_ethdev.h | 1 + drivers/net/vmxnet3/vmxnet3_ring.h | 2 +- drivers/net/vmxnet3/vmxnet3_rxtx.c | 200 ++- examples/bond/Makefile | 3 - examples/bond/meson.build | 1 - examples/distributor/Makefile | 3 - examples/distributor/meson.build | 1 - examples/ethtool/ethtool-app/Makefile | 1 - examples/ethtool/ethtool-app/ethapp.c | 64 + examples/ethtool/lib/Makefile | 1 + examples/ethtool/lib/rte_ethtool.c | 30 + examples/ethtool/lib/rte_ethtool.h | 34 + examples/exception_path/Makefile | 3 - examples/exception_path/meson.build | 1 - examples/flow_filtering/Makefile | 3 - examples/flow_filtering/meson.build | 1 - examples/ip_fragmentation/Makefile | 3 - examples/ip_fragmentation/meson.build | 1 - examples/ip_reassembly/Makefile | 3 - examples/ip_reassembly/meson.build | 1 - examples/ipsec-secgw/ipsec.c | 21 +- examples/ipv4_multicast/Makefile | 3 - examples/ipv4_multicast/meson.build | 1 - examples/kni/Makefile | 3 - examples/kni/meson.build | 1 - examples/l2fwd-cat/Makefile | 2 - examples/l2fwd-cat/meson.build | 1 - examples/l2fwd-crypto/Makefile | 3 - examples/l2fwd-crypto/meson.build | 1 - examples/l2fwd-jobstats/Makefile | 4 +- examples/l2fwd-jobstats/meson.build | 1 - examples/l2fwd-keepalive/Makefile | 3 - examples/l2fwd-keepalive/meson.build | 1 - examples/l2fwd/Makefile | 3 - examples/l2fwd/meson.build | 1 - examples/l3fwd-acl/Makefile | 3 - examples/l3fwd-acl/meson.build | 1 - examples/l3fwd-power/Makefile | 3 - examples/l3fwd-power/meson.build | 1 - examples/l3fwd-vf/Makefile | 3 - examples/l3fwd-vf/meson.build | 1 - examples/l3fwd/Makefile | 3 - examples/l3fwd/meson.build | 1 - examples/link_status_interrupt/Makefile | 3 - examples/link_status_interrupt/meson.build | 1 - .../client_server_mp/mp_client/Makefile | 1 - examples/multi_process/l2fwd_fork/Makefile | 1 - examples/multi_process/symmetric_mp/Makefile | 1 - examples/netmap_compat/bridge/Makefile | 1 - examples/packet_ordering/Makefile | 3 - examples/packet_ordering/meson.build | 1 - examples/performance-thread/l3fwd-thread/Makefile | 1 - examples/ptpclient/Makefile | 3 - examples/ptpclient/meson.build | 1 - examples/qos_sched/Makefile | 3 - examples/qos_sched/meson.build | 1 - examples/quota_watermark/qw/Makefile | 1 - examples/rxtx_callbacks/Makefile | 3 - examples/rxtx_callbacks/meson.build | 1 - examples/server_node_efd/node/Makefile | 1 - examples/server_node_efd/server/Makefile | 1 - examples/skeleton/Makefile | 3 - examples/skeleton/meson.build | 3 - examples/vm_power_manager/Makefile | 1 - examples/vmdq/Makefile | 3 - examples/vmdq/meson.build | 1 - examples/vmdq_dcb/Makefile | 3 - examples/vmdq_dcb/meson.build | 1 - lib/Makefile | 33 +- lib/librte_eal/bsdapp/eal/eal.c | 44 + lib/librte_eal/common/include/rte_vfio.h | 128 +- lib/librte_eal/linuxapp/eal/eal_vfio.c | 680 +++++++--- lib/librte_eal/linuxapp/eal/eal_vfio.h | 9 +- lib/librte_eal/rte_eal_version.map | 6 + lib/{librte_ether => librte_ethdev}/Makefile | 0 .../ethdev_profile.c | 0 .../ethdev_profile.h | 0 lib/{librte_ether => librte_ethdev}/meson.build | 0 lib/{librte_ether => librte_ethdev}/rte_dev_info.h | 18 + lib/{librte_ether => librte_ethdev}/rte_eth_ctrl.h | 3 +- lib/{librte_ether => librte_ethdev}/rte_ethdev.c | 514 ++++++-- lib/{librte_ether => librte_ethdev}/rte_ethdev.h | 99 +- .../rte_ethdev_core.h | 12 + .../rte_ethdev_driver.h | 123 ++ .../rte_ethdev_pci.h | 12 + .../rte_ethdev_vdev.h | 0 .../rte_ethdev_version.map | 33 +- lib/{librte_ether => librte_ethdev}/rte_flow.c | 185 ++- lib/{librte_ether => librte_ethdev}/rte_flow.h | 1001 ++++++++++++--- .../rte_flow_driver.h | 2 +- lib/{librte_ether => librte_ethdev}/rte_mtr.c | 0 lib/{librte_ether => librte_ethdev}/rte_mtr.h | 0 .../rte_mtr_driver.h | 0 lib/{librte_ether => librte_ethdev}/rte_tm.c | 0 lib/{librte_ether => librte_ethdev}/rte_tm.h | 0 .../rte_tm_driver.h | 0 lib/librte_latencystats/Makefile | 1 - lib/librte_latencystats/meson.build | 1 - lib/librte_mbuf/rte_mbuf.c | 9 + lib/librte_mbuf/rte_mbuf.h | 26 + lib/librte_mbuf/rte_mbuf_ptype.c | 3 + lib/librte_mbuf/rte_mbuf_ptype.h | 47 + lib/librte_net/Makefile | 1 + lib/librte_net/rte_ether.h | 26 + lib/librte_net/rte_net.c | 21 +- lib/librte_net/rte_net.h | 27 + lib/librte_net/rte_net_version.map | 1 + lib/meson.build | 2 +- mk/rte.app.mk | 3 + 339 files changed, 17236 insertions(+), 3831 deletions(-) create mode 100644 doc/guides/nics/features/ifcvf.ini create mode 100644 doc/guides/nics/ifcvf.rst create mode 100644 doc/guides/prog_guide/switch_representation.rst create mode 100644 drivers/net/bonding/rte_eth_bond_flow.c create mode 100644 drivers/net/i40e/i40e_vf_representor.c create mode 100644 drivers/net/ifc/Makefile create mode 100644 drivers/net/ifc/base/ifcvf.c create mode 100644 drivers/net/ifc/base/ifcvf.h create mode 100644 drivers/net/ifc/base/ifcvf_osdep.h create mode 100644 drivers/net/ifc/ifcvf_vdpa.c create mode 100644 drivers/net/ifc/rte_ifcvf_version.map create mode 100644 drivers/net/ixgbe/ixgbe_vf_representor.c create mode 100644 drivers/net/sfc/sfc_ef10_essb_rx.c create mode 100644 drivers/net/sfc/sfc_ef10_rx_ev.h create mode 100644 drivers/net/tap/tap_log.h rename lib/{librte_ether => librte_ethdev}/Makefile (100%) rename lib/{librte_ether => librte_ethdev}/ethdev_profile.c (100%) rename lib/{librte_ether => librte_ethdev}/ethdev_profile.h (100%) rename lib/{librte_ether => librte_ethdev}/meson.build (100%) rename lib/{librte_ether => librte_ethdev}/rte_dev_info.h (56%) rename lib/{librte_ether => librte_ethdev}/rte_eth_ctrl.h (99%) rename lib/{librte_ether => librte_ethdev}/rte_ethdev.c (91%) rename lib/{librte_ether => librte_ethdev}/rte_ethdev.h (98%) rename lib/{librte_ether => librte_ethdev}/rte_ethdev_core.h (98%) rename lib/{librte_ether => librte_ethdev}/rte_ethdev_driver.h (58%) rename lib/{librte_ether => librte_ethdev}/rte_ethdev_pci.h (95%) rename lib/{librte_ether => librte_ethdev}/rte_ethdev_vdev.h (100%) rename lib/{librte_ether => librte_ethdev}/rte_ethdev_version.map (95%) rename lib/{librte_ether => librte_ethdev}/rte_flow.c (67%) rename lib/{librte_ether => librte_ethdev}/rte_flow.h (57%) rename lib/{librte_ether => librte_ethdev}/rte_flow_driver.h (98%) rename lib/{librte_ether => librte_ethdev}/rte_mtr.c (100%) rename lib/{librte_ether => librte_ethdev}/rte_mtr.h (100%) rename lib/{librte_ether => librte_ethdev}/rte_mtr_driver.h (100%) rename lib/{librte_ether => librte_ethdev}/rte_tm.c (100%) rename lib/{librte_ether => librte_ethdev}/rte_tm.h (100%) rename lib/{librte_ether => librte_ethdev}/rte_tm_driver.h (100%)