 33f810b203
			
		
	
	
	33f810b203
	
	
	
		
			
			Move the FDDI drivers into drivers/net/fddi/ and make the necessary Kconfig and Makefile changes. CC: "Maciej W. Rozycki" <macro@linux-mips.org> CC: Christoph Goos <cgoos@syskonnect.de> CC: <linux@syskonnect.de> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
		
			
				
	
	
		
			349 lines
		
	
	
	
		
			9.6 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			349 lines
		
	
	
	
		
			9.6 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| /******************************************************************************
 | |
|  *
 | |
|  *	(C)Copyright 1998,1999 SysKonnect,
 | |
|  *	a business unit of Schneider & Koch & Co. Datensysteme GmbH.
 | |
|  *
 | |
|  *	This program is free software; you can redistribute it and/or modify
 | |
|  *	it under the terms of the GNU General Public License as published by
 | |
|  *	the Free Software Foundation; either version 2 of the License, or
 | |
|  *	(at your option) any later version.
 | |
|  *
 | |
|  *	The information in this file is provided "AS IS" without warranty.
 | |
|  *
 | |
|  ******************************************************************************/
 | |
| 
 | |
| /*
 | |
|  * FDDI MIB
 | |
|  */
 | |
| 
 | |
| /*
 | |
|  * typedefs
 | |
|  */
 | |
| 
 | |
| typedef	u_long	Counter ;
 | |
| typedef u_char	TimeStamp[8] ;
 | |
| typedef struct fddi_addr LongAddr ;
 | |
| typedef	u_long	Timer_2 ;
 | |
| typedef	u_long	Timer ;
 | |
| typedef	u_short	ResId ;
 | |
| typedef u_short	SMTEnum ;
 | |
| typedef	u_char	SMTFlag ;
 | |
| 
 | |
| typedef struct {
 | |
| 	Counter		count ;
 | |
| 	TimeStamp	timestamp ;
 | |
| } SetCountType ;
 | |
| 
 | |
| /*
 | |
|  * bits for bit string "available_path"
 | |
|  */
 | |
| #define MIB_PATH_P	(1<<0)
 | |
| #define MIB_PATH_S	(1<<1)
 | |
| #define MIB_PATH_L	(1<<2)
 | |
| 
 | |
| /*
 | |
|  * bits for bit string PermittedPaths & RequestedPaths (SIZE(8))
 | |
|  */
 | |
| #define MIB_P_PATH_LOCAL	(1<<0)
 | |
| #define MIB_P_PATH_SEC_ALTER	(1<<1)
 | |
| #define MIB_P_PATH_PRIM_ALTER	(1<<2)
 | |
| #define MIB_P_PATH_CON_ALTER	(1<<3)
 | |
| #define MIB_P_PATH_SEC_PREFER	(1<<4)
 | |
| #define MIB_P_PATH_PRIM_PREFER	(1<<5)
 | |
| #define MIB_P_PATH_CON_PREFER	(1<<6)
 | |
| #define MIB_P_PATH_THRU		(1<<7)
 | |
| 
 | |
| /*
 | |
|  * enum current path
 | |
|  */
 | |
| #define MIB_PATH_ISOLATED	0
 | |
| #define MIB_PATH_LOCAL		1
 | |
| #define MIB_PATH_SECONDARY	2
 | |
| #define MIB_PATH_PRIMARY	3
 | |
| #define MIB_PATH_CONCATENATED	4
 | |
| #define MIB_PATH_THRU		5
 | |
| 
 | |
| /*
 | |
|  * enum PMDClass
 | |
|  */
 | |
| #define MIB_PMDCLASS_MULTI	0
 | |
| #define MIB_PMDCLASS_SINGLE1	1
 | |
| #define MIB_PMDCLASS_SINGLE2	2
 | |
| #define MIB_PMDCLASS_SONET	3
 | |
| #define MIB_PMDCLASS_LCF	4
 | |
| #define MIB_PMDCLASS_TP		5
 | |
| #define MIB_PMDCLASS_UNKNOWN	6
 | |
| #define MIB_PMDCLASS_UNSPEC	7
 | |
| 
 | |
| /*
 | |
|  * enum SMTStationStatus
 | |
|  */
 | |
| #define MIB_SMT_STASTA_CON	0
 | |
| #define MIB_SMT_STASTA_SEPA	1
 | |
| #define MIB_SMT_STASTA_THRU	2
 | |
| 
 | |
| 
 | |
| struct fddi_mib {
 | |
| 	/*
 | |
| 	 * private
 | |
| 	 */
 | |
| 	u_char			fddiPRPMFPasswd[8] ;
 | |
| 	struct smt_sid		fddiPRPMFStation ;
 | |
| 
 | |
| #ifdef	ESS
 | |
| 	/*
 | |
| 	 * private variables for static allocation of the
 | |
| 	 * End Station Support
 | |
| 	 */
 | |
| 	u_long	fddiESSPayload ;	/* payload for static alloc */
 | |
| 	u_long	fddiESSOverhead ;	/* frame ov for static alloc */
 | |
| 	u_long	fddiESSMaxTNeg ;	/* maximum of T-NEG */
 | |
| 	u_long	fddiESSMinSegmentSize ;	/* min size of the sync frames */
 | |
| 	u_long	fddiESSCategory ;	/* category for the Alloc req */
 | |
| 	short	fddiESSSynchTxMode ;	/* send all LLC frames as sync */
 | |
| #endif	/* ESS */
 | |
| #ifdef	SBA
 | |
| 	/*
 | |
| 	 * private variables for the Synchronous Bandwidth Allocator
 | |
| 	 */
 | |
| 	char	fddiSBACommand ;	/* holds the parsed SBA cmd */
 | |
| 	u_char	fddiSBAAvailable ;	/* SBA allocatable value */
 | |
| #endif	/* SBA */
 | |
| 
 | |
| 	/*
 | |
| 	 * SMT standard mib
 | |
| 	 */
 | |
| 	struct smt_sid		fddiSMTStationId ;
 | |
| 	u_short			fddiSMTOpVersionId ;
 | |
| 	u_short			fddiSMTHiVersionId ;
 | |
| 	u_short			fddiSMTLoVersionId ;
 | |
| 	u_char			fddiSMTManufacturerData[32] ;
 | |
| 	u_char			fddiSMTUserData[32] ;
 | |
| 	u_short			fddiSMTMIBVersionId ;
 | |
| 
 | |
| 	/*
 | |
| 	 * ConfigGrp
 | |
| 	 */
 | |
| 	u_char			fddiSMTMac_Ct ;
 | |
| 	u_char			fddiSMTNonMaster_Ct ;
 | |
| 	u_char			fddiSMTMaster_Ct ;
 | |
| 	u_char			fddiSMTAvailablePaths ;
 | |
| 	u_short			fddiSMTConfigCapabilities ;
 | |
| 	u_short			fddiSMTConfigPolicy ;
 | |
| 	u_short			fddiSMTConnectionPolicy ;
 | |
| 	u_short			fddiSMTTT_Notify ;
 | |
| 	u_char			fddiSMTStatRptPolicy ;
 | |
| 	u_long			fddiSMTTrace_MaxExpiration ;
 | |
| 	u_short			fddiSMTPORTIndexes[NUMPHYS] ;
 | |
| 	u_short			fddiSMTMACIndexes ;
 | |
| 	u_char			fddiSMTBypassPresent ;
 | |
| 
 | |
| 	/*
 | |
| 	 * StatusGrp
 | |
| 	 */
 | |
| 	SMTEnum			fddiSMTECMState ;
 | |
| 	SMTEnum			fddiSMTCF_State ;
 | |
| 	SMTEnum			fddiSMTStationStatus ;
 | |
| 	u_char			fddiSMTRemoteDisconnectFlag ;
 | |
| 	u_char			fddiSMTPeerWrapFlag ;
 | |
| 
 | |
| 	/*
 | |
| 	 * MIBOperationGrp
 | |
| 	 */
 | |
| 	TimeStamp		fddiSMTTimeStamp ;
 | |
| 	TimeStamp		fddiSMTTransitionTimeStamp ;
 | |
| 	SetCountType		fddiSMTSetCount ;
 | |
| 	struct smt_sid		fddiSMTLastSetStationId ;
 | |
| 
 | |
| 	struct fddi_mib_m {
 | |
| 		u_short		fddiMACFrameStatusFunctions ;
 | |
| 		Timer_2		fddiMACT_MaxCapabilitiy ;
 | |
| 		Timer_2		fddiMACTVXCapabilitiy ;
 | |
| 
 | |
| 		/* ConfigGrp */
 | |
| 		u_char		fddiMACMultiple_N ;	/* private */
 | |
| 		u_char		fddiMACMultiple_P ;	/* private */
 | |
| 		u_char		fddiMACDuplicateAddressCond ;/* private */
 | |
| 		u_char		fddiMACAvailablePaths ;
 | |
| 		u_short		fddiMACCurrentPath ;
 | |
| 		LongAddr	fddiMACUpstreamNbr ;
 | |
| 		LongAddr	fddiMACDownstreamNbr ;
 | |
| 		LongAddr	fddiMACOldUpstreamNbr ;
 | |
| 		LongAddr	fddiMACOldDownstreamNbr ;
 | |
| 		SMTEnum		fddiMACDupAddressTest ;
 | |
| 		u_short		fddiMACRequestedPaths ;
 | |
| 		SMTEnum		fddiMACDownstreamPORTType ;
 | |
| 		ResId		fddiMACIndex ;
 | |
| 
 | |
| 		/* AddressGrp */
 | |
| 		LongAddr	fddiMACSMTAddress ;
 | |
| 
 | |
| 		/* OperationGrp */
 | |
| 		Timer_2		fddiMACT_Min ;	/* private */
 | |
| 		Timer_2		fddiMACT_ReqMIB ;
 | |
| 		Timer_2		fddiMACT_Req ;	/* private */
 | |
| 		Timer_2		fddiMACT_Neg ;
 | |
| 		Timer_2		fddiMACT_MaxMIB ;
 | |
| 		Timer_2		fddiMACT_Max ;	/* private */
 | |
| 		Timer_2		fddiMACTvxValueMIB ;
 | |
| 		Timer_2		fddiMACTvxValue ; /* private */
 | |
| 		Timer_2		fddiMACT_Pri0 ;
 | |
| 		Timer_2		fddiMACT_Pri1 ;
 | |
| 		Timer_2		fddiMACT_Pri2 ;
 | |
| 		Timer_2		fddiMACT_Pri3 ;
 | |
| 		Timer_2		fddiMACT_Pri4 ;
 | |
| 		Timer_2		fddiMACT_Pri5 ;
 | |
| 		Timer_2		fddiMACT_Pri6 ;
 | |
| 
 | |
| 		/* CountersGrp */
 | |
| 		Counter		fddiMACFrame_Ct ;
 | |
| 		Counter		fddiMACCopied_Ct ;
 | |
| 		Counter		fddiMACTransmit_Ct ;
 | |
| 		Counter		fddiMACToken_Ct ;
 | |
| 		Counter		fddiMACError_Ct ;
 | |
| 		Counter		fddiMACLost_Ct ;
 | |
| 		Counter		fddiMACTvxExpired_Ct ;
 | |
| 		Counter		fddiMACNotCopied_Ct ;
 | |
| 		Counter		fddiMACRingOp_Ct ;
 | |
| 
 | |
| 		Counter		fddiMACSMTCopied_Ct ;		/* private */
 | |
| 		Counter		fddiMACSMTTransmit_Ct ;		/* private */
 | |
| 
 | |
| 		/* private for delta ratio */
 | |
| 		Counter		fddiMACOld_Frame_Ct ;
 | |
| 		Counter		fddiMACOld_Copied_Ct ;
 | |
| 		Counter		fddiMACOld_Error_Ct ;
 | |
| 		Counter		fddiMACOld_Lost_Ct ;
 | |
| 		Counter		fddiMACOld_NotCopied_Ct ;
 | |
| 
 | |
| 		/* FrameErrorConditionGrp */
 | |
| 		u_short		fddiMACFrameErrorThreshold ;
 | |
| 		u_short		fddiMACFrameErrorRatio ;
 | |
| 
 | |
| 		/* NotCopiedConditionGrp */
 | |
| 		u_short		fddiMACNotCopiedThreshold ;
 | |
| 		u_short		fddiMACNotCopiedRatio ;
 | |
| 
 | |
| 		/* StatusGrp */
 | |
| 		SMTEnum		fddiMACRMTState ;
 | |
| 		SMTFlag		fddiMACDA_Flag ;
 | |
| 		SMTFlag		fddiMACUNDA_Flag ;
 | |
| 		SMTFlag		fddiMACFrameErrorFlag ;
 | |
| 		SMTFlag		fddiMACNotCopiedFlag ;
 | |
| 		SMTFlag		fddiMACMA_UnitdataAvailable ;
 | |
| 		SMTFlag		fddiMACHardwarePresent ;
 | |
| 		SMTFlag		fddiMACMA_UnitdataEnable ;
 | |
| 
 | |
| 	} m[NUMMACS] ;
 | |
| #define MAC0	0
 | |
| 
 | |
| 	struct fddi_mib_a {
 | |
| 		ResId		fddiPATHIndex ;
 | |
| 		u_long		fddiPATHSbaPayload ;
 | |
| 		u_long		fddiPATHSbaOverhead ;
 | |
| 		/* fddiPATHConfiguration is built on demand */
 | |
| 		/* u_long		fddiPATHConfiguration ; */
 | |
| 		Timer		fddiPATHT_Rmode ;
 | |
| 		u_long		fddiPATHSbaAvailable ;
 | |
| 		Timer_2		fddiPATHTVXLowerBound ;
 | |
| 		Timer_2		fddiPATHT_MaxLowerBound ;
 | |
| 		Timer_2		fddiPATHMaxT_Req ;
 | |
| 	} a[NUMPATHS] ;
 | |
| #define PATH0	0
 | |
| 
 | |
| 	struct fddi_mib_p {
 | |
| 		/* ConfigGrp */
 | |
| 		SMTEnum		fddiPORTMy_Type ;
 | |
| 		SMTEnum		fddiPORTNeighborType ;
 | |
| 		u_char		fddiPORTConnectionPolicies ;
 | |
| 		struct {
 | |
| 			u_char	T_val ;
 | |
| 			u_char	R_val ;
 | |
| 		} fddiPORTMacIndicated ;
 | |
| 		SMTEnum		fddiPORTCurrentPath ;
 | |
| 		/* must be 4: is 32 bit in SMT format
 | |
| 		 * indices :
 | |
| 		 *	1	none
 | |
| 		 *	2	tree
 | |
| 		 *	3	peer
 | |
| 		 */
 | |
| 		u_char		fddiPORTRequestedPaths[4] ;
 | |
| 		u_short		fddiPORTMACPlacement ;
 | |
| 		u_char		fddiPORTAvailablePaths ;
 | |
| 		u_char		fddiPORTConnectionCapabilities ;
 | |
| 		SMTEnum		fddiPORTPMDClass ;
 | |
| 		ResId		fddiPORTIndex ;
 | |
| 
 | |
| 		/* OperationGrp */
 | |
| 		SMTEnum		fddiPORTMaint_LS ;
 | |
| 		SMTEnum		fddiPORTPC_LS ;
 | |
| 		u_char		fddiPORTBS_Flag ;
 | |
| 
 | |
| 		/* ErrorCtrsGrp */
 | |
| 		Counter		fddiPORTLCTFail_Ct ;
 | |
| 		Counter		fddiPORTEBError_Ct ;
 | |
| 		Counter		fddiPORTOldEBError_Ct ;
 | |
| 
 | |
| 		/* LerGrp */
 | |
| 		Counter		fddiPORTLem_Reject_Ct ;
 | |
| 		Counter		fddiPORTLem_Ct ;
 | |
| 		u_char		fddiPORTLer_Estimate ;
 | |
| 		u_char		fddiPORTLer_Cutoff ;
 | |
| 		u_char		fddiPORTLer_Alarm ;
 | |
| 
 | |
| 		/* StatusGrp */
 | |
| 		SMTEnum		fddiPORTConnectState ;
 | |
| 		SMTEnum		fddiPORTPCMState ;	/* real value */
 | |
| 		SMTEnum		fddiPORTPCMStateX ;	/* value for MIB */
 | |
| 		SMTEnum		fddiPORTPC_Withhold ;
 | |
| 		SMTFlag		fddiPORTHardwarePresent ;
 | |
| 		u_char		fddiPORTLerFlag ;
 | |
| 
 | |
| 		u_char		fddiPORTMultiple_U ;	/* private */
 | |
| 		u_char		fddiPORTMultiple_P ;	/* private */
 | |
| 		u_char		fddiPORTEB_Condition ;	/* private */
 | |
| 	} p[NUMPHYS] ;
 | |
| 	struct {
 | |
| 		Counter		fddiPRIVECF_Req_Rx ;	/* ECF req received */
 | |
| 		Counter		fddiPRIVECF_Reply_Rx ;	/* ECF repl received */
 | |
| 		Counter		fddiPRIVECF_Req_Tx ;	/* ECF req transm */
 | |
| 		Counter		fddiPRIVECF_Reply_Tx ;	/* ECF repl transm */
 | |
| 		Counter		fddiPRIVPMF_Get_Rx ;	/* PMF Get rec */
 | |
| 		Counter		fddiPRIVPMF_Set_Rx ;	/* PMF Set rec */
 | |
| 		Counter		fddiPRIVRDF_Rx ;	/* RDF received */
 | |
| 		Counter		fddiPRIVRDF_Tx ;	/* RDF transmitted */
 | |
| 	} priv ;
 | |
| } ;
 | |
| 
 | |
| /*
 | |
|  * OIDs for statistics
 | |
|  */
 | |
| #define	SMT_OID_CF_STATE	1	/* fddiSMTCF_State */
 | |
| #define	SMT_OID_PCM_STATE_A	2	/* fddiPORTPCMState port A */
 | |
| #define	SMT_OID_PCM_STATE_B	17	/* fddiPORTPCMState port B */
 | |
| #define	SMT_OID_RMT_STATE	3	/* fddiMACRMTState */
 | |
| #define	SMT_OID_UNA		4	/* fddiMACUpstreamNbr */
 | |
| #define	SMT_OID_DNA		5	/* fddiMACOldDownstreamNbr */
 | |
| #define	SMT_OID_ERROR_CT	6	/* fddiMACError_Ct */
 | |
| #define	SMT_OID_LOST_CT		7	/* fddiMACLost_Ct */
 | |
| #define	SMT_OID_LEM_CT		8	/* fddiPORTLem_Ct */
 | |
| #define	SMT_OID_LEM_CT_A	11	/* fddiPORTLem_Ct port A */
 | |
| #define	SMT_OID_LEM_CT_B	12	/* fddiPORTLem_Ct port B */
 | |
| #define	SMT_OID_LCT_FAIL_CT	9	/* fddiPORTLCTFail_Ct */
 | |
