📄 msapiinternal.h
字号:
#define DEV_FRAME_SIZE_1632 \ ( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY ) /* Not used */#define DEV_FLOW_CTRL_DELAY \ ( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
/* port based CPU Port */#define DEV_ENHANCED_CPU_PORT \ ( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_CPU_DEST_PER_PORT \ ( DEV_88E6183 | DEV_88E6093 | \ DEV_88E6095_FAMILY | DEV_88E6185_FAMILY )#define DEV_CPU_PORT ( DEV_88E6065_FAMILY )#define DEV_MULTICAST ( DEV_88E6065_FAMILY )#define DEV_CPU_DEST ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_MIRROR_DEST ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_QVLAN_ONLY ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_5BIT_PORT ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_SDET_POLARITY ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_LIMITED_SDET ( DEV_88E6165_FAMILY ) /* only port 4 & 5 support SDET Polarity */
/* supports Reserved Multicast, etc */#define DEV_ENHANCED_MULTICAST \ ( DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \ DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_ENHANCED_MULTICAST_2X ( DEV_88E6097_FAMILY | DEV_88E6165_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 | DEV_88E6165_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 | DEV_88E6165_FAMILY )
#define DEV_FLOOD_BROADCAST ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_TAG_FLOW_CONTROL ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_ALWAYS_USE_VTU ( DEV_88E6097_FAMILY )#define DEV_RM_ONE_PTAG ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_PRIORITY_OVERRIDE \ ( DEV_88E6183 | DEV_88E6093 | DEV_88E6095 | \ DEV_88E6185 | DEV_88E6108 | DEV_88E6097_FAMILY | \
DEV_88E6165_FAMILY )
#define DEV_EXT_PRIORITY_OVERRIDE ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_PRIORITY_OVERRIDE_TABLE ( DEV_88E6097_FAMILY | DEV_88E6165_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 | DEV_88E6165_FAMILY )
#define DEV_ARP_TO_CPU ( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_EGRESS_FLOOD ( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_FORCE_MAP ( DEV_88E6065_FAMILY )#define DEV_PORT_SCHEDULE ( DEV_88E6065 )#define DEV_PORT_MIXED_SCHEDULE ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_OUT_Q_SIZE ( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_OUT_Q_512 ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_FULL_Q_COUNTER ( DEV_88E6097_FAMILY | DEV_88E6165_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 | \
DEV_88E6165_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 | \
DEV_88E6165_FAMILY )
#define DEV_UC_NO_PRI_TO_CPU_STATIC_NRL \
( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_UC_TO_CPU_STATIC_NRL \
( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_UC_NO_PRI_STATIC_NRL \
( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_UC_STATIC_NRL \
( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_UC_NO_PRI_TO_CPU_STATIC \
( DEV_88E6065_FAMILY | DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \
DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_UC_TO_CPU_STATIC \
( DEV_88E6065_FAMILY | DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \
DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_UC_NO_PRI_STATIC \
( DEV_88E6065_FAMILY | DEV_88E6095_FAMILY | DEV_88E6185_FAMILY | \
DEV_88E6183 | DEV_88E6093 | DEV_88E6097_FAMILY | DEV_88E6165_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 | DEV_88E6165_FAMILY )
#define DEV_MC_PRIO_MGM_STATIC_UNLIMITED_RATE \
( DEV_88E6065_FAMILY | DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_MC_STATIC_UNLIMITED_RATE ( DEV_STATIC_ADDR & ~DEV_88E6052 )#define DEV_MC_MGM_STATIC ( DEV_STATIC_ADDR )#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 | DEV_88E6165_FAMILY )
/* Grouping Devices that support Frame Mode */#define DEV_FRAME_MODE ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_POLICY ( DEV_88E6097 | DEV_88E6165)
#define DEV_PORT_ETYPE ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_FID_REG ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_FRAME_TO_REGISTER ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_RMU_MODE ( DEV_88E6165_FAMILY )
#define DEV_SWITCH_MAC_REG ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_ATU_STATS ( DEV_88E6097_FAMILY | DEV_88E6165_FAMILY )
#define DEV_JUMBO_MODE ( DEV_88E6165_FAMILY )
#define DEV_PTP ( DEV_88E6165_FAMILY )
#define DEV_PTP_2 0
#define DEV_TAI 0
/* 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) \ ((_hwPort == GT_INVALID_PORT) ? GT_BAD_PARAM : \
(!(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, _bps) \ ((IS_IN_DEV_GROUP(dev,DEV_PIRL_RESOURCE))?16777200:0xFFFFFF)#define RECOMMENDED_CBS_LIMIT(dev, _bps) \ ((IS_IN_DEV_GROUP(dev,DEV_PIRL_RESOURCE))?393216:0x200000)#define RECOMMENDED_BUCKET_INCREMENT(dev, _bps) \ ((IS_IN_DEV_GROUP(dev,DEV_PIRL_RESOURCE))?174: \ ((_bps) < 1000)?0x3d: \ ((_bps) < 10000)?0x1f:0x4)#define FACTOR_FROM_BUCKET_INCREMENT(dev, _bInc, _f) \ { \ if(IS_IN_DEV_GROUP(dev,DEV_PIRL_RESOURCE)) \ { \ if((_bInc) == 174) {(_f) = 64;} \ else {(_f) = 0;} \ } \ else \ { \ if((_bInc) == 0x3d) {(_f) = 64;} \ else if((_bInc) == 0x1f) {(_f) = 128;} \ else if((_bInc) == 0x4) {(_f) = 1000;} \ else {(_f) = 0;} \ } \ }/*
* 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.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -