msapiinternal.h

来自「MarVel交换机的开发包。用于开发可网管的交换机软年。」· C头文件 代码 · 共 1,165 行 · 第 1/3 页

H
1,165
字号
#define DEV_SDET_POLARITY	( DEV_88E6097_FAMILY )/* supports Reserved Multicast, etc */#define DEV_ENHANCED_MULTICAST	\					( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY |		\					  DEV_88E6097_FAMILY )#define DEV_ENHANCED_MULTICAST_2X	( DEV_88E6097_FAMILY )#define DEV_ARP_DEST_SUPPORT		( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )#define DEV_MARVELL_TAG_FLOW_CTRL	\					( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY |		\					  DEV_88E6097_FAMILY )#define DEV_USE_DOUBLE_TAG_DATA		\					( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )		/* Not Used */#define DEV_MARVELL_TAG_LOOP_BLOCK	( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )#define DEV_LOOPBACK_FILTER		( DEV_88E6097_FAMILY )#define DEV_FLOOD_BROADCAST		( DEV_88E6097_FAMILY )#define DEV_TAG_FLOW_CONTROL	( DEV_88E6097_FAMILY )#define DEV_ALWAYS_USE_VTU		( DEV_88E6097_FAMILY )#define DEV_RM_ONE_PTAG			( DEV_88E6097_FAMILY )					#define DEV_PRIORITY_OVERRIDE	\					( DEV_88E6183 | DEV_88E6093 | DEV_88E6095 | 	\					  DEV_88E6185 | DEV_88E6108 | DEV_88E6097_FAMILY )#define DEV_EXT_PRIORITY_OVERRIDE	( DEV_88E6097_FAMILY )#define DEV_PRIORITY_OVERRIDE_TABLE	( DEV_88E6097_FAMILY )#define DEV_FQPRI_IN_TABLE		( DEV_88E6065 )#define DEV_FQPRI_OVERRIDE		( DEV_88E6065 )#define DEV_Px_MODE 	( DEV_88E6065_FAMILY )#define DEV_SA_FILTERING	( DEV_88E6065 | DEV_88E6097_FAMILY )#define DEV_ARP_TO_CPU		( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY )#define DEV_EGRESS_FLOOD	( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY )#define DEV_FORCE_MAP		( DEV_88E6065_FAMILY )#define DEV_PORT_SCHEDULE	( DEV_88E6065 )#define DEV_PORT_MIXED_SCHEDULE		( DEV_88E6097_FAMILY )#define DEV_OUT_Q_SIZE		( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY )#define DEV_OUT_Q_512		( DEV_88E6097_FAMILY )#define DEV_FULL_Q_COUNTER	( DEV_88E6097_FAMILY )#define DEV_PROVIDER_TAG	( DEV_88E6065_FAMILY )#define DEV_OLD_HEADER		( DEV_88E6065_FAMILY )#define DEV_RECURSIVE_TAG_STRIP		( DEV_88E6065_FAMILY )#define DEV_FORCE_WITH_VALUE			\					( DEV_88E6181 | DEV_88E6183 | DEV_88E6093 | 	\					  DEV_88E6095_FAMILY | DEV_88E6185_FAMILY |		\					  DEV_88E6065_FAMILY | DEV_88E6097_FAMILY )/* Grouping ATU Entry State for Unicast */#define DEV_UC_7_DYNAMIC		\				( DEV_88E6065_FAMILY | DEV_88E6095_FAMILY |	DEV_88E6185_FAMILY |	\				  DEV_88E6183 | DEV_88E6093 | DEV_88E6097_FAMILY )#define DEV_UC_NO_PRI_TO_CPU_STATIC_NRL		(DEV_88E6065_FAMILY | DEV_88E6097_FAMILY)#define DEV_UC_TO_CPU_STATIC_NRL			(DEV_88E6065_FAMILY | DEV_88E6097_FAMILY)#define DEV_UC_NO_PRI_STATIC_NRL			(DEV_88E6065_FAMILY | DEV_88E6097_FAMILY)#define DEV_UC_STATIC_NRL					(DEV_88E6065_FAMILY | DEV_88E6097_FAMILY)#define DEV_UC_NO_PRI_TO_CPU_STATIC			\				( DEV_88E6065_FAMILY | DEV_88E6095_FAMILY |	DEV_88E6185_FAMILY |	\				  DEV_88E6097_FAMILY )#define DEV_UC_TO_CPU_STATIC			\				( DEV_88E6065_FAMILY | DEV_88E6095_FAMILY |	DEV_88E6185_FAMILY |	\				  DEV_88E6097_FAMILY )#define DEV_UC_NO_PRI_STATIC			\				( DEV_88E6065_FAMILY | DEV_88E6095_FAMILY |	DEV_88E6185_FAMILY |	\				  DEV_88E6183 | DEV_88E6093 | DEV_88E6097_FAMILY )#define DEV_UC_STATIC	( DEV_STATIC_ADDR )/* Grouping ATU Entry State for Multicast */#define DEV_MC_MGM_STATIC_UNLIMITED_RATE		(DEV_88E6065_FAMILY | DEV_88E6097_FAMILY)#define DEV_MC_PRIO_MGM_STATIC_UNLIMITED_RATE	(DEV_88E6065_FAMILY | DEV_88E6097_FAMILY)#define DEV_MC_STATIC_UNLIMITED_RATE	( DEV_STATIC_ADDR & ~DEV_88E6052 )#define DEV_MC_MGM_STATIC		( DEV_STATIC_ADDR & ~DEV_88E6083 )#define DEV_MC_STATIC				( DEV_STATIC_ADDR )#define DEV_MC_PRIO_MGM_STATIC		( DEV_STATIC_ADDR )#define DEV_MC_PRIO_STATIC_UNLIMITED_RATE ( DEV_STATIC_ADDR & ~ (DEV_88E6083|DEV_88E6052) )#define DEV_MC_PRIO_STATIC		( DEV_STATIC_ADDR & ~DEV_88E6083 )/* Grouping Devices that support Pause Limit */#define DEV_PAUSE_LIMIT		( DEV_88E6097_FAMILY )/* Grouping Devices that support Frame Mode */#define DEV_FRAME_MODE		( DEV_88E6097_FAMILY )#define DEV_POLICY		( DEV_88E6097 )#define DEV_PORT_ETYPE	( DEV_88E6097_FAMILY )#define DEV_FID_REG		( DEV_88E6097_FAMILY )#define DEV_FRAME_TO_REGISTER	( DEV_88E6097_FAMILY )#define DEV_SWITCH_MAC_REG		( DEV_88E6097_FAMILY )#define DEV_ATU_STATS			( DEV_88E6097_FAMILY )/* Macros to utilize Device Group */#define IS_IN_DEV_GROUP(dev,_group) (dev->devName & (_group))/* need to check port number(_hwPort) later */
#define IS_VALID_API_CALL(dev,_hwPort, _devName)	    	\
	(!(dev->devName & (_devName)) ? GT_NOT_SUPPORTED : GT_OK)
