linux/drivers/net/fddi/skfp/h/fddimib.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/******************************************************************************
   3 *
   4 *      (C)Copyright 1998,1999 SysKonnect,
   5 *      a business unit of Schneider & Koch & Co. Datensysteme GmbH.
   6 *
   7 *      The information in this file is provided "AS IS" without warranty.
   8 *
   9 ******************************************************************************/
  10
  11/*
  12 * FDDI MIB
  13 */
  14
  15/*
  16 * typedefs
  17 */
  18
  19typedef u_long  Counter ;
  20typedef u_char  TimeStamp[8] ;
  21typedef struct fddi_addr LongAddr ;
  22typedef u_long  Timer_2 ;
  23typedef u_long  Timer ;
  24typedef u_short ResId ;
  25typedef u_short SMTEnum ;
  26typedef u_char  SMTFlag ;
  27
  28typedef struct {
  29        Counter         count ;
  30        TimeStamp       timestamp ;
  31} SetCountType ;
  32
  33/*
  34 * bits for bit string "available_path"
  35 */
  36#define MIB_PATH_P      (1<<0)
  37#define MIB_PATH_S      (1<<1)
  38#define MIB_PATH_L      (1<<2)
  39
  40/*
  41 * bits for bit string PermittedPaths & RequestedPaths (SIZE(8))
  42 */
  43#define MIB_P_PATH_LOCAL        (1<<0)
  44#define MIB_P_PATH_SEC_ALTER    (1<<1)
  45#define MIB_P_PATH_PRIM_ALTER   (1<<2)
  46#define MIB_P_PATH_CON_ALTER    (1<<3)
  47#define MIB_P_PATH_SEC_PREFER   (1<<4)
  48#define MIB_P_PATH_PRIM_PREFER  (1<<5)
  49#define MIB_P_PATH_CON_PREFER   (1<<6)
  50#define MIB_P_PATH_THRU         (1<<7)
  51
  52/*
  53 * enum current path
  54 */
  55#define MIB_PATH_ISOLATED       0
  56#define MIB_PATH_LOCAL          1
  57#define MIB_PATH_SECONDARY      2
  58#define MIB_PATH_PRIMARY        3
  59#define MIB_PATH_CONCATENATED   4
  60#define MIB_PATH_THRU           5
  61
  62/*
  63 * enum PMDClass
  64 */
  65#define MIB_PMDCLASS_MULTI      0
  66#define MIB_PMDCLASS_SINGLE1    1
  67#define MIB_PMDCLASS_SINGLE2    2
  68#define MIB_PMDCLASS_SONET      3
  69#define MIB_PMDCLASS_LCF        4
  70#define MIB_PMDCLASS_TP         5
  71#define MIB_PMDCLASS_UNKNOWN    6
  72#define MIB_PMDCLASS_UNSPEC     7
  73
  74/*
  75 * enum SMTStationStatus
  76 */
  77#define MIB_SMT_STASTA_CON      0
  78#define MIB_SMT_STASTA_SEPA     1
  79#define MIB_SMT_STASTA_THRU     2
  80
  81
  82struct fddi_mib {
  83        /*
  84         * private
  85         */
  86        u_char                  fddiPRPMFPasswd[8] ;
  87        struct smt_sid          fddiPRPMFStation ;
  88
  89#ifdef  ESS
  90        /*
  91         * private variables for static allocation of the
  92         * End Station Support
  93         */
  94        u_long  fddiESSPayload ;        /* payload for static alloc */
  95        u_long  fddiESSOverhead ;       /* frame ov for static alloc */
  96        u_long  fddiESSMaxTNeg ;        /* maximum of T-NEG */
  97        u_long  fddiESSMinSegmentSize ; /* min size of the sync frames */
  98        u_long  fddiESSCategory ;       /* category for the Alloc req */
  99        short   fddiESSSynchTxMode ;    /* send all LLC frames as sync */
 100#endif  /* ESS */
 101#ifdef  SBA
 102        /*
 103         * private variables for the Synchronous Bandwidth Allocator
 104         */
 105        char    fddiSBACommand ;        /* holds the parsed SBA cmd */
 106        u_char  fddiSBAAvailable ;      /* SBA allocatable value */
 107#endif  /* SBA */
 108
 109        /*
 110         * SMT standard mib
 111         */
 112        struct smt_sid          fddiSMTStationId ;
 113        u_short                 fddiSMTOpVersionId ;
 114        u_short                 fddiSMTHiVersionId ;
 115        u_short                 fddiSMTLoVersionId ;
 116        u_char                  fddiSMTManufacturerData[32] ;
 117        u_char                  fddiSMTUserData[32] ;
 118        u_short                 fddiSMTMIBVersionId ;
 119
 120        /*
 121         * ConfigGrp
 122         */
 123        u_char                  fddiSMTMac_Ct ;
 124        u_char                  fddiSMTNonMaster_Ct ;
 125        u_char                  fddiSMTMaster_Ct ;
 126        u_char                  fddiSMTAvailablePaths ;
 127        u_short                 fddiSMTConfigCapabilities ;
 128        u_short                 fddiSMTConfigPolicy ;
 129        u_short                 fddiSMTConnectionPolicy ;
 130        u_short                 fddiSMTTT_Notify ;
 131        u_char                  fddiSMTStatRptPolicy ;
 132        u_long                  fddiSMTTrace_MaxExpiration ;
 133        u_short                 fddiSMTPORTIndexes[NUMPHYS] ;
 134        u_short                 fddiSMTMACIndexes ;
 135        u_char                  fddiSMTBypassPresent ;
 136
 137        /*
 138         * StatusGrp
 139         */
 140        SMTEnum                 fddiSMTECMState ;
 141        SMTEnum                 fddiSMTCF_State ;
 142        SMTEnum                 fddiSMTStationStatus ;
 143        u_char                  fddiSMTRemoteDisconnectFlag ;
 144        u_char                  fddiSMTPeerWrapFlag ;
 145
 146        /*
 147         * MIBOperationGrp
 148         */
 149        TimeStamp               fddiSMTTimeStamp ;
 150        TimeStamp               fddiSMTTransitionTimeStamp ;
 151        SetCountType            fddiSMTSetCount ;
 152        struct smt_sid          fddiSMTLastSetStationId ;
 153
 154        struct fddi_mib_m {
 155                u_short         fddiMACFrameStatusFunctions ;
 156                Timer_2         fddiMACT_MaxCapabilitiy ;
 157                Timer_2         fddiMACTVXCapabilitiy ;
 158
 159                /* ConfigGrp */
 160                u_char          fddiMACMultiple_N ;     /* private */
 161                u_char          fddiMACMultiple_P ;     /* private */
 162                u_char          fddiMACDuplicateAddressCond ;/* private */
 163                u_char          fddiMACAvailablePaths ;
 164                u_short         fddiMACCurrentPath ;
 165                LongAddr        fddiMACUpstreamNbr ;
 166                LongAddr        fddiMACDownstreamNbr ;
 167                LongAddr        fddiMACOldUpstreamNbr ;
 168                LongAddr        fddiMACOldDownstreamNbr ;
 169                SMTEnum         fddiMACDupAddressTest ;
 170                u_short         fddiMACRequestedPaths ;
 171                SMTEnum         fddiMACDownstreamPORTType ;
 172                ResId           fddiMACIndex ;
 173
 174                /* AddressGrp */
 175                LongAddr        fddiMACSMTAddress ;
 176
 177                /* OperationGrp */
 178                Timer_2         fddiMACT_Min ;  /* private */
 179                Timer_2         fddiMACT_ReqMIB ;
 180                Timer_2         fddiMACT_Req ;  /* private */
 181                Timer_2         fddiMACT_Neg ;
 182                Timer_2         fddiMACT_MaxMIB ;
 183                Timer_2         fddiMACT_Max ;  /* private */
 184                Timer_2         fddiMACTvxValueMIB ;
 185                Timer_2         fddiMACTvxValue ; /* private */
 186                Timer_2         fddiMACT_Pri0 ;
 187                Timer_2         fddiMACT_Pri1 ;
 188                Timer_2         fddiMACT_Pri2 ;
 189                Timer_2         fddiMACT_Pri3 ;
 190                Timer_2         fddiMACT_Pri4 ;
 191                Timer_2         fddiMACT_Pri5 ;
 192                Timer_2         fddiMACT_Pri6 ;
 193
 194                /* CountersGrp */
 195                Counter         fddiMACFrame_Ct ;
 196                Counter         fddiMACCopied_Ct ;
 197                Counter         fddiMACTransmit_Ct ;
 198                Counter         fddiMACToken_Ct ;
 199                Counter         fddiMACError_Ct ;
 200                Counter         fddiMACLost_Ct ;
 201                Counter         fddiMACTvxExpired_Ct ;
 202                Counter         fddiMACNotCopied_Ct ;
 203                Counter         fddiMACRingOp_Ct ;
 204
 205                Counter         fddiMACSMTCopied_Ct ;           /* private */
 206                Counter         fddiMACSMTTransmit_Ct ;         /* private */
 207
 208                /* private for delta ratio */
 209                Counter         fddiMACOld_Frame_Ct ;
 210                Counter         fddiMACOld_Copied_Ct ;
 211                Counter         fddiMACOld_Error_Ct ;
 212                Counter         fddiMACOld_Lost_Ct ;
 213                Counter         fddiMACOld_NotCopied_Ct ;
 214
 215                /* FrameErrorConditionGrp */
 216                u_short         fddiMACFrameErrorThreshold ;
 217                u_short         fddiMACFrameErrorRatio ;
 218
 219                /* NotCopiedConditionGrp */
 220                u_short         fddiMACNotCopiedThreshold ;
 221                u_short         fddiMACNotCopiedRatio ;
 222
 223                /* StatusGrp */
 224                SMTEnum         fddiMACRMTState ;
 225                SMTFlag         fddiMACDA_Flag ;
 226                SMTFlag         fddiMACUNDA_Flag ;
 227                SMTFlag         fddiMACFrameErrorFlag ;
 228                SMTFlag         fddiMACNotCopiedFlag ;
 229                SMTFlag         fddiMACMA_UnitdataAvailable ;
 230                SMTFlag         fddiMACHardwarePresent ;
 231                SMTFlag         fddiMACMA_UnitdataEnable ;
 232
 233        } m[NUMMACS] ;
 234#define MAC0    0
 235
 236        struct fddi_mib_a {
 237                ResId           fddiPATHIndex ;
 238                u_long          fddiPATHSbaPayload ;
 239                u_long          fddiPATHSbaOverhead ;
 240                /* fddiPATHConfiguration is built on demand */
 241                /* u_long               fddiPATHConfiguration ; */
 242                Timer           fddiPATHT_Rmode ;
 243                u_long          fddiPATHSbaAvailable ;
 244                Timer_2         fddiPATHTVXLowerBound ;
 245                Timer_2         fddiPATHT_MaxLowerBound ;
 246                Timer_2         fddiPATHMaxT_Req ;
 247        } a[NUMPATHS] ;
 248#define PATH0   0
 249
 250        struct fddi_mib_p {
 251                /* ConfigGrp */
 252                SMTEnum         fddiPORTMy_Type ;
 253                SMTEnum         fddiPORTNeighborType ;
 254                u_char          fddiPORTConnectionPolicies ;
 255                struct {
 256                        u_char  T_val ;
 257                        u_char  R_val ;
 258                } fddiPORTMacIndicated ;
 259                SMTEnum         fddiPORTCurrentPath ;
 260                /* must be 4: is 32 bit in SMT format
 261                 * indices :
 262                 *      1       none
 263                 *      2       tree
 264                 *      3       peer
 265                 */
 266                u_char          fddiPORTRequestedPaths[4] ;
 267                u_short         fddiPORTMACPlacement ;
 268                u_char          fddiPORTAvailablePaths ;
 269                u_char          fddiPORTConnectionCapabilities ;
 270                SMTEnum         fddiPORTPMDClass ;
 271                ResId           fddiPORTIndex ;
 272
 273                /* OperationGrp */
 274                SMTEnum         fddiPORTMaint_LS ;
 275                SMTEnum         fddiPORTPC_LS ;
 276                u_char          fddiPORTBS_Flag ;
 277
 278                /* ErrorCtrsGrp */
 279                Counter         fddiPORTLCTFail_Ct ;
 280                Counter         fddiPORTEBError_Ct ;
 281                Counter         fddiPORTOldEBError_Ct ;
 282
 283                /* LerGrp */
 284                Counter         fddiPORTLem_Reject_Ct ;
 285                Counter         fddiPORTLem_Ct ;
 286                u_char          fddiPORTLer_Estimate ;
 287                u_char          fddiPORTLer_Cutoff ;
 288                u_char          fddiPORTLer_Alarm ;
 289
 290                /* StatusGrp */
 291                SMTEnum         fddiPORTConnectState ;
 292                SMTEnum         fddiPORTPCMState ;      /* real value */
 293                SMTEnum         fddiPORTPCMStateX ;     /* value for MIB */
 294                SMTEnum         fddiPORTPC_Withhold ;
 295                SMTFlag         fddiPORTHardwarePresent ;
 296                u_char          fddiPORTLerFlag ;
 297
 298                u_char          fddiPORTMultiple_U ;    /* private */
 299                u_char          fddiPORTMultiple_P ;    /* private */
 300                u_char          fddiPORTEB_Condition ;  /* private */
 301        } p[NUMPHYS] ;
 302        struct {
 303                Counter         fddiPRIVECF_Req_Rx ;    /* ECF req received */
 304                Counter         fddiPRIVECF_Reply_Rx ;  /* ECF repl received */
 305                Counter         fddiPRIVECF_Req_Tx ;    /* ECF req transm */
 306                Counter         fddiPRIVECF_Reply_Tx ;  /* ECF repl transm */
 307                Counter         fddiPRIVPMF_Get_Rx ;    /* PMF Get rec */
 308                Counter         fddiPRIVPMF_Set_Rx ;    /* PMF Set rec */
 309                Counter         fddiPRIVRDF_Rx ;        /* RDF received */
 310                Counter         fddiPRIVRDF_Tx ;        /* RDF transmitted */
 311        } priv ;
 312} ;
 313
 314/*
 315 * OIDs for statistics
 316 */
 317#define SMT_OID_CF_STATE        1       /* fddiSMTCF_State */
 318#define SMT_OID_PCM_STATE_A     2       /* fddiPORTPCMState port A */
 319#define SMT_OID_PCM_STATE_B     17      /* fddiPORTPCMState port B */
 320#define SMT_OID_RMT_STATE       3       /* fddiMACRMTState */
 321#define SMT_OID_UNA             4       /* fddiMACUpstreamNbr */
 322#define SMT_OID_DNA             5       /* fddiMACOldDownstreamNbr */
 323#define SMT_OID_ERROR_CT        6       /* fddiMACError_Ct */
 324#define SMT_OID_LOST_CT         7       /* fddiMACLost_Ct */
 325#define SMT_OID_LEM_CT          8       /* fddiPORTLem_Ct */
 326#define SMT_OID_LEM_CT_A        11      /* fddiPORTLem_Ct port A */
 327#define SMT_OID_LEM_CT_B        12      /* fddiPORTLem_Ct port B */
 328#define SMT_OID_LCT_FAIL_CT     9       /* fddiPORTLCTFail_Ct */
 329#define SMT_OID_LCT_FAIL_CT_A   13      /* fddiPORTLCTFail_Ct port A */
 330#define SMT_OID_LCT_FAIL_CT_B   14      /* fddiPORTLCTFail_Ct port B */
 331#define SMT_OID_LEM_REJECT_CT   10      /* fddiPORTLem_Reject_Ct */
 332#define SMT_OID_LEM_REJECT_CT_A 15      /* fddiPORTLem_Reject_Ct port A */
 333#define SMT_OID_LEM_REJECT_CT_B 16      /* fddiPORTLem_Reject_Ct port B */
 334
 335/*
 336 * SK MIB
 337 */
 338#define SMT_OID_ECF_REQ_RX      20      /* ECF requests received */
 339#define SMT_OID_ECF_REPLY_RX    21      /* ECF replies received */
 340#define SMT_OID_ECF_REQ_TX      22      /* ECF requests transmitted */
 341#define SMT_OID_ECF_REPLY_TX    23      /* ECF replies transmitted */
 342#define SMT_OID_PMF_GET_RX      24      /* PMF get requests received */
 343#define SMT_OID_PMF_SET_RX      25      /* PMF set requests received */
 344#define SMT_OID_RDF_RX          26      /* RDF received */
 345#define SMT_OID_RDF_TX          27      /* RDF transmitted */
 346