| #define	SMT_OID_LCT_FAIL_CT_A	13	/* fddiPORTLCTFail_Ct port A */
 | |
| #define	SMT_OID_LCT_FAIL_CT_B	14	/* fddiPORTLCTFail_Ct port B */
 | |
| #define	SMT_OID_LEM_REJECT_CT	10	/* fddiPORTLem_Reject_Ct */
 | |
| #define	SMT_OID_LEM_REJECT_CT_A	15	/* fddiPORTLem_Reject_Ct port A */
 | |
| #define	SMT_OID_LEM_REJECT_CT_B	16	/* fddiPORTLem_Reject_Ct port B */
 | |
| 
 | |
| /*
 | |
|  * SK MIB
 | |
|  */
 | |
| #define SMT_OID_ECF_REQ_RX	20	/* ECF requests received */
 | |
| #define SMT_OID_ECF_REPLY_RX	21	/* ECF replies received */
 | |
| #define SMT_OID_ECF_REQ_TX	22	/* ECF requests transmitted */
 | |
| #define SMT_OID_ECF_REPLY_TX	23	/* ECF replies transmitted */
 | |
| #define SMT_OID_PMF_GET_RX	24	/* PMF get requests received */
 | |
| #define SMT_OID_PMF_SET_RX	25	/* PMF set requests received */
 | |
| #define SMT_OID_RDF_RX		26	/* RDF received */
 | |
| #define SMT_OID_RDF_TX		27	/* RDF transmitted */
 |