G6-MAC-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
	;

device 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 1 }

mac  OBJECT IDENTIFIER ::= { device 86 }



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


macFilterPort OBJECT-TYPE   -- filter_port
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Filter MAC table to show only MACs associated with a given port range. The shorthand port format like 1 for 1/1 may be used. Syntax examples: mac.filter_port = 1/2,1/5  or mac.filter_port = 1-3,5. "
	::= { mac 1 }


macFilterUserPorts OBJECT-TYPE   -- filter_user_ports
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Filter MAC table to show only MACs associated with user ports. This excluded the links. This view eliminates MACs which are not of local interest. No parameter is required."
	::= { mac 2 }


macFilterVlan OBJECT-TYPE   -- filter_vlan
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Filter MAC table to show only MACs associated with a given VLAN range. Supply VLAN ID as parameter. Syntax example: mac.filter_vlan = 1-4,1000-2000."
	::= { mac 3 }


macFilterMac OBJECT-TYPE   -- filter_mac
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Filter MAC table to find a specific MAC address and return the associated port and VLAN. Supply MAC address as parameter. Enter only the first 3 value pairs of the MAC to search for vendor MACs. Syntax example: mac.filter_mac = 01:22:3A."
	::= { mac 4 }


macFilterCustom OBJECT-TYPE   -- filter_custom
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Filter MAC table according to supplied rules: [ -m MAC ] [ -s SEPARATOR ] [ -p PORTS ] [ -v VLANS ] or do not enter any parameter and see all MACs."
	::= { mac 5 }


macFilterMulticastVlan OBJECT-TYPE   -- filter_multicast_vlan
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Filter MAC table to show only multicast MACs associated with a given VLAN range. Supply VLAN ID as parameter. Syntax example: mac.filter_multicast_vlan = 1-4,1000-2000."
	::= { mac 6 }


macFilterMulticastPort OBJECT-TYPE   -- filter_multicast_port
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Filter MAC table to show only multicast MACs associated with a given port range. Supply port as parameter. The shorthand port format like 1 for 1/1 may be used. Syntax examples: mac.filter_multicast_port = 1/2,1/5  or mac.filter_multicast_port = 1-3,5."
	::= { mac 7 }


macClearLearnedMacTable OBJECT-TYPE   -- clear_learned_mac_table
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Wipe out all learned MAC addresses. Static entries are kept intact. No parameter required."
	::= { mac 8 }


macClearMacTableForVlan OBJECT-TYPE   -- clear_mac_table_for_vlan
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Wipe out all MAC addresses for a given VLAN. Please provide the VLAN ID as parameter."
	::= { mac 9 }


macHideMacsOnLinkPorts OBJECT-TYPE   -- hide_macs_on_link_ports
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"When enabled only MACs on local access ports are listed in the MAC table. The MAC entires associated with link ports are excluded. This may significanly reduce the number of shown entires and also speed MAC table reading via SNMP."
	::= { mac 10 }


macGlobalAgingTime OBJECT-TYPE   -- global_aging_time
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"The MAC aging timeout can be configured in steps of 15 seconds. The nearest value is taken."
	::= { mac 11 }



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


macNumberOfEntries OBJECT-TYPE   -- number_of_entries
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Total number of MAC address entries in the table."
	::= { mac 100 }


macNumberOfIgmpEntries OBJECT-TYPE   -- number_of_igmp_entries
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Number of multicast MAC address entries in the table related to IGMP or MLD snooping."
	::= { mac 101 }


macUsedAgingTime OBJECT-TYPE   -- used_aging_time
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The actually used aging time which may be modfied by RSTP or local setting mac.global_aging_time"
	::= { mac 102 }


macNumberOfHiddenEntires OBJECT-TYPE   -- number_of_hidden_entires
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"When the mac.hide_macs_on_link_ports parameter is enabled, this value indicates how many MACs associated with link ports are not shown."
	::= { mac 103 }


-- ******************* Begin of macTableTable *************************

macTableTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF MacTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This table lists all MAC addresses maintained by the device. This is an unfiltered list."
	::= { mac 104 }

macTableEntry	OBJECT-TYPE
	SYNTAX MacTableEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { macTableIndex }
	::= { macTableTable 1 }


	MacTableEntry ::= SEQUENCE {
	macTableIndex INTEGER,
	macTableMac MacAddress,
	macTablePort Integer32 ,
	macTableState INTEGER ,
	macTableVlan Integer32 
	}

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

macTableMac OBJECT-TYPE   -- mac
	SYNTAX MacAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"MAC address entry"
	::= { macTableEntry 2 }

macTablePort OBJECT-TYPE   -- port
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Port number for MAC address"
	::= { macTableEntry 3 }

macTableState OBJECT-TYPE   -- state
	SYNTAX INTEGER 
		{
		unused (0),
		other (1),
		invalid (2),
		learned (3),
		self (4),
		pacc (5),
		multicast (6)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Entry state indicates further details."
	::= { macTableEntry 4 }

macTableVlan OBJECT-TYPE   -- vlan
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"if non zero this MAC is part of this VLAN."
	::= { macTableEntry 5 }


-- ********************* End of macTableTable ***********************


-- ******************* Begin of currentlyAuthorizedMacsTable *************************

currentlyAuthorizedMacsTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF CurrentlyAuthorizedMacsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This table lists all MAC addresses currently authorized via port access control."
	::= { mac 105 }

currentlyAuthorizedMacsEntry	OBJECT-TYPE
	SYNTAX CurrentlyAuthorizedMacsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { currentlyAuthorizedMacsIndex }
	::= { currentlyAuthorizedMacsTable 1 }


	CurrentlyAuthorizedMacsEntry ::= SEQUENCE {
	currentlyAuthorizedMacsIndex INTEGER,
	currentlyAuthorizedMacsMac MacAddress,
	currentlyAuthorizedMacsPort Integer32 ,
	currentlyAuthorizedMacsState INTEGER ,
	currentlyAuthorizedMacsVlan Integer32 ,
	currentlyAuthorizedMacsDatabase Integer32 
	}

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

currentlyAuthorizedMacsMac OBJECT-TYPE   -- mac
	SYNTAX MacAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"MAC address entry"
	::= { currentlyAuthorizedMacsEntry 2 }

currentlyAuthorizedMacsPort OBJECT-TYPE   -- port
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Port number for MAC address"
	::= { currentlyAuthorizedMacsEntry 3 }

currentlyAuthorizedMacsState OBJECT-TYPE   -- state
	SYNTAX INTEGER 
		{
		unused (0),
		other (1),
		invalid (2),
		learned (3),
		self (4),
		pacc (5),
		multicast (6)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Entry state indicates further details."
	::= { currentlyAuthorizedMacsEntry 4 }

currentlyAuthorizedMacsVlan OBJECT-TYPE   -- vlan
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"if non zero this MAC is part of this VLAN."
	::= { currentlyAuthorizedMacsEntry 5 }

currentlyAuthorizedMacsDatabase OBJECT-TYPE   -- database
	SYNTAX Integer32 (0..65535)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Internal database index"
	::= { currentlyAuthorizedMacsEntry 6 }


-- ********************* End of currentlyAuthorizedMacsTable ***********************



END

