698266e688
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> |
||
---|---|---|
.. | ||
ixgbe_82598.c | ||
ixgbe_82598.h | ||
ixgbe_82599.c | ||
ixgbe_82599.h | ||
ixgbe_api.c | ||
ixgbe_api.h | ||
ixgbe_common.c | ||
ixgbe_common.h | ||
ixgbe_dcb_82598.c | ||
ixgbe_dcb_82598.h | ||
ixgbe_dcb_82599.c | ||
ixgbe_dcb_82599.h | ||
ixgbe_dcb.c | ||
ixgbe_dcb.h | ||
ixgbe_mbx.c | ||
ixgbe_mbx.h | ||
ixgbe_osdep.h | ||
ixgbe_phy.c | ||
ixgbe_phy.h | ||
ixgbe_type.h | ||
ixgbe_vf.c | ||
ixgbe_vf.h | ||
ixgbe_x540.c | ||
ixgbe_x540.h | ||
README |
.. 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.