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 */