G6-ACCESS-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE, Integer32, Unsigned32, Counter32, enterprises,NOTIFICATION-TYPE
		FROM SNMPv2-SMI
	DisplayString, MacAddress
		FROM SNMPv2-TC
	g6	FROM MICROSENS-G6-MIB
	;

management MODULE-IDENTITY --Category
	LAST-UPDATED "201802121619Z"
	ORGANIZATION "MICROSENS GmbH & Co. KG"
	CONTACT-INFO
		"Kueferstrasse 16
		D-59067 Hamm
		Germany
		support@microsens.de
		http://www.microsens.de"
	DESCRIPTION
		"Microsens private MIB for Generation 6 Ethernet Switches"

	REVISION "201802121619Z"
	DESCRIPTION
		"File creation"
	::= { g6 3 }

access  OBJECT IDENTIFIER ::= { management 76 }



-- *************************** CONFIGURATION SECTION ********************************


accessAuthenticationMode OBJECT-TYPE   -- authentication_mode
	SYNTAX INTEGER 
		{
		local (0),
		localThenRadius (1),
		radius (2),
		localThenTacacs (3),
		tacacs (4),
		radiusThenLocal (5),
		tacacsThenLocal (6)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This parameter defines against which database incoming user and password are verified."
	::= { access 1 }


-- ******************* Begin of userTable *************************

userTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF UserEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	::= { access 2 }

userEntry	OBJECT-TYPE
	SYNTAX UserEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { userIndex }
	::= { userTable 1 }


	UserEntry ::= SEQUENCE {
	userIndex INTEGER,
	userName DisplayString,
	userAssociatedGroups DisplayString,
	userGeneralAccessRights INTEGER ,
	userEnableTelnetAccess INTEGER ,
	userEnableSshAccess INTEGER ,
	userEnableWebAccess INTEGER ,
	userEnableSnmpAccess INTEGER ,
	userEnableNmpAccess INTEGER ,
	userEnableFtpAccess INTEGER ,
	userEnterPassword DisplayString,
	userEncryptedAuthPassword DisplayString,
	userSnmpV3SecurityLevel INTEGER ,
	userSnmpV3AuthAlgorithm INTEGER ,
	userSnmpV3PrivacyAlgorithm INTEGER ,
	userEnterSnmpV3AuthPassword DisplayString,
	userEncryptedSnmpAuthPassword DisplayString,
	userEnterSnmpV3PrivacyPassword DisplayString,
	userEncryptedSnmpPrivacyPassword DisplayString
	}

userIndex	OBJECT-TYPE
	SYNTAX INTEGER (0..31)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Automatically generated"
	::= { userEntry 1 }

userName OBJECT-TYPE   -- name
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Unique name used to login to the system regardless of the management interface used. At least 3 character are required."
	::= { userEntry 2 }

userAssociatedGroups OBJECT-TYPE   -- associated_groups
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"A user must be part of a group and inherits the rights of the groups and their views."
	::= { userEntry 3 }

userGeneralAccessRights OBJECT-TYPE   -- general_access_rights
	SYNTAX INTEGER 
		{
		noAccess (0),
		readOnly (1),
		readWrite (2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Limited access rights here overrule rights granted by the associated groups and their views. Use NO_ACCESS to temporarily suspend a user account."
	::= { userEntry 4 }

userEnableTelnetAccess OBJECT-TYPE   -- enable_telnet_access
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Permit CLI user access via insecure telnet session or via local serial port."
	::= { userEntry 5 }

userEnableSshAccess OBJECT-TYPE   -- enable_ssh_access
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Permit CLI user access via secure shell."
	::= { userEntry 6 }

userEnableWebAccess OBJECT-TYPE   -- enable_web_access
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Permit user access via the web interface."
	::= { userEntry 7 }

userEnableSnmpAccess OBJECT-TYPE   -- enable_snmp_access
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Permit user access via SNMP of any version. Additionally use SNMP settings to restrict to only secure SNMP v3 if desired."
	::= { userEntry 8 }

userEnableNmpAccess OBJECT-TYPE   -- enable_nmp_access
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Permit user access via the nmp network management application."
	::= { userEntry 9 }

userEnableFtpAccess OBJECT-TYPE   -- enable_ftp_access
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Permit ftp access for file transfers."
	::= { userEntry 10 }

userEnterPassword OBJECT-TYPE   -- enter_password
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Set a new authentication password which replaces the previous one. This password applies to all user access methods except SNMP. For SNMP v3 a separate set of passwords is used. Note: trailing spaces or multiple spaces in the password are automatically removed."
	::= { userEntry 11 }

userEncryptedAuthPassword OBJECT-TYPE   -- encrypted_auth_password
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	""
	::= { userEntry 12 }

userSnmpV3SecurityLevel OBJECT-TYPE   -- snmp_v3_security_level
	SYNTAX INTEGER 
		{
		noAuthNoPriv (0),
		authNoPriv (1),
		authPriv (2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Defines if login authorization and/or privacy are used."
	::= { userEntry 13 }

userSnmpV3AuthAlgorithm OBJECT-TYPE   -- snmp_v3_auth_algorithm
	SYNTAX INTEGER 
		{
		noAuthentication (0),
		md5 (1),
		sha (2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Defines with which algorithm the authorization key is created and decoded."
	::= { userEntry 14 }

userSnmpV3PrivacyAlgorithm OBJECT-TYPE   -- snmp_v3_privacy_algorithm
	SYNTAX INTEGER 
		{
		noPrivacy (0),
		des (1),
		aes (2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Defines which encryption method is used security level includes privacy."
	::= { userEntry 15 }

userEnterSnmpV3AuthPassword OBJECT-TYPE   -- enter_snmp_v3_auth_password
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Set a new SNMP v3 authentication password. This parameter only is required when SNMP v3 is used. This value correlates to the authorization key. No spaces are permitted and at least 8 character are required."
	::= { userEntry 16 }

userEncryptedSnmpAuthPassword OBJECT-TYPE   -- encrypted_snmp_auth_password
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	""
	::= { userEntry 17 }

userEnterSnmpV3PrivacyPassword OBJECT-TYPE   -- enter_snmp_v3_privacy_password
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Set a new encryption password. This parameter only is required when SNMP v3 user based privacy is used. If left empty, the SNMP v3 authentication password is also used for SNMP v3 privacy. No spaces are permitted and at least 8 character are required. IMPORTANT: This password must be different to the authentication password !"
	::= { userEntry 18 }

userEncryptedSnmpPrivacyPassword OBJECT-TYPE   -- encrypted_snmp_privacy_password
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	""
	::= { userEntry 19 }


-- ********************* End of userTable ***********************


-- ******************* Begin of groupTable *************************

groupTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF GroupEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	::= { access 3 }

groupEntry	OBJECT-TYPE
	SYNTAX GroupEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { groupIndex }
	::= { groupTable 1 }


	GroupEntry ::= SEQUENCE {
	groupIndex INTEGER,
	groupName DisplayString,
	groupAssociatedViews DisplayString
	}

groupIndex	OBJECT-TYPE
	SYNTAX INTEGER (0..15)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Automatically generated"
	::= { groupEntry 1 }

groupName OBJECT-TYPE   -- name
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Enter a unique and descriptive name that identifies the group. At least 3 character are required."
	::= { groupEntry 2 }

groupAssociatedViews OBJECT-TYPE   -- associated_views
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"A list which may point to one or several views that make up this group."
	::= { groupEntry 3 }


-- ********************* End of groupTable ***********************


-- ******************* Begin of viewTable *************************

viewTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF ViewEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	::= { access 4 }

viewEntry	OBJECT-TYPE
	SYNTAX ViewEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { viewIndex }
	::= { viewTable 1 }


	ViewEntry ::= SEQUENCE {
	viewIndex INTEGER,
	viewName DisplayString,
	viewAssociatedPattern DisplayString
	}

viewIndex	OBJECT-TYPE
	SYNTAX INTEGER (0..63)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Automatically generated"
	::= { viewEntry 1 }

viewName OBJECT-TYPE   -- name
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Enter a unique and descriptive name that identifies the view. At least 3 character are required."
	::= { viewEntry 2 }

viewAssociatedPattern OBJECT-TYPE   -- associated_pattern
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"A list which may point to one or several pattern that make up this view."
	::= { viewEntry 3 }


-- ********************* End of viewTable ***********************


-- ******************* Begin of patternTable *************************

patternTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF PatternEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	::= { access 5 }

patternEntry	OBJECT-TYPE
	SYNTAX PatternEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { patternIndex }
	::= { patternTable 1 }


	PatternEntry ::= SEQUENCE {
	patternIndex INTEGER,
	patternName DisplayString,
	patternDotstring DisplayString,
	patternAccessRights INTEGER 
	}

patternIndex	OBJECT-TYPE
	SYNTAX INTEGER (0..127)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Automatically generated"
	::= { patternEntry 1 }

patternName OBJECT-TYPE   -- name
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Enter a unique and descriptive name that identifies the pattern. At least 3 character are required."
	::= { patternEntry 2 }

patternDotstring OBJECT-TYPE   -- dotstring
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"A dotstring or partical dotstring can be defined here. Example: device.port"
	::= { patternEntry 3 }

patternAccessRights OBJECT-TYPE   -- access_rights
	SYNTAX INTEGER 
		{
		noAccess (0),
		readOnly (1),
		readWrite (2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This defines in which way the dotstring is to be treated."
	::= { patternEntry 4 }


-- ********************* End of patternTable ***********************


-- ******************* Begin of radiusTable *************************

radiusTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF RadiusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	::= { access 6 }

radiusEntry	OBJECT-TYPE
	SYNTAX RadiusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { radiusIndex }
	::= { radiusTable 1 }


	RadiusEntry ::= SEQUENCE {
	radiusIndex INTEGER,
	radiusPrimaryAuthServerName DisplayString,
	radiusFallbackAuthServerName DisplayString
	}

radiusIndex	OBJECT-TYPE
	SYNTAX INTEGER (0)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Automatically generated"
	::= { radiusEntry 1 }

radiusPrimaryAuthServerName OBJECT-TYPE   -- primary_auth_server_name
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Symbolic name of the RADIUS server used for authentication."
	::= { radiusEntry 2 }

radiusFallbackAuthServerName OBJECT-TYPE   -- fallback_auth_server_name
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Symbolic name of the RADIUS server used for authentication if the primary server is down. Leave empty when no fallback is required."
	::= { radiusEntry 3 }


-- ********************* End of radiusTable ***********************


-- ******************* Begin of tacacsTable *************************

tacacsTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF TacacsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	::= { access 7 }

tacacsEntry	OBJECT-TYPE
	SYNTAX TacacsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { tacacsIndex }
	::= { tacacsTable 1 }


	TacacsEntry ::= SEQUENCE {
	tacacsIndex INTEGER,
	tacacsPrimaryAuthServerName DisplayString,
	tacacsFallbackAuthServerName DisplayString,
	tacacsPrivilegeLevel0User DisplayString,
	tacacsPrivilegeLevel1User DisplayString,
	tacacsPrivilegeLevel15User DisplayString
	}

tacacsIndex	OBJECT-TYPE
	SYNTAX INTEGER (0)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Automatically generated"
	::= { tacacsEntry 1 }

tacacsPrimaryAuthServerName OBJECT-TYPE   -- primary_auth_server_name
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Symbolic name of the TACACS+ server used for authentication."
	::= { tacacsEntry 2 }

tacacsFallbackAuthServerName OBJECT-TYPE   -- fallback_auth_server_name
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Symbolic name of the TACACS+ server used for authentication if the primary server is down. Leave empty when no fallback is required."
	::= { tacacsEntry 3 }

tacacsPrivilegeLevel0User OBJECT-TYPE   -- privilege_level_0_user
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This maps TACACS+ privilege levels to internal access model. Level 0 is lowest privilege level. Make sure the name entered here exists as local user name."
	::= { tacacsEntry 4 }

tacacsPrivilegeLevel1User OBJECT-TYPE   -- privilege_level_1_user
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This maps TACACS+ privilege levels to internal access model. Level 1 is a basic privilege level. Make sure the name entered here exists as local user name."
	::= { tacacsEntry 5 }

tacacsPrivilegeLevel15User OBJECT-TYPE   -- privilege_level_15_user
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This maps TACACS+ privilege levels to internal access model. Level 15 is higest privilege level and would usually be mapped to the admin user."
	::= { tacacsEntry 6 }


-- ********************* End of tacacsTable ***********************


-- ******************* Begin of restrictionsTable *************************

restrictionsTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF RestrictionsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This table may be used to restrict access to the management system. Be careful not to lock your self out."
	::= { access 8 }

restrictionsEntry	OBJECT-TYPE
	SYNTAX RestrictionsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { restrictionsIndex }
	::= { restrictionsTable 1 }


	RestrictionsEntry ::= SEQUENCE {
	restrictionsIndex INTEGER,
	restrictionsName DisplayString,
	restrictionsMode INTEGER ,
	restrictionsIpAddress DisplayString
	}

restrictionsIndex	OBJECT-TYPE
	SYNTAX INTEGER (0..127)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Automatically generated"
	::= { restrictionsEntry 1 }

restrictionsName OBJECT-TYPE   -- name
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Enter a unique and descriptive name that identifies the ip_address. At least 3 character are required."
	::= { restrictionsEntry 2 }

restrictionsMode OBJECT-TYPE   -- mode
	SYNTAX INTEGER 
		{
		unused (0),
		permit (1),
		deny (2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"The associated ip address may be permitted or denied. Use UNUSED to temporarily suspend an entry."
	::= { restrictionsEntry 3 }

restrictionsIpAddress OBJECT-TYPE   -- ip_address
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Enter an IP address or address range which is denied or permitted. For example, to describe a range of IP addresses from 192.168.0.1 to 192.168.255.255 you use: 192.168.0.0/16.  Where 16 describes the number of bits in the IP address that are used for comparison (here192.168)."
	::= { restrictionsEntry 4 }


-- ********************* End of restrictionsTable ***********************



-- ****************************** STATUS SECTION ********************************


accessNumberOfLogins OBJECT-TYPE   -- number_of_logins
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"This value is incremented for each successful login."
	::= { access 100 }


-- ******************* Begin of loginStatusTable *************************

loginStatusTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF LoginStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This table displays data which are read from the inserted SFPs."
	::= { access 101 }

loginStatusEntry	OBJECT-TYPE
	SYNTAX LoginStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { loginStatusIndex }
	::= { loginStatusTable 1 }


	LoginStatusEntry ::= SEQUENCE {
	loginStatusIndex INTEGER,
	loginStatusState INTEGER ,
	loginStatusUserName DisplayString,
	loginStatusAuthName DisplayString,
	loginStatusLoginId Unsigned32,
	loginStatusLoginTimeStamp DisplayString,
	loginStatusLoginEpoch Unsigned32,
	loginStatusConnectTime Counter32,
	loginStatusService DisplayString,
	loginStatusRemoteHost DisplayString
	}

loginStatusIndex	OBJECT-TYPE
	SYNTAX INTEGER (0..31)
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Automatically generated"
	::= { loginStatusEntry 1 }

loginStatusState OBJECT-TYPE   -- state
	SYNTAX INTEGER 
		{
		unused (0),
		loggedOff (1),
		activeLogin (2)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Indicates if this login record displays a currently active login or a history entry of a previous login which is logged off by now."
	::= { loginStatusEntry 2 }

loginStatusUserName OBJECT-TYPE   -- user_name
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"User name for which this record applies."
	::= { loginStatusEntry 3 }

loginStatusAuthName OBJECT-TYPE   -- auth_name
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Authorization name which maps to the local user names to define the actual access rights. For local authentication this value mirrors the user name. When RADIUS authentication is used, this reflects the name provided by the RADIUS server."
	::= { loginStatusEntry 4 }

loginStatusLoginId OBJECT-TYPE   -- login_id
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Unique value to reference this login operation"
	::= { loginStatusEntry 5 }

loginStatusLoginTimeStamp OBJECT-TYPE   -- login_time_stamp
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Indicated the time when this user has connected to this service."
	::= { loginStatusEntry 6 }

loginStatusLoginEpoch OBJECT-TYPE   -- login_epoch
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Login time stamp in Linux time since the epoch format."
	::= { loginStatusEntry 7 }

loginStatusConnectTime OBJECT-TYPE   -- connect_time
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Indicated since how long the connection is established. For logged off entries this indicates the connect time of entry."
	::= { loginStatusEntry 8 }

loginStatusService OBJECT-TYPE   -- service
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Displays which service was used to perform the login."
	::= { loginStatusEntry 9 }

loginStatusRemoteHost OBJECT-TYPE   -- remote_host
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Displays from which remote host the login was performed. Details depend on the chosen interface."
	::= { loginStatusEntry 10 }


-- ********************* End of loginStatusTable ***********************



END

