G6-WIFI-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 "202302141127Z"
	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 "202302141127Z"
	DESCRIPTION
		"File creation"
	::= { g6 1 }

wifi  OBJECT IDENTIFIER ::= { device 98 }



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


wifiEnableWifi OBJECT-TYPE   -- enable_wifi
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Generally enable the access point and its wireless interface."
	::= { wifi 1 }


-- ******************* Begin of accessPointTable *************************

accessPointTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF AccessPointEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Basic settings of the access point."
	::= { wifi 2 }

accessPointEntry	OBJECT-TYPE
	SYNTAX AccessPointEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { accessPointIndex }
	::= { accessPointTable 1 }


	AccessPointEntry ::= SEQUENCE {
	accessPointIndex INTEGER,
	accessPointHostname DisplayString,
	accessPointDeviceIp OCTET STRING ,
	accessPointSubnetMask OCTET STRING ,
	accessPointGateway OCTET STRING ,
	accessPointUpdateFirmware DisplayString,
	accessPointReboot DisplayString
	}

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

accessPointHostname OBJECT-TYPE   -- hostname
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Access point hostname."
	::= { accessPointEntry 2 }

accessPointDeviceIp OBJECT-TYPE   -- device_ip
	SYNTAX OCTET STRING (SIZE (0..20))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Static device IP address of the access point."
	::= { accessPointEntry 3 }

accessPointSubnetMask OBJECT-TYPE   -- subnet_mask
	SYNTAX OCTET STRING (SIZE (0..20))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Static subnet mask."
	::= { accessPointEntry 4 }

accessPointGateway OBJECT-TYPE   -- gateway
	SYNTAX OCTET STRING (SIZE (0..20))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Default gateway IP address. When DHCP is enabled, DHCP has preference over this setting."
	::= { accessPointEntry 5 }

accessPointUpdateFirmware OBJECT-TYPE   -- update_firmware
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Update the access point firmware. When no file name is supplied, the latest version is automatically selected. Alternatively, a specific file name can be supplied to use another version. Use Management.files.firmware.display_files to view a list of available files under the AP section."
	::= { accessPointEntry 6 }

accessPointReboot OBJECT-TYPE   -- reboot
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"This command will restart the access point only. All wireless communication will be disrupted for about a minute! Syntax: reboot = CONFIRM."
	::= { accessPointEntry 7 }


-- ********************* End of accessPointTable ***********************


-- ******************* Begin of interfaceTable *************************

interfaceTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF InterfaceEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This table defines the Ethernet interface available via Wife"
	::= { wifi 3 }

interfaceEntry	OBJECT-TYPE
	SYNTAX InterfaceEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { interfaceIndex }
	::= { interfaceTable 1 }


	InterfaceEntry ::= SEQUENCE {
	interfaceIndex INTEGER,
	interfaceCountryCode DisplayString,
	interfaceSsid DisplayString,
	interfaceEnterPresharedKey DisplayString,
	interfaceEncryptedPresharedKey DisplayString,
	interfaceExposeSsid INTEGER ,
	interfaceEncryption INTEGER ,
	interfaceDhcpServer INTEGER ,
	interfaceDhcpStartAddress OCTET STRING ,
	interfaceDhcpNumberOfAddresses Integer32 ,
	interfaceChannelNumber Unsigned32,
	interfaceChannelWidth INTEGER 
	}

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

interfaceCountryCode OBJECT-TYPE   -- country_code
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"International country code. Use DE for Germany, FR for France, etc."
	::= { interfaceEntry 2 }

interfaceSsid OBJECT-TYPE   -- ssid
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Defines the name under which the access point can be reached. This will be displayed as network name."
	::= { interfaceEntry 3 }

interfaceEnterPresharedKey OBJECT-TYPE   -- enter_preshared_key
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Enter the password required to access the network. No spaces are permitted and at least 8 character are required."
	::= { interfaceEntry 4 }

interfaceEncryptedPresharedKey OBJECT-TYPE   -- encrypted_preshared_key
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Encrypted form of the entered key. This is automatically filled in when the enter_fa_auth command is executed."
	::= { interfaceEntry 5 }

interfaceExposeSsid OBJECT-TYPE   -- expose_ssid
	SYNTAX INTEGER 
		{
		hidden (0),
		visible (1)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Defines whether the network can be detected or is hidden."
	::= { interfaceEntry 6 }

interfaceEncryption OBJECT-TYPE   -- encryption
	SYNTAX INTEGER 
		{
		none (0),
		wep (1),
		wpaPsk (2),
		wpaPsk2 (3)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	""
	::= { interfaceEntry 7 }

interfaceDhcpServer OBJECT-TYPE   -- dhcp_server
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Enable DHCP server to automatically provide an IP address to the attached wife devices."
	::= { interfaceEntry 8 }

interfaceDhcpStartAddress OBJECT-TYPE   -- dhcp_start_address
	SYNTAX OCTET STRING (SIZE (0..20))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Lowest address served."
	::= { interfaceEntry 9 }

interfaceDhcpNumberOfAddresses OBJECT-TYPE   -- dhcp_number_of_addresses
	SYNTAX Integer32 (0..255)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"The number of IP addresses served starting from the dhcp_start_address"
	::= { interfaceEntry 10 }

interfaceChannelNumber OBJECT-TYPE   -- channel_number
	SYNTAX Unsigned32
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Zero is automatic selection."
	::= { interfaceEntry 11 }

interfaceChannelWidth OBJECT-TYPE   -- channel_width
	SYNTAX INTEGER 
		{
		ht20 (1),
		ht40p (2),
		ht40n (3)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	""
	::= { interfaceEntry 12 }


-- ********************* End of interfaceTable ***********************


-- ******************* Begin of firewallConfigTable *************************

firewallConfigTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF FirewallConfigEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Each entry of this variable table defines the details of one test case."
	::= { wifi 4 }

firewallConfigEntry	OBJECT-TYPE
	SYNTAX FirewallConfigEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { firewallConfigIndex }
	::= { firewallConfigTable 1 }


	FirewallConfigEntry ::= SEQUENCE {
	firewallConfigIndex INTEGER,
	firewallConfigEnableIngressFirewall INTEGER ,
	firewallConfigEnableEgressFirewall INTEGER ,
	firewallConfigDropInvalidPackets INTEGER ,
	firewallConfigSynRateLimiting Integer32 ,
	firewallConfigUseSynCookies INTEGER ,
	firewallConfigTcpWindowScaling INTEGER 
	}

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

firewallConfigEnableIngressFirewall OBJECT-TYPE   -- enable_ingress_firewall
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"When disabled the ingress_firewall table is not in effect. This is intended for test purposes only."
	::= { firewallConfigEntry 2 }

firewallConfigEnableEgressFirewall OBJECT-TYPE   -- enable_egress_firewall
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"When disabled the ingress_firewall table is not in effect. This is intended for test purposes only."
	::= { firewallConfigEntry 3 }

firewallConfigDropInvalidPackets OBJECT-TYPE   -- drop_invalid_packets
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Drop invalid packets, not matching any active connection."
	::= { firewallConfigEntry 4 }

firewallConfigSynRateLimiting OBJECT-TYPE   -- syn_rate_limiting
	SYNTAX Integer32 (0..255)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Defines how many SYN request are accepted per second. When the limit is reached, a SYN flooding attack is assumed and the port is protected. The value 0 disables the rate limit check."
	::= { firewallConfigEntry 5 }

firewallConfigUseSynCookies OBJECT-TYPE   -- use_syn_cookies
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"SYN cookie is a technique used to resist SYN flooding attacks."
	::= { firewallConfigEntry 6 }

firewallConfigTcpWindowScaling OBJECT-TYPE   -- tcp_window_scaling
	SYNTAX INTEGER {  disabled(0), enabled(1) }
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Enable TCP window scaling."
	::= { firewallConfigEntry 7 }


-- ********************* End of firewallConfigTable ***********************


-- ******************* Begin of firewallRulesTable *************************

firewallRulesTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF FirewallRulesEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Firewall settings for traffic ingressing on the Wi-Fi___33 interface."
	::= { wifi 5 }

firewallRulesEntry	OBJECT-TYPE
	SYNTAX FirewallRulesEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { firewallRulesIndex }
	::= { firewallRulesTable 1 }


	FirewallRulesEntry ::= SEQUENCE {
	firewallRulesIndex INTEGER,
	firewallRulesIncomingAclList DisplayString,
	firewallRulesIncomingAclDefault INTEGER ,
	firewallRulesOutgoingAclList DisplayString,
	firewallRulesOutgoingAclDefault INTEGER 
	}

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

firewallRulesIncomingAclList OBJECT-TYPE   -- incoming_acl_list
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Name of the ACL (access control list) which declares which ACL applies to incoming traffic (redirects). Several ACL may be specified with a comma separated list. Example acl1, otherlist"
	::= { firewallRulesEntry 2 }

firewallRulesIncomingAclDefault OBJECT-TYPE   -- incoming_acl_default
	SYNTAX INTEGER 
		{
		deny (0),
		permit (1)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Defines which action is taken when none of the ACL records matches. Default is deny which blocks all traffic."
	::= { firewallRulesEntry 3 }

firewallRulesOutgoingAclList OBJECT-TYPE   -- outgoing_acl_list
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Name of the ACL (access control list) which declares which ACL applies to incoming traffic (redirects). Several ACL may be specified with a comma separated list. Example acl1, otherlist"
	::= { firewallRulesEntry 4 }

firewallRulesOutgoingAclDefault OBJECT-TYPE   -- outgoing_acl_default
	SYNTAX INTEGER 
		{
		deny (0),
		permit (1)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Defines which action is taken when none of the ACL records matches. Default is deny which blocks all traffic."
	::= { firewallRulesEntry 5 }


-- ********************* End of firewallRulesTable ***********************



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


-- ******************* Begin of statusTable *************************

statusTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF StatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Indicates basic WIFI related status information"
	::= { wifi 100 }

statusEntry	OBJECT-TYPE
	SYNTAX StatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { statusIndex }
	::= { statusTable 1 }


	StatusEntry ::= SEQUENCE {
	statusIndex INTEGER,
	statusOverallStatus INTEGER ,
	statusNumberOfConnections Unsigned32
	}

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

statusOverallStatus OBJECT-TYPE   -- overall_status
	SYNTAX INTEGER 
		{
		notPresent (0),
		disabled (1),
		fault (2),
		operational (3)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Indicates if WIFI module is operational."
	::= { statusEntry 2 }

statusNumberOfConnections OBJECT-TYPE   -- number_of_connections
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	""
	::= { statusEntry 3 }


-- ********************* End of statusTable ***********************


-- ******************* Begin of ipV4StatusTable *************************

ipV4StatusTable	OBJECT-TYPE
	SYNTAX SEQUENCE OF IpV4StatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This section shows a summary of IPv4 settings as they are currently active. These may reflect the statically configured values or may be dynamically assigned using DHCP."
	::= { wifi 101 }

ipV4StatusEntry	OBJECT-TYPE
	SYNTAX IpV4StatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ipV4StatusIndex }
	::= { ipV4StatusTable 1 }


	IpV4StatusEntry ::= SEQUENCE {
	ipV4StatusIndex INTEGER,
	ipV4StatusDynamicDeviceIp OCTET STRING ,
	ipV4StatusDynamicSubnetMask OCTET STRING ,
	ipV4StatusDynamicGateway OCTET STRING 
	}

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

ipV4StatusDynamicDeviceIp OBJECT-TYPE   -- dynamic_device_ip
	SYNTAX OCTET STRING (SIZE (0..20))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Currently used access point IP address."
	::= { ipV4StatusEntry 2 }

ipV4StatusDynamicSubnetMask OBJECT-TYPE   -- dynamic_subnet_mask
	SYNTAX OCTET STRING (SIZE (0..20))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Currently used  access point subnet mask."
	::= { ipV4StatusEntry 3 }

ipV4StatusDynamicGateway OBJECT-TYPE   -- dynamic_gateway
	SYNTAX OCTET STRING (SIZE (0..20))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Currently used  access point gateway IP address."
	::= { ipV4StatusEntry 4 }


-- ********************* End of ipV4StatusTable ***********************



END

