linux/drivers/net/fddi/skfp/h/fddimib.h
<<
>>
Prefs
   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
  23typedef u_long  Counter ;
  24typedef u_char  TimeStamp[8] ;
  25typedef struct fddi_addr LongAddr ;
  26typedef u_long  Timer_2 ;
  27typedef u_long  Timer ;
  28typedef u_short ResId ;
  29typedef u_short SMTEnum ;
  30typedef u_char  SMTFlag ;
  31
  32typedef struct {
  33        Counter         count ;
  34        TimeStamp       timestamp ;
  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
  86struct fddi_mib {
  87        /*
  88         * private
  89         */
  90        u_char                  fddiPRPMFPasswd[8] ;
  91        struct smt_sid          fddiPRPMFStation ;
  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         */
 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 ;
 123
 124        /*
 125         * ConfigGrp
 126         */
 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 ;
 140
 141        /*
 142         * StatusGrp
 143         */
 144        SMTEnum                 fddiSMTECMState ;
 145        SMTEnum                 fddiSMTCF_State ;
 146        SMTEnum                 fddiSMTStationStatus ;
 147        u_char                  fddiSMTRemoteDisconnectFlag ;
 148        u_char                  fddiSMTPeerWrapFlag ;
 149
 150        /*
 151         * MIBOperationGrp
 152         */
 153        TimeStamp               fddiSMTTimeStamp ;
 154        TimeStamp               fddiSMTTransitionTimeStamp ;
 155        SetCountType            fddiSMTSetCount ;
 156        struct smt_sid          fddiSMTLastSetStationId ;
 157
 158        struct fddi_mib_m {
 159                u_short         fddiMACFrameStatusFunctions ;
 160                Timer_2         fddiMACT_MaxCapabilitiy ;
 161                Timer_2         fddiMACTVXCapabilitiy ;
 162
 163                /* ConfigGrp */
 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 ;
 176                ResId           fddiMACIndex ;
 177
 178                /* AddressGrp */
 179                LongAddr        fddiMACSMTAddress ;
 180
 181                /* OperationGrp */
 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 ;
 197
 198                /* CountersGrp */
 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 ;
 208
 209                Counter         fddiMACSMTCopied_Ct ;           /* private */
 210                Counter         fddiMACSMTTransmit_Ct ;         /* private */
 211
 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 ;
 218
 219                /* FrameErrorConditionGrp */
 220                u_short         fddiMACFrameErrorThreshold ;
 221                u_short         fddiMACFrameErrorRatio ;
 222
 223                /* NotCopiedConditionGrp */
 224                u_short         fddiMACNotCopiedThreshold ;
 225                u_short         fddiMACNotCopiedRatio ;
 226
 227                /* StatusGrp */
 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 ;
 236
 237        } m[NUMMACS] ;
 238#define MAC0    0
 239
 240        struct fddi_mib_a {
 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 ;
 251        } a[NUMPATHS] ;
 252#define PATH0   0
 253
 254        struct fddi_mib_p {
 255                /* ConfigGrp */
 256                SMTEnum         fddiPORTMy_Type ;
 257                SMTEnum         fddiPORTNeighborType ;
 258                u_char          fddiPORTConnectionPolicies ;
 259                struct {
 260                        u_char  T_val ;
 261                        u_char  R_val ;
 262                } fddiPORTMacIndicated ;
 263                SMTEnum         fddiPORTCurrentPath ;
 264                /* must be 4: is 32 bit in SMT format
 265                 * indices :
 266                 *      1       none
 267                 *      2       tree
 268                 *      3       peer
 269                 */
 270                u_char          fddiPORTRequestedPaths[4] ;
 271                u_short         fddiPORTMACPlacement ;
 272                u_char          fddiPORTAvailablePaths ;
 273                u_char          fddiPORTConnectionCapabilities ;
 274                SMTEnum         fddiPORTPMDClass ;
 275                ResId           fddiPORTIndex ;
 276
 277                /* OperationGrp */
 278                SMTEnum         fddiPORTMaint_LS ;
 279                SMTEnum         fddiPORTPC_LS ;
 280                u_char          fddiPORTBS_Flag ;
 281
 282                /* ErrorCtrsGrp */
 283                Counter         fddiPORTLCTFail_Ct ;
 284                Counter         fddiPORTEBError_Ct ;
 285                Counter         fddiPORTOldEBError_Ct ;
 286
 287                /* LerGrp */
 288                Counter         fddiPORTLem_Reject_Ct ;
 289                Counter         fddiPORTLem_Ct ;
 290                u_char          fddiPORTLer_Estimate ;
 291                u_char          fddiPORTLer_Cutoff ;
 292                u_char          fddiPORTLer_Alarm ;
 293
 294                /* StatusGrp */
 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 ;
 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 */
 350