1 /******************************************************************************
3 * (C)Copyright 1998,1999 SysKonnect,
4 * a business unit of Schneider & Koch & Co. Datensysteme GmbH.
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.
11 * The information in this file is provided "AS IS" without warranty.
13 ******************************************************************************/
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 ;
38 * bits for bit string "available_path"
40 #define MIB_PATH_P (1<<0)
41 #define MIB_PATH_S (1<<1)
42 #define MIB_PATH_L (1<<2)
45 * bits for bit string PermittedPaths & RequestedPaths (SIZE(8))
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)
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
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
79 * enum SMTStationStatus
81 #define MIB_SMT_STASTA_CON 0
82 #define MIB_SMT_STASTA_SEPA 1
83 #define MIB_SMT_STASTA_THRU 2
90 u_char fddiPRPMFPasswd[8] ;
91 struct smt_sid fddiPRPMFStation ;
95 * private variables for static allocation of the
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 */
107 * private variables for the Synchronous Bandwidth Allocator
109 char fddiSBACommand ; /* holds the parsed SBA cmd */
110 u_char fddiSBAAvailable ; /* SBA allocatable value */
116 struct smt_sid fddiSMTStationId ;
117 u_short fddiSMTOpVersionId ;
118 u_short fddiSMTHiVersionId ;
119 u_short fddiSMTLoVersionId ;
120 u_char fddiSMTManufacturerData[32] ;
121 u_char fddiSMTUserData[32] ;
122 u_short fddiSMTMIBVersionId ;
127 u_char fddiSMTMac_Ct ;
128 u_char fddiSMTNonMaster_Ct ;
129 u_char fddiSMTMaster_Ct ;
130 u_char fddiSMTAvailablePaths ;
131 u_short fddiSMTConfigCapabilities ;
132 u_short fddiSMTConfigPolicy ;
133 u_short fddiSMTConnectionPolicy ;
134 u_short fddiSMTTT_Notify ;
135 u_char fddiSMTStatRptPolicy ;
136 u_long fddiSMTTrace_MaxExpiration ;
137 u_short fddiSMTPORTIndexes[NUMPHYS] ;
138 u_short fddiSMTMACIndexes ;
139 u_char fddiSMTBypassPresent ;
144 SMTEnum fddiSMTECMState ;
145 SMTEnum fddiSMTCF_State ;
146 SMTEnum fddiSMTStationStatus ;
147 u_char fddiSMTRemoteDisconnectFlag ;
148 u_char fddiSMTPeerWrapFlag ;
153 TimeStamp fddiSMTTimeStamp ;
154 TimeStamp fddiSMTTransitionTimeStamp ;
155 SetCountType fddiSMTSetCount ;
156 struct smt_sid fddiSMTLastSetStationId ;
159 u_short fddiMACFrameStatusFunctions ;
160 Timer_2 fddiMACT_MaxCapabilitiy ;
161 Timer_2 fddiMACTVXCapabilitiy ;
164 u_char fddiMACMultiple_N ; /* private */
165 u_char fddiMACMultiple_P ; /* private */
166 u_char fddiMACDuplicateAddressCond ;/* private */
167 u_char fddiMACAvailablePaths ;
168 u_short fddiMACCurrentPath ;
169 LongAddr fddiMACUpstreamNbr ;
170 LongAddr fddiMACDownstreamNbr ;
171 LongAddr fddiMACOldUpstreamNbr ;
172 LongAddr fddiMACOldDownstreamNbr ;
173 SMTEnum fddiMACDupAddressTest ;
174 u_short fddiMACRequestedPaths ;
175 SMTEnum fddiMACDownstreamPORTType ;
179 LongAddr fddiMACSMTAddress ;
182 Timer_2 fddiMACT_Min ; /* private */
183 Timer_2 fddiMACT_ReqMIB ;
184 Timer_2 fddiMACT_Req ; /* private */
185 Timer_2 fddiMACT_Neg ;
186 Timer_2 fddiMACT_MaxMIB ;
187 Timer_2 fddiMACT_Max ; /* private */
188 Timer_2 fddiMACTvxValueMIB ;
189 Timer_2 fddiMACTvxValue ; /* private */
190 Timer_2 fddiMACT_Pri0 ;
191 Timer_2 fddiMACT_Pri1 ;
192 Timer_2 fddiMACT_Pri2 ;
193 Timer_2 fddiMACT_Pri3 ;
194 Timer_2 fddiMACT_Pri4 ;
195 Timer_2 fddiMACT_Pri5 ;
196 Timer_2 fddiMACT_Pri6 ;
199 Counter fddiMACFrame_Ct ;
200 Counter fddiMACCopied_Ct ;
201 Counter fddiMACTransmit_Ct ;
202 Counter fddiMACToken_Ct ;
203 Counter fddiMACError_Ct ;
204 Counter fddiMACLost_Ct ;
205 Counter fddiMACTvxExpired_Ct ;
206 Counter fddiMACNotCopied_Ct ;
207 Counter fddiMACRingOp_Ct ;
209 Counter fddiMACSMTCopied_Ct ; /* private */
210 Counter fddiMACSMTTransmit_Ct ; /* private */
212 /* private for delta ratio */
213 Counter fddiMACOld_Frame_Ct ;
214 Counter fddiMACOld_Copied_Ct ;
215 Counter fddiMACOld_Error_Ct ;
216 Counter fddiMACOld_Lost_Ct ;
217 Counter fddiMACOld_NotCopied_Ct ;
219 /* FrameErrorConditionGrp */
220 u_short fddiMACFrameErrorThreshold ;
221 u_short fddiMACFrameErrorRatio ;
223 /* NotCopiedConditionGrp */
224 u_short fddiMACNotCopiedThreshold ;
225 u_short fddiMACNotCopiedRatio ;
228 SMTEnum fddiMACRMTState ;
229 SMTFlag fddiMACDA_Flag ;
230 SMTFlag fddiMACUNDA_Flag ;
231 SMTFlag fddiMACFrameErrorFlag ;
232 SMTFlag fddiMACNotCopiedFlag ;
233 SMTFlag fddiMACMA_UnitdataAvailable ;
234 SMTFlag fddiMACHardwarePresent ;
235 SMTFlag fddiMACMA_UnitdataEnable ;
241 ResId fddiPATHIndex ;
242 u_long fddiPATHSbaPayload ;
243 u_long fddiPATHSbaOverhead ;
244 /* fddiPATHConfiguration is built on demand */
245 /* u_long fddiPATHConfiguration ; */
246 Timer fddiPATHT_Rmode ;
247 u_long fddiPATHSbaAvailable ;
248 Timer_2 fddiPATHTVXLowerBound ;
249 Timer_2 fddiPATHT_MaxLowerBound ;
250 Timer_2 fddiPATHMaxT_Req ;
256 SMTEnum fddiPORTMy_Type ;
257 SMTEnum fddiPORTNeighborType ;
258 u_char fddiPORTConnectionPolicies ;
262 } fddiPORTMacIndicated ;
263 SMTEnum fddiPORTCurrentPath ;
264 /* must be 4: is 32 bit in SMT format
270 u_char fddiPORTRequestedPaths[4] ;
271 u_short fddiPORTMACPlacement ;
272 u_char fddiPORTAvailablePaths ;
273 u_char fddiPORTConnectionCapabilities ;
274 SMTEnum fddiPORTPMDClass ;
275 ResId fddiPORTIndex ;
278 SMTEnum fddiPORTMaint_LS ;
279 SMTEnum fddiPORTPC_LS ;
280 u_char fddiPORTBS_Flag ;
283 Counter fddiPORTLCTFail_Ct ;
284 Counter fddiPORTEBError_Ct ;
285 Counter fddiPORTOldEBError_Ct ;
288 Counter fddiPORTLem_Reject_Ct ;
289 Counter fddiPORTLem_Ct ;
290 u_char fddiPORTLer_Estimate ;
291 u_char fddiPORTLer_Cutoff ;
292 u_char fddiPORTLer_Alarm ;
295 SMTEnum fddiPORTConnectState ;
296 SMTEnum fddiPORTPCMState ; /* real value */
297 SMTEnum fddiPORTPCMStateX ; /* value for MIB */
298 SMTEnum fddiPORTPC_Withhold ;
299 SMTFlag fddiPORTHardwarePresent ;
300 u_char fddiPORTLerFlag ;
302 u_char fddiPORTMultiple_U ; /* private */
303 u_char fddiPORTMultiple_P ; /* private */
304 u_char fddiPORTEB_Condition ; /* private */
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 */
319 * OIDs for statistics
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 */
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 */