Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/ixgbe/ixgbe_mbx.h
| /****************************************************************************** | /****************************************************************************** | ||||
| Copyright (c) 2001-2015, Intel Corporation | Copyright (c) 2001-2017, Intel Corporation | ||||
| All rights reserved. | All rights reserved. | ||||
| Redistribution and use in source and binary forms, with or without | Redistribution and use in source and binary forms, with or without | ||||
| modification, are permitted provided that the following conditions are met: | modification, are permitted provided that the following conditions are met: | ||||
| 1. Redistributions of source code must retain the above copyright notice, | 1. Redistributions of source code must retain the above copyright notice, | ||||
| this list of conditions and the following disclaimer. | this list of conditions and the following disclaimer. | ||||
| 2. Redistributions in binary form must reproduce the above copyright | 2. Redistributions in binary form must reproduce the above copyright | ||||
| notice, this list of conditions and the following disclaimer in the | notice, this list of conditions and the following disclaimer in the | ||||
| documentation and/or other materials provided with the distribution. | documentation and/or other materials provided with the distribution. | ||||
| 3. Neither the name of the Intel Corporation nor the names of its | 3. Neither the name of the Intel Corporation nor the names of its | ||||
| contributors may be used to endorse or promote products derived from | contributors may be used to endorse or promote products derived from | ||||
| this software without specific prior written permission. | this software without specific prior written permission. | ||||
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||||
| AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||||
| IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||||
| ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||||
| LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||||
| CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||||
| SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||||
| INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||||
| CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 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 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||||
| POSSIBILITY OF SUCH DAMAGE. | POSSIBILITY OF SUCH DAMAGE. | ||||
| ******************************************************************************/ | ******************************************************************************/ | ||||
| /*$FreeBSD$*/ | /*$FreeBSD$*/ | ||||
| #ifndef _IXGBE_MBX_H_ | #ifndef _IXGBE_MBX_H_ | ||||
| #define _IXGBE_MBX_H_ | #define _IXGBE_MBX_H_ | ||||
| ▲ Show 20 Lines • Show All 48 Lines • ▼ Show 20 Lines | |||||
| /* | /* | ||||
| * each element denotes a version of the API; existing numbers may not | * each element denotes a version of the API; existing numbers may not | ||||
| * change; any additions must go at the end | * change; any additions must go at the end | ||||
| */ | */ | ||||
| enum ixgbe_pfvf_api_rev { | enum ixgbe_pfvf_api_rev { | ||||
| ixgbe_mbox_api_10, /* API version 1.0, linux/freebsd VF driver */ | ixgbe_mbox_api_10, /* API version 1.0, linux/freebsd VF driver */ | ||||
| ixgbe_mbox_api_20, /* API version 2.0, solaris Phase1 VF driver */ | ixgbe_mbox_api_20, /* API version 2.0, solaris Phase1 VF driver */ | ||||
| ixgbe_mbox_api_11, /* API version 1.1, linux/freebsd VF driver */ | ixgbe_mbox_api_11, /* API version 1.1, linux/freebsd VF driver */ | ||||
| ixgbe_mbox_api_12, /* API version 1.2, linux/freebsd VF driver */ | |||||
| ixgbe_mbox_api_13, /* API version 1.3, linux/freebsd VF driver */ | |||||
| /* This value should always be last */ | /* This value should always be last */ | ||||
| ixgbe_mbox_api_unknown, /* indicates that API version is not known */ | ixgbe_mbox_api_unknown, /* indicates that API version is not known */ | ||||
| }; | }; | ||||
| /* mailbox API, legacy requests */ | /* mailbox API, legacy requests */ | ||||
| #define IXGBE_VF_RESET 0x01 /* VF requests reset */ | #define IXGBE_VF_RESET 0x01 /* VF requests reset */ | ||||
| #define IXGBE_VF_SET_MAC_ADDR 0x02 /* VF requests PF to set MAC addr */ | #define IXGBE_VF_SET_MAC_ADDR 0x02 /* VF requests PF to set MAC addr */ | ||||
| #define IXGBE_VF_SET_MULTICAST 0x03 /* VF requests PF to set MC addr */ | #define IXGBE_VF_SET_MULTICAST 0x03 /* VF requests PF to set MC addr */ | ||||
| #define IXGBE_VF_SET_VLAN 0x04 /* VF requests PF to set VLAN */ | #define IXGBE_VF_SET_VLAN 0x04 /* VF requests PF to set VLAN */ | ||||
| /* mailbox API, version 1.0 VF requests */ | /* mailbox API, version 1.0 VF requests */ | ||||
| #define IXGBE_VF_SET_LPE 0x05 /* VF requests PF to set VMOLR.LPE */ | #define IXGBE_VF_SET_LPE 0x05 /* VF requests PF to set VMOLR.LPE */ | ||||
| #define IXGBE_VF_SET_MACVLAN 0x06 /* VF requests PF for unicast filter */ | #define IXGBE_VF_SET_MACVLAN 0x06 /* VF requests PF for unicast filter */ | ||||
| #define IXGBE_VF_API_NEGOTIATE 0x08 /* negotiate API version */ | #define IXGBE_VF_API_NEGOTIATE 0x08 /* negotiate API version */ | ||||
| /* mailbox API, version 1.1 VF requests */ | /* mailbox API, version 1.1 VF requests */ | ||||
| #define IXGBE_VF_GET_QUEUES 0x09 /* get queue configuration */ | #define IXGBE_VF_GET_QUEUES 0x09 /* get queue configuration */ | ||||
| /* mailbox API, version 1.2 VF requests */ | |||||
| #define IXGBE_VF_GET_RETA 0x0a /* VF request for RETA */ | |||||
| #define IXGBE_VF_GET_RSS_KEY 0x0b /* get RSS key */ | |||||
| #define IXGBE_VF_UPDATE_XCAST_MODE 0x0c | |||||
| /* mode choices for IXGBE_VF_UPDATE_XCAST_MODE */ | |||||
| enum ixgbevf_xcast_modes { | |||||
| IXGBEVF_XCAST_MODE_NONE = 0, | |||||
| IXGBEVF_XCAST_MODE_MULTI, | |||||
| IXGBEVF_XCAST_MODE_ALLMULTI, | |||||
| IXGBEVF_XCAST_MODE_PROMISC, | |||||
| }; | |||||
| /* GET_QUEUES return data indices within the mailbox */ | /* GET_QUEUES return data indices within the mailbox */ | ||||
| #define IXGBE_VF_TX_QUEUES 1 /* number of Tx queues supported */ | #define IXGBE_VF_TX_QUEUES 1 /* number of Tx queues supported */ | ||||
| #define IXGBE_VF_RX_QUEUES 2 /* number of Rx queues supported */ | #define IXGBE_VF_RX_QUEUES 2 /* number of Rx queues supported */ | ||||
| #define IXGBE_VF_TRANS_VLAN 3 /* Indication of port vlan */ | #define IXGBE_VF_TRANS_VLAN 3 /* Indication of port vlan */ | ||||
| #define IXGBE_VF_DEF_QUEUE 4 /* Default queue offset */ | #define IXGBE_VF_DEF_QUEUE 4 /* Default queue offset */ | ||||
| /* length of permanent address message returned from PF */ | /* length of permanent address message returned from PF */ | ||||
| Show All 34 Lines | |||||