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