1f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
2f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
3f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#ifndef _HOST_MIBSINTERFACE_H
4f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#define _HOST_MIBSINTERFACE_H
5f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
6f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger/*
7f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger * Copyright (c) 2007 Beceem Communications Pvt. Ltd
8f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger * File Name: HostMIBSInterface.h
9f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger * Abstract: This file contains DS used by the Host to update the Host
10f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger * statistics used for the MIBS.
11f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger */
12f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
13f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#define MIBS_MAX_CLASSIFIERS 100
14f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#define MIBS_MAX_PHSRULES 100
15f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#define MIBS_MAX_SERVICEFLOWS 17
16f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#define MIBS_MAX_IP_RANGE_LENGTH 4
17f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#define MIBS_MAX_PORT_RANGE 4
18f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#define MIBS_MAX_PROTOCOL_LENGTH   32
19f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#define MIBS_MAX_PHS_LENGTHS	 255
20f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#define MIBS_IPV6_ADDRESS_SIZEINBYTES 0x10
21f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#define MIBS_IP_LENGTH_OF_ADDRESS	4
22f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#define MIBS_MAX_HIST_ENTRIES 12
23f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#define MIBS_PKTSIZEHIST_RANGE 128
24f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
25f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemmingertypedef union _U_MIBS_IP_ADDRESS
26f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger{
27f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger    struct
28f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	{
29f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger		//Source Ip Address Range
30f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger		ULONG		ulIpv4Addr[MIBS_MAX_IP_RANGE_LENGTH];
31f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger		//Source Ip Mask Address Range
32f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger		ULONG       ulIpv4Mask[MIBS_MAX_IP_RANGE_LENGTH];
33f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	};
34f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	struct
35f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	{
36f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger		//Source Ip Address Range
37f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger		ULONG		ulIpv6Addr[MIBS_MAX_IP_RANGE_LENGTH * 4];
38f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger		//Source Ip Mask Address Range
39f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger		ULONG       ulIpv6Mask[MIBS_MAX_IP_RANGE_LENGTH * 4];
40f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
41f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	};
42f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	struct
43f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	{
44f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger		UCHAR		ucIpv4Address[MIBS_MAX_IP_RANGE_LENGTH *
45f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger									MIBS_IP_LENGTH_OF_ADDRESS];
46f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger		UCHAR		ucIpv4Mask[MIBS_MAX_IP_RANGE_LENGTH *
47f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger									MIBS_IP_LENGTH_OF_ADDRESS];
48f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	};
49f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	struct
50f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	{
51f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger		UCHAR		ucIpv6Address[MIBS_MAX_IP_RANGE_LENGTH * MIBS_IPV6_ADDRESS_SIZEINBYTES];
52f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger		UCHAR		ucIpv6Mask[MIBS_MAX_IP_RANGE_LENGTH * MIBS_IPV6_ADDRESS_SIZEINBYTES];
53f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	};
54f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger}U_MIBS_IP_ADDRESS;
55f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
56f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
57f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemmingertypedef struct _S_MIBS_HOST_INFO
58f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger{
59f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG64			GoodTransmits;
60f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG64			GoodReceives;
61f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	// this to keep track of the Tx and Rx MailBox Registers.
62f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG			NumDesUsed;
63f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG			CurrNumFreeDesc;
64f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG			PrevNumFreeDesc;
6525985edcedea6396277003854657b5f3cb31a628Lucas De Marchi	// to keep track the no of byte received
66f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG			PrevNumRcevBytes;
67f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG			CurrNumRcevBytes;
68f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
69f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	/* QOS Related */
70f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG			BEBucketSize;
71f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG			rtPSBucketSize;
72f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG			LastTxQueueIndex;
73f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	BOOLEAN			TxOutofDescriptors;
74f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	BOOLEAN			TimerActive;
75f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32			u32TotalDSD;
76f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32			aTxPktSizeHist[MIBS_MAX_HIST_ENTRIES];
77f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32			aRxPktSizeHist[MIBS_MAX_HIST_ENTRIES];
78f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger}S_MIBS_HOST_INFO;
79f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
80f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemmingertypedef struct _S_MIBS_CLASSIFIER_RULE
81f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger{
82f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG				ulSFID;
83f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR               ucReserved[2];
84f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	B_UINT16            uiClassifierRuleIndex;
85f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	BOOLEAN				bUsed;
86f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	USHORT				usVCID_Value;
87f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	// This field detemines the Classifier Priority
88f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	B_UINT8             u8ClassifierRulePriority;
89f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	U_MIBS_IP_ADDRESS   stSrcIpAddress;
90f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	/*IP Source Address Length*/
91f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR               ucIPSourceAddressLength;
92f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
93f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	U_MIBS_IP_ADDRESS   stDestIpAddress;
94f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	/* IP Destination Address Length */
95f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR               ucIPDestinationAddressLength;
96f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR               ucIPTypeOfServiceLength;//Type of service Length
97f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR               ucTosLow;//Tos Low
98f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR               ucTosHigh;//Tos High
99f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR               ucTosMask;//Tos Mask
100f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR               ucProtocolLength;//protocol Length
101f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR               ucProtocol[MIBS_MAX_PROTOCOL_LENGTH];//protocol Length
102f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	USHORT				usSrcPortRangeLo[MIBS_MAX_PORT_RANGE];
103f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	USHORT				usSrcPortRangeHi[MIBS_MAX_PORT_RANGE];
104f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR               ucSrcPortRangeLength;
105f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	USHORT				usDestPortRangeLo[MIBS_MAX_PORT_RANGE];
106f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	USHORT				usDestPortRangeHi[MIBS_MAX_PORT_RANGE];
107f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR               ucDestPortRangeLength;
108f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	BOOLEAN				bProtocolValid;
109f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	BOOLEAN				bTOSValid;
110f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	BOOLEAN				bDestIpValid;
111f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	BOOLEAN				bSrcIpValid;
112f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR				ucDirection;
113f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	BOOLEAN             bIpv6Protocol;
114f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32              u32PHSRuleID;
115f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger}S_MIBS_CLASSIFIER_RULE;
116f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
117f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
118f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemmingertypedef struct _S_MIBS_PHS_RULE
119f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger{
120f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG		ulSFID;
121f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	/// brief 8bit PHSI Of The Service Flow
122f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	B_UINT8     u8PHSI;
123f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	/// brief PHSF Of The Service Flow
124f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	B_UINT8     u8PHSFLength;
125f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	B_UINT8     u8PHSF[MIBS_MAX_PHS_LENGTHS];
126f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	/// brief PHSM Of The Service Flow
127f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	B_UINT8     u8PHSMLength;
128f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	B_UINT8     u8PHSM[MIBS_MAX_PHS_LENGTHS];
129f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	/// brief 8bit PHSS Of The Service Flow
130f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	B_UINT8     u8PHSS;
131f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	/// brief 8bit PHSV Of The Service Flow
132f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	B_UINT8     u8PHSV;
133f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	// Reserved bytes are 5, so that it is similar to S_PHS_RULE structure.
134f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	B_UINT8	    reserved[5];
135f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
136f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	LONG	    PHSModifiedBytes;
137f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG	    PHSModifiedNumPackets;
138f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG		PHSErrorNumPackets;
139f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger}S_MIBS_PHS_RULE;
140f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
141f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemmingertypedef struct _S_MIBS_EXTSERVICEFLOW_PARAMETERS
142f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger{
143f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfSfid;
144f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsSfState;
145f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsMaxSustainedRate;
146f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsMaxTrafficBurst;
147f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsMinReservedRate;
148f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsToleratedJitter;
149f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsMaxLatency;
150f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsFixedVsVariableSduInd;
151f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsSduSize;
152f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsSfSchedulingType;
153f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsArqEnable;
154f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsArqWindowSize;
155f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsArqBlockLifetime;
156f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsArqSyncLossTimeout;
157f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsArqDeliverInOrder;
158f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsArqRxPurgeTimeout;
159f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsArqBlockSize;
160f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsMinRsvdTolerableRate;
161f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsReqTxPolicy;
162f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnSfCsSpecification;
163f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT32 		wmanIfCmnCpsTargetSaid;
164f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
165f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger}S_MIBS_EXTSERVICEFLOW_PARAMETERS;
166f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
167f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
168f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemmingertypedef struct _S_MIBS_SERVICEFLOW_TABLE
169f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger{
170f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	 //classification extension Rule
171f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG		ulSFID;
172f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger    USHORT		usVCID_Value;
173f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiThreshold;
174f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	// This field determines the priority of the SF Queues
175f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	B_UINT8     u8TrafficPriority;
176f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
177f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	BOOLEAN		bValid;
178f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger   	BOOLEAN     bActive;
179f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	BOOLEAN		bActivateRequestSent;
180f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	//BE or rtPS
181f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	B_UINT8		u8QueueType;
182f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	//maximum size of the bucket for the queue
183f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiMaxBucketSize;
184f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiCurrentQueueDepthOnTarget;
185f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiCurrentBytesOnHost;
186f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiCurrentPacketsOnHost;
187f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiDroppedCountBytes;
188f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiDroppedCountPackets;
189f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiSentBytes;
190f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiSentPackets;
191f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiCurrentDrainRate;
192f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiThisPeriodSentBytes;
193f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	LARGE_INTEGER	liDrainCalculated;
194f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiCurrentTokenCount;
195f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	LARGE_INTEGER	liLastUpdateTokenAt;
196f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiMaxAllowedRate;
197f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT        NumOfPacketsSent;
198f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UCHAR		ucDirection;
199f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	USHORT		usCID;
200f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	S_MIBS_EXTSERVICEFLOW_PARAMETERS	stMibsExtServiceFlowTable;
201f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiCurrentRxRate;
202f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiThisPeriodRxBytes;
203f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiTotalRxBytes;
204f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	UINT		uiTotalTxBytes;
205f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger}S_MIBS_SERVICEFLOW_TABLE;
206f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
207f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemmingertypedef struct _S_MIBS_DROPPED_APP_CNTRL_MESSAGES
208f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger{
209f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG cm_responses;
210f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG cm_control_newdsx_multiclassifier_resp;
211f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG link_control_resp;
212f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG status_rsp;
213f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG stats_pointer_resp;
214f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG idle_mode_status;
215f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG auth_ss_host_msg;
216f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	ULONG low_priority_message;
217f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
218f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger}S_MIBS_DROPPED_APP_CNTRL_MESSAGES;
219f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
220f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemmingertypedef struct _S_MIBS_HOST_STATS_MIBS
221f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger{
222f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	S_MIBS_HOST_INFO				stHostInfo;
223f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	S_MIBS_CLASSIFIER_RULE			astClassifierTable[MIBS_MAX_CLASSIFIERS];
224f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	S_MIBS_SERVICEFLOW_TABLE		astSFtable[MIBS_MAX_SERVICEFLOWS];
225f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	S_MIBS_PHS_RULE                 astPhsRulesTable[MIBS_MAX_PHSRULES];
226f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger	S_MIBS_DROPPED_APP_CNTRL_MESSAGES	stDroppedAppCntrlMsgs;
227f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger}S_MIBS_HOST_STATS_MIBS;
228f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger#endif
229f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
230f8942e07a3db9d82e8fb11d3d494876b8bae9ff9Stephen Hemminger
231