#define DOES_DEVPORT_SUPPORT_PCS(dev, _hwPort)			\	(!(dev->devName & DEV_GIGABIT_SWITCH) || \	 (dev->devName & DEV_INTERNAL_GPHY) ||   \	(!(dev->devName & DEV_EXTERNAL_PHY_ONLY) && (((_hwPort) < 8) || ((_hwPort) > 10)))	\	? 0 : 1)#define IS_CONFIGURABLE_PHY(dev,_hwPort)	driverIsPhyAttached(dev,_hwPort)

#define GT_GET_SERDES_PORT(dev,_hwPort)		driverGetSerdesPort(dev,_hwPort)

#define GT_GIG_PHY_INT_MASK(dev,_portVct)    ((_portVct) = (_portVct) & 0xF7)#define RECOMMENDED_ESB_LIMIT(dev)			16777200#define RECOMMENDED_CBS_LIMIT(dev)			393216#define RECOMMENDED_BUCKET_INCREMENT(dev)	174/*
 * typedef: enum GT_ATU_STATS_OP
 *
 * Description: Enumeration of the ATU Statistics operation *
 * Enumerations:
 *   GT_ATU_STATS_ALL        - count all valid entry
 *   GT_ATU_STATS_NON_STATIC - count all vaild non-static entry
 *   GT_ATU_STATS_ALL_FID    - count all valid entry in the given DBNum(or FID) 
 *   GT_ATU_STATS_NON_STATIC_FID - count all valid non-static entry in the given DBNum(or FID)
 */
typedef enum
{
    GT_ATU_STATS_ALL = 0,
    GT_ATU_STATS_NON_STATIC,
    GT_ATU_STATS_ALL_FID,	GT_ATU_STATS_NON_STATIC_FID
}GT_ATU_STATS_OP;

/*
 *  typedef: struct GT_ATU_STAT
 *
 *  Description: 
 *		This structure is used to count ATU entries.
 *
 *  Fields:
 *      op 	  - counter type
 *		DBNum - required only if op is either GT_ATU_STATS_FID or  *				GT_ATU_STATS_NON_STATIC_FID
 */
typedef struct
{
	GT_ATU_STATS_OP	op;	GT_U32 			DBNum;
} GT_ATU_STAT;

