X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_pmd_i40e%2Fi40e%2Fi40e_dcb.h;fp=lib%2Flibrte_pmd_i40e%2Fi40e%2Fi40e_dcb.h;h=0000000000000000000000000000000000000000;hb=5c9222058df7cc10fa98c13d097f85a7fa0341a3;hp=2d4a3d05d26fe90509fdb31bb230297ff99710b2;hpb=637bb7694d6aedbbf1830a12d0bd0e582a3a18a5;p=dpdk.git diff --git a/lib/librte_pmd_i40e/i40e/i40e_dcb.h b/lib/librte_pmd_i40e/i40e/i40e_dcb.h deleted file mode 100644 index 2d4a3d05d2..0000000000 --- a/lib/librte_pmd_i40e/i40e/i40e_dcb.h +++ /dev/null @@ -1,181 +0,0 @@ -/******************************************************************************* - -Copyright (c) 2013 - 2015, Intel Corporation -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - 1. Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - 2. 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. - - 3. Neither the name of the 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. - -***************************************************************************/ - -#ifndef _I40E_DCB_H_ -#define _I40E_DCB_H_ - -#include "i40e_type.h" - -#define I40E_DCBX_OFFLOAD_DISABLED 0 -#define I40E_DCBX_OFFLOAD_ENABLED 1 - -#define I40E_DCBX_STATUS_NOT_STARTED 0 -#define I40E_DCBX_STATUS_IN_PROGRESS 1 -#define I40E_DCBX_STATUS_DONE 2 -#define I40E_DCBX_STATUS_MULTIPLE_PEERS 3 -#define I40E_DCBX_STATUS_DISABLED 7 - -#define I40E_TLV_TYPE_END 0 -#define I40E_TLV_TYPE_ORG 127 - -#define I40E_IEEE_8021QAZ_OUI 0x0080C2 -#define I40E_IEEE_SUBTYPE_ETS_CFG 9 -#define I40E_IEEE_SUBTYPE_ETS_REC 10 -#define I40E_IEEE_SUBTYPE_PFC_CFG 11 -#define I40E_IEEE_SUBTYPE_APP_PRI 12 - -#define I40E_LLDP_ADMINSTATUS_DISABLED 0 -#define I40E_LLDP_ADMINSTATUS_ENABLED_RX 1 -#define I40E_LLDP_ADMINSTATUS_ENABLED_TX 2 -#define I40E_LLDP_ADMINSTATUS_ENABLED_RXTX 3 - -/* Defines for LLDP TLV header */ -#define I40E_LLDP_MIB_HLEN 14 -#define I40E_LLDP_TLV_LEN_SHIFT 0 -#define I40E_LLDP_TLV_LEN_MASK (0x01FF << I40E_LLDP_TLV_LEN_SHIFT) -#define I40E_LLDP_TLV_TYPE_SHIFT 9 -#define I40E_LLDP_TLV_TYPE_MASK (0x7F << I40E_LLDP_TLV_TYPE_SHIFT) -#define I40E_LLDP_TLV_SUBTYPE_SHIFT 0 -#define I40E_LLDP_TLV_SUBTYPE_MASK (0xFF << I40E_LLDP_TLV_SUBTYPE_SHIFT) -#define I40E_LLDP_TLV_OUI_SHIFT 8 -#define I40E_LLDP_TLV_OUI_MASK (0xFFFFFF << I40E_LLDP_TLV_OUI_SHIFT) - -/* Defines for IEEE ETS TLV */ -#define I40E_IEEE_ETS_MAXTC_SHIFT 0 -#define I40E_IEEE_ETS_MAXTC_MASK (0x7 << I40E_IEEE_ETS_MAXTC_SHIFT) -#define I40E_IEEE_ETS_CBS_SHIFT 6 -#define I40E_IEEE_ETS_CBS_MASK (0x1 << I40E_IEEE_ETS_CBS_SHIFT) -#define I40E_IEEE_ETS_WILLING_SHIFT 7 -#define I40E_IEEE_ETS_WILLING_MASK (0x1 << I40E_IEEE_ETS_WILLING_SHIFT) -#define I40E_IEEE_ETS_PRIO_0_SHIFT 0 -#define I40E_IEEE_ETS_PRIO_0_MASK (0x7 << I40E_IEEE_ETS_PRIO_0_SHIFT) -#define I40E_IEEE_ETS_PRIO_1_SHIFT 4 -#define I40E_IEEE_ETS_PRIO_1_MASK (0x7 << I40E_IEEE_ETS_PRIO_1_SHIFT) -#define I40E_CEE_PGID_PRIO_0_SHIFT 0 -#define I40E_CEE_PGID_PRIO_0_MASK (0xF << I40E_CEE_PGID_PRIO_0_SHIFT) -#define I40E_CEE_PGID_PRIO_1_SHIFT 4 -#define I40E_CEE_PGID_PRIO_1_MASK (0xF << I40E_CEE_PGID_PRIO_1_SHIFT) -#define I40E_CEE_PGID_STRICT 15 - -/* Defines for IEEE TSA types */ -#define I40E_IEEE_TSA_STRICT 0 -#define I40E_IEEE_TSA_CBS 1 -#define I40E_IEEE_TSA_ETS 2 -#define I40E_IEEE_TSA_VENDOR 255 - -/* Defines for IEEE PFC TLV */ -#define I40E_IEEE_PFC_CAP_SHIFT 0 -#define I40E_IEEE_PFC_CAP_MASK (0xF << I40E_IEEE_PFC_CAP_SHIFT) -#define I40E_IEEE_PFC_MBC_SHIFT 6 -#define I40E_IEEE_PFC_MBC_MASK (0x1 << I40E_IEEE_PFC_MBC_SHIFT) -#define I40E_IEEE_PFC_WILLING_SHIFT 7 -#define I40E_IEEE_PFC_WILLING_MASK (0x1 << I40E_IEEE_PFC_WILLING_SHIFT) - -/* Defines for IEEE APP TLV */ -#define I40E_IEEE_APP_SEL_SHIFT 0 -#define I40E_IEEE_APP_SEL_MASK (0x7 << I40E_IEEE_APP_SEL_SHIFT) -#define I40E_IEEE_APP_PRIO_SHIFT 5 -#define I40E_IEEE_APP_PRIO_MASK (0x7 << I40E_IEEE_APP_PRIO_SHIFT) - -/* TLV definitions for preparing MIB */ -#define I40E_TLV_ID_CHASSIS_ID 0 -#define I40E_TLV_ID_PORT_ID 1 -#define I40E_TLV_ID_TIME_TO_LIVE 2 -#define I40E_IEEE_TLV_ID_ETS_CFG 3 -#define I40E_IEEE_TLV_ID_ETS_REC 4 -#define I40E_IEEE_TLV_ID_PFC_CFG 5 -#define I40E_IEEE_TLV_ID_APP_PRI 6 -#define I40E_TLV_ID_END_OF_LLDPPDU 7 -#define I40E_TLV_ID_START I40E_IEEE_TLV_ID_ETS_CFG - -#define I40E_IEEE_ETS_TLV_LENGTH 25 -#define I40E_IEEE_PFC_TLV_LENGTH 6 -#define I40E_IEEE_APP_TLV_LENGTH 11 - -#pragma pack(1) - -/* IEEE 802.1AB LLDP TLV structure */ -struct i40e_lldp_generic_tlv { - __be16 typelength; - u8 tlvinfo[1]; -}; - -/* IEEE 802.1AB LLDP Organization specific TLV */ -struct i40e_lldp_org_tlv { - __be16 typelength; - __be32 ouisubtype; - u8 tlvinfo[1]; -}; -#pragma pack() - -/* - * TODO: The below structures related LLDP/DCBX variables - * and statistics are defined but need to find how to get - * the required information from the Firmware to use them - */ - -/* IEEE 802.1AB LLDP Agent Statistics */ -struct i40e_lldp_stats { - u64 remtablelastchangetime; - u64 remtableinserts; - u64 remtabledeletes; - u64 remtabledrops; - u64 remtableageouts; - u64 txframestotal; - u64 rxframesdiscarded; - u64 rxportframeerrors; - u64 rxportframestotal; - u64 rxporttlvsdiscardedtotal; - u64 rxporttlvsunrecognizedtotal; - u64 remtoomanyneighbors; -}; - -/* IEEE 802.1Qaz DCBX variables */ -struct i40e_dcbx_variables { - u32 defmaxtrafficclasses; - u32 defprioritytcmapping; - u32 deftcbandwidth; - u32 deftsaassignment; -}; - -enum i40e_status_code i40e_get_dcbx_status(struct i40e_hw *hw, - u16 *status); -enum i40e_status_code i40e_lldp_to_dcb_config(u8 *lldpmib, - struct i40e_dcbx_config *dcbcfg); -enum i40e_status_code i40e_aq_get_dcb_config(struct i40e_hw *hw, u8 mib_type, - u8 bridgetype, - struct i40e_dcbx_config *dcbcfg); -enum i40e_status_code i40e_get_dcb_config(struct i40e_hw *hw); -enum i40e_status_code i40e_init_dcb(struct i40e_hw *hw); - -#endif /* _I40E_DCB_H_ */