numam-dpdk/lib/librte_pmd_ixgbe/ixgbe
Ivan Boule 698266e688 ixgbevf: reset unused mailbox data registers
The VF_RESET message of the 82599 PF/VF communication protocol issued by a
a Guest VF driver may include an optional permanent MAC address assigned to
the VF by the Guest OS, in order to make it recorded into the 82599 RAR
registers by the Host PF driver.

To indicate the absence of this optional MAC address, the VF_RESET command
assumes that a NULL MAC address is sent, instead of using a dedicated bit
for this purpose. However, when sending a VF_RESET command with no permanent
MAC address, the function ixgbe_reset_hw_vf() of the 82599 VF driver
directly invokes the function ixgbe_write_mbx_vf() with a message that does
not include a NULL MAC address, wrongly assuming that this function fills in
with zero all unused mailbox data registers.

More globally, it is safer to explicitely reset to zero all remaining mailbox
data registers that are not used to store the content of a message, in order
to reset the data sent in a previous VF/PF exchange (in either side),
including the last exchange performed by another Guest OS to which that VF
was previously assigned.

Signed-off-by: Ivan Boule <ivan.boule@6wind.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-05-27 16:50:19 +02:00
..
ixgbe_82598.c ixgbe: whitespace changes 2013-07-25 15:48:45 +02:00
ixgbe_82598.h ixgbe: update base driver 2013-07-25 15:40:56 +02:00
ixgbe_82599.c ixgbe: whitespace changes 2013-07-25 15:48:45 +02:00
ixgbe_82599.h ixgbe: update base driver 2013-07-25 15:40:56 +02:00
ixgbe_api.c ixgbe: whitespace changes 2013-07-25 15:48:45 +02:00
ixgbe_api.h ixgbe: whitespace changes 2013-07-25 15:48:45 +02:00
ixgbe_common.c ixgbe: whitespace changes 2013-07-25 15:48:45 +02:00
ixgbe_common.h ixgbe: whitespace changes 2013-07-25 15:48:45 +02:00
ixgbe_dcb_82598.c ixgbe: DCB in base driver 2013-07-25 15:40:56 +02:00
ixgbe_dcb_82598.h ixgbe: DCB in base driver 2013-07-25 15:40:56 +02:00
ixgbe_dcb_82599.c ixgbe: DCB in base driver 2013-07-25 15:40:56 +02:00
ixgbe_dcb_82599.h ixgbe: DCB in base driver 2013-07-25 15:40:56 +02:00
ixgbe_dcb.c ixgbe: DCB in base driver 2013-07-25 15:40:56 +02:00
ixgbe_dcb.h ixgbe: DCB in base driver 2013-07-25 15:40:56 +02:00
ixgbe_mbx.c ixgbevf: reset unused mailbox data registers 2014-05-27 16:50:19 +02:00
ixgbe_mbx.h ixgbe: whitespace changes 2013-07-25 15:48:45 +02:00
ixgbe_osdep.h ixgbe: add 82599 bypass support 2013-11-24 01:31:34 +01:00
ixgbe_phy.c ixgbe: whitespace changes 2013-07-25 15:48:45 +02:00
ixgbe_phy.h ixgbe: whitespace changes 2013-07-25 15:48:45 +02:00
ixgbe_type.h ixgbe: fix RSC disabling bit 2013-11-24 01:31:35 +01:00
ixgbe_vf.c ixgbe: whitespace changes 2013-07-25 15:48:45 +02:00
ixgbe_vf.h ixgbe: whitespace changes 2013-07-25 15:48:45 +02:00
ixgbe_x540.c ixgbe: whitespace changes 2013-07-25 15:48:45 +02:00
ixgbe_x540.h ixgbe: update base driver 2013-07-25 15:40:56 +02:00
README update Intel copyright years to 2014 2014-02-25 21:29:14 +01: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.2012.11.09 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

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.