typedef struct _EXTRA_OP_DATA{	GT_U32 moveFrom;	GT_U32 moveTo;	GT_U32 intCause;	GT_U32 reserved;} GT_EXTRA_OP_DATA;
/*******************************************************************************
* gvtuGetViolation
*
* DESCRIPTION:
*       Get VTU Violation data
*
* INPUTS:
*       None.
*
* OUTPUTS:
*       vtuIntStatus - interrupt cause, source portID, and vid.
*
* RETURNS:
*       GT_OK           - on success
*       GT_FAIL         - on error
*       GT_NOT_SUPPORT  - if current device does not support this feature.
*
* COMMENTS:
*		This is an internal function. No user should call this function.
*
* GalTis:
*
*******************************************************************************/
GT_STATUS gvtuGetViolation
(
    IN GT_QD_DEV*       dev,
    OUT GT_VTU_INT_STATUS *vtuIntStatus
);

/*******************************************************************************
* gvtuGetViolation2
*
* DESCRIPTION:
*       Get VTU Violation data (for Gigabit Device)
*
* INPUTS:
*       None.
*
* OUTPUTS:
*       vtuIntStatus - interrupt cause, source portID, and vid.
*
* RETURNS:
*       GT_OK           - on success
*       GT_FAIL         - on error
*       GT_NOT_SUPPORT  - if current device does not support this feature.
*
* COMMENTS:
*		This is an internal function. No user should call this function.
*
* GalTis:
*
*******************************************************************************/
GT_STATUS gvtuGetViolation2
(
    IN GT_QD_DEV*       dev,
    OUT GT_VTU_INT_STATUS *vtuIntStatus
);
/*******************************************************************************
* gvtuGetViolation3
*
* DESCRIPTION:
*       Get VTU Violation data (for Spinnaker family Device)
*
* INPUTS:
*       None.
*
* OUTPUTS:
*       vtuIntStatus - interrupt cause, source portID, and vid.
*
* RETURNS:
*       GT_OK           - on success
*       GT_FAIL         - on error
*       GT_NOT_SUPPORT  - if current device does not support this feature.
*
* COMMENTS:
*		This is an internal function. No user should call this function.
*
* GalTis:
*
*******************************************************************************/
GT_STATUS gvtuGetViolation3
(
    IN GT_QD_DEV*       dev,
    OUT GT_VTU_INT_STATUS *vtuIntStatus
);
/*******************************************************************************
* gatuGetViolation
*
* DESCRIPTION:
*       Get ATU Violation data
*
* INPUTS:
*       None.
*
* OUTPUTS:
*       atuIntStatus - interrupt cause, source portID, and vid.
*
* RETURNS:
*       GT_OK           - on success
*       GT_FAIL         - on error
*       GT_NOT_SUPPORT  - if current device does not support this feature.
*
* COMMENTS:
*		This is an internal function. No user should call this function.
*
* GalTis:
*
*******************************************************************************/
GT_STATUS gatuGetViolation
(
    IN  GT_QD_DEV         *dev,
    OUT GT_ATU_INT_STATUS *atuIntStatus
);

/*******************************************************************************
* gsysSetRetransmitMode
*
* DESCRIPTION:
*       This routine set the Retransmit Mode.
*
* INPUTS:
*       en - GT_TRUE Retransimt Mode is enabled, GT_FALSE otherwise.
*
* OUTPUTS:
*       None.
*
* RETURNS:
*       GT_OK   - on success
*       GT_FAIL - on error
*
* COMMENTS:
*       None.
*
* GalTis:
*
*******************************************************************************/
GT_STATUS gsysSetRetransmitMode
(
    IN GT_QD_DEV*       dev,
    IN GT_BOOL en
);

/*******************************************************************************
* gsysGetRetransmitMode
*
* DESCRIPTION:
*       This routine get the Retransmit Mode.
*
* INPUTS:
*       None.
*
* OUTPUTS:
*       en - GT_TRUE Retransmit Mode is enabled, GT_FALSE otherwise.
*
* RETURNS:
*       GT_OK           - on success
*       GT_BAD_PARAM    - on bad parameter
*       GT_FAIL         - on error
*
* COMMENTS:
*       None.
*
* GalTis:
*
*******************************************************************************/
GT_STATUS gsysGetRetransmitMode
(
    IN GT_QD_DEV*       dev,
    IN GT_BOOL *en
);

/*******************************************************************************
* gsysSetLimitBackoff
*
* DESCRIPTION:
*       This routine set the Limit Backoff bit.
*
* INPUTS:
*       en - GT_TRUE:  uses QoS half duplex backoff operation  
*            GT_FALSE: uses normal half duplex backoff operation
*
* OUTPUTS:
*       None.
*
* RETURNS:
*       GT_OK   - on success

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?