• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/char/rtl8365mb/
1/*
2 * Copyright (C) 2013 Realtek Semiconductor Corp.
3 * All Rights Reserved.
4 *
5 * This program is the proprietary software of Realtek Semiconductor
6 * Corporation and/or its licensors, and only be used, duplicated,
7 * modified or distributed under the authorized license from Realtek.
8 *
9 * ANY USE OF THE SOFTWARE OTHER THAN AS AUTHORIZED UNDER
10 * THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
11 *
12 * Purpose : RTL8367/RTL8367C switch high-level API
13 *
14 * Feature : The file includes MIB module high-layer API defination
15 *
16 */
17
18#ifndef __RTK_API_STAT_H__
19#define __RTK_API_STAT_H__
20
21/*
22 * Data Type Declaration
23 */
24typedef rtk_u_long_t rtk_stat_counter_t;
25
26/* global statistic counter structure */
27typedef struct rtk_stat_global_cntr_s
28{
29    rtk_uint64 dot1dTpLearnedEntryDiscards;
30}rtk_stat_global_cntr_t;
31
32typedef enum rtk_stat_global_type_e
33{
34    DOT1D_TP_LEARNED_ENTRY_DISCARDS_INDEX = 58,
35    MIB_GLOBAL_CNTR_END
36}rtk_stat_global_type_t;
37
38/* port statistic counter structure */
39typedef struct rtk_stat_port_cntr_s
40{
41    rtk_uint64 ifInOctets;
42    rtk_uint32 dot3StatsFCSErrors;
43    rtk_uint32 dot3StatsSymbolErrors;
44    rtk_uint32 dot3InPauseFrames;
45    rtk_uint32 dot3ControlInUnknownOpcodes;
46    rtk_uint32 etherStatsFragments;
47    rtk_uint32 etherStatsJabbers;
48    rtk_uint32 ifInUcastPkts;
49    rtk_uint32 etherStatsDropEvents;
50    rtk_uint64 etherStatsOctets;
51    rtk_uint32 etherStatsUndersizePkts;
52    rtk_uint32 etherStatsOversizePkts;
53    rtk_uint32 etherStatsPkts64Octets;
54    rtk_uint32 etherStatsPkts65to127Octets;
55    rtk_uint32 etherStatsPkts128to255Octets;
56    rtk_uint32 etherStatsPkts256to511Octets;
57    rtk_uint32 etherStatsPkts512to1023Octets;
58    rtk_uint32 etherStatsPkts1024toMaxOctets;
59    rtk_uint32 etherStatsMcastPkts;
60    rtk_uint32 etherStatsBcastPkts;
61    rtk_uint64 ifOutOctets;
62    rtk_uint32 dot3StatsSingleCollisionFrames;
63    rtk_uint32 dot3StatsMultipleCollisionFrames;
64    rtk_uint32 dot3StatsDeferredTransmissions;
65    rtk_uint32 dot3StatsLateCollisions;
66    rtk_uint32 etherStatsCollisions;
67    rtk_uint32 dot3StatsExcessiveCollisions;
68    rtk_uint32 dot3OutPauseFrames;
69    rtk_uint32 dot1dBasePortDelayExceededDiscards;
70    rtk_uint32 dot1dTpPortInDiscards;
71    rtk_uint32 ifOutUcastPkts;
72    rtk_uint32 ifOutMulticastPkts;
73    rtk_uint32 ifOutBrocastPkts;
74    rtk_uint32 outOampduPkts;
75    rtk_uint32 inOampduPkts;
76    rtk_uint32 pktgenPkts;
77    rtk_uint32 inMldChecksumError;
78    rtk_uint32 inIgmpChecksumError;
79    rtk_uint32 inMldSpecificQuery;
80    rtk_uint32 inMldGeneralQuery;
81    rtk_uint32 inIgmpSpecificQuery;
82    rtk_uint32 inIgmpGeneralQuery;
83    rtk_uint32 inMldLeaves;
84    rtk_uint32 inIgmpLeaves;
85    rtk_uint32 inIgmpJoinsSuccess;
86    rtk_uint32 inIgmpJoinsFail;
87    rtk_uint32 inMldJoinsSuccess;
88    rtk_uint32 inMldJoinsFail;
89    rtk_uint32 inReportSuppressionDrop;
90    rtk_uint32 inLeaveSuppressionDrop;
91    rtk_uint32 outIgmpReports;
92    rtk_uint32 outIgmpLeaves;
93    rtk_uint32 outIgmpGeneralQuery;
94    rtk_uint32 outIgmpSpecificQuery;
95    rtk_uint32 outMldReports;
96    rtk_uint32 outMldLeaves;
97    rtk_uint32 outMldGeneralQuery;
98    rtk_uint32 outMldSpecificQuery;
99    rtk_uint32 inKnownMulticastPkts;
100    rtk_uint32 ifInMulticastPkts;
101    rtk_uint32 ifInBroadcastPkts;
102    rtk_uint32 ifOutDiscards;
103}rtk_stat_port_cntr_t;
104
105/* port statistic counter index */
106typedef enum rtk_stat_port_type_e
107{
108    STAT_IfInOctets = 0,
109    STAT_Dot3StatsFCSErrors,
110    STAT_Dot3StatsSymbolErrors,
111    STAT_Dot3InPauseFrames,
112    STAT_Dot3ControlInUnknownOpcodes,
113    STAT_EtherStatsFragments,
114    STAT_EtherStatsJabbers,
115    STAT_IfInUcastPkts,
116    STAT_EtherStatsDropEvents,
117    STAT_EtherStatsOctets,
118    STAT_EtherStatsUnderSizePkts,
119    STAT_EtherOversizeStats,
120    STAT_EtherStatsPkts64Octets,
121    STAT_EtherStatsPkts65to127Octets,
122    STAT_EtherStatsPkts128to255Octets,
123    STAT_EtherStatsPkts256to511Octets,
124    STAT_EtherStatsPkts512to1023Octets,
125    STAT_EtherStatsPkts1024to1518Octets,
126    STAT_EtherStatsMulticastPkts,
127    STAT_EtherStatsBroadcastPkts,
128    STAT_IfOutOctets,
129    STAT_Dot3StatsSingleCollisionFrames,
130    STAT_Dot3StatsMultipleCollisionFrames,
131    STAT_Dot3StatsDeferredTransmissions,
132    STAT_Dot3StatsLateCollisions,
133    STAT_EtherStatsCollisions,
134    STAT_Dot3StatsExcessiveCollisions,
135    STAT_Dot3OutPauseFrames,
136    STAT_Dot1dBasePortDelayExceededDiscards,
137    STAT_Dot1dTpPortInDiscards,
138    STAT_IfOutUcastPkts,
139    STAT_IfOutMulticastPkts,
140    STAT_IfOutBroadcastPkts,
141    STAT_OutOampduPkts,
142    STAT_InOampduPkts,
143    STAT_PktgenPkts,
144    STAT_InMldChecksumError,
145    STAT_InIgmpChecksumError,
146    STAT_InMldSpecificQuery,
147    STAT_InMldGeneralQuery,
148    STAT_InIgmpSpecificQuery,
149    STAT_InIgmpGeneralQuery,
150    STAT_InMldLeaves,
151    STAT_InIgmpInterfaceLeaves,
152    STAT_InIgmpJoinsSuccess,
153    STAT_InIgmpJoinsFail,
154    STAT_InMldJoinsSuccess,
155    STAT_InMldJoinsFail,
156    STAT_InReportSuppressionDrop,
157    STAT_InLeaveSuppressionDrop,
158    STAT_OutIgmpReports,
159    STAT_OutIgmpLeaves,
160    STAT_OutIgmpGeneralQuery,
161    STAT_OutIgmpSpecificQuery,
162    STAT_OutMldReports,
163    STAT_OutMldLeaves,
164    STAT_OutMldGeneralQuery,
165    STAT_OutMldSpecificQuery,
166    STAT_InKnownMulticastPkts,
167    STAT_IfInMulticastPkts,
168    STAT_IfInBroadcastPkts,
169    STAT_IfOutDiscards,
170    STAT_PORT_CNTR_END
171}rtk_stat_port_type_t;
172
173typedef enum rtk_logging_counter_mode_e
174{
175    LOGGING_MODE_32BIT = 0,
176    LOGGING_MODE_64BIT,
177    LOGGING_MODE_END
178}rtk_logging_counter_mode_t;
179
180typedef enum rtk_logging_counter_type_e
181{
182    LOGGING_TYPE_PACKET = 0,
183    LOGGING_TYPE_BYTE,
184    LOGGING_TYPE_END
185}rtk_logging_counter_type_t;
186
187typedef enum rtk_stat_lengthMode_e
188{
189    LENGTH_MODE_EXC_TAG = 0,
190    LENGTH_MODE_INC_TAG,
191    LENGTH_MODE_END
192}rtk_stat_lengthMode_t;
193
194
195
196/* Function Name:
197 *      rtk_stat_global_reset
198 * Description:
199 *      Reset global MIB counter.
200 * Input:
201 *      None
202 * Output:
203 *      None
204 * Return:
205 *      RT_ERR_OK           - OK
206 *      RT_ERR_FAILED       - Failed
207 *      RT_ERR_SMI          - SMI access error
208 * Note:
209 *      Reset MIB counter of ports. API will use global reset while port mask is all-ports.
210 */
211extern rtk_api_ret_t rtk_stat_global_reset(void);
212
213/* Function Name:
214 *      rtk_stat_port_reset
215 * Description:
216 *      Reset per port MIB counter by port.
217 * Input:
218 *      port - port id.
219 * Output:
220 *      None
221 * Return:
222 *      RT_ERR_OK           - OK
223 *      RT_ERR_FAILED       - Failed
224 *      RT_ERR_SMI          - SMI access error
225 * Note:
226 *
227 */
228extern rtk_api_ret_t rtk_stat_port_reset(rtk_port_t port);
229
230/* Function Name:
231 *      rtk_stat_queueManage_reset
232 * Description:
233 *      Reset queue manage MIB counter.
234 * Input:
235 *      None
236 * Output:
237 *      None
238 * Return:
239 *      RT_ERR_OK           - OK
240 *      RT_ERR_FAILED       - Failed
241 *      RT_ERR_SMI          - SMI access error
242 * Note:
243 *
244 */
245extern rtk_api_ret_t rtk_stat_queueManage_reset(void);
246
247/* Function Name:
248 *      rtk_stat_global_get
249 * Description:
250 *      Get global MIB counter
251 * Input:
252 *      cntr_idx - global counter index.
253 * Output:
254 *      pCntr - global counter value.
255 * Return:
256 *      RT_ERR_OK           - OK
257 *      RT_ERR_FAILED       - Failed
258 *      RT_ERR_SMI          - SMI access error
259 *      RT_ERR_INPUT 		- Invalid input parameters.
260 * Note:
261 *      Get global MIB counter by index definition.
262 */
263extern rtk_api_ret_t rtk_stat_global_get(rtk_stat_global_type_t cntr_idx, rtk_stat_counter_t *pCntr);
264
265/* Function Name:
266 *      rtk_stat_global_getAll
267 * Description:
268 *      Get all global MIB counter
269 * Input:
270 *      None
271 * Output:
272 *      pGlobal_cntrs - global counter structure.
273 * Return:
274 *      RT_ERR_OK           - OK
275 *      RT_ERR_FAILED       - Failed
276 *      RT_ERR_SMI          - SMI access error
277 *      RT_ERR_INPUT 		- Invalid input parameters.
278 * Note:
279 *      Get all global MIB counter by index definition.
280 */
281extern rtk_api_ret_t rtk_stat_global_getAll(rtk_stat_global_cntr_t *pGlobal_cntrs);
282
283/* Function Name:
284 *      rtk_stat_port_get
285 * Description:
286 *      Get per port MIB counter by index
287 * Input:
288 *      port        - port id.
289 *      cntr_idx    - port counter index.
290 * Output:
291 *      pCntr - MIB retrived counter.
292 * Return:
293 *      RT_ERR_OK           - OK
294 *      RT_ERR_FAILED       - Failed
295 *      RT_ERR_SMI          - SMI access error
296 * Note:
297 *      Get per port MIB counter by index definition.
298 */
299extern rtk_api_ret_t rtk_stat_port_get(rtk_port_t port, rtk_stat_port_type_t cntr_idx, rtk_stat_counter_t *pCntr);
300
301/* Function Name:
302 *      rtk_stat_port_getAll
303 * Description:
304 *      Get all counters of one specified port in the specified device.
305 * Input:
306 *      port - port id.
307 * Output:
308 *      pPort_cntrs - buffer pointer of counter value.
309 * Return:
310 *      RT_ERR_OK           - OK
311 *      RT_ERR_FAILED       - Failed
312 *      RT_ERR_SMI          - SMI access error
313 *      RT_ERR_INPUT 		- Invalid input parameters.
314 * Note:
315 *      Get all MIB counters of one port.
316 */
317extern rtk_api_ret_t rtk_stat_port_getAll(rtk_port_t port, rtk_stat_port_cntr_t *pPort_cntrs);
318
319/* Function Name:
320 *      rtk_stat_logging_counterCfg_set
321 * Description:
322 *      Set the type and mode of Logging Counter
323 * Input:
324 *      idx     - The index of Logging Counter. Should be even number only.(0,2,4,6,8.....30)
325 *      mode    - 32 bits or 64 bits mode
326 *      type    - Packet counter or byte counter
327 * Output:
328 *      None.
329 * Return:
330 *      RT_ERR_OK           - OK
331 *      RT_ERR_OUT_OF_RANGE - Out of range.
332 *      RT_ERR_FAILED       - Failed
333 *      RT_ERR_SMI          - SMI access error
334 *      RT_ERR_INPUT 		- Invalid input parameters.
335 * Note:
336 *      Set the type and mode of Logging Counter.
337 */
338extern rtk_api_ret_t rtk_stat_logging_counterCfg_set(rtk_uint32 idx, rtk_logging_counter_mode_t mode, rtk_logging_counter_type_t type);
339
340/* Function Name:
341 *      rtk_stat_logging_counterCfg_get
342 * Description:
343 *      Get the type and mode of Logging Counter
344 * Input:
345 *      idx     - The index of Logging Counter. Should be even number only.(0,2,4,6,8.....30)
346 * Output:
347 *      pMode   - 32 bits or 64 bits mode
348 *      pType   - Packet counter or byte counter
349 * Return:
350 *      RT_ERR_OK           - OK
351 *      RT_ERR_OUT_OF_RANGE - Out of range.
352 *      RT_ERR_FAILED       - Failed
353 *      RT_ERR_NULL_POINTER - NULL Pointer
354 *      RT_ERR_SMI          - SMI access error
355 *      RT_ERR_INPUT 		- Invalid input parameters.
356 * Note:
357 *      Get the type and mode of Logging Counter.
358 */
359extern rtk_api_ret_t rtk_stat_logging_counterCfg_get(rtk_uint32 idx, rtk_logging_counter_mode_t *pMode, rtk_logging_counter_type_t *pType);
360
361/* Function Name:
362 *      rtk_stat_logging_counter_reset
363 * Description:
364 *      Reset Logging Counter
365 * Input:
366 *      idx     - The index of Logging Counter. (0~31)
367 * Output:
368 *      None.
369 * Return:
370 *      RT_ERR_OK           - OK
371 *      RT_ERR_OUT_OF_RANGE - Out of range.
372 *      RT_ERR_FAILED       - Failed
373 *      RT_ERR_SMI          - SMI access error
374 * Note:
375 *      Reset Logging Counter.
376 */
377extern rtk_api_ret_t rtk_stat_logging_counter_reset(rtk_uint32 idx);
378
379/* Function Name:
380 *      rtk_stat_logging_counter_get
381 * Description:
382 *      Get Logging Counter
383 * Input:
384 *      idx     - The index of Logging Counter. (0~31)
385 * Output:
386 *      pCnt    - Logging counter value
387 * Return:
388 *      RT_ERR_OK           - OK
389 *      RT_ERR_OUT_OF_RANGE - Out of range.
390 *      RT_ERR_FAILED       - Failed
391 *      RT_ERR_SMI          - SMI access error
392 * Note:
393 *      Get Logging Counter.
394 */
395extern rtk_api_ret_t rtk_stat_logging_counter_get(rtk_uint32 idx, rtk_uint32 *pCnt);
396
397/* Function Name:
398 *      rtk_stat_lengthMode_set
399 * Description:
400 *      Set Legnth mode.
401 * Input:
402 *      txMode     - The length counting mode
403 *      rxMode     - The length counting mode
404 * Output:
405 *      None.
406 * Return:
407 *      RT_ERR_OK           - OK
408 *      RT_ERR_INPUT        - Out of range.
409 *      RT_ERR_FAILED       - Failed
410 *      RT_ERR_SMI          - SMI access error
411 * Note:
412 *
413 */
414extern rtk_api_ret_t rtk_stat_lengthMode_set(rtk_stat_lengthMode_t txMode, rtk_stat_lengthMode_t rxMode);
415
416/* Function Name:
417 *      rtk_stat_lengthMode_get
418 * Description:
419 *      Get Legnth mode.
420 * Input:
421 *      None.
422 * Output:
423 *      pTxMode       - The length counting mode
424 *      pRxMode       - The length counting mode
425 * Return:
426 *      RT_ERR_OK           - OK
427 *      RT_ERR_INPUT        - Out of range.
428 *      RT_ERR_FAILED       - Failed
429 *      RT_ERR_SMI          - SMI access error
430 * Note:
431 */
432extern rtk_api_ret_t rtk_stat_lengthMode_get(rtk_stat_lengthMode_t *pTxMode, rtk_stat_lengthMode_t *pRxMode);
433
434#endif /* __RTK_API_STAT_H__ */
435
436