numam-dpdk/lib/librte_pmd_ixgbe/ixgbe
Vlad Zolotarov 01fa1d6215 ixgbe: unify Rx setup
- Set the callback in a single function that is called from
     ixgbe_dev_rx_init() for a primary process and from eth_ixgbe_dev_init()
     for a secondary processes. This is instead of multiple, hard to track places.
   - Added ixgbe_hw.rx_bulk_alloc_allowed - see ixgbe_hw.rx_vec_allowed description below.
   - Added ixgbe_hw.rx_vec_allowed: like with Bulk Allocation, Vector Rx is
     enabled or disabled on a per-port level. All queues have to meet the appropriate
     preconditions and if any of them doesn't - the feature has to be disabled.
     Therefore ixgbe_hw.rx_vec_allowed will be updated during each queues configuration
     (rte_eth_rx_queue_setup()) and then used in rte_eth_dev_start() to configure the
     appropriate callbacks. The same happens with ixgbe_hw.rx_vec_allowed in a Bulk Allocation
     context.
   - Bugs fixed:
      - Vector scattered packets callback was called regardless the appropriate
        preconditions:
         - Vector Rx specific preconditions.
         - Bulk Allocation preconditions.
      - Vector Rx was enabled/disabled according to the last queue setting and not
        based on all queues setting (which may be different for each queue).

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2015-03-17 00:46:01 +01:00
..
ixgbe_82598.c ixgbe/base: various clean up 2014-10-03 14:45:24 +02:00
ixgbe_82598.h ixgbe/base: update copyright to 2014 2014-06-18 23:32:28 +02:00
ixgbe_82599.c ixgbe/base: support X550 2014-10-07 17:00:52 +02:00
ixgbe_82599.h ixgbe/base: update copyright to 2014 2014-06-18 23:32:28 +02:00
ixgbe_api.c ixgbe/base: support X550 2014-10-07 17:00:52 +02:00
ixgbe_api.h ixgbe/base: support X550 2014-10-07 17:00:52 +02:00
ixgbe_common.c ixgbe/base: support X550 2014-10-07 17:00:52 +02:00
ixgbe_common.h ixgbe/base: thermal sensor 2014-10-07 16:51:59 +02:00
ixgbe_dcb_82598.c ixgbe/base: various clean up 2014-10-03 14:45:24 +02:00
ixgbe_dcb_82598.h ixgbe/base: update copyright to 2014 2014-06-18 23:32:28 +02:00
ixgbe_dcb_82599.c ixgbe/base: various clean up 2014-10-03 14:45:24 +02:00
ixgbe_dcb_82599.h ixgbe/base: update copyright to 2014 2014-06-18 23:32:28 +02:00
ixgbe_dcb.c ixgbe/base: support X550 2014-10-07 17:00:52 +02:00
ixgbe_dcb.h ixgbe/base: update copyright to 2014 2014-06-18 23:32:28 +02:00
ixgbe_mbx.c ixgbe/base: support X550 2014-10-07 17:00:52 +02:00
ixgbe_mbx.h ixgbe/base: update copyright to 2014 2014-06-18 23:32:28 +02:00
ixgbe_osdep.h ixgbe: fix big endian access 2015-02-20 11:52:29 +01:00
ixgbe_phy.c ixgbe/base: support X550 2014-10-07 17:00:52 +02:00
ixgbe_phy.h ixgbe/base: support X550 2014-10-07 17:00:52 +02:00
ixgbe_type.h ixgbe: unify Rx setup 2015-03-17 00:46:01 +01:00
ixgbe_vf.c ixgbe/base: reset VF registers 2014-10-07 16:51:59 +02:00
ixgbe_vf.h ixgbe/base: support X550 2014-10-07 17:00:52 +02:00
ixgbe_x540.c ixgbe/base: rework semaphore 2014-10-07 15:43:27 +02:00
ixgbe_x540.h ixgbe/base: rework semaphore 2014-10-07 15:43:27 +02:00
ixgbe_x550.c ixgbe/base: support X550 2014-10-07 17:00:52 +02:00
ixgbe_x550.h ixgbe/base: support X550 2014-10-07 17:00:52 +02:00
README ixgbe/base: support X550 2014-10-07 17:00:52 +02:00

..
     BSD LICENSE
   
     Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
     All rights reserved.
   
     Redistribution and use in source and binary forms, with or without
     modification, are permitted provided that the following conditions
     are met:
   
       * Redistributions of source code must retain the above copyright
         notice, this list of conditions and the following disclaimer.
       * Redistributions in binary form must reproduce the above copyright
         notice, this list of conditions and the following disclaimer in
         the documentation and/or other materials provided with the
         distribution.
       * Neither the name of Intel Corporation nor the names of its
         contributors may be used to endorse or promote products derived
         from this software without specific prior written permission.
   
     THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Intel® IXGBE driver
===================

This directory contains source code of FreeBSD ixgbe driver of version
cid-10g-shared-code.2014.09.04 released by LAD. The sub-directory of lad/
contains the original source package.
This driver is valid for the product(s) listed below

* Intel® 10 Gigabit AF DA Dual Port Server Adapter
* Intel® 10 Gigabit AT Server Adapter
* Intel® 10 Gigabit AT2 Server Adapter
* Intel® 10 Gigabit CX4 Dual Port Server Adapter
* Intel® 10 Gigabit XF LR Server Adapter
* Intel® 10 Gigabit XF SR Dual Port Server Adapter
* Intel® 10 Gigabit XF SR Server Adapter
* Intel® 82598 10 Gigabit Ethernet Controller
* Intel® 82599 10 Gigabit Ethernet Controller
* Intel® Ethernet Controller X540-AT2
* Intel® Ethernet Server Adapter X520 Series
* Intel® Ethernet Server Adapter X520-T2
* Intel® Ethernet Controller X550-BT2

Updating driver
===============

The following modifications have been made to this code to integrate it with the
Intel® DPDK:


ixgbe_osdep.h
-------------

The OS dependency layer has been extensively modified to support the drivers in
the Intel® DPDK environment. It is expected that these files will not need to be
changed on updating the driver.