|
@@ -1,5 +1,3 @@
|
|
|
-
|
|
|
-
|
|
|
#ifndef _HOST_MIBSINTERFACE_H
|
|
|
#define _HOST_MIBSINTERFACE_H
|
|
|
|
|
@@ -8,201 +6,190 @@
|
|
|
* File Name: HostMIBSInterface.h
|
|
|
* Abstract: This file contains DS used by the Host to update the Host
|
|
|
* statistics used for the MIBS.
|
|
|
- */
|
|
|
-
|
|
|
-#define MIBS_MAX_CLASSIFIERS 100
|
|
|
-#define MIBS_MAX_PHSRULES 100
|
|
|
-#define MIBS_MAX_SERVICEFLOWS 17
|
|
|
-#define MIBS_MAX_IP_RANGE_LENGTH 4
|
|
|
-#define MIBS_MAX_PORT_RANGE 4
|
|
|
-#define MIBS_MAX_PROTOCOL_LENGTH 32
|
|
|
-#define MIBS_MAX_PHS_LENGTHS 255
|
|
|
-#define MIBS_IPV6_ADDRESS_SIZEINBYTES 0x10
|
|
|
+ */
|
|
|
+
|
|
|
+#define MIBS_MAX_CLASSIFIERS 100
|
|
|
+#define MIBS_MAX_PHSRULES 100
|
|
|
+#define MIBS_MAX_SERVICEFLOWS 17
|
|
|
+#define MIBS_MAX_IP_RANGE_LENGTH 4
|
|
|
+#define MIBS_MAX_PORT_RANGE 4
|
|
|
+#define MIBS_MAX_PROTOCOL_LENGTH 32
|
|
|
+#define MIBS_MAX_PHS_LENGTHS 255
|
|
|
+#define MIBS_IPV6_ADDRESS_SIZEINBYTES 0x10
|
|
|
#define MIBS_IP_LENGTH_OF_ADDRESS 4
|
|
|
-#define MIBS_MAX_HIST_ENTRIES 12
|
|
|
-#define MIBS_PKTSIZEHIST_RANGE 128
|
|
|
+#define MIBS_MAX_HIST_ENTRIES 12
|
|
|
+#define MIBS_PKTSIZEHIST_RANGE 128
|
|
|
|
|
|
typedef union _U_MIBS_IP_ADDRESS
|
|
|
{
|
|
|
- struct
|
|
|
+ struct
|
|
|
{
|
|
|
//Source Ip Address Range
|
|
|
- ULONG ulIpv4Addr[MIBS_MAX_IP_RANGE_LENGTH];
|
|
|
+ ULONG ulIpv4Addr[MIBS_MAX_IP_RANGE_LENGTH];
|
|
|
//Source Ip Mask Address Range
|
|
|
- ULONG ulIpv4Mask[MIBS_MAX_IP_RANGE_LENGTH];
|
|
|
+ ULONG ulIpv4Mask[MIBS_MAX_IP_RANGE_LENGTH];
|
|
|
};
|
|
|
struct
|
|
|
{
|
|
|
//Source Ip Address Range
|
|
|
- ULONG ulIpv6Addr[MIBS_MAX_IP_RANGE_LENGTH * 4];
|
|
|
+ ULONG ulIpv6Addr[MIBS_MAX_IP_RANGE_LENGTH * 4];
|
|
|
//Source Ip Mask Address Range
|
|
|
- ULONG ulIpv6Mask[MIBS_MAX_IP_RANGE_LENGTH * 4];
|
|
|
-
|
|
|
+ ULONG ulIpv6Mask[MIBS_MAX_IP_RANGE_LENGTH * 4];
|
|
|
};
|
|
|
struct
|
|
|
{
|
|
|
- UCHAR ucIpv4Address[MIBS_MAX_IP_RANGE_LENGTH *
|
|
|
- MIBS_IP_LENGTH_OF_ADDRESS];
|
|
|
- UCHAR ucIpv4Mask[MIBS_MAX_IP_RANGE_LENGTH *
|
|
|
- MIBS_IP_LENGTH_OF_ADDRESS];
|
|
|
+ UCHAR ucIpv4Address[MIBS_MAX_IP_RANGE_LENGTH * MIBS_IP_LENGTH_OF_ADDRESS];
|
|
|
+ UCHAR ucIpv4Mask[MIBS_MAX_IP_RANGE_LENGTH * MIBS_IP_LENGTH_OF_ADDRESS];
|
|
|
};
|
|
|
struct
|
|
|
{
|
|
|
- UCHAR ucIpv6Address[MIBS_MAX_IP_RANGE_LENGTH * MIBS_IPV6_ADDRESS_SIZEINBYTES];
|
|
|
- UCHAR ucIpv6Mask[MIBS_MAX_IP_RANGE_LENGTH * MIBS_IPV6_ADDRESS_SIZEINBYTES];
|
|
|
+ UCHAR ucIpv6Address[MIBS_MAX_IP_RANGE_LENGTH * MIBS_IPV6_ADDRESS_SIZEINBYTES];
|
|
|
+ UCHAR ucIpv6Mask[MIBS_MAX_IP_RANGE_LENGTH * MIBS_IPV6_ADDRESS_SIZEINBYTES];
|
|
|
};
|
|
|
-}U_MIBS_IP_ADDRESS;
|
|
|
-
|
|
|
+} U_MIBS_IP_ADDRESS;
|
|
|
|
|
|
typedef struct _S_MIBS_HOST_INFO
|
|
|
{
|
|
|
- ULONG64 GoodTransmits;
|
|
|
- ULONG64 GoodReceives;
|
|
|
+ ULONG64 GoodTransmits;
|
|
|
+ ULONG64 GoodReceives;
|
|
|
// this to keep track of the Tx and Rx MailBox Registers.
|
|
|
- ULONG NumDesUsed;
|
|
|
- ULONG CurrNumFreeDesc;
|
|
|
- ULONG PrevNumFreeDesc;
|
|
|
+ ULONG NumDesUsed;
|
|
|
+ ULONG CurrNumFreeDesc;
|
|
|
+ ULONG PrevNumFreeDesc;
|
|
|
// to keep track the no of byte received
|
|
|
- ULONG PrevNumRcevBytes;
|
|
|
- ULONG CurrNumRcevBytes;
|
|
|
-
|
|
|
+ ULONG PrevNumRcevBytes;
|
|
|
+ ULONG CurrNumRcevBytes;
|
|
|
/* QOS Related */
|
|
|
- ULONG BEBucketSize;
|
|
|
- ULONG rtPSBucketSize;
|
|
|
- ULONG LastTxQueueIndex;
|
|
|
- BOOLEAN TxOutofDescriptors;
|
|
|
- BOOLEAN TimerActive;
|
|
|
- UINT32 u32TotalDSD;
|
|
|
- UINT32 aTxPktSizeHist[MIBS_MAX_HIST_ENTRIES];
|
|
|
- UINT32 aRxPktSizeHist[MIBS_MAX_HIST_ENTRIES];
|
|
|
-}S_MIBS_HOST_INFO;
|
|
|
+ ULONG BEBucketSize;
|
|
|
+ ULONG rtPSBucketSize;
|
|
|
+ ULONG LastTxQueueIndex;
|
|
|
+ BOOLEAN TxOutofDescriptors;
|
|
|
+ BOOLEAN TimerActive;
|
|
|
+ UINT32 u32TotalDSD;
|
|
|
+ UINT32 aTxPktSizeHist[MIBS_MAX_HIST_ENTRIES];
|
|
|
+ UINT32 aRxPktSizeHist[MIBS_MAX_HIST_ENTRIES];
|
|
|
+} S_MIBS_HOST_INFO;
|
|
|
|
|
|
typedef struct _S_MIBS_CLASSIFIER_RULE
|
|
|
{
|
|
|
- ULONG ulSFID;
|
|
|
- UCHAR ucReserved[2];
|
|
|
- B_UINT16 uiClassifierRuleIndex;
|
|
|
- BOOLEAN bUsed;
|
|
|
- USHORT usVCID_Value;
|
|
|
+ ULONG ulSFID;
|
|
|
+ UCHAR ucReserved[2];
|
|
|
+ B_UINT16 uiClassifierRuleIndex;
|
|
|
+ BOOLEAN bUsed;
|
|
|
+ USHORT usVCID_Value;
|
|
|
// This field detemines the Classifier Priority
|
|
|
- B_UINT8 u8ClassifierRulePriority;
|
|
|
- U_MIBS_IP_ADDRESS stSrcIpAddress;
|
|
|
+ B_UINT8 u8ClassifierRulePriority;
|
|
|
+ U_MIBS_IP_ADDRESS stSrcIpAddress;
|
|
|
/*IP Source Address Length*/
|
|
|
- UCHAR ucIPSourceAddressLength;
|
|
|
-
|
|
|
- U_MIBS_IP_ADDRESS stDestIpAddress;
|
|
|
+ UCHAR ucIPSourceAddressLength;
|
|
|
+ U_MIBS_IP_ADDRESS stDestIpAddress;
|
|
|
/* IP Destination Address Length */
|
|
|
- UCHAR ucIPDestinationAddressLength;
|
|
|
- UCHAR ucIPTypeOfServiceLength;//Type of service Length
|
|
|
- UCHAR ucTosLow;//Tos Low
|
|
|
- UCHAR ucTosHigh;//Tos High
|
|
|
- UCHAR ucTosMask;//Tos Mask
|
|
|
- UCHAR ucProtocolLength;//protocol Length
|
|
|
- UCHAR ucProtocol[MIBS_MAX_PROTOCOL_LENGTH];//protocol Length
|
|
|
- USHORT usSrcPortRangeLo[MIBS_MAX_PORT_RANGE];
|
|
|
- USHORT usSrcPortRangeHi[MIBS_MAX_PORT_RANGE];
|
|
|
- UCHAR ucSrcPortRangeLength;
|
|
|
- USHORT usDestPortRangeLo[MIBS_MAX_PORT_RANGE];
|
|
|
- USHORT usDestPortRangeHi[MIBS_MAX_PORT_RANGE];
|
|
|
- UCHAR ucDestPortRangeLength;
|
|
|
- BOOLEAN bProtocolValid;
|
|
|
- BOOLEAN bTOSValid;
|
|
|
- BOOLEAN bDestIpValid;
|
|
|
- BOOLEAN bSrcIpValid;
|
|
|
- UCHAR ucDirection;
|
|
|
- BOOLEAN bIpv6Protocol;
|
|
|
- UINT32 u32PHSRuleID;
|
|
|
-}S_MIBS_CLASSIFIER_RULE;
|
|
|
-
|
|
|
+ UCHAR ucIPDestinationAddressLength;
|
|
|
+ UCHAR ucIPTypeOfServiceLength;//Type of service Length
|
|
|
+ UCHAR ucTosLow;//Tos Low
|
|
|
+ UCHAR ucTosHigh;//Tos High
|
|
|
+ UCHAR ucTosMask;//Tos Mask
|
|
|
+ UCHAR ucProtocolLength;//protocol Length
|
|
|
+ UCHAR ucProtocol[MIBS_MAX_PROTOCOL_LENGTH];//protocol Length
|
|
|
+ USHORT usSrcPortRangeLo[MIBS_MAX_PORT_RANGE];
|
|
|
+ USHORT usSrcPortRangeHi[MIBS_MAX_PORT_RANGE];
|
|
|
+ UCHAR ucSrcPortRangeLength;
|
|
|
+ USHORT usDestPortRangeLo[MIBS_MAX_PORT_RANGE];
|
|
|
+ USHORT usDestPortRangeHi[MIBS_MAX_PORT_RANGE];
|
|
|
+ UCHAR ucDestPortRangeLength;
|
|
|
+ BOOLEAN bProtocolValid;
|
|
|
+ BOOLEAN bTOSValid;
|
|
|
+ BOOLEAN bDestIpValid;
|
|
|
+ BOOLEAN bSrcIpValid;
|
|
|
+ UCHAR ucDirection;
|
|
|
+ BOOLEAN bIpv6Protocol;
|
|
|
+ UINT32 u32PHSRuleID;
|
|
|
+} S_MIBS_CLASSIFIER_RULE;
|
|
|
|
|
|
typedef struct _S_MIBS_PHS_RULE
|
|
|
{
|
|
|
- ULONG ulSFID;
|
|
|
+ ULONG ulSFID;
|
|
|
/// brief 8bit PHSI Of The Service Flow
|
|
|
- B_UINT8 u8PHSI;
|
|
|
+ B_UINT8 u8PHSI;
|
|
|
/// brief PHSF Of The Service Flow
|
|
|
- B_UINT8 u8PHSFLength;
|
|
|
- B_UINT8 u8PHSF[MIBS_MAX_PHS_LENGTHS];
|
|
|
+ B_UINT8 u8PHSFLength;
|
|
|
+ B_UINT8 u8PHSF[MIBS_MAX_PHS_LENGTHS];
|
|
|
/// brief PHSM Of The Service Flow
|
|
|
- B_UINT8 u8PHSMLength;
|
|
|
- B_UINT8 u8PHSM[MIBS_MAX_PHS_LENGTHS];
|
|
|
+ B_UINT8 u8PHSMLength;
|
|
|
+ B_UINT8 u8PHSM[MIBS_MAX_PHS_LENGTHS];
|
|
|
/// brief 8bit PHSS Of The Service Flow
|
|
|
- B_UINT8 u8PHSS;
|
|
|
+ B_UINT8 u8PHSS;
|
|
|
/// brief 8bit PHSV Of The Service Flow
|
|
|
- B_UINT8 u8PHSV;
|
|
|
+ B_UINT8 u8PHSV;
|
|
|
// Reserved bytes are 5, so that it is similar to S_PHS_RULE structure.
|
|
|
- B_UINT8 reserved[5];
|
|
|
-
|
|
|
- LONG PHSModifiedBytes;
|
|
|
- ULONG PHSModifiedNumPackets;
|
|
|
- ULONG PHSErrorNumPackets;
|
|
|
-}S_MIBS_PHS_RULE;
|
|
|
+ B_UINT8 reserved[5];
|
|
|
+ LONG PHSModifiedBytes;
|
|
|
+ ULONG PHSModifiedNumPackets;
|
|
|
+ ULONG PHSErrorNumPackets;
|
|
|
+} S_MIBS_PHS_RULE;
|
|
|
|
|
|
typedef struct _S_MIBS_EXTSERVICEFLOW_PARAMETERS
|
|
|
{
|
|
|
- UINT32 wmanIfSfid;
|
|
|
- UINT32 wmanIfCmnCpsSfState;
|
|
|
- UINT32 wmanIfCmnCpsMaxSustainedRate;
|
|
|
- UINT32 wmanIfCmnCpsMaxTrafficBurst;
|
|
|
- UINT32 wmanIfCmnCpsMinReservedRate;
|
|
|
- UINT32 wmanIfCmnCpsToleratedJitter;
|
|
|
- UINT32 wmanIfCmnCpsMaxLatency;
|
|
|
- UINT32 wmanIfCmnCpsFixedVsVariableSduInd;
|
|
|
- UINT32 wmanIfCmnCpsSduSize;
|
|
|
- UINT32 wmanIfCmnCpsSfSchedulingType;
|
|
|
- UINT32 wmanIfCmnCpsArqEnable;
|
|
|
- UINT32 wmanIfCmnCpsArqWindowSize;
|
|
|
- UINT32 wmanIfCmnCpsArqBlockLifetime;
|
|
|
- UINT32 wmanIfCmnCpsArqSyncLossTimeout;
|
|
|
- UINT32 wmanIfCmnCpsArqDeliverInOrder;
|
|
|
- UINT32 wmanIfCmnCpsArqRxPurgeTimeout;
|
|
|
- UINT32 wmanIfCmnCpsArqBlockSize;
|
|
|
- UINT32 wmanIfCmnCpsMinRsvdTolerableRate;
|
|
|
- UINT32 wmanIfCmnCpsReqTxPolicy;
|
|
|
- UINT32 wmanIfCmnSfCsSpecification;
|
|
|
- UINT32 wmanIfCmnCpsTargetSaid;
|
|
|
-
|
|
|
-}S_MIBS_EXTSERVICEFLOW_PARAMETERS;
|
|
|
-
|
|
|
+ UINT32 wmanIfSfid;
|
|
|
+ UINT32 wmanIfCmnCpsSfState;
|
|
|
+ UINT32 wmanIfCmnCpsMaxSustainedRate;
|
|
|
+ UINT32 wmanIfCmnCpsMaxTrafficBurst;
|
|
|
+ UINT32 wmanIfCmnCpsMinReservedRate;
|
|
|
+ UINT32 wmanIfCmnCpsToleratedJitter;
|
|
|
+ UINT32 wmanIfCmnCpsMaxLatency;
|
|
|
+ UINT32 wmanIfCmnCpsFixedVsVariableSduInd;
|
|
|
+ UINT32 wmanIfCmnCpsSduSize;
|
|
|
+ UINT32 wmanIfCmnCpsSfSchedulingType;
|
|
|
+ UINT32 wmanIfCmnCpsArqEnable;
|
|
|
+ UINT32 wmanIfCmnCpsArqWindowSize;
|
|
|
+ UINT32 wmanIfCmnCpsArqBlockLifetime;
|
|
|
+ UINT32 wmanIfCmnCpsArqSyncLossTimeout;
|
|
|
+ UINT32 wmanIfCmnCpsArqDeliverInOrder;
|
|
|
+ UINT32 wmanIfCmnCpsArqRxPurgeTimeout;
|
|
|
+ UINT32 wmanIfCmnCpsArqBlockSize;
|
|
|
+ UINT32 wmanIfCmnCpsMinRsvdTolerableRate;
|
|
|
+ UINT32 wmanIfCmnCpsReqTxPolicy;
|
|
|
+ UINT32 wmanIfCmnSfCsSpecification;
|
|
|
+ UINT32 wmanIfCmnCpsTargetSaid;
|
|
|
+} S_MIBS_EXTSERVICEFLOW_PARAMETERS;
|
|
|
|
|
|
typedef struct _S_MIBS_SERVICEFLOW_TABLE
|
|
|
{
|
|
|
- //classification extension Rule
|
|
|
- ULONG ulSFID;
|
|
|
- USHORT usVCID_Value;
|
|
|
- UINT uiThreshold;
|
|
|
+ //classification extension Rule
|
|
|
+ ULONG ulSFID;
|
|
|
+ USHORT usVCID_Value;
|
|
|
+ UINT uiThreshold;
|
|
|
// This field determines the priority of the SF Queues
|
|
|
- B_UINT8 u8TrafficPriority;
|
|
|
-
|
|
|
- BOOLEAN bValid;
|
|
|
- BOOLEAN bActive;
|
|
|
- BOOLEAN bActivateRequestSent;
|
|
|
+ B_UINT8 u8TrafficPriority;
|
|
|
+ BOOLEAN bValid;
|
|
|
+ BOOLEAN bActive;
|
|
|
+ BOOLEAN bActivateRequestSent;
|
|
|
//BE or rtPS
|
|
|
- B_UINT8 u8QueueType;
|
|
|
+ B_UINT8 u8QueueType;
|
|
|
//maximum size of the bucket for the queue
|
|
|
- UINT uiMaxBucketSize;
|
|
|
- UINT uiCurrentQueueDepthOnTarget;
|
|
|
- UINT uiCurrentBytesOnHost;
|
|
|
- UINT uiCurrentPacketsOnHost;
|
|
|
- UINT uiDroppedCountBytes;
|
|
|
- UINT uiDroppedCountPackets;
|
|
|
- UINT uiSentBytes;
|
|
|
- UINT uiSentPackets;
|
|
|
- UINT uiCurrentDrainRate;
|
|
|
- UINT uiThisPeriodSentBytes;
|
|
|
+ UINT uiMaxBucketSize;
|
|
|
+ UINT uiCurrentQueueDepthOnTarget;
|
|
|
+ UINT uiCurrentBytesOnHost;
|
|
|
+ UINT uiCurrentPacketsOnHost;
|
|
|
+ UINT uiDroppedCountBytes;
|
|
|
+ UINT uiDroppedCountPackets;
|
|
|
+ UINT uiSentBytes;
|
|
|
+ UINT uiSentPackets;
|
|
|
+ UINT uiCurrentDrainRate;
|
|
|
+ UINT uiThisPeriodSentBytes;
|
|
|
LARGE_INTEGER liDrainCalculated;
|
|
|
- UINT uiCurrentTokenCount;
|
|
|
+ UINT uiCurrentTokenCount;
|
|
|
LARGE_INTEGER liLastUpdateTokenAt;
|
|
|
- UINT uiMaxAllowedRate;
|
|
|
- UINT NumOfPacketsSent;
|
|
|
- UCHAR ucDirection;
|
|
|
- USHORT usCID;
|
|
|
- S_MIBS_EXTSERVICEFLOW_PARAMETERS stMibsExtServiceFlowTable;
|
|
|
- UINT uiCurrentRxRate;
|
|
|
- UINT uiThisPeriodRxBytes;
|
|
|
- UINT uiTotalRxBytes;
|
|
|
- UINT uiTotalTxBytes;
|
|
|
-}S_MIBS_SERVICEFLOW_TABLE;
|
|
|
+ UINT uiMaxAllowedRate;
|
|
|
+ UINT NumOfPacketsSent;
|
|
|
+ UCHAR ucDirection;
|
|
|
+ USHORT usCID;
|
|
|
+ S_MIBS_EXTSERVICEFLOW_PARAMETERS stMibsExtServiceFlowTable;
|
|
|
+ UINT uiCurrentRxRate;
|
|
|
+ UINT uiThisPeriodRxBytes;
|
|
|
+ UINT uiTotalRxBytes;
|
|
|
+ UINT uiTotalTxBytes;
|
|
|
+} S_MIBS_SERVICEFLOW_TABLE;
|
|
|
|
|
|
typedef struct _S_MIBS_DROPPED_APP_CNTRL_MESSAGES
|
|
|
{
|
|
@@ -214,17 +201,15 @@ typedef struct _S_MIBS_DROPPED_APP_CNTRL_MESSAGES
|
|
|
ULONG idle_mode_status;
|
|
|
ULONG auth_ss_host_msg;
|
|
|
ULONG low_priority_message;
|
|
|
-
|
|
|
-}S_MIBS_DROPPED_APP_CNTRL_MESSAGES;
|
|
|
+} S_MIBS_DROPPED_APP_CNTRL_MESSAGES;
|
|
|
|
|
|
typedef struct _S_MIBS_HOST_STATS_MIBS
|
|
|
{
|
|
|
- S_MIBS_HOST_INFO stHostInfo;
|
|
|
- S_MIBS_CLASSIFIER_RULE astClassifierTable[MIBS_MAX_CLASSIFIERS];
|
|
|
- S_MIBS_SERVICEFLOW_TABLE astSFtable[MIBS_MAX_SERVICEFLOWS];
|
|
|
- S_MIBS_PHS_RULE astPhsRulesTable[MIBS_MAX_PHSRULES];
|
|
|
- S_MIBS_DROPPED_APP_CNTRL_MESSAGES stDroppedAppCntrlMsgs;
|
|
|
-}S_MIBS_HOST_STATS_MIBS;
|
|
|
-#endif
|
|
|
-
|
|
|
+ S_MIBS_HOST_INFO stHostInfo;
|
|
|
+ S_MIBS_CLASSIFIER_RULE astClassifierTable[MIBS_MAX_CLASSIFIERS];
|
|
|
+ S_MIBS_SERVICEFLOW_TABLE astSFtable[MIBS_MAX_SERVICEFLOWS];
|
|
|
+ S_MIBS_PHS_RULE astPhsRulesTable[MIBS_MAX_PHSRULES];
|
|
|
+ S_MIBS_DROPPED_APP_CNTRL_MESSAGES stDroppedAppCntrlMsgs;
|
|
|
+} S_MIBS_HOST_STATS_MIBS;
|
|
|
|
|
|
+#endif
|