Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0-or-later */
0002 /******************************************************************************
0003  *
0004  *  (C)Copyright 1998,1999 SysKonnect,
0005  *  a business unit of Schneider & Koch & Co. Datensysteme GmbH.
0006  *
0007  *  The information in this file is provided "AS IS" without warranty.
0008  *
0009  ******************************************************************************/
0010 
0011 /*
0012  * FDDI MIB
0013  */
0014 
0015 /*
0016  * typedefs
0017  */
0018 
0019 typedef u_long  Counter ;
0020 typedef u_char  TimeStamp[8] ;
0021 typedef struct fddi_addr LongAddr ;
0022 typedef u_long  Timer_2 ;
0023 typedef u_long  Timer ;
0024 typedef u_short ResId ;
0025 typedef u_short SMTEnum ;
0026 typedef u_char  SMTFlag ;
0027 
0028 typedef struct {
0029     Counter     count ;
0030     TimeStamp   timestamp ;
0031 } SetCountType ;
0032 
0033 /*
0034  * bits for bit string "available_path"
0035  */
0036 #define MIB_PATH_P  (1<<0)
0037 #define MIB_PATH_S  (1<<1)
0038 #define MIB_PATH_L  (1<<2)
0039 
0040 /*
0041  * bits for bit string PermittedPaths & RequestedPaths (SIZE(8))
0042  */
0043 #define MIB_P_PATH_LOCAL    (1<<0)
0044 #define MIB_P_PATH_SEC_ALTER    (1<<1)
0045 #define MIB_P_PATH_PRIM_ALTER   (1<<2)
0046 #define MIB_P_PATH_CON_ALTER    (1<<3)
0047 #define MIB_P_PATH_SEC_PREFER   (1<<4)
0048 #define MIB_P_PATH_PRIM_PREFER  (1<<5)
0049 #define MIB_P_PATH_CON_PREFER   (1<<6)
0050 #define MIB_P_PATH_THRU     (1<<7)
0051 
0052 /*
0053  * enum current path
0054  */
0055 #define MIB_PATH_ISOLATED   0
0056 #define MIB_PATH_LOCAL      1
0057 #define MIB_PATH_SECONDARY  2
0058 #define MIB_PATH_PRIMARY    3
0059 #define MIB_PATH_CONCATENATED   4
0060 #define MIB_PATH_THRU       5
0061 
0062 /*
0063  * enum PMDClass
0064  */
0065 #define MIB_PMDCLASS_MULTI  0
0066 #define MIB_PMDCLASS_SINGLE1    1
0067 #define MIB_PMDCLASS_SINGLE2    2
0068 #define MIB_PMDCLASS_SONET  3
0069 #define MIB_PMDCLASS_LCF    4
0070 #define MIB_PMDCLASS_TP     5
0071 #define MIB_PMDCLASS_UNKNOWN    6
0072 #define MIB_PMDCLASS_UNSPEC 7
0073 
0074 /*
0075  * enum SMTStationStatus
0076  */
0077 #define MIB_SMT_STASTA_CON  0
0078 #define MIB_SMT_STASTA_SEPA 1
0079 #define MIB_SMT_STASTA_THRU 2
0080 
0081 
0082 struct fddi_mib {
0083     /*
0084      * private
0085      */
0086     u_char          fddiPRPMFPasswd[8] ;
0087     struct smt_sid      fddiPRPMFStation ;
0088 
0089 #ifdef  ESS
0090     /*
0091      * private variables for static allocation of the
0092      * End Station Support
0093      */
0094     u_long  fddiESSPayload ;    /* payload for static alloc */
0095     u_long  fddiESSOverhead ;   /* frame ov for static alloc */
0096     u_long  fddiESSMaxTNeg ;    /* maximum of T-NEG */
0097     u_long  fddiESSMinSegmentSize ; /* min size of the sync frames */
0098     u_long  fddiESSCategory ;   /* category for the Alloc req */
0099     short   fddiESSSynchTxMode ;    /* send all LLC frames as sync */
0100 #endif  /* ESS */
0101 #ifdef  SBA
0102     /*
0103      * private variables for the Synchronous Bandwidth Allocator
0104      */
0105     char    fddiSBACommand ;    /* holds the parsed SBA cmd */
0106     u_char  fddiSBAAvailable ;  /* SBA allocatable value */
0107 #endif  /* SBA */
0108 
0109     /*
0110      * SMT standard mib
0111      */
0112     struct smt_sid      fddiSMTStationId ;
0113     u_short         fddiSMTOpVersionId ;
0114     u_short         fddiSMTHiVersionId ;
0115     u_short         fddiSMTLoVersionId ;
0116     u_char          fddiSMTManufacturerData[32] ;
0117     u_char          fddiSMTUserData[32] ;
0118     u_short         fddiSMTMIBVersionId ;
0119 
0120     /*
0121      * ConfigGrp
0122      */
0123     u_char          fddiSMTMac_Ct ;
0124     u_char          fddiSMTNonMaster_Ct ;
0125     u_char          fddiSMTMaster_Ct ;
0126     u_char          fddiSMTAvailablePaths ;
0127     u_short         fddiSMTConfigCapabilities ;
0128     u_short         fddiSMTConfigPolicy ;
0129     u_short         fddiSMTConnectionPolicy ;
0130     u_short         fddiSMTTT_Notify ;
0131     u_char          fddiSMTStatRptPolicy ;
0132     u_long          fddiSMTTrace_MaxExpiration ;
0133     u_short         fddiSMTPORTIndexes[NUMPHYS] ;
0134     u_short         fddiSMTMACIndexes ;
0135     u_char          fddiSMTBypassPresent ;
0136 
0137     /*
0138      * StatusGrp
0139      */
0140     SMTEnum         fddiSMTECMState ;
0141     SMTEnum         fddiSMTCF_State ;
0142     SMTEnum         fddiSMTStationStatus ;
0143     u_char          fddiSMTRemoteDisconnectFlag ;
0144     u_char          fddiSMTPeerWrapFlag ;
0145 
0146     /*
0147      * MIBOperationGrp
0148      */
0149     TimeStamp       fddiSMTTimeStamp ;
0150     TimeStamp       fddiSMTTransitionTimeStamp ;
0151     SetCountType        fddiSMTSetCount ;
0152     struct smt_sid      fddiSMTLastSetStationId ;
0153 
0154     struct fddi_mib_m {
0155         u_short     fddiMACFrameStatusFunctions ;
0156         Timer_2     fddiMACT_MaxCapabilitiy ;
0157         Timer_2     fddiMACTVXCapabilitiy ;
0158 
0159         /* ConfigGrp */
0160         u_char      fddiMACMultiple_N ; /* private */
0161         u_char      fddiMACMultiple_P ; /* private */
0162         u_char      fddiMACDuplicateAddressCond ;/* private */
0163         u_char      fddiMACAvailablePaths ;
0164         u_short     fddiMACCurrentPath ;
0165         LongAddr    fddiMACUpstreamNbr ;
0166         LongAddr    fddiMACDownstreamNbr ;
0167         LongAddr    fddiMACOldUpstreamNbr ;
0168         LongAddr    fddiMACOldDownstreamNbr ;
0169         SMTEnum     fddiMACDupAddressTest ;
0170         u_short     fddiMACRequestedPaths ;
0171         SMTEnum     fddiMACDownstreamPORTType ;
0172         ResId       fddiMACIndex ;
0173 
0174         /* AddressGrp */
0175         LongAddr    fddiMACSMTAddress ;
0176 
0177         /* OperationGrp */
0178         Timer_2     fddiMACT_Min ;  /* private */
0179         Timer_2     fddiMACT_ReqMIB ;
0180         Timer_2     fddiMACT_Req ;  /* private */
0181         Timer_2     fddiMACT_Neg ;
0182         Timer_2     fddiMACT_MaxMIB ;
0183         Timer_2     fddiMACT_Max ;  /* private */
0184         Timer_2     fddiMACTvxValueMIB ;
0185         Timer_2     fddiMACTvxValue ; /* private */
0186         Timer_2     fddiMACT_Pri0 ;
0187         Timer_2     fddiMACT_Pri1 ;
0188         Timer_2     fddiMACT_Pri2 ;
0189         Timer_2     fddiMACT_Pri3 ;
0190         Timer_2     fddiMACT_Pri4 ;
0191         Timer_2     fddiMACT_Pri5 ;
0192         Timer_2     fddiMACT_Pri6 ;
0193 
0194         /* CountersGrp */
0195         Counter     fddiMACFrame_Ct ;
0196         Counter     fddiMACCopied_Ct ;
0197         Counter     fddiMACTransmit_Ct ;
0198         Counter     fddiMACToken_Ct ;
0199         Counter     fddiMACError_Ct ;
0200         Counter     fddiMACLost_Ct ;
0201         Counter     fddiMACTvxExpired_Ct ;
0202         Counter     fddiMACNotCopied_Ct ;
0203         Counter     fddiMACRingOp_Ct ;
0204 
0205         Counter     fddiMACSMTCopied_Ct ;       /* private */
0206         Counter     fddiMACSMTTransmit_Ct ;     /* private */
0207 
0208         /* private for delta ratio */
0209         Counter     fddiMACOld_Frame_Ct ;
0210         Counter     fddiMACOld_Copied_Ct ;
0211         Counter     fddiMACOld_Error_Ct ;
0212         Counter     fddiMACOld_Lost_Ct ;
0213         Counter     fddiMACOld_NotCopied_Ct ;
0214 
0215         /* FrameErrorConditionGrp */
0216         u_short     fddiMACFrameErrorThreshold ;
0217         u_short     fddiMACFrameErrorRatio ;
0218 
0219         /* NotCopiedConditionGrp */
0220         u_short     fddiMACNotCopiedThreshold ;
0221         u_short     fddiMACNotCopiedRatio ;
0222 
0223         /* StatusGrp */
0224         SMTEnum     fddiMACRMTState ;
0225         SMTFlag     fddiMACDA_Flag ;
0226         SMTFlag     fddiMACUNDA_Flag ;
0227         SMTFlag     fddiMACFrameErrorFlag ;
0228         SMTFlag     fddiMACNotCopiedFlag ;
0229         SMTFlag     fddiMACMA_UnitdataAvailable ;
0230         SMTFlag     fddiMACHardwarePresent ;
0231         SMTFlag     fddiMACMA_UnitdataEnable ;
0232 
0233     } m[NUMMACS] ;
0234 #define MAC0    0
0235 
0236     struct fddi_mib_a {
0237         ResId       fddiPATHIndex ;
0238         u_long      fddiPATHSbaPayload ;
0239         u_long      fddiPATHSbaOverhead ;
0240         /* fddiPATHConfiguration is built on demand */
0241         /* u_long       fddiPATHConfiguration ; */
0242         Timer       fddiPATHT_Rmode ;
0243         u_long      fddiPATHSbaAvailable ;
0244         Timer_2     fddiPATHTVXLowerBound ;
0245         Timer_2     fddiPATHT_MaxLowerBound ;
0246         Timer_2     fddiPATHMaxT_Req ;
0247     } a[NUMPATHS] ;
0248 #define PATH0   0
0249 
0250     struct fddi_mib_p {
0251         /* ConfigGrp */
0252         SMTEnum     fddiPORTMy_Type ;
0253         SMTEnum     fddiPORTNeighborType ;
0254         u_char      fddiPORTConnectionPolicies ;
0255         struct {
0256             u_char  T_val ;
0257             u_char  R_val ;
0258         } fddiPORTMacIndicated ;
0259         SMTEnum     fddiPORTCurrentPath ;
0260         /* must be 4: is 32 bit in SMT format
0261          * indices :
0262          *  1   none
0263          *  2   tree
0264          *  3   peer
0265          */
0266         u_char      fddiPORTRequestedPaths[4] ;
0267         u_short     fddiPORTMACPlacement ;
0268         u_char      fddiPORTAvailablePaths ;
0269         u_char      fddiPORTConnectionCapabilities ;
0270         SMTEnum     fddiPORTPMDClass ;
0271         ResId       fddiPORTIndex ;
0272 
0273         /* OperationGrp */
0274         SMTEnum     fddiPORTMaint_LS ;
0275         SMTEnum     fddiPORTPC_LS ;
0276         u_char      fddiPORTBS_Flag ;
0277 
0278         /* ErrorCtrsGrp */
0279         Counter     fddiPORTLCTFail_Ct ;
0280         Counter     fddiPORTEBError_Ct ;
0281         Counter     fddiPORTOldEBError_Ct ;
0282 
0283         /* LerGrp */
0284         Counter     fddiPORTLem_Reject_Ct ;
0285         Counter     fddiPORTLem_Ct ;
0286         u_char      fddiPORTLer_Estimate ;
0287         u_char      fddiPORTLer_Cutoff ;
0288         u_char      fddiPORTLer_Alarm ;
0289 
0290         /* StatusGrp */
0291         SMTEnum     fddiPORTConnectState ;
0292         SMTEnum     fddiPORTPCMState ;  /* real value */
0293         SMTEnum     fddiPORTPCMStateX ; /* value for MIB */
0294         SMTEnum     fddiPORTPC_Withhold ;
0295         SMTFlag     fddiPORTHardwarePresent ;
0296         u_char      fddiPORTLerFlag ;
0297 
0298         u_char      fddiPORTMultiple_U ;    /* private */
0299         u_char      fddiPORTMultiple_P ;    /* private */
0300         u_char      fddiPORTEB_Condition ;  /* private */
0301     } p[NUMPHYS] ;
0302     struct {
0303         Counter     fddiPRIVECF_Req_Rx ;    /* ECF req received */
0304         Counter     fddiPRIVECF_Reply_Rx ;  /* ECF repl received */
0305         Counter     fddiPRIVECF_Req_Tx ;    /* ECF req transm */
0306         Counter     fddiPRIVECF_Reply_Tx ;  /* ECF repl transm */
0307         Counter     fddiPRIVPMF_Get_Rx ;    /* PMF Get rec */
0308         Counter     fddiPRIVPMF_Set_Rx ;    /* PMF Set rec */
0309         Counter     fddiPRIVRDF_Rx ;    /* RDF received */
0310         Counter     fddiPRIVRDF_Tx ;    /* RDF transmitted */
0311     } priv ;
0312 } ;
0313 
0314 /*
0315  * OIDs for statistics
0316  */
0317 #define SMT_OID_CF_STATE    1   /* fddiSMTCF_State */
0318 #define SMT_OID_PCM_STATE_A 2   /* fddiPORTPCMState port A */
0319 #define SMT_OID_PCM_STATE_B 17  /* fddiPORTPCMState port B */
0320 #define SMT_OID_RMT_STATE   3   /* fddiMACRMTState */
0321 #define SMT_OID_UNA     4   /* fddiMACUpstreamNbr */
0322 #define SMT_OID_DNA     5   /* fddiMACOldDownstreamNbr */
0323 #define SMT_OID_ERROR_CT    6   /* fddiMACError_Ct */
0324 #define SMT_OID_LOST_CT     7   /* fddiMACLost_Ct */
0325 #define SMT_OID_LEM_CT      8   /* fddiPORTLem_Ct */
0326 #define SMT_OID_LEM_CT_A    11  /* fddiPORTLem_Ct port A */
0327 #define SMT_OID_LEM_CT_B    12  /* fddiPORTLem_Ct port B */
0328 #define SMT_OID_LCT_FAIL_CT 9   /* fddiPORTLCTFail_Ct */
0329 #define SMT_OID_LCT_FAIL_CT_A   13  /* fddiPORTLCTFail_Ct port A */
0330 #define SMT_OID_LCT_FAIL_CT_B   14  /* fddiPORTLCTFail_Ct port B */
0331 #define SMT_OID_LEM_REJECT_CT   10  /* fddiPORTLem_Reject_Ct */
0332 #define SMT_OID_LEM_REJECT_CT_A 15  /* fddiPORTLem_Reject_Ct port A */
0333 #define SMT_OID_LEM_REJECT_CT_B 16  /* fddiPORTLem_Reject_Ct port B */
0334 
0335 /*
0336  * SK MIB
0337  */
0338 #define SMT_OID_ECF_REQ_RX  20  /* ECF requests received */
0339 #define SMT_OID_ECF_REPLY_RX    21  /* ECF replies received */
0340 #define SMT_OID_ECF_REQ_TX  22  /* ECF requests transmitted */
0341 #define SMT_OID_ECF_REPLY_TX    23  /* ECF replies transmitted */
0342 #define SMT_OID_PMF_GET_RX  24  /* PMF get requests received */
0343 #define SMT_OID_PMF_SET_RX  25  /* PMF set requests received */
0344 #define SMT_OID_RDF_RX      26  /* RDF received */
0345 #define SMT_OID_RDF_TX      27  /* RDF transmitted */