Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
fddimib.h
Go to the documentation of this file.
1 /******************************************************************************
2  *
3  * (C)Copyright 1998,1999 SysKonnect,
4  * a business unit of Schneider & Koch & Co. Datensysteme GmbH.
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * The information in this file is provided "AS IS" without warranty.
12  *
13  ******************************************************************************/
14 
15 /*
16  * FDDI MIB
17  */
18 
19 /*
20  * typedefs
21  */
22 
23 typedef u_long Counter ;
24 typedef u_char TimeStamp[8] ;
25 typedef struct fddi_addr LongAddr ;
26 typedef u_long Timer_2 ;
27 typedef u_long Timer ;
28 typedef u_short ResId ;
29 typedef u_short SMTEnum ;
30 typedef u_char SMTFlag ;
31 
32 typedef struct {
35 } SetCountType ;
36 
37 /*
38  * bits for bit string "available_path"
39  */
40 #define MIB_PATH_P (1<<0)
41 #define MIB_PATH_S (1<<1)
42 #define MIB_PATH_L (1<<2)
43 
44 /*
45  * bits for bit string PermittedPaths & RequestedPaths (SIZE(8))
46  */
47 #define MIB_P_PATH_LOCAL (1<<0)
48 #define MIB_P_PATH_SEC_ALTER (1<<1)
49 #define MIB_P_PATH_PRIM_ALTER (1<<2)
50 #define MIB_P_PATH_CON_ALTER (1<<3)
51 #define MIB_P_PATH_SEC_PREFER (1<<4)
52 #define MIB_P_PATH_PRIM_PREFER (1<<5)
53 #define MIB_P_PATH_CON_PREFER (1<<6)
54 #define MIB_P_PATH_THRU (1<<7)
55 
56 /*
57  * enum current path
58  */
59 #define MIB_PATH_ISOLATED 0
60 #define MIB_PATH_LOCAL 1
61 #define MIB_PATH_SECONDARY 2
62 #define MIB_PATH_PRIMARY 3
63 #define MIB_PATH_CONCATENATED 4
64 #define MIB_PATH_THRU 5
65 
66 /*
67  * enum PMDClass
68  */
69 #define MIB_PMDCLASS_MULTI 0
70 #define MIB_PMDCLASS_SINGLE1 1
71 #define MIB_PMDCLASS_SINGLE2 2
72 #define MIB_PMDCLASS_SONET 3
73 #define MIB_PMDCLASS_LCF 4
74 #define MIB_PMDCLASS_TP 5
75 #define MIB_PMDCLASS_UNKNOWN 6
76 #define MIB_PMDCLASS_UNSPEC 7
77 
78 /*
79  * enum SMTStationStatus
80  */
81 #define MIB_SMT_STASTA_CON 0
82 #define MIB_SMT_STASTA_SEPA 1
83 #define MIB_SMT_STASTA_THRU 2
84 
85 
86 struct fddi_mib {
87  /*
88  * private
89  */
92 
93 #ifdef ESS
94  /*
95  * private variables for static allocation of the
96  * End Station Support
97  */
98  u_long fddiESSPayload ; /* payload for static alloc */
99  u_long fddiESSOverhead ; /* frame ov for static alloc */
100  u_long fddiESSMaxTNeg ; /* maximum of T-NEG */
101  u_long fddiESSMinSegmentSize ; /* min size of the sync frames */
102  u_long fddiESSCategory ; /* category for the Alloc req */
103  short fddiESSSynchTxMode ; /* send all LLC frames as sync */
104 #endif /* ESS */
105 #ifdef SBA
106  /*
107  * private variables for the Synchronous Bandwidth Allocator
108  */
109  char fddiSBACommand ; /* holds the parsed SBA cmd */
110  u_char fddiSBAAvailable ; /* SBA allocatable value */
111 #endif /* SBA */
112 
113  /*
114  * SMT standard mib
115  */
123 
124  /*
125  * ConfigGrp
126  */
140 
141  /*
142  * StatusGrp
143  */
149 
150  /*
151  * MIBOperationGrp
152  */
157 
158  struct fddi_mib_m {
162 
163  /* ConfigGrp */
164  u_char fddiMACMultiple_N ; /* private */
165  u_char fddiMACMultiple_P ; /* private */
177 
178  /* AddressGrp */
180 
181  /* OperationGrp */
182  Timer_2 fddiMACT_Min ; /* private */
184  Timer_2 fddiMACT_Req ; /* private */
187  Timer_2 fddiMACT_Max ; /* private */
189  Timer_2 fddiMACTvxValue ; /* private */
197 
198  /* CountersGrp */
208 
209  Counter fddiMACSMTCopied_Ct ; /* private */
211 
212  /* private for delta ratio */
218 
219  /* FrameErrorConditionGrp */
222 
223  /* NotCopiedConditionGrp */
226 
227  /* StatusGrp */
236 
237  } m[NUMMACS] ;
238 #define MAC0 0
239 
240  struct fddi_mib_a {
244  /* fddiPATHConfiguration is built on demand */
245  /* u_long fddiPATHConfiguration ; */
251  } a[NUMPATHS] ;
252 #define PATH0 0
253 
254  struct fddi_mib_p {
255  /* ConfigGrp */
259  struct {
264  /* must be 4: is 32 bit in SMT format
265  * indices :
266  * 1 none
267  * 2 tree
268  * 3 peer
269  */
276 
277  /* OperationGrp */
281 
282  /* ErrorCtrsGrp */
286 
287  /* LerGrp */
293 
294  /* StatusGrp */
296  SMTEnum fddiPORTPCMState ; /* real value */
297  SMTEnum fddiPORTPCMStateX ; /* value for MIB */
301 
302  u_char fddiPORTMultiple_U ; /* private */
303  u_char fddiPORTMultiple_P ; /* private */
304  u_char fddiPORTEB_Condition ; /* private */
305  } p[NUMPHYS] ;
306  struct {
307  Counter fddiPRIVECF_Req_Rx ; /* ECF req received */
308  Counter fddiPRIVECF_Reply_Rx ; /* ECF repl received */
309  Counter fddiPRIVECF_Req_Tx ; /* ECF req transm */
310  Counter fddiPRIVECF_Reply_Tx ; /* ECF repl transm */
311  Counter fddiPRIVPMF_Get_Rx ; /* PMF Get rec */
312  Counter fddiPRIVPMF_Set_Rx ; /* PMF Set rec */
313  Counter fddiPRIVRDF_Rx ; /* RDF received */
314  Counter fddiPRIVRDF_Tx ; /* RDF transmitted */
315  } priv ;
316 } ;
317 
318 /*
319  * OIDs for statistics
320  */
321 #define SMT_OID_CF_STATE 1 /* fddiSMTCF_State */
322 #define SMT_OID_PCM_STATE_A 2 /* fddiPORTPCMState port A */
323 #define SMT_OID_PCM_STATE_B 17 /* fddiPORTPCMState port B */
324 #define SMT_OID_RMT_STATE 3 /* fddiMACRMTState */
325 #define SMT_OID_UNA 4 /* fddiMACUpstreamNbr */
326 #define SMT_OID_DNA 5 /* fddiMACOldDownstreamNbr */
327 #define SMT_OID_ERROR_CT 6 /* fddiMACError_Ct */
328 #define SMT_OID_LOST_CT 7 /* fddiMACLost_Ct */
329 #define SMT_OID_LEM_CT 8 /* fddiPORTLem_Ct */
330 #define SMT_OID_LEM_CT_A 11 /* fddiPORTLem_Ct port A */
331 #define SMT_OID_LEM_CT_B 12 /* fddiPORTLem_Ct port B */
332 #define SMT_OID_LCT_FAIL_CT 9 /* fddiPORTLCTFail_Ct */
333 #define SMT_OID_LCT_FAIL_CT_A 13 /* fddiPORTLCTFail_Ct port A */
334 #define SMT_OID_LCT_FAIL_CT_B 14 /* fddiPORTLCTFail_Ct port B */
335 #define SMT_OID_LEM_REJECT_CT 10 /* fddiPORTLem_Reject_Ct */
336 #define SMT_OID_LEM_REJECT_CT_A 15 /* fddiPORTLem_Reject_Ct port A */
337 #define SMT_OID_LEM_REJECT_CT_B 16 /* fddiPORTLem_Reject_Ct port B */
338 
339 /*
340  * SK MIB
341  */
342 #define SMT_OID_ECF_REQ_RX 20 /* ECF requests received */
343 #define SMT_OID_ECF_REPLY_RX 21 /* ECF replies received */
344 #define SMT_OID_ECF_REQ_TX 22 /* ECF requests transmitted */
345 #define SMT_OID_ECF_REPLY_TX 23 /* ECF replies transmitted */
346 #define SMT_OID_PMF_GET_RX 24 /* PMF get requests received */
347 #define SMT_OID_PMF_SET_RX 25 /* PMF set requests received */
348 #define SMT_OID_RDF_RX 26 /* RDF received */
349 #define SMT_OID_RDF_TX 27 /* RDF transmitted */