From 245b415ebac2b8388459d22e9c45070b4bfe8bc1 Mon Sep 17 00:00:00 2001 From: PipoCanaja <38363551+PipoCanaja@users.noreply.github.com> Date: Mon, 25 Nov 2019 03:39:05 +0100 Subject: [PATCH] Added basic Zyxel GS-4012F support (#10829) * MIB * processor * serial * tests * zyxel and zynos poller code * tests --- includes/definitions/discovery/zynos.yaml | 5 + includes/polling/os/zynos.inc.php | 36 + mibs/zyxel/ZYXEL-GS4012F-MIB | 8074 +++++++++++++++++++++ tests/data/zynos_gs1900.json | 50 +- tests/data/zynos_gs2200.json | 50 +- tests/data/zynos_gs4012.json | 58 + tests/data/zynos_mgs3712.json | 2 +- tests/snmpsim/zynos_gs4012.snmprec | 43 + 8 files changed, 8305 insertions(+), 13 deletions(-) create mode 100644 includes/polling/os/zynos.inc.php create mode 100644 mibs/zyxel/ZYXEL-GS4012F-MIB create mode 100644 tests/data/zynos_gs4012.json create mode 100644 tests/snmpsim/zynos_gs4012.snmprec diff --git a/includes/definitions/discovery/zynos.yaml b/includes/definitions/discovery/zynos.yaml index 3ad9aace66..345451ea94 100644 --- a/includes/definitions/discovery/zynos.yaml +++ b/includes/definitions/discovery/zynos.yaml @@ -2,6 +2,11 @@ mib: ZYXEL-ES-COMMON:ZYXEL-HW-MONITOR-MIB modules: processors: data: + - + oid: ZYXEL-GS4012F-MIB::sysMgmtCPUUsage + value: sysMgmtCPUUsage + snmp_flags: ['-OeQUs', '-Pu'] # workaround for underscores in mib + num_oid: '.1.3.6.1.4.1.890.1.5.8.20.12.7.{{ $index }}' - oid: ZYXEL-GS2200-24-MIB::sysMgmtCPUUsage value: sysMgmtCPUUsage diff --git a/includes/polling/os/zynos.inc.php b/includes/polling/os/zynos.inc.php new file mode 100644 index 0000000000..798897af58 --- /dev/null +++ b/includes/polling/os/zynos.inc.php @@ -0,0 +1,36 @@ + + * 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 3 of the License, or (at your + * option) any later version. Please see LICENSE.txt at the top level of + * the source code distribution for details. + */ + +// Load the generic Zyxel poller +if (is_file(\LibreNMS\Config::get('install_dir') . '/includes/polling/os/zyxel.inc.php')) { + include \LibreNMS\Config::get('install_dir') . '/includes/polling/os/zyxel.inc.php'; +} + +// if not already set, let's fill the gaps +if (empty($hardware)) { + $hardware = $device['sysDescr']; +} + +if (empty($serial)) { + $oidList = [ + '.1.3.6.1.4.1.890.1.5.8.20.1.10.0', //ZYXEL-GS4012F-MIB::sysSerialNumber.0 + '.1.3.6.1.4.1.890.1.5.8.47.1.10.0',// ZYXEL-MGS3712-MIB::sysSerialNumber.0 + '.1.3.6.1.4.1.890.1.5.8.55.1.10.0', //ZYXEL-GS2200-24-MIB::sysSerialNumber.0 + ]; + foreach ($oidList as $oid) { + $serial_tmp = snmp_get($device, $oid, '-OQv'); + if (!empty($serial_tmp)) { + $serial = $serial_tmp; + break; + } + } +} diff --git a/mibs/zyxel/ZYXEL-GS4012F-MIB b/mibs/zyxel/ZYXEL-GS4012F-MIB new file mode 100644 index 0000000000..1f9c4318d3 --- /dev/null +++ b/mibs/zyxel/ZYXEL-GS4012F-MIB @@ -0,0 +1,8074 @@ +ZYXEL-GS4012F-MIB DEFINITIONS ::= BEGIN + IMPORTS + enterprises FROM RFC1155-SMI + + OBJECT-TYPE + FROM SNMPv2-SMI -- RFC2578 + RowStatus, DateAndTime, TruthValue, StorageType, MacAddress + FROM SNMPv2-TC -- RFC2579 + DisplayString + FROM RFC1213-MIB + EnabledStatus + FROM P-BRIDGE-MIB + PortList + FROM Q-BRIDGE-MIB + dot1dBasePort + FROM BRIDGE-MIB + InterfaceIndexOrZero -- RFC2863 + FROM IF-MIB + SnmpAdminString + FROM SNMP-FRAMEWORK-MIB -- RFC2571 + InetAddressType, InetAddress + FROM INET-ADDRESS-MIB -- RFC2851 + OperationResponseStatus + FROM DISMAN-PING-MIB + ospfIfIpAddress, ospfAddressLessIf, ospfAreaId, ospfNbrIpAddr, ospfNbrAddressLessIndex, + ospfLsdbAreaId, ospfLsdbType, ospfLsdbLSID, ospfLsdbRouterId, ospfVirtIfAreaID, ospfVirtIfNeighbor + FROM OSPF-MIB + BridgeId, Timeout + FROM BRIDGE-MIB; + zyxel OBJECT IDENTIFIER ::= { enterprises 890 } + products OBJECT IDENTIFIER ::= { zyxel 1 } + accessSwitch OBJECT IDENTIFIER ::= { products 5 } + esSeries OBJECT IDENTIFIER ::= { accessSwitch 8 } + gs4012f OBJECT IDENTIFIER ::= { esSeries 20 } + +-- sysInfo + sysInfo OBJECT IDENTIFIER ::= { gs4012f 1 } + + sysSwPlatformMajorVers OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "SW platform major version, e.g. 3." + ::= { sysInfo 1 } + + sysSwPlatformMinorVers OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "SW platform minor version, e.g. 50." + ::= { sysInfo 2 } + + sysSwModelString OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Model letters, e.g. TJ" + ::= { sysInfo 3 } + + sysSwVersionControlNbr OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Version control number, e.g. 0." + ::= { sysInfo 4 } + + sysSwDay OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "SW compilation day, e.g. 19." + ::= { sysInfo 5 } + + sysSwMonth OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "SW compilation month, e.g. 8." + ::= { sysInfo 6 } + + sysSwYear OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "SW compilation year, e.g. 2004." + ::= { sysInfo 7 } + + sysHwMajorVers OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "HW major version number, e.g. 1." + ::= { sysInfo 8 } + + sysHwMinorVers OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "HW minor version number, e.g. 0." + ::= { sysInfo 9 } + + sysSerialNumber OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Serial number" + ::= { sysInfo 10 } + +-- rateLimitSetup + rateLimitSetup OBJECT IDENTIFIER ::= { gs4012f 2 } + + rateLimitState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Ingress/egress rate limiting enabled/disabled for the switch." + ::= { rateLimitSetup 1 } + +-- rateLimitPortTable + + rateLimitPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF RateLimitPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { rateLimitSetup 2 } + + rateLimitPortEntry OBJECT-TYPE + SYNTAX RateLimitPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in rateLimitPortTable." + INDEX { dot1dBasePort } + ::= { rateLimitPortTable 1 } + + RateLimitPortEntry ::= + SEQUENCE { + rateLimitPortState EnabledStatus, + rateLimitPortCommitRate INTEGER, + rateLimitPortPeakRate INTEGER, + rateLimitPortEgrRate INTEGER, + rateLimitPortPeakState EnabledStatus, + rateLimitPortEgrState EnabledStatus, + rateLimitPortCommitState EnabledStatus + } + + rateLimitPortState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Ingress/egress rate limiting enabled/disabled on the port." + ::= { rateLimitPortEntry 1 } + + rateLimitPortCommitRate OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Commit rate in Kbit/s. The range of FE port is between 0 and 100,000. For GE port, the range is between 0 and 1000,000." + ::= { rateLimitPortEntry 2 } + + rateLimitPortPeakRate OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Peak rate in Kbit/s. The range of FE port is between 1 and 100,000. For GE port, the range is between 1 and 1000,000." + ::= { rateLimitPortEntry 3 } + + rateLimitPortEgrRate OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Egress rate in Mbit/s. The granularity of FE port is between 1 and 100. For GE port, the granularity is between 1 and 1000." + ::= { rateLimitPortEntry 4 } + rateLimitPortPeakState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Ingress peak rate limiting enabled/disabled on the port." + ::= { rateLimitPortEntry 5 } + + rateLimitPortEgrState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Egress rate limiting enabled/disabled on the port." + ::= { rateLimitPortEntry 6 } + + rateLimitPortCommitState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Ingress commit rate limiting enabled/disabled on the port." + ::= { rateLimitPortEntry 7 } + +-- brLimitSetup + brLimitSetup OBJECT IDENTIFIER ::= { gs4012f 3 } + + brLimitState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Broadcast/multicast/DLF rate limiting enabled/disabled for the switch." + ::= { brLimitSetup 1 } + +-- brLimitPortTable + brLimitPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF BrLimitPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { brLimitSetup 2 } + + brLimitPortEntry OBJECT-TYPE + SYNTAX BrLimitPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in brLimitPortTable." + INDEX { dot1dBasePort } + ::= { brLimitPortTable 1 } + + BrLimitPortEntry ::= + SEQUENCE { + brLimitPortBrState EnabledStatus, + brLimitPortBrRate INTEGER, + brLimitPortMcState EnabledStatus, + brLimitPortMcRate INTEGER, + brLimitPortDlfState EnabledStatus, + brLimitPortDlfRate INTEGER + } + + brLimitPortBrState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Broadcast rate limiting enabled/disabled on the port." + ::= { brLimitPortEntry 1 } + + brLimitPortBrRate OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Allowed broadcast rate in pkts/s. For FE port, + the maximum value is 148800. For GE port, the maximum value is 262143." + ::= { brLimitPortEntry 2 } + + brLimitPortMcState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Multicast rate limiting enabled/disabled on the port." + ::= { brLimitPortEntry 3 } + + brLimitPortMcRate OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "AAllowed mullticast rate in pkts/s. For FE port, + the maximum value is 148800. For GE port, the maximum value is 262143." + ::= { brLimitPortEntry 4 } + + brLimitPortDlfState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Destination lookup failure frames rate limiting enabled/disabled on the port." + ::= { brLimitPortEntry 5 } + + brLimitPortDlfRate OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Allowed destination lookup failure frames rate in pkts/s. + For FE port, the maximum value is 148800. For GE port, the maximum value is 262143." + ::= { brLimitPortEntry 6 } + +-- portSecuritySetup + portSecuritySetup OBJECT IDENTIFIER ::= { gs4012f 4 } + + portSecurityState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { portSecuritySetup 1 } + + portSecurityPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF PortSecurityPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { portSecuritySetup 2 } + + portSecurityPortEntry OBJECT-TYPE + SYNTAX PortSecurityPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in portSecurityPortTable." + INDEX { dot1dBasePort } + ::= { portSecurityPortTable 1 } + + PortSecurityPortEntry ::= + SEQUENCE { + portSecurityPortState EnabledStatus, + portSecurityPortLearnState EnabledStatus, + portSecurityPortCount INTEGER + } + + portSecurityPortState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Port Security enabled/disabled on the port. + Active(1) means this port only accept frames from static MAC addresses that are configured for the port, + and dynamic MAC address frames up to the number specified by portSecurityPortCount object." + ::= { portSecurityPortEntry 1 } + + portSecurityPortLearnState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "MAC address learning enabled/disable on the port." + ::= { portSecurityPortEntry 2 } + + portSecurityPortCount OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Number of (dynamic) MAC addresses that may be learned on the port." + ::= { portSecurityPortEntry 3 } + + portSecurityMacFreeze OBJECT-TYPE + SYNTAX PortList + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { portSecuritySetup 3 } + + + +-- vlanTrunkPortTable + vlanTrunkSetup OBJECT IDENTIFIER ::= { gs4012f 5 } + + vlanTrunkPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF VlanTrunkPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { vlanTrunkSetup 1 } + + vlanTrunkPortEntry OBJECT-TYPE + SYNTAX VlanTrunkPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in vlanTrunkPortTable." + INDEX { dot1dBasePort } + ::= { vlanTrunkPortTable 1 } + + VlanTrunkPortEntry ::= + SEQUENCE { + vlanTrunkPortState EnabledStatus + } + + vlanTrunkPortState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "VlanTrunking enabled/disabled on the port. + Active(1) to allow frames belonging to unknown + VLAN groups to pass through the switch." + ::= { vlanTrunkPortEntry 1 } + +-- ctlProtTransSetup + ctlProtTransSetup OBJECT IDENTIFIER ::= { gs4012f 6 } + + ctlProtTransState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Bridge control protocol transparency enabled/disabled for the switch" + ::= { ctlProtTransSetup 1 } + +-- ctlProtTransTunnelPortTable + + ctlProtTransTunnelPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF CtlProtTransTunnelPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { ctlProtTransSetup 2 } + + ctlProtTransTunnelPortEntry OBJECT-TYPE + SYNTAX CtlProtTransTunnelPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in ctlProtTransTunnelPortTable." + INDEX { dot1dBasePort } + ::= { ctlProtTransTunnelPortTable 1 } + + CtlProtTransTunnelPortEntry ::= + SEQUENCE { + ctlProtTransTunnelMode INTEGER + } + + ctlProtTransTunnelMode OBJECT-TYPE + SYNTAX INTEGER{ + peer(0), + tunnel(1), + discard(2), + network(3) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Bridge control protocol transparency mode for the port. + Modes: Peer(0), Tunnel(1), Discard(2), Network(3)" + ::= { ctlProtTransTunnelPortEntry 1 } + +-- vlanStackSetup + vlanStackSetup OBJECT IDENTIFIER ::= { gs4012f 7 } + + vlanStackState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "VLAN Stacking enabled/disabled for the switch." + ::= { vlanStackSetup 1 } + + vlanStackTpid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "SP TPID in hex format, e.g. 8100." + ::= { vlanStackSetup 2 } + +-- vlanStackPortTable + + vlanStackPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF VlanStackPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { vlanStackSetup 3 } + + vlanStackPortEntry OBJECT-TYPE + SYNTAX VlanStackPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in vlanStackPortTable." + INDEX { dot1dBasePort } + ::= { vlanStackPortTable 1 } + + VlanStackPortEntry ::= + SEQUENCE { + vlanStackPortMode INTEGER, + vlanStackPortVid INTEGER, + vlanStackPortPrio INTEGER + } + + vlanStackPortMode OBJECT-TYPE + SYNTAX INTEGER { + normal(1), + access(2), + tunnel(3) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Mode of the port.Set Access mode to have the switch add the SP TPID tag to all incoming + frames received on this port. Set Access mode for ingress ports at the + edge of the service provider's network. Set Tunnel mode (available for + Gigabit ports only) for egress ports at the edge of the service provider's + network. In order to support VLAN stacking on a port, the port must be able + to allow frames of 1526 Bytes (1522 Bytes + 4 Bytes for the second tag) + to pass through it. Access (0), tunnel (1)" + ::= { vlanStackPortEntry 1 } + + vlanStackPortVid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "VLAN ID used in service provider tag." + ::= { vlanStackPortEntry 2 } + + vlanStackPortPrio OBJECT-TYPE + SYNTAX INTEGER { + prioriry-0(0), + prioriry-1(1), + prioriry-2(2), + prioriry-3(3), + prioriry-4(4), + prioriry-5(5), + prioriry-6(6), + prioriry-7(7) + } + + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Priority value for service provider tag. + 0 is the lowest priority level and 7 is the highest." + ::= { vlanStackPortEntry 3 } + +-- dot1xSetup + dot1xSetup OBJECT IDENTIFIER ::= { gs4012f 8 } + + +-- portAuthState + portAuthState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "802.1x port authentication enabled/disabled for the switch." + ::= { dot1xSetup 3 } + + +-- portAuthTable + + portAuthTable OBJECT-TYPE + SYNTAX SEQUENCE OF PortAuthEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { dot1xSetup 4 } + + portAuthEntry OBJECT-TYPE + SYNTAX PortAuthEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in portAuthTable." + INDEX { dot1dBasePort } + ::= { portAuthTable 1 } + + PortAuthEntry ::= + SEQUENCE { + portAuthEntryState EnabledStatus, + portReAuthEntryState EnabledStatus, + portReAuthEntryTimer INTEGER + } + + portAuthEntryState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "802.1x port authentication enabled or disabled on the port." + ::= { portAuthEntry 1 } + + portReAuthEntryState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "802.1x port re-authentication enabled or disabled on the port." + ::= { portAuthEntry 2 } + + portReAuthEntryTimer OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Re-authentication timer in seconds." + ::= { portAuthEntry 3 } + +-- hardwareInfo + hwMonitorInfo OBJECT IDENTIFIER ::= { gs4012f 9 } + +-- fabRpmTable + + fanRpmTable OBJECT-TYPE + SYNTAX SEQUENCE OF FanRpmEntry + ACCESS not-accessible + STATUS current + DESCRIPTION + "" + ::= { hwMonitorInfo 1 } + + fanRpmEntry OBJECT-TYPE + SYNTAX FanRpmEntry + ACCESS not-accessible + STATUS current + DESCRIPTION "An entry in fanRpmTable." + INDEX { fanRpmIndex } + ::= { fanRpmTable 1 } + + FanRpmEntry ::= + SEQUENCE { + fanRpmIndex INTEGER, + fanRpmCurValue INTEGER, + fanRpmMaxValue INTEGER, + fanRpmMinValue INTEGER, + fanRpmLowThresh INTEGER, + fanRpmDescr DisplayString + } + + fanRpmIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "Index of FAN." + ::= { fanRpmEntry 1 } + + fanRpmCurValue OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "Current speed in Revolutions Per Minute (RPM) on the fan." + ::= { fanRpmEntry 2 } + + fanRpmMaxValue OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "Maximum speed measured in Revolutions Per Minute (RPM) on the fan." + ::= { fanRpmEntry 3 } + + fanRpmMinValue OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "Minimum speed measured in Revolutions Per Minute (RPM) on the fan." + ::= { fanRpmEntry 4 } + + fanRpmLowThresh OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "The minimum speed at which a normal fan should work." + ::= { fanRpmEntry 5 } + + fanRpmDescr OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS current + DESCRIPTION + "'Normal' indicates that this fan is functioning above the minimum speed. + 'Error' indicates that this fan is functioning below the minimum speed." + ::= { fanRpmEntry 6 } + +-- tempTable + + tempTable OBJECT-TYPE + SYNTAX SEQUENCE OF TempEntry + ACCESS not-accessible + STATUS current + DESCRIPTION + "" + ::= { hwMonitorInfo 2 } + + tempEntry OBJECT-TYPE + SYNTAX TempEntry + ACCESS not-accessible + STATUS current + DESCRIPTION "An entry in tempTable." + INDEX { tempIndex } + ::= { tempTable 1 } + + TempEntry ::= + SEQUENCE { + tempIndex INTEGER, + tempCurValue INTEGER, + tempMaxValue INTEGER, + tempMinValue INTEGER, + tempHighThresh INTEGER, + tempDescr DisplayString + } + + tempIndex OBJECT-TYPE + SYNTAX INTEGER { + mac (1), + cpu (2), + phy (3) + } + ACCESS read-only + STATUS current + DESCRIPTION + "Index of temperature unit. 1:MAC, 2:CPU, 3:PHY" + ::= { tempEntry 1 } + + tempCurValue OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "The current temperature measured at this sensor." + ::= { tempEntry 2 } + + tempMaxValue OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "The maximum temperature measured at this sensor." + ::= { tempEntry 3 } + + tempMinValue OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "The minimum temperature measured at this sensor." + ::= { tempEntry 4 } + + tempHighThresh OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "The upper temperature limit at this sensor." + ::= { tempEntry 5 } + + tempDescr OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS current + DESCRIPTION + "'Normal' indicates temperatures below the threshold and 'Error' for those above." + ::= { tempEntry 6 } + +-- voltageTable + + voltageTable OBJECT-TYPE + SYNTAX SEQUENCE OF VoltageEntry + ACCESS not-accessible + STATUS current + DESCRIPTION + "" + ::= { hwMonitorInfo 3 } + + voltageEntry OBJECT-TYPE + SYNTAX VoltageEntry + ACCESS not-accessible + STATUS current + DESCRIPTION "An entry in voltageTable." + INDEX { voltageIndex } + ::= { voltageTable 1 } + + VoltageEntry ::= + SEQUENCE { + voltageIndex INTEGER, + voltageCurValue INTEGER, + voltageMaxValue INTEGER, + voltageMinValue INTEGER, + voltageNominalValue INTEGER, + voltageLowThresh INTEGER, + voltageDescr DisplayString + } + + voltageIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "Index of voltage." + ::= { voltageEntry 1 } + + voltageCurValue OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "The current voltage reading." + ::= { voltageEntry 2 } + + voltageMaxValue OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "The maximum voltage measured at this point." + ::= { voltageEntry 3 } + + voltageMinValue OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "The minimum voltage measured at this point." + ::= { voltageEntry 4 } + + voltageNominalValue OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "The normal voltage at wchich the switch work." + ::= { voltageEntry 5 } + + voltageLowThresh OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS current + DESCRIPTION + "The minimum voltage at which the switch should work." + ::= { voltageEntry 6 } + + voltageDescr OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS current + DESCRIPTION + "'Normal' indicates that the voltage is within an acceptable operating range + at this point; otherwise 'Error' is displayed." + ::= { voltageEntry 7 } + +-- snmpSetup + snmpSetup OBJECT IDENTIFIER ::= { gs4012f 10 } + + snmpGetCommunity OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { snmpSetup 1 } + + snmpSetCommunity OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { snmpSetup 2 } + + snmpTrapCommunity OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { snmpSetup 3 } + +-- snmpTrapDestTable + snmpTrapDestTable OBJECT-TYPE + SYNTAX SEQUENCE OF SnmpTrapDestEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { snmpSetup 4 } + + snmpTrapDestEntry OBJECT-TYPE + SYNTAX SnmpTrapDestEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in snmpTrapDestTable." + INDEX { snmpTrapDestIP } + ::= { snmpTrapDestTable 1 } + + SnmpTrapDestEntry ::= + SEQUENCE { + snmpTrapDestIP IpAddress, + snmpTrapDestRowStatus RowStatus, + snmpTrapDestPort INTEGER, + snmpTrapVersion INTEGER, + snmpTrapUserName DisplayString + } + + snmpTrapDestIP OBJECT-TYPE + SYNTAX IpAddress + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "IP address of trap destination." + ::= { snmpTrapDestEntry 1 } + + snmpTrapDestRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { snmpTrapDestEntry 2 } + + snmpTrapDestPort OBJECT-TYPE + SYNTAX INTEGER + MAX-ACCESS read-write + STATUS mandatory + DESCRIPTION + "The UDP port of the trap destination." + ::= { snmpTrapDestEntry 3 } + + snmpTrapVersion OBJECT-TYPE + SYNTAX INTEGER { + v1(0), + v2c(1), + v3(2) + } + MAX-ACCESS read-write + STATUS mandatory + DESCRIPTION + "The SNMP protocol version to send traps." + ::= { snmpTrapDestEntry 4 } + + snmpTrapUserName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-write + STATUS mandatory + DESCRIPTION + "The user name for sending SNMPv3 traps." + ::= { snmpTrapDestEntry 5 } + +--snmpVersion + snmpVersion OBJECT-TYPE + SYNTAX INTEGER { + v2c(0), + v3(1), + v3v2c(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The SNMP version to be used. v3v2c means that the manager + can get/set by SNMPv3 and can get by SNMPv2c." + ::= { snmpSetup 5 } + +-- snmpUserTable + + snmpUserTable OBJECT-TYPE + SYNTAX SEQUENCE OF SnmpUserEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table that contains SNMPv3 user information." + ::= { snmpSetup 6 } + + snmpUserEntry OBJECT-TYPE + SYNTAX SnmpUserEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry of snmpUserTable." + INDEX { snmpUserName } + ::= { snmpUserTable 1 } + + SnmpUserEntry ::= + SEQUENCE { + snmpUserName DisplayString, + snmpUserSecurityLevel INTEGER, + snmpUserAuthProtocol INTEGER, + snmpUserPrivProtocol INTEGER + } + + snmpUserName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The user name." + ::= { snmpUserEntry 1 } + + snmpUserSecurityLevel OBJECT-TYPE + SYNTAX INTEGER { + noAuthNoPriv(0), + authNoPriv(1), + authPriv(2) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The level of security at which SNMP messages can be sent or + with which operations are being processed." + ::= { snmpUserEntry 2 } + + snmpUserAuthProtocol OBJECT-TYPE + SYNTAX INTEGER { + md5(0), + sha(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The type of authentication protocol to be used." + ::= { snmpUserEntry 3 } + + snmpUserPrivProtocol OBJECT-TYPE + SYNTAX INTEGER { + des(0), + aes(1) + } + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "The type of privacy protocol to be used." + ::= { snmpUserEntry 4 } + + +-- snmpTrapGroupTable + snmpTrapGroupTable OBJECT-TYPE + SYNTAX SEQUENCE OF SnmpTrapGroupEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { snmpSetup 7 } + snmpTrapGroupEntry OBJECT-TYPE + SYNTAX SnmpTrapGroupEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in snmpTrapGroupTable." + INDEX { snmpTrapDestIP } + ::= { snmpTrapGroupTable 1 } + + SnmpTrapGroupEntry ::= + SEQUENCE { + snmpTrapSystemGroup BITS, + snmpTrapInterfaceGroup BITS, + snmpTrapAAAGroup BITS, + snmpTrapIPGroup BITS, + snmpTrapSwitchGroup BITS + } + + snmpTrapSystemGroup OBJECT-TYPE + SYNTAX BITS { + coldStart(0), + warmStart(1), + fanSpeed(2), + temperature(3), + voltage(4), + reset (5), + timeSync (6), + intrusionlock(7) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { snmpTrapGroupEntry 1 } + + snmpTrapInterfaceGroup OBJECT-TYPE + SYNTAX BITS { + linkup(0), + linkdown(1), + autonegotiation(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { snmpTrapGroupEntry 2 } + + snmpTrapAAAGroup OBJECT-TYPE + SYNTAX BITS { + authentication(0), + accounting(1) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { snmpTrapGroupEntry 3 } + + snmpTrapIPGroup OBJECT-TYPE + SYNTAX BITS { + ping(0), + traceroute(1) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { snmpTrapGroupEntry 4 } + + snmpTrapSwitchGroup OBJECT-TYPE + SYNTAX BITS { + stp(0), + mactable(1), + rmon(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { snmpTrapGroupEntry 5 } + + + +-- dateTimeSetup + dateTimeSetup OBJECT IDENTIFIER ::= { gs4012f 11 } + + dateTimeServerType OBJECT-TYPE + SYNTAX INTEGER { + none(1), + daytime(2), + time(3), + ntp(4) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The time service protocol." + ::= { dateTimeSetup 1 } + + dateTimeServerIP OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "IP address of time server." + ::= { dateTimeSetup 2 } + + dateTimeZone OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The time difference between UTC. Ex: +01" + ::= { dateTimeSetup 3 } + + dateTimeNewDateYear OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The new date in year." + ::= { dateTimeSetup 4 } + + dateTimeNewDateMonth OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The new date in month." + ::= { dateTimeSetup 5 } + + dateTimeNewDateDay OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The new date in day." + ::= { dateTimeSetup 6 } + + dateTimeNewTimeHour OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The new time in hour." + ::= { dateTimeSetup 7 } + + dateTimeNewTimeMinute OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The new time in minute." + ::= { dateTimeSetup 8 } + + dateTimeNewTimeSecond OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The new time in second." + ::= { dateTimeSetup 9 } + + +-- dateTimeDaylightSavingTimeSetup OBJECT-TYPE + dateTimeDaylightSavingTimeSetup OBJECT IDENTIFIER ::= { dateTimeSetup 10 } + + daylightSavingTimeState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Daylight saving time service enabled/disabled for the switch." + ::= { dateTimeDaylightSavingTimeSetup 1 } + + daylightSavingTimeStartDateWeek OBJECT-TYPE + SYNTAX INTEGER { + first(1), + second(2), + third(3), + fourth(4), + last(5) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Daylight saving time service start week." + ::= { dateTimeDaylightSavingTimeSetup 2 } + + daylightSavingTimeStartDateDay OBJECT-TYPE + SYNTAX INTEGER { + sunday(0), + monday(1), + tuesday(2), + wednesday(3), + thursday(4), + friday(5), + saturday(6) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Daylight saving time service start day." + ::= { dateTimeDaylightSavingTimeSetup 3 } + + daylightSavingTimeStartDateMonth OBJECT-TYPE + SYNTAX INTEGER { + january(1), + february(2), + march(3), + april(4), + may(5), + june(6), + july(7), + august(8), + september(9), + october(10), + november(11), + december(12) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Daylight saving time service start month." + ::= { dateTimeDaylightSavingTimeSetup 4 } + + daylightSavingTimeStartDateHour OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Daylight saving time service start time." + ::= { dateTimeDaylightSavingTimeSetup 5 } + + daylightSavingTimeEndDateWeek OBJECT-TYPE + SYNTAX INTEGER { + first(1), + second(2), + third(3), + fourth(4), + last(5) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Daylight saving time service end week." + ::= { dateTimeDaylightSavingTimeSetup 6 } + + daylightSavingTimeEndDateDay OBJECT-TYPE + SYNTAX INTEGER { + sunday(0), + monday(1), + tuesday(2), + wednesday(3), + thursday(4), + friday(5), + saturday(6) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Daylight saving time service end day." + ::= { dateTimeDaylightSavingTimeSetup 7 } + + daylightSavingTimeEndDateMonth OBJECT-TYPE + SYNTAX INTEGER { + january(1), + february(2), + march(3), + april(4), + may(5), + june(6), + july(7), + august(8), + september(9), + october(10), + november(11), + december(12) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Daylight saving time service end month." + ::= { dateTimeDaylightSavingTimeSetup 8 } + + daylightSavingTimeEndDateHour OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Daylight saving time service end time." + ::= { dateTimeDaylightSavingTimeSetup 9 } + + +-- sysMgmt + sysMgmt OBJECT IDENTIFIER ::= { gs4012f 12 } + + sysMgmtConfigSave OBJECT-TYPE + SYNTAX INTEGER { + config1(1), + config2(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "If setting value is given, the variable write index will be set and running-config will be written to the assigned configuration file. + If not, running-config will be written to the booting one." + ::= { sysMgmt 1 } + + sysMgmtBootupConfig OBJECT-TYPE + SYNTAX INTEGER { + config1(1), + config2(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The setting value (read index) will be written into non-volatile memory. + While rebooting, the variable write index is equal to read index initially. + You can change the value of write index by CLI / MIB." + ::= { sysMgmt 2 } + + sysMgmtReboot OBJECT-TYPE + SYNTAX INTEGER { + nothing(0), + reboot(1) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Reboot switch from SNMP. 1:Reboot, 0:Nothing" + ::= { sysMgmt 3 } + + sysMgmtDefaultConfig OBJECT-TYPE + SYNTAX INTEGER { + nothing(0), + resetToDefault(1) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Erase running config and reset to default." + ::= { sysMgmt 4 } + + sysMgmtLastActionStatus OBJECT-TYPE + SYNTAX INTEGER { + none(0), + success(1), + fail(2) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Display status of last mgmt action." + ::= { sysMgmt 5 } + + sysMgmtSystemStatus OBJECT-TYPE + SYNTAX BITS { + sysAlarmDetected(0), + sysTemperatureError(1), + sysFanRPMError(2), + sysVoltageRangeError(3) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "This variable indicates the status of the system. + The sysMgmtAlarmStatus is a bit map represented + a sum, therefore, it can represent multiple defects + simultaneously. The sysNoDefect should be set if and only if + no other flag is set. + + The various bit positions are: + 0 sysAlarmDetected + 1 sysTemperatureError + 2 sysFanRPMError + 3 sysVoltageRangeError" + ::= { sysMgmt 6 } + sysMgmtCPUUsage OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Show device CPU load in %, it's the snapshot of CPU load when + getting the values." + ::= { sysMgmt 7 } + + sysMgmtCounterReset OBJECT-TYPE + SYNTAX INTEGER { + enable(1), + disable(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Reset all port counters." + ::= { sysMgmt 9 } + +-- Tftp service + sysMgmtTftpServiceSetup OBJECT IDENTIFIER ::= { sysMgmt 10 } + + sysMgmtTftpServerIp OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + " IP address of TFTP server" + ::= { sysMgmtTftpServiceSetup 1 } + + sysMgmtTftpRemoteFileName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The file name that you want to backup to or restore from TFTP server" + ::= { sysMgmtTftpServiceSetup 2 } + + sysMgmtTftpConfigIndex OBJECT-TYPE + SYNTAX INTEGER { + config1(1), + config2(2), + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Index of system configuration which you want to restore." + ::= { sysMgmtTftpServiceSetup 3 } + + sysMgmtTftpAction OBJECT-TYPE + SYNTAX INTEGER { + none(0), + backupConfig(1), + restoreConfig(2), + } + ACCESS read-write + STATUS mandatory DESCRIPTION + " Action of tftp service. 1: Backup running-config to tftp server, 2: Restore config from tftp server." + ::= { sysMgmtTftpServiceSetup 4 } + +-- layer2Setup + layer2Setup OBJECT IDENTIFIER ::= { gs4012f 13 } + + vlanTypeSetup OBJECT-TYPE + SYNTAX INTEGER { + dot1Q(1), + portBased(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer2Setup 1 } + + igmpSnoopingStateSetup OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer2Setup 2 } + + tagVlanPortIsolationState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer2Setup 3 } + + stpState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer2Setup 4 } + + igmpFilteringStateSetup OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer2Setup 5 } + + unknownMulticastFrameForwarding OBJECT-TYPE + SYNTAX INTEGER { + flooding(1), + drop(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer2Setup 6 } + + multicastGrpHostTimeout OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Specify host timeout for all multicast groups when the specific port is in auto mode." + ::= { layer2Setup 7 } + + multicastGrpLeaveTimeout OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Specify leave timeout for all multicast groups." + ::= { layer2Setup 8 } + + reservedMulticastFrameForwarding OBJECT-TYPE + SYNTAX INTEGER { + flooding(1), + drop(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer2Setup 9 } + + igmpsnp8021pPriority OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Set the 802.1p priority of control messages for igmp-snooping(0~8, 8-No Change)" + ::= { layer2Setup 10 } + igmpsnpVlanMode OBJECT-TYPE + SYNTAX INTEGER { + auto(1), + fixed(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer2Setup 11 } + + stpMode OBJECT-TYPE + SYNTAX INTEGER { + rstp(1), + mrstp(2), + mstp (3) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer2Setup 12 } + +-- igmpsnpVlanTable + igmpsnpVlanTable OBJECT-TYPE + SYNTAX SEQUENCE OF IgmpsnpVlanEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { layer2Setup 13 } + + igmpsnpVlanEntry OBJECT-TYPE + SYNTAX IgmpsnpVlanEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in IgmpsnpVlanTable." + INDEX { igmpsnpVid } + ::= { igmpsnpVlanTable 1 } + + IgmpsnpVlanEntry ::= + SEQUENCE { + igmpsnpVid INTEGER, + igmpsnpVlanName DisplayString, + igmpsnpVlanRowStatus RowStatus + } + + + igmpsnpVid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpsnpVlanEntry 1 } + + + igmpsnpVlanName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { igmpsnpVlanEntry 2 } + + + igmpsnpVlanRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { igmpsnpVlanEntry 3 } + + +-- ipSetup + ipSetup OBJECT IDENTIFIER ::= { gs4012f 14 } + + dnsIpAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { ipSetup 1 } + + defaultMgmt OBJECT-TYPE + SYNTAX INTEGER { + inBand(0), + outOfBand(1) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { ipSetup 2 } + + defaultGateway OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { ipSetup 3 } + + + outOfBandIpSetup OBJECT IDENTIFIER ::= { ipSetup 4 } + + outOfBandIp OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { outOfBandIpSetup 1 } + + outOfBandSubnetMask OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { outOfBandIpSetup 2 } + + outOfBandGateway OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { outOfBandIpSetup 3 } + +-- inbandIpTable + maxNumOfInbandIp OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ipSetup 5 } + + inbandIpTable OBJECT-TYPE + SYNTAX SEQUENCE OF InbandIpEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { ipSetup 6 } + + inbandIpEntry OBJECT-TYPE + SYNTAX InbandIpEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in inbandIpTable." + INDEX { inbandEntryIp, inbandEntrySubnetMask } + ::= { inbandIpTable 1 } + + InbandIpEntry ::= + SEQUENCE { + inbandEntryIp IpAddress, + inbandEntrySubnetMask IpAddress, + inbandEntryVid INTEGER, + inbandEntryRowStatus RowStatus + } + + inbandEntryIp OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { inbandIpEntry 1 } + + inbandEntrySubnetMask OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { inbandIpEntry 2 } + + + inbandEntryVid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { inbandIpEntry 3 } + + inbandEntryRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { inbandIpEntry 4 } + +-- filterSetup + filterSetup OBJECT IDENTIFIER ::= { gs4012f 15 } + +-- filterTable + filterTable OBJECT-TYPE + SYNTAX SEQUENCE OF FilterEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { filterSetup 1 } + + filterEntry OBJECT-TYPE + SYNTAX FilterEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in filterTable." + INDEX { filterMacAddr, filterVid } + ::= { filterTable 1 } + + FilterEntry ::= + SEQUENCE { + filterName DisplayString, + filterActionState INTEGER, + filterMacAddr MacAddress, + filterVid INTEGER, + filterRowStatus RowStatus + } + + filterName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { filterEntry 1 } + + filterActionState OBJECT-TYPE + SYNTAX INTEGER { + discardSource(1), + discardDestination(2), + both(3) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { filterEntry 2 } + + filterMacAddr OBJECT-TYPE + SYNTAX MacAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { filterEntry 3 } + + filterVid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { filterEntry 4 } + + filterRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { filterEntry 5 } + +-- mirrorSetup + mirrorSetup OBJECT IDENTIFIER ::= { gs4012f 16 } + +-- mirrorState + mirrorState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { mirrorSetup 1 } + + mirrorMonitorPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { mirrorSetup 2 } + +-- mirrorTable + + mirrorTable OBJECT-TYPE + SYNTAX SEQUENCE OF MirrorEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { mirrorSetup 3 } + + mirrorEntry OBJECT-TYPE + SYNTAX MirrorEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in mirrorTable." + INDEX { dot1dBasePort } + ::= { mirrorTable 1 } + + MirrorEntry ::= + SEQUENCE { + mirrorMirroredState EnabledStatus, + mirrorDirection INTEGER + } + + mirrorMirroredState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { mirrorEntry 1 } + + mirrorDirection OBJECT-TYPE + SYNTAX INTEGER { + ingress(0), + egress(1), + both(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { mirrorEntry 2 } + + +-- aggrSetup + aggrSetup OBJECT IDENTIFIER ::= { gs4012f 17 } + + aggrState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { aggrSetup 1 } + + aggrSystemPriority OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { aggrSetup 2 } + +-- aggrGroupTable + + aggrGroupTable OBJECT-TYPE + SYNTAX SEQUENCE OF AggrGroupEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { aggrSetup 3 } + + aggrGroupEntry OBJECT-TYPE + SYNTAX AggrGroupEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in aggrGroupTable." + INDEX { aggrGroupIndex } + ::= { aggrGroupTable 1 } + + AggrGroupEntry ::= + SEQUENCE { + aggrGroupIndex INTEGER, + aggrGroupState EnabledStatus, + aggrGroupDynamicState EnabledStatus + } + + aggrGroupIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { aggrGroupEntry 1 } + + aggrGroupState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { aggrGroupEntry 2 } + + aggrGroupDynamicState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { aggrGroupEntry 3 } + +-- aggrPortTable + + aggrPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF AggrPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { aggrSetup 4 } + + aggrPortEntry OBJECT-TYPE + SYNTAX AggrPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in aggrPortTable." + INDEX { dot1dBasePort } + ::= { aggrPortTable 1 } + + AggrPortEntry ::= + SEQUENCE { + aggrPortGroup INTEGER, + aggrPortDynamicStateTimeout INTEGER + } + + aggrPortGroup OBJECT-TYPE + SYNTAX INTEGER { + none(0), + t1(1), + t2(2), + t3(3), + t4(4), + t5(5), + t6(6) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { aggrPortEntry 1 } + + aggrPortDynamicStateTimeout OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { aggrPortEntry 2 } + + +-- accessCtlSetup + accessCtlSetup OBJECT IDENTIFIER ::= { gs4012f 18 } + +-- accessCtlTable + + accessCtlTable OBJECT-TYPE + SYNTAX SEQUENCE OF AccessCtlEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { accessCtlSetup 1 } + + accessCtlEntry OBJECT-TYPE + SYNTAX AccessCtlEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in accessCtlTable." + INDEX { accessCtlService } + ::= { accessCtlTable 1 } + + AccessCtlEntry ::= + SEQUENCE { + accessCtlService INTEGER, + accessCtlEnable EnabledStatus, + accessCtlServicePort INTEGER, + accessCtlTimeout INTEGER + } + + accessCtlService OBJECT-TYPE + SYNTAX INTEGER { + telnet(1), + ssh(2), + ftp(3), + http(4), + https(5), + icmp(6), + snmp(7) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { accessCtlEntry 1 } + + accessCtlEnable OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { accessCtlEntry 2 } + + accessCtlServicePort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { accessCtlEntry 3 } + + accessCtlTimeout OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { accessCtlEntry 4 } + +-- securedClientTable + securedClientTable OBJECT-TYPE + SYNTAX SEQUENCE OF SecuredClientEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { accessCtlSetup 2 } + + securedClientEntry OBJECT-TYPE + SYNTAX SecuredClientEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in securedClientTable." + INDEX { securedClientIndex } + ::= { securedClientTable 1 } + + SecuredClientEntry ::= + SEQUENCE { + securedClientIndex INTEGER, + securedClientEnable EnabledStatus, + securedClientStartIp IpAddress, + securedClientEndIp IpAddress, + securedClientService BITS + } + + securedClientIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { securedClientEntry 1 } + + securedClientEnable OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { securedClientEntry 2 } + + securedClientStartIp OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { securedClientEntry 3 } + + securedClientEndIp OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { securedClientEntry 4 } + + securedClientService OBJECT-TYPE + SYNTAX BITS { + telnet(0), + ftp(1), + http(2), + icmp(3), + snmp(4), + ssh(5), + https(6) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { securedClientEntry 5 } + +-- queuingMethodSetup + queuingMethodSetup OBJECT IDENTIFIER ::= { gs4012f 19 } + +-- portQueuingMethodTable + portQueuingMethodTable OBJECT-TYPE + SYNTAX SEQUENCE OF PortQueuingMethodEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { queuingMethodSetup 1 } + + portQueuingMethodEntry OBJECT-TYPE + SYNTAX PortQueuingMethodEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in portQueuingMethodTable." + INDEX { dot1dBasePort, portQueuingMethodQueue } + ::= { portQueuingMethodTable 1 } + + PortQueuingMethodEntry ::= + SEQUENCE { + portQueuingMethodQueue INTEGER, + portQueuingMethodWeight INTEGER, + portQueuingMethodMode INTEGER + } + + portQueuingMethodQueue OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "0...7" + ::= { portQueuingMethodEntry 1 } + + portQueuingMethodWeight OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "0...15" + ::= { portQueuingMethodEntry 2 } + + portQueuingMethodMode OBJECT-TYPE + SYNTAX INTEGER { + strictlyPriority(0), + weightedRoundRobin(1), + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { portQueuingMethodEntry 3 } + +-- dhcpSetup + dhcpSetup OBJECT IDENTIFIER ::= { gs4012f 20 } + + globalDhcpRelay OBJECT IDENTIFIER ::= { dhcpSetup 1 } + + globalDhcpRelayEnable OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { globalDhcpRelay 1 } + + globalDhcpRelayOption82Enable OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { globalDhcpRelay 2 } + + globalDhcpRelayInfoEnable OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { globalDhcpRelay 3 } + + globalDhcpRelayInfoData OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { globalDhcpRelay 4 } + +-- globalDhcpRelayRemoteServer + + maxNumberOfGlobalDhcpRelayRemoteServer OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { globalDhcpRelay 5 } + +-- globalDhcpRelayRemoteServerTable + globalDhcpRelayRemoteServerTable OBJECT-TYPE + SYNTAX SEQUENCE OF GlobalDhcpRelayRemoteServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { globalDhcpRelay 6 } + + globalDhcpRelayRemoteServerEntry OBJECT-TYPE + SYNTAX GlobalDhcpRelayRemoteServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in globalDhcpRelayRemoteServerTable." + INDEX { globalDhcpRelayRemoteServerIp } + ::= { globalDhcpRelayRemoteServerTable 1 } + + GlobalDhcpRelayRemoteServerEntry ::= + SEQUENCE { + globalDhcpRelayRemoteServerIp IpAddress, + globalDhcpRelayRemoteServerRowStatus RowStatus + } + + globalDhcpRelayRemoteServerIp OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { globalDhcpRelayRemoteServerEntry 1 } + + globalDhcpRelayRemoteServerRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { globalDhcpRelayRemoteServerEntry 2 } + +-- + dhcpServer OBJECT IDENTIFIER ::= { dhcpSetup 2 } + + maxNumberOfDhcpServers OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The maximum number of DHCP server entries that can be created. + A value of 0 for this object implies that there exists settings for + global DHCP relay." + ::= { dhcpServer 1 } + +-- dhcpServerTable + dhcpServerTable OBJECT-TYPE + SYNTAX SEQUENCE OF DhcpServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpServer 2 } + + dhcpServerEntry OBJECT-TYPE + SYNTAX DhcpServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in dhcpServerTable." + INDEX { dhcpServerVid } + ::= { dhcpServerTable 1 } + + DhcpServerEntry ::= + SEQUENCE { + dhcpServerVid INTEGER, + dhcpServerStartAddr IpAddress, + dhcpServerPoolSize INTEGER, + dhcpServerMask IpAddress, + dhcpServerGateway IpAddress, + dhcpServerPrimaryDNS IpAddress, + dhcpServerSecondaryDNS IpAddress, + dhcpServerRowStatus RowStatus + } + + dhcpServerVid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpServerEntry 1 } + + dhcpServerStartAddr OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpServerEntry 2 } + + dhcpServerPoolSize OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpServerEntry 3 } + + dhcpServerMask OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpServerEntry 4 } + + dhcpServerGateway OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpServerEntry 5 } + + dhcpServerPrimaryDNS OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpServerEntry 6 } + + dhcpServerSecondaryDNS OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpServerEntry 7 } + + dhcpServerRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpServerEntry 8 } + +-- + dhcpRelay OBJECT IDENTIFIER ::= { dhcpSetup 3 } + + dhcpRelayInfoData OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpRelay 1 } + + maxNumberOfDhcpRelay OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The maximum number of DHCP relay entries that can be created. + A value of 0 for this object implies that there exists settings for + global DHCP relay." + ::= { dhcpRelay 2 } + + maxNumberOfDhcpRelayRemoteServer OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpRelay 3 } + + + -- dhcpRelayRemoteServerTable + dhcpRelayRemoteServerTable OBJECT-TYPE + SYNTAX SEQUENCE OF DhcpRelayRemoteServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpRelay 4 } + + dhcpRelayRemoteServerEntry OBJECT-TYPE + SYNTAX DhcpRelayRemoteServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in dhcpRelayRemoteServerTable." + INDEX { dhcpRelayVid, dhcpRelayRemoteServerIp } + ::= { dhcpRelayRemoteServerTable 1 } + + DhcpRelayRemoteServerEntry ::= + SEQUENCE { + dhcpRelayVid INTEGER, + dhcpRelayRemoteServerIp IpAddress, + dhcpRelayRemoteServerRowStatus RowStatus + } + + dhcpRelayVid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpRelayRemoteServerEntry 1 } + + dhcpRelayRemoteServerIp OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpRelayRemoteServerEntry 2 } + + dhcpRelayRemoteServerRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpRelayRemoteServerEntry 3 } + + +-- dhcpRelayTable + + dhcpRelayTable OBJECT-TYPE + SYNTAX SEQUENCE OF DhcpRelayEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpRelay 5 } + + + dhcpRelayEntry OBJECT-TYPE + SYNTAX DhcpRelayEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in dhcpRelayTable." + INDEX { dhcpRelayVid } + ::= { dhcpRelayTable 1 } + + DhcpRelayEntry ::= + SEQUENCE { + + dhcpRelayOption82Enable EnabledStatus, + dhcpRelayInfoEnable EnabledStatus + } + + dhcpRelayOption82Enable OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpRelayEntry 1 } + + dhcpRelayInfoEnable OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpRelayEntry 2 } + + +-- staticRouteSetup + staticRouteSetup OBJECT IDENTIFIER ::= { gs4012f 21 } + + maxNumberOfStaticRoutes OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { staticRouteSetup 1 } + +-- staticRouteTable + staticRouteTable OBJECT-TYPE + SYNTAX SEQUENCE OF StaticRouteEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { staticRouteSetup 2 } + + staticRouteEntry OBJECT-TYPE + SYNTAX StaticRouteEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in staticRouteTable." + INDEX { staticRouteIp, staticRouteMask } + ::= { staticRouteTable 1 } + + StaticRouteEntry ::= + SEQUENCE { + staticRouteName DisplayString, + staticRouteIp IpAddress, + staticRouteMask IpAddress, + staticRouteGateway IpAddress, + staticRouteMetric INTEGER, + staticRouteRowStatus RowStatus + } + + staticRouteName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { staticRouteEntry 1 } + + staticRouteIp OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { staticRouteEntry 2 } + + staticRouteMask OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { staticRouteEntry 3 } + + staticRouteGateway OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { staticRouteEntry 4 } + + staticRouteMetric OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { staticRouteEntry 5 } + + staticRouteRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { staticRouteEntry 6 } + +-- arpInfo + arpInfo OBJECT IDENTIFIER ::= { gs4012f 22 } + +-- arpTable + arpTable OBJECT-TYPE + SYNTAX SEQUENCE OF ArpEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { arpInfo 1 } + + arpEntry OBJECT-TYPE + SYNTAX ArpEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in arpTable." + INDEX { arpIpAddr, arpMacVid } + ::= { arpTable 1 } + + ArpEntry ::= + SEQUENCE { + arpIndex INTEGER, + arpIpAddr IpAddress, + arpMacAddr MacAddress, + arpMacVid INTEGER, + arpType INTEGER + } + + arpIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpEntry 1 } + + arpIpAddr OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpEntry 2 } + + arpMacAddr OBJECT-TYPE + SYNTAX MacAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpEntry 3 } + + arpMacVid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpEntry 4 } + + arpType OBJECT-TYPE + SYNTAX INTEGER { + static(1), + dynamic(2) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "1-static, 2-dynamic" + ::= { arpEntry 5 } + +-- portOpModeSetup + portOpModeSetup OBJECT IDENTIFIER ::= { gs4012f 23 } + +-- portOpModePortTable + + portOpModePortTable OBJECT-TYPE + SYNTAX SEQUENCE OF PortOpModePortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { portOpModeSetup 1 } + + portOpModePortEntry OBJECT-TYPE + SYNTAX PortOpModePortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in portOpModePortTable." + INDEX { dot1dBasePort } + ::= { portOpModePortTable 1 } + + PortOpModePortEntry ::= + SEQUENCE { + portOpModePortSpeedDuplex INTEGER, + portOpModePortFlowCntl INTEGER, + portOpModePortName OCTET STRING, + portOpModePortModuleType INTEGER, + portOpModePortLinkUpType INTEGER, + portOpModePortIntrusionLock EnabledStatus, + portOpModePortLBTestStatus INTEGER, + portOpModePortCounterReset INTEGER + } + + portOpModePortSpeedDuplex OBJECT-TYPE + SYNTAX INTEGER { + auto(0), + speed10half(1), + speed10full(2), + speed100half(3), + speed100full(4), + speed1000full(5) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { portOpModePortEntry 1 } + + portOpModePortFlowCntl OBJECT-TYPE + SYNTAX INTEGER { + off(0), + on(1) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { portOpModePortEntry 2 } + + portOpModePortName OBJECT-TYPE + SYNTAX OCTET STRING (SIZE(0..32)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { portOpModePortEntry 3 } + portOpModePortModuleType OBJECT-TYPE + SYNTAX INTEGER { + fastEthernet(0), + gigabitEthernet(1), + fiber1000(2) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { portOpModePortEntry 4 } + + portOpModePortLinkUpType OBJECT-TYPE + SYNTAX INTEGER { + down(0), + copper(1), + fiber(2) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { portOpModePortEntry 5 } + + portOpModePortIntrusionLock OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { portOpModePortEntry 6 } + + portOpModePortLBTestStatus OBJECT-TYPE + SYNTAX INTEGER { + none(0), + underTesting(1), + success(2), + fail(3) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "This entry display latest loopback test status of port while performing loopback test." + ::= { portOpModePortEntry 7 } + + portOpModePortCounterReset OBJECT-TYPE + SYNTAX INTEGER { + enable(1), + disable(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "This entry resets port counter." + ::= { portOpModePortEntry 8 } + +-- portBasedVlanSetup + portBasedVlanSetup OBJECT IDENTIFIER ::= { gs4012f 24 } + +-- portBasedVlanPortListTable + + portBasedVlanPortListTable OBJECT-TYPE + SYNTAX SEQUENCE OF PortBasedVlanPortListEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { portBasedVlanSetup 1 } + + portBasedVlanPortListEntry OBJECT-TYPE + SYNTAX PortBasedVlanPortListEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in portBasedVlanPortListTable." + INDEX { dot1dBasePort } + ::= { portBasedVlanPortListTable 1 } + + PortBasedVlanPortListEntry ::= + SEQUENCE { + portBasedVlanPortListMembers PortList + } + + portBasedVlanPortListMembers OBJECT-TYPE + SYNTAX PortList + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { portBasedVlanPortListEntry 1 } + +-- multicastPortSetup + multicastPortSetup OBJECT IDENTIFIER ::= { gs4012f 25 } + + multicastPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF MulticastPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { multicastPortSetup 1 } + + multicastPortEntry OBJECT-TYPE + SYNTAX MulticastPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in multicastPortTable." + INDEX { dot1dBasePort } + ::= { multicastPortTable 1 } + + MulticastPortEntry ::= + SEQUENCE { + multicastPortImmediateLeave EnabledStatus, + multicastPortMaxGroupLimited EnabledStatus, + multicastPortMaxOfGroup INTEGER, + multicastPortIgmpFilteringProfile DisplayString, + multicastPortQuerierMode INTEGER + } + + multicastPortImmediateLeave OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { multicastPortEntry 1 } + + multicastPortMaxGroupLimited OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { multicastPortEntry 2 } + + multicastPortMaxOfGroup OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "0..255" + ::= { multicastPortEntry 3 } + + multicastPortIgmpFilteringProfile OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { multicastPortEntry 4 } + + multicastPortQuerierMode OBJECT-TYPE + SYNTAX INTEGER { + auto(1), + fixed(2), + edge(3) + } + + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Specify query mode for each port" + ::= { multicastPortEntry 5 } + + + +-- multicastStatus + multicastStatus OBJECT IDENTIFIER ::= { gs4012f 26 } + + multicastStatusTable OBJECT-TYPE + SYNTAX SEQUENCE OF MulticastStatusEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { multicastStatus 1 } + + -- multicastStatusTable + multicastStatusEntry OBJECT-TYPE + SYNTAX MulticastStatusEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in multicastStatusTable." + INDEX { multicastStatusVlanID, multicastStatusPort, multicastStatusGroup } + ::= { multicastStatusTable 1 } + + MulticastStatusEntry ::= + SEQUENCE { + multicastStatusIndex INTEGER, + multicastStatusVlanID INTEGER, + multicastStatusPort INTEGER, + multicastStatusGroup IpAddress + } + + multicastStatusIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { multicastStatusEntry 1 } + + multicastStatusVlanID OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { multicastStatusEntry 2 } + + multicastStatusPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { multicastStatusEntry 3 } + + multicastStatusGroup OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { multicastStatusEntry 4 } + + + igmpCountTable OBJECT-TYPE + SYNTAX SEQUENCE OF IgmpCountEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A count table of igmp query/report/leave message." + ::= { multicastStatus 2 } + + -- test igmpcount + igmpCountEntry OBJECT-TYPE + SYNTAX IgmpCountEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in igmpCountTable." + INDEX { igmpCountIndex } + ::= { igmpCountTable 1 } + + IgmpCountEntry ::= + SEQUENCE { + igmpCountIndex INTEGER, + igmpCountInQuery INTEGER, + igmpCountInReport INTEGER, + igmpCountInLeave INTEGER, + igmpCountInQueryDrop INTEGER, + igmpCountInReportDrop INTEGER, + igmpCountInLeaveDrop INTEGER, + igmpCountOutQuery INTEGER, + igmpCountOutReport INTEGER, + igmpCountOutLeave INTEGER + } + + igmpCountIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Index of IgmpCountEntry. 0 means total count in whole system" + ::= { igmpCountEntry 1 } + + igmpCountInQuery OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpCountEntry 2 } + + igmpCountInReport OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpCountEntry 3 } + + igmpCountInLeave OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpCountEntry 4 } + + igmpCountInQueryDrop OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpCountEntry 5 } + + igmpCountInReportDrop OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpCountEntry 6 } + + igmpCountInLeaveDrop OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpCountEntry 7 } + + igmpCountOutQuery OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpCountEntry 8 } + + igmpCountOutReport OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpCountEntry 9 } + + igmpCountOutLeave OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpCountEntry 10 } + + + multicastVlanStatusTable OBJECT-TYPE + SYNTAX SEQUENCE OF MulticastVlanStatusEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { multicastStatus 3 } +-- multicastVlanStatusTable + multicastVlanStatusEntry OBJECT-TYPE + SYNTAX MulticastVlanStatusEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in multicastVlanStatusTable." + INDEX { multicastVlanStatusVlanID } + ::= { multicastVlanStatusTable 1 } + + MulticastVlanStatusEntry ::= + SEQUENCE { + multicastVlanStatusVlanID INTEGER, + multicastVlanStatusType INTEGER, + multicastVlanQueryPort PortList + + } + + multicastVlanStatusVlanID OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { multicastVlanStatusEntry 1 } + + multicastVlanStatusType OBJECT-TYPE + SYNTAX INTEGER { + dynamic(1), + mvr (2), + static(3) + + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { multicastVlanStatusEntry 2 } + + multicastVlanQueryPort OBJECT-TYPE + SYNTAX PortList + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { multicastVlanStatusEntry 3 } + + +-- + + +-- igmpFilteringProfileSetup + igmpFilteringProfileSetup OBJECT IDENTIFIER ::= { gs4012f 27 } + + igmpFilteringMaxNumberOfProfile OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpFilteringProfileSetup 1 } + + igmpFilteringProfileTable OBJECT-TYPE + SYNTAX SEQUENCE OF IgmpFilteringProfileEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { igmpFilteringProfileSetup 2 } + + igmpFilteringProfileEntry OBJECT-TYPE + SYNTAX IgmpFilteringProfileEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in igmpFilteringProfileTable." + INDEX { igmpFilteringProfileName, igmpFilteringProfileStartAddress, igmpFilteringProfileEndAddress } + ::= { igmpFilteringProfileTable 1 } + + IgmpFilteringProfileEntry ::= + SEQUENCE { + igmpFilteringProfileName DisplayString, + igmpFilteringProfileStartAddress IpAddress, + igmpFilteringProfileEndAddress IpAddress, + igmpFilteringProfileRowStatus RowStatus + } + + igmpFilteringProfileName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpFilteringProfileEntry 1 } + + igmpFilteringProfileStartAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpFilteringProfileEntry 2 } + + igmpFilteringProfileEndAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { igmpFilteringProfileEntry 3 } + + igmpFilteringProfileRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { igmpFilteringProfileEntry 4 } + +-- MVRSetup + mvrSetup OBJECT IDENTIFIER ::= { gs4012f 28 } + + maxNumberOfMVR OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { mvrSetup 1 } + + mvrTable OBJECT-TYPE + SYNTAX SEQUENCE OF MvrEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { mvrSetup 2 } + + mvrEntry OBJECT-TYPE + SYNTAX MvrEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in mvrTable." + INDEX { mvrVlanID } + ::= { mvrTable 1 } + + MvrEntry ::= + SEQUENCE { + mvrVlanID INTEGER, + mvrName DisplayString, + mvrMode INTEGER, + mvrRowStatus RowStatus, + mvr8021pPriority INTEGER + } + + mvrVlanID OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "1..4094" + ::= { mvrEntry 1 } + + mvrName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { mvrEntry 2 } + + mvrMode OBJECT-TYPE + SYNTAX INTEGER { + dynamic(0), + compatible(1) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { mvrEntry 3 } + + mvrRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { mvrEntry 4 } + + mvr8021pPriority OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Set the 802.1p priority of control messages within MVR (0~7)" + ::= { mvrEntry 5 } + + + mvrPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF MvrPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { mvrSetup 3 } + + mvrPortEntry OBJECT-TYPE + SYNTAX MvrPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in mvrPortTable." + INDEX { mvrVlanID, dot1dBasePort } + ::= { mvrPortTable 1 } + + MvrPortEntry ::= + SEQUENCE { + mvrPortRole INTEGER, + mvrPortTagging EnabledStatus + } + + mvrPortRole OBJECT-TYPE + SYNTAX INTEGER { + none(1), + sourcePort(2), + receiverPort(3) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { mvrPortEntry 1 } + + mvrPortTagging OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { mvrPortEntry 2 } + + maxNumberOfMvrGroup OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { mvrSetup 4 } + + mvrGroupTable OBJECT-TYPE + SYNTAX SEQUENCE OF MvrGroupEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { mvrSetup 5 } + + mvrGroupEntry OBJECT-TYPE + SYNTAX MvrGroupEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in mvrGroupTable." + INDEX { mvrVlanID, mvrGroupName } + ::= { mvrGroupTable 1 } + + MvrGroupEntry ::= + SEQUENCE { + mvrGroupName DisplayString, + mvrGroupStartAddress IpAddress, + mvrGroupEndAddress IpAddress, + mvrGroupRowStatus RowStatus + } + + mvrGroupName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { mvrGroupEntry 1 } + + mvrGroupStartAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { mvrGroupEntry 2 } + + mvrGroupEndAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { mvrGroupEntry 3 } + + mvrGroupRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { mvrGroupEntry 4 } + + +-- layer3Setup + layer3Setup OBJECT IDENTIFIER ::= { gs4012f 29 } + + routerRipState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer3Setup 1 } + + routerIgmpState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer3Setup 2 } + + routerDvmrpState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer3Setup 3 } + + routerDvmrpThreshold OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { layer3Setup 4 } + +-- routerIpmcPortTable + routerIpmcPortSetup OBJECT IDENTIFIER ::= { gs4012f 30 } + + routerIpmcPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF RouterIpmcPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { routerIpmcPortSetup 1 } + + routerIpmcPortEntry OBJECT-TYPE + SYNTAX RouterIpmcPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in routerIpmcPortTable." + INDEX { dot1dBasePort } + ::= { routerIpmcPortTable 1 } + + RouterIpmcPortEntry ::= + SEQUENCE { + routerIpmcPortEgressUntagVlan INTEGER + } + + routerIpmcPortEgressUntagVlan OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { routerIpmcPortEntry 1 } + +-- routerVrrpSetup + routerVrrpSetup OBJECT IDENTIFIER ::= { gs4012f 31 } + + routerVrrpMaxNumber OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Always set it as 14." + ::= { routerVrrpSetup 1 } + +-- routerVrrpTable + routerVrrpTable OBJECT-TYPE + SYNTAX SEQUENCE OF RouterVrrpEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpSetup 2 } + + routerVrrpEntry OBJECT-TYPE + SYNTAX RouterVrrpEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in routerVrrpTable." + INDEX { routerDomainIpAddress, routerDomainIpMaskBits, routerVrrpVirtualID, routerVrrpUplinkGateway } + ::= { routerVrrpTable 1 } + + RouterVrrpEntry ::= + SEQUENCE { + routerVrrpVirtualID INTEGER, + routerVrrpUplinkGateway IpAddress, + routerVrrpPreempt EnabledStatus, + routerVrrpInterval INTEGER, + routerVrrpPriority INTEGER, + routerVrrpPrimaryVirtualIP IpAddress, + routerVrrpName DisplayString, + routerVrrpSecondaryVirtualIP IpAddress, + rpVrrpRowStatus RowStatus + } + + routerVrrpVirtualID OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpEntry 1 } + + routerVrrpUplinkGateway OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpEntry 2 } + + routerVrrpPreempt OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpEntry 3 } + + routerVrrpInterval OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "1-255" + ::= { routerVrrpEntry 4 } + + routerVrrpPriority OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "1-254" + ::= { routerVrrpEntry 5 } + + routerVrrpPrimaryVirtualIP OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpEntry 6 } + + routerVrrpName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpEntry 7 } + + routerVrrpSecondaryVirtualIP OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpEntry 8 } + + rpVrrpRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpEntry 9 } + +-- routerVrrpDomainTable + routerVrrpDomainTable OBJECT-TYPE + SYNTAX SEQUENCE OF RouterVrrpDomainEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpSetup 3 } + + routerVrrpDomainEntry OBJECT-TYPE + SYNTAX RouterVrrpDomainEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in routerVrrpTable." + INDEX { routerDomainIpAddress, routerDomainIpMaskBits} + ::= { routerVrrpDomainTable 1 } + + RouterVrrpDomainEntry ::= + SEQUENCE { + routerVrrpAuthType INTEGER, + routerVrrpAuthKey DisplayString + } + + routerVrrpAuthType OBJECT-TYPE + SYNTAX INTEGER { + none(0), + simple(1) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpDomainEntry 1 } + + routerVrrpAuthKey OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpDomainEntry 2 } + +-- routerVrrpStatus + routerVrrpStatus OBJECT IDENTIFIER ::= { gs4012f 32 } + + routerVrrpStatusTable OBJECT-TYPE + SYNTAX SEQUENCE OF RouterVrrpStatusEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpStatus 1 } + + routerVrrpStatusEntry OBJECT-TYPE + SYNTAX RouterVrrpStatusEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION " " + INDEX { routerVrrpStatusIpAddress, routerVrrpStatusIpMaskBits, routerVrrpStatusVirtualID } + ::= { routerVrrpStatusTable 1 } + + RouterVrrpStatusEntry ::= + SEQUENCE { + routerVrrpStatusIpAddress IpAddress, + routerVrrpStatusIpMaskBits INTEGER, + routerVrrpStatusVirtualID INTEGER, + routerVrrpStatusVRStatus DisplayString, + routerVrrpStatusUpLinkStatus DisplayString + + } + + routerVrrpStatusIpAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpStatusEntry 1 } + + routerVrrpStatusIpMaskBits OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpStatusEntry 2 } + + routerVrrpStatusVirtualID OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpStatusEntry 3 } + + routerVrrpStatusVRStatus OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpStatusEntry 4 } + + routerVrrpStatusUpLinkStatus OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routerVrrpStatusEntry 5 } + +-- routerDomainSetup + routerDomainSetup OBJECT IDENTIFIER ::= { gs4012f 33 } + +-- routerDomainTable + routerDomainTable OBJECT-TYPE + SYNTAX SEQUENCE OF RouterDomainEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { routerDomainSetup 1 } + + routerDomainEntry OBJECT-TYPE + SYNTAX RouterDomainEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in routerDomainTable." + INDEX { routerDomainIpAddress, routerDomainIpMaskBits } + ::= { routerDomainTable 1 } + + RouterDomainEntry ::= + SEQUENCE { + routerDomainIpAddress IpAddress, + routerDomainIpMaskBits INTEGER, + routerDomainVid INTEGER + } + + routerDomainIpAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routerDomainEntry 1 } + + routerDomainIpMaskBits OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routerDomainEntry 2 } + + routerDomainVid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routerDomainEntry 3 } + +-- routerDomainIpTable + routerDomainIpTable OBJECT-TYPE + SYNTAX SEQUENCE OF RouterDomainIpEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { routerDomainSetup 2 } + + routerDomainIpEntry OBJECT-TYPE + SYNTAX RouterDomainIpEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in routerDomainIpTable." + INDEX { routerDomainIpAddress, routerDomainIpMaskBits } + ::= { routerDomainIpTable 1 } + + RouterDomainIpEntry ::= + SEQUENCE { + routerDomainIpRipDirection INTEGER, + routerDomainIpRipVersion INTEGER, + routerDomainIpIgmpVersion INTEGER, + routerDomainIpDvmrp EnabledStatus + } + + routerDomainIpRipDirection OBJECT-TYPE + SYNTAX INTEGER { + none(0), + outgoing(1), + incoming(2), + both(3) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { routerDomainIpEntry 1 } + + routerDomainIpRipVersion OBJECT-TYPE + SYNTAX INTEGER { + v1(0), + v2b(1), + v2m(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { routerDomainIpEntry 2 } + + routerDomainIpIgmpVersion OBJECT-TYPE + SYNTAX INTEGER { + none(0), + igmpv1(1), + igmpv2(2), + igmpv3(3) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { routerDomainIpEntry 3 } + + routerDomainIpDvmrp OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { routerDomainIpEntry 4 } + + +-- diffservSetup + diffservSetup OBJECT IDENTIFIER ::= { gs4012f 34 } + + diffservState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { diffservSetup 1 } + +-- diffservMapTable + diffservMapTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffservMapEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { diffservSetup 2 } + + diffservMapEntry OBJECT-TYPE + SYNTAX DiffservMapEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in diffservMapTable." + INDEX { diffservMapDscp } + ::= { diffservMapTable 1 } + + DiffservMapEntry ::= + SEQUENCE { + diffservMapDscp INTEGER, + diffservMapPriority INTEGER + } + + diffservMapDscp OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "0-63" + ::= { diffservMapEntry 1 } + + diffservMapPriority OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "0-7" + ::= { diffservMapEntry 2 } + +-- diffservPortTable + diffservPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF DiffservPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { diffservSetup 3 } + + diffservPortEntry OBJECT-TYPE + SYNTAX DiffservPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in diffservPortTable." + INDEX { dot1dBasePort } + ::= { diffservPortTable 1 } + + DiffservPortEntry ::= + SEQUENCE { + diffservPortState EnabledStatus + } + + diffservPortState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { diffservPortEntry 1 } + +-- clusterSetup + clusterSetup OBJECT IDENTIFIER ::= { gs4012f 35 } + +-- clusterManager + clusterManager OBJECT IDENTIFIER ::= { clusterSetup 1 } + + clusterMaxNumOfManager OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterManager 1 } + +-- clusterManagerTable + clusterManagerTable OBJECT-TYPE + SYNTAX SEQUENCE OF ClusterManagerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { clusterManager 2 } + + clusterManagerEntry OBJECT-TYPE + SYNTAX ClusterManagerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in clusterManagerTable." + INDEX { clusterManagerVid } + ::= { clusterManagerTable 1 } + + ClusterManagerEntry ::= + SEQUENCE { + clusterManagerVid INTEGER, + clusterManagerName DisplayString, + clusterManagerRowStatus RowStatus + } + + clusterManagerVid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterManagerEntry 1 } + + clusterManagerName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { clusterManagerEntry 2 } + + clusterManagerRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { clusterManagerEntry 3 } + +-- clusterMembers + clusterMembers OBJECT IDENTIFIER ::= { clusterSetup 2 } + + clusterMaxNumOfMember OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterMembers 1 } + +-- clusterMemberTable + clusterMemberTable OBJECT-TYPE + SYNTAX SEQUENCE OF ClusterMemberEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { clusterMembers 2 } + + clusterMemberEntry OBJECT-TYPE + SYNTAX ClusterMemberEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in clusterMemberTable." + INDEX { clusterMemberMac } + ::= { clusterMemberTable 1 } + + ClusterMemberEntry ::= + SEQUENCE { + clusterMemberMac MacAddress, + clusterMemberName DisplayString, + clusterMemberModel DisplayString, + clusterMemberPassword DisplayString, + clusterMemberRowStatus RowStatus + } + + clusterMemberMac OBJECT-TYPE + SYNTAX MacAddress + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { clusterMemberEntry 1 } + + clusterMemberName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterMemberEntry 2 } + + clusterMemberModel OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterMemberEntry 3 } + + clusterMemberPassword OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { clusterMemberEntry 4 } + + clusterMemberRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { clusterMemberEntry 5 } + +-- clusterCandidates + clusterCandidates OBJECT IDENTIFIER ::= { clusterSetup 3 } + +-- clusterCandidateTable + clusterCandidateTable OBJECT-TYPE + SYNTAX SEQUENCE OF ClusterCandidateEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { clusterCandidates 1 } + + clusterCandidateEntry OBJECT-TYPE + SYNTAX ClusterCandidateEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in clusterCandidateTable." + INDEX { clusterCandidateMac } + ::= { clusterCandidateTable 1 } + + ClusterCandidateEntry ::= + SEQUENCE { + clusterCandidateMac DisplayString, + clusterCandidateName DisplayString, + clusterCandidateModel DisplayString + } + + clusterCandidateMac OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterCandidateEntry 1 } + + clusterCandidateName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterCandidateEntry 2 } + + clusterCandidateModel OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterCandidateEntry 3 } + +-- clusterStatus + clusterStatus OBJECT IDENTIFIER ::= { clusterSetup 4 } + + clusterStatusRole OBJECT-TYPE + SYNTAX INTEGER { + none(0), + manager(1), + member(2) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterStatus 1 } + + clusterStatusManager OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterStatus 2 } + + clsuterStatusMaxNumOfMember OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterStatus 3 } + +-- clusterStatusMemberTable + clusterStatusMemberTable OBJECT-TYPE + SYNTAX SEQUENCE OF ClusterStatusMemberEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { clusterStatus 4 } + + clusterStatusMemberEntry OBJECT-TYPE + SYNTAX ClusterStatusMemberEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in clusterStatusMemberTable." + INDEX { clusterStatusMemberMac } + ::= { clusterStatusMemberTable 1 } + + ClusterStatusMemberEntry ::= + SEQUENCE { + clusterStatusMemberMac DisplayString, + clusterStatusMemberName DisplayString, + clusterStatusMemberModel DisplayString, + clusterStatusMemberStatus INTEGER + } + + clusterStatusMemberMac OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterStatusMemberEntry 1 } + + clusterStatusMemberName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterStatusMemberEntry 2 } + + clusterStatusMemberModel OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterStatusMemberEntry 3 } + + clusterStatusMemberStatus OBJECT-TYPE + SYNTAX INTEGER { + error(0), + online(1), + offline(2) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { clusterStatusMemberEntry 4 } +--fault MIB +faultMIB MODULE-IDENTITY + LAST-UPDATED "200411031200Z" -- YYYY/MM/DD, HH/MM + ORGANIZATION "ZyXEL" + CONTACT-INFO "" + DESCRIPTION + "Fault event table definitions" + ::= { gs4012f 36 } + + +-- ************************************************************************** +-- Local Textual Conventions +-- ************************************************************************** + +UtcTimeStamp ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Universal Time Coordinated as a 32-bit value that designates + the number of seconds since Jan 1, 1970 12:00AM." + SYNTAX Unsigned32 + +EventIdNumber ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "This textual convention describes the index that uniquely + identifies a fault event type in the entire system. Every fault + event type, e.g. link down, has a unique EventIdNumber." + SYNTAX Integer32 + +EventSeverity ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "This textual convention describes the severity of a fault event. + The decreasing order of severity is shown in the textual + convention." + SYNTAX INTEGER{ + critical (1), + major (2), + minor (3), + informational (4) + } + +EventServiceAffective ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "This textual convention indicates whether an event is immediately + service affecting or not." + SYNTAX INTEGER{ + noServiceAffected (1), + serviceAffected (2) + } + + +InstanceType ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "This textual convention describes the type of an instanceId + associated with each event and by that means specifies how + the instanceId variable should be intepreted. + + Various instanceId types are specified below to enable fault + monitoring for different kind of devices from fixed + configuration pizza boxes to multi chassis nodes. All + instanceId types may not need to be used in every device + type. + + Note also that instanceId semantics are element type dependent + (e.g. different kind of interface naming conventions may be used) + and thus instanceId usage may vary from element to element. + + ========================================================================= + Type Description Example form + of InstanceId + ========================================================================= + unknown (1) unknown type - Irrelevant- + ------------------------------------------------------------------------- + node (2) Associated with events originating from 1 + the node. Used for general events that (Node number) + can not be associated with any specific + block. InstanceId value 1 is used for + single node equipment. + ------------------------------------------------------------------------- + shelf (3) Associated with events originating from 1 + the shelf. In the case of fixed (shelf number) + configuration devices this type is used + for events that are associated with the + physical enclosure, e.g. faults related + to fan etc. InstanceId value 1 is used + for single self equipment. + ------------------------------------------------------------------------- + line (4) Associated with events originating from + physical interfaces or associated + components such as line cards. + InstanceId usage examples for faults + originating from: + - Physical port: Simply port number, e.g. .......1 + ------------------------------------------------------------------------- + switch (5) Associated with events originating from 1 + from a switch chip or a switch card. (switch number) + For single switch equipment InstanceId + value 1 is used, for multi swich nodes + InstanceId semantics if for further + study. + ------------------------------------------------------------------------- + lsp (6) Associated with events originating from 1 + a particular lsp. (lsp index) + NOTE: In this case the InstanceName + contains the lsp name and InstanceId + contains lsp index. + ------------------------------------------------------------------------- + l2Interface(7) Associated with events originating from - TBD - + a particular layer 2 interface. Used for + layer 2 related events such as L2 control + protocol faults. InstanceId semantics is + for further study. + ------------------------------------------------------------------------- + l3Interface(8) Associated with events originating from - TBD - + a particular layer 3 interface. Used for + layer 3 related events such as L3 control + protocol faults. InstanceId semantics is + for further study. + ------------------------------------------------------------------------- + rowIndex (9) Associated with events reporting about a + 'logical' or conceptual table that consists + of rows. The Instance Id is the index/key + for a row in the table. The format of the + Instance Id will simply be a series of decimal + numbers seperated by a '.': + =========================================================================" + + SYNTAX INTEGER { + unknown (1), + node (2), + shelf (3), + line (4), + switch (5), + lsp (6), + l2Interface(7), + l3Interface(8), + rowIndex(9) + } + + +-- ***************************************************************************** +-- Top level structure of this MIB. +-- ***************************************************************************** + +eventObjects OBJECT IDENTIFIER ::= { faultMIB 1 } + + +-- ***************************************************************************** +-- Event Table +-- +-- Event table reports all currently active fault events. Only normal type of +-- faults (i.e. faults that are not automatically and immediately cleared) are +-- present in the event table. Delta faults (i.e. faults that are automatically +-- cleared) are reported only by using trap messages. +-- ***************************************************************************** + +eventTable OBJECT-TYPE + SYNTAX SEQUENCE OF EventEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A list of currently active fault events. All faults + of normal type regardless of their severity level + are recorded in the event table. When a normal + type fault is cleared it is deleted from the event + table." + ::= { eventObjects 1 } + +eventEntry OBJECT-TYPE + SYNTAX EventEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An entry containing information about an + event in the event table." + INDEX { eventSeqNum } + ::= { eventTable 1 } + +EventEntry ::= + SEQUENCE { + eventSeqNum Integer32, + eventEventId EventIdNumber, + eventName DisplayString, + eventInstanceType InstanceType, + eventInstanceId DisplayString, + eventInstanceName DisplayString, + eventSeverity EventSeverity, + eventSetTime UtcTimeStamp, + eventDescription DisplayString, + eventServAffective EventServiceAffective + } + +eventSeqNum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable represents the sequence number of an event. + Sequence number is incremented monotonically starting + from 0 until it reaches its maximum and wraps around back + to 0. + + Sequence number is incremented when + - the state of a normal type fault is set on (the same sequence + number is present in the events table as well as in the trap + that is sent to notify about the fault on event) + - delta event occurs (sequence number present in trap message) + - the state of a normal type fault is set off (sequence number + present in trap that is sent to notify for clearing)." + ::= { eventEntry 1 } + +eventEventId OBJECT-TYPE + SYNTAX EventIdNumber + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable represents the event ID which uniquely + identifies the event in the entire system." + ::= { eventEntry 2 } + +eventName OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..40)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable represents the name of the event, for + example 'Ethernet Link Down'" + ::= { eventEntry 3 } + +eventInstanceType OBJECT-TYPE + SYNTAX InstanceType + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable represents the type of InstanceId of a + particular event in the event table. In brief + the instanceType refers to the type of sub-component + generating this event in the system, for example + switch (5). For more details see the textual + conventions section. + + AFFECTS: eventInstanceId, + eventInstanceName" + ::= { eventEntry 4 } + +eventInstanceId OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable represents the InstanceId of a particular + event in the event current table. In brief the instanceId + refers to the sub-component generating this event in the + system, for example '1' for port 1. For more details see + the textual conventions section. + + DEPENDS ON: eventInstanceType" + ::= { eventEntry 5 } + +eventInstanceName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable is mainly used to store additional information + about the sub-component that is generating an event. For + example this field may specify what cooling fan is faulty. + + DEPENDS ON: eventInstanceType" + ::= { eventEntry 6 } + +eventSeverity OBJECT-TYPE + SYNTAX EventSeverity + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable dictates the urgency of action when a event + occurs. There are four severity levels - Critical, Major, + Minor, and Informational. Critical events are those, which + require immediate operator intervention to prevent/reduce + system down time. Major events require quick attention and + Minor events possibly require some attention. Informational + events indicate the occurrence of events that may need to be + investigated." + ::= { eventEntry 7 } + +eventSetTime OBJECT-TYPE + SYNTAX UtcTimeStamp + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This table contains only normal events and this variable + represents the time when the event become active, i.e. the + number of seconds since Jan 1, 1970 12:00AM." + ::= { eventEntry 8 } + + +eventDescription OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable contains a description of the event and reasons + behind the event. This is a free format alpha-numeric string + that is set by the entity generating this event. This variable + may be empty if there is no usefull information to report. + The maximum length of this string is 255 characters." + ::= { eventEntry 9 } + +eventServAffective OBJECT-TYPE + SYNTAX EventServiceAffective + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This variable indicates whether the event is service affective or not" + ::= { eventEntry 10 } + + +-- fault Trap MIB +faultTrapsMIB MODULE-IDENTITY + LAST-UPDATED "200411011200Z" -- YYYY/MM/DD, HH/MM + ORGANIZATION "ZyXEL" + CONTACT-INFO "" + DESCRIPTION + "Fault event trap definitions" + ::= { gs4012f 37 } + +trapInfoObjects OBJECT IDENTIFIER ::= { faultTrapsMIB 1} +trapNotifications OBJECT IDENTIFIER ::= { faultTrapsMIB 2} + + +-- ************************************************************************** +-- Local Textual Conventions +-- ************************************************************************** + +EventPersistence ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "This textual convention indicates whether the event is delta + (automatically and immediately cleared) or normal (not + automatically cleared)." + SYNTAX INTEGER{ + normal (1), + delta (2) + } + + +-- ************************************************************************** +-- Trap information object definitions +-- ************************************************************************** + +trapRefSeqNum OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates the former sequence number of a cleared event + in the event table. Not intended to read but only used in + trap notifications." + ::= { trapInfoObjects 1 } + +trapPersistence OBJECT-TYPE + SYNTAX EventPersistence + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Indicates whether the event is delta (automatically and + immediately cleared) or normal (not automatically cleared). + Not intended to read but only used in trap notifications." + ::= { trapInfoObjects 2 } + +trapSenderNodeId OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Represents the node ID of the sending network element. If not + supported should be set to 0. Not intended to read but only + used in trap notifications." + ::= { trapInfoObjects 3 } + + +-- *************************************************************************** +-- Trap definitions +-- *************************************************************************** + +eventOnTrap NOTIFICATION-TYPE + OBJECTS { + eventSeqNum, + eventEventId, + eventName, + eventSetTime, + eventSeverity, + eventInstanceType, + eventInstanceId, + eventInstanceName, + eventServAffective, + eventDescription, + trapPersistence, + trapSenderNodeId, + sysObjectID} + STATUS current + DESCRIPTION + "This trap is used to inform network management system that a delta + fault event (events that are automatically cleared) has occured + or a normal fault event (not automatically cleared) state has + been set on. + + Objects are used as follows: + - eventSeqNum is the sequence number of the event. For normal + type of events must equal to the sequence number of the event + in the events table. + - eventEventId specifies what fault event has occured. + - eventName specifies the name of the fault event. + - eventSetTime indicates when fault event has occured + (delta events) or when fault has been set on (normal events). + - eventSeverity reports the severity level of the event. + - eventInstanceType indicates what kind of object is faulty. + - eventInstanceId specifies what instance is faulty. + - eventInstanceName may contain textual description for + the faulty object. + - eventServAffective specifies whether the event is + immediately service affcetive. + - eventDescription reports possible additional information about the event. + - trapPersistence tells whether this event is a delta or normal event. + - trapSenderNodeId specifies the node ID of the sending network element if + configuring it is supported for the network element, otherwise 0. + - sysObjectID specifies what kind of equipment reports the fault event. + + For more information see the eventTable specification" + ::= { trapNotifications 1 } + +eventClearedTrap NOTIFICATION-TYPE + OBJECTS { + eventSeqNum, + eventEventId, + eventSetTime, + eventInstanceType, + eventInstanceId, + trapRefSeqNum, + trapSenderNodeId, + sysObjectID} + STATUS current + DESCRIPTION + "This trap is used to inform network management system that a normal + type fault event has been cleared (state set off). + + Objects are used as follows: + - eventSeqNum is the sequence number of the this clearing event. Note that + the sequence number of the cleared event is reported in the trapRefSeqNum + object. + - eventEventId specifies what event has been cleared. + - eventSetTime indicates when fault event has been cleared. + - eventInstanceType indicates what kind of object has been + faulty. + - eventInstanceId specifies what instance has been faulty. + - trapRefSeqNum specifies the sequence number of the cleared event (i.e. + the sequence number was assigned for the event in the events table). + - trapSenderNodeId specifies the node ID of the sending network element if + configuring it is supported for the network element, otherwise 0. + - sysObjectID specifies what kind of equipment reports the clearing event. + + For more information see the eventTable specification" + ::= { trapNotifications 2 } + + + +-- ipStatus + ipStatus OBJECT IDENTIFIER ::= { gs4012f 38 } + + ipStatusTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpStatusEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { ipStatus 1 } + + ipStatusEntry OBJECT-TYPE + SYNTAX IpStatusEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { ipStatusIPAddress, ipStatusVid} + ::= { ipStatusTable 1 } + + IpStatusEntry ::= + SEQUENCE { + ipStatusIPAddress IpAddress, + ipStatusVid INTEGER, + ipStatusPort DisplayString, + ipStatusType INTEGER + } + + ipStatusIPAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ipStatusEntry 1 } + + ipStatusVid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ipStatusEntry 2 } + + ipStatusPort OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ipStatusEntry 3 } + + ipStatusType OBJECT-TYPE + SYNTAX INTEGER{ + static(1), + dynamic(2) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ipStatusEntry 4 } + + +-- routingStatus + routingStatus OBJECT IDENTIFIER ::= { gs4012f 39 } + + routingStatusTable OBJECT-TYPE + SYNTAX SEQUENCE OF RoutingStatusEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { routingStatus 1 } + + routingStatusEntry OBJECT-TYPE + SYNTAX RoutingStatusEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { routingStatusDestAddress } + ::= { routingStatusTable 1 } + + RoutingStatusEntry ::= + SEQUENCE { + routingStatusDestAddress IpAddress, + routingStatusDestMaskbits INTEGER, + routingStatusGateway IpAddress, + routingStatusInterface IpAddress, + routingStatusMetric INTEGER, + routingStatusType INTEGER + } + routingStatusDestAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routingStatusEntry 1 } + + routingStatusDestMaskbits OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routingStatusEntry 2 } + + routingStatusGateway OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routingStatusEntry 3 } + + routingStatusInterface OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routingStatusEntry 4 } + + routingStatusMetric OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routingStatusEntry 5 } + + routingStatusType OBJECT-TYPE + SYNTAX INTEGER{ + rip(1), + bgp(2), + ospf(3), + static(4) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { routingStatusEntry 6 } + +-- ospf ext. table + ospfExt OBJECT IDENTIFIER ::= { gs4012f 40 } + +-- ospfInterfaceTable + ospfInterfaceTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfInterfaceEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { ospfExt 1 } + + ospfInterfaceEntry OBJECT-TYPE + SYNTAX OspfInterfaceEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { ospfIfIpAddress, ospfAddressLessIf } + ::= { ospfInterfaceTable 1 } + + OspfInterfaceEntry ::= + SEQUENCE { + ospfIfKeyId INTEGER, + ospfIfMaskbits INTEGER, + ospfIfDesignatedRouterID IpAddress, + ospfIfBackupDesignatedRouterID IpAddress, + ospfIfNbrCount INTEGER, + ospfIfAdjacentNbrCount INTEGER, + ospfIfHelloDueTime DisplayString + } + ospfIfKeyId OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { ospfInterfaceEntry 1 } + + ospfIfMaskbits OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfInterfaceEntry 2 } + + ospfIfDesignatedRouterID OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfInterfaceEntry 3 } + + ospfIfBackupDesignatedRouterID OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfInterfaceEntry 4 } + + ospfIfNbrCount OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfInterfaceEntry 5 } + + ospfIfAdjacentNbrCount OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfInterfaceEntry 6 } + + ospfIfHelloDueTime OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfInterfaceEntry 7 } + +-- ospfAreaExtTable + ospfAreaExtTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfAreaExtEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { ospfExt 2 } + + ospfAreaExtEntry OBJECT-TYPE + SYNTAX OspfAreaExtEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { ospfAreaId } + ::= { ospfAreaExtTable 1 } + + OspfAreaExtEntry ::= + SEQUENCE { + ospfAreaExtName DisplayString + } + ospfAreaExtName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { ospfAreaExtEntry 1 } + +-- ospfRedistributeRouteTable + + ospfRedistributeRouteTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfRedistributeRouteEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { ospfExt 3 } + + ospfRedistributeRouteEntry OBJECT-TYPE + SYNTAX OspfRedistributeRouteEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { ospfRedistributeRouteProtocol } + ::= { ospfRedistributeRouteTable 1 } + + OspfRedistributeRouteEntry ::= + SEQUENCE { + ospfRedistributeRouteProtocol INTEGER, + ospfRedistributeRouteState EnabledStatus, + ospfRedistributeRouteType INTEGER, + ospfRedistributeRouteMetric INTEGER + } + ospfRedistributeRouteProtocol OBJECT-TYPE + SYNTAX INTEGER{ + rip(1), + static(2) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfRedistributeRouteEntry 1 } + + ospfRedistributeRouteState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { ospfRedistributeRouteEntry 2 } + + ospfRedistributeRouteType OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { ospfRedistributeRouteEntry 3 } + + ospfRedistributeRouteMetric OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { ospfRedistributeRouteEntry 4 } + +-- ospfNbrExtTable + + ospfNbrExtTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfNbrExtEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { ospfExt 4 } + + ospfNbrExtEntry OBJECT-TYPE + SYNTAX OspfNbrExtEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { ospfNbrIpAddr, ospfNbrAddressLessIndex } + ::= { ospfNbrExtTable 1 } + + OspfNbrExtEntry ::= + SEQUENCE { + ospfNbrExtRole INTEGER, + ospfNbrExtDeadtime DisplayString, + ospfNbrExtInterface IpAddress, + ospfNbrExtRXmtL INTEGER, + ospfNbrExtRqstL INTEGER, + ospfNbrExtDBsmL INTEGER + } + ospfNbrExtRole OBJECT-TYPE + SYNTAX INTEGER{ + dr(1), + backup(2), + drOther(3) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfNbrExtEntry 1 } + + ospfNbrExtDeadtime OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfNbrExtEntry 2 } + + ospfNbrExtInterface OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfNbrExtEntry 3 } + + ospfNbrExtRXmtL OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfNbrExtEntry 4 } + + ospfNbrExtRqstL OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfNbrExtEntry 5 } + + ospfNbrExtDBsmL OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfNbrExtEntry 6 } + +-- ospfLsdbExtTable + + ospfLsdbExtTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfLsdbExtEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { ospfExt 5 } + + ospfLsdbExtEntry OBJECT-TYPE + SYNTAX OspfLsdbExtEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { ospfLsdbAreaId, ospfLsdbType, ospfLsdbLSID, ospfLsdbRouterId } + ::= { ospfLsdbExtTable 1 } + + OspfLsdbExtEntry ::= + SEQUENCE { + ospfLsdbExtLinkCount INTEGER, + ospfLsdbExtRouteAddress IpAddress, + ospfLsdbExtRouteMaskbits INTEGER + } + ospfLsdbExtLinkCount OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfLsdbExtEntry 1 } + + ospfLsdbExtRouteAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfLsdbExtEntry 2 } + + ospfLsdbExtRouteMaskbits OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ospfLsdbExtEntry 3 } + +-- ospfVirtualLinkTable + + ospfVirtualLinkTable OBJECT-TYPE + SYNTAX SEQUENCE OF OspfVirtualLinkEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { ospfExt 6 } + + ospfVirtualLinkEntry OBJECT-TYPE + SYNTAX OspfVirtualLinkEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { ospfVirtIfAreaID, ospfVirtIfNeighbor } + ::= { ospfVirtualLinkTable 1 } + + OspfVirtualLinkEntry ::= + SEQUENCE { + ospfVirtualLinkName DisplayString, + ospfVirtualLinkKeyId INTEGER + } + ospfVirtualLinkName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { ospfVirtualLinkEntry 1 } + + ospfVirtualLinkKeyId OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { ospfVirtualLinkEntry 2 } + +-- sysLogSetup + sysLogSetup OBJECT IDENTIFIER ::= { gs4012f 41 } + + sysLogState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "sysLog enabled/disabled for the switch." + ::= { sysLogSetup 1 } + +-- sysLogTypeTable + sysLogTypeTable OBJECT-TYPE + SYNTAX SEQUENCE OF SysLogTypeEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { sysLogSetup 2 } + + sysLogTypeEntry OBJECT-TYPE + SYNTAX SysLogTypeEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in sysLogTypeTable." + INDEX { sysLogTypeIndex } + ::= { sysLogTypeTable 1 } + + SysLogTypeEntry ::= + SEQUENCE { + sysLogTypeIndex INTEGER, + sysLogTypeName DisplayString, + sysLogTypeState EnabledStatus, + sysLogTypeFacility INTEGER + } + + sysLogTypeIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { sysLogTypeEntry 1 } + + sysLogTypeName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { sysLogTypeEntry 2 } + + sysLogTypeState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { sysLogTypeEntry 3 } + + sysLogTypeFacility OBJECT-TYPE + SYNTAX INTEGER { + localuser0(0), + localuser1(1), + localuser2(2), + localuser3(3), + localuser4(4), + localuser5(5), + localuser6(6), + localuser7(7) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { sysLogTypeEntry 4 } + +-- sysLogServerTable + sysLogServerTable OBJECT-TYPE + SYNTAX SEQUENCE OF SysLogServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { sysLogSetup 3 } + + sysLogServerEntry OBJECT-TYPE + SYNTAX SysLogServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in sysLogServerTable." + INDEX { sysLogServerAddress } + ::= { sysLogServerTable 1 } + + SysLogServerEntry ::= + SEQUENCE { + sysLogServerAddress IpAddress, + sysLogServerLogLevel INTEGER, + sysLogServerRowStatus RowStatus + } + + sysLogServerAddress OBJECT-TYPE + SYNTAX IpAddress + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { sysLogServerEntry 1 } + + sysLogServerLogLevel OBJECT-TYPE + SYNTAX INTEGER { + level0(0), + level0-1(1), + level0-2(2), + level0-3(3), + level0-4(4), + level0-5(5), + level0-6(6), + level0-7(7) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { sysLogServerEntry 2 } + + sysLogServerRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { sysLogServerEntry 3 } + +-- MRSTP + mrstp OBJECT IDENTIFIER ::= { gs4012f 42 } + + mrstpSetup OBJECT IDENTIFIER ::= { mrstp 1 } + + mrstpBridgeTable OBJECT-TYPE + SYNTAX SEQUENCE OF MrstpBridgeEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { mrstpSetup 1 } + + mrstpBridgeEntry OBJECT-TYPE + SYNTAX MrstpBridgeEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in mrstpBridgeTable." + INDEX { mrstpBridgeIndex } + ::= { mrstpBridgeTable 1 } + + MrstpBridgeEntry ::= + SEQUENCE { + mrstpBridgeIndex INTEGER, + mrstpState INTEGER, + mrstpProtocolSpecification INTEGER, + mrstpPriority INTEGER, + mrstpTimeSinceTopologyChange TimeTicks, + mrstpTopChanges Counter, + mrstpDesignatedRoot BridgeId, + mrstpRootCost INTEGER, + mrstpRootPort INTEGER, + mrstpMaxAge Timeout, + mrstpHelloTime Timeout, + mrstpHoldTime INTEGER, + mrstpForwardDelay Timeout, + mrstpBridgeMaxAge Timeout, + mrstpBridgeHelloTime Timeout, + mrstpBridgeForwardDelay Timeout + } + + -- the dot1dStp group + + -- Implementation of the dot1dStp group is optional. It is + -- implemented by those bridges that support the Spanning Tree + -- Protocol. + + mrstpBridgeIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The tree index of the MRSTP." + ::= { mrstpBridgeEntry 1 } + + mrstpState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Enabled/disabled on the mrstp bridge." + ::= { mrstpBridgeEntry 2 } + + mrstpProtocolSpecification OBJECT-TYPE + SYNTAX INTEGER { + unknown(1), + decLb100(2), + ieee8021d(3) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "An indication of what version of the Spanning + Tree Protocol is being run. The value + 'decLb100(2)' indicates the DEC LANbridge 100 + Spanning Tree protocol. IEEE 802.1d + implementations will return 'ieee8021d(3)'. If + future versions of the IEEE Spanning Tree Protocol + are released that are incompatible with the + current version a new value will be defined." + ::= { mrstpBridgeEntry 3 } + + mrstpPriority OBJECT-TYPE + SYNTAX INTEGER (0..65535) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The value of the write-able portion of the Bridge + ID, i.e., the first two octets of the (8 octet + long) Bridge ID. The other (last) 6 octets of the + Bridge ID are given by the value of + dot1dBaseBridgeAddress." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.3.7" + ::= { mrstpBridgeEntry 4 } + + mrstpTimeSinceTopologyChange OBJECT-TYPE + SYNTAX TimeTicks + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The time (in hundredths of a second) since the + last time a topology change was detected by the + bridge entity." + REFERENCE + "IEEE 802.1D-1990: Section 6.8.1.1.3" + ::= { mrstpBridgeEntry 5 } + + mrstpTopChanges OBJECT-TYPE + SYNTAX Counter + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The total number of topology changes detected by + this bridge since the management entity was last + reset or initialized." + REFERENCE + "IEEE 802.1D-1990: Section 6.8.1.1.3" + ::= { mrstpBridgeEntry 6 } + + mrstpDesignatedRoot OBJECT-TYPE + SYNTAX BridgeId + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The bridge identifier of the root of the spanning + tree as determined by the Spanning Tree Protocol + as executed by this node. This value is used as + the Root Identifier parameter in all Configuration + Bridge PDUs originated by this node." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.3.1" + ::= { mrstpBridgeEntry 7 } + + mrstpRootCost OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The cost of the path to the root as seen from + this bridge." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.3.2" + ::= { mrstpBridgeEntry 8 } + + mrstpRootPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The port number of the port which offers the + lowest cost path from this bridge to the root + bridge." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.3.3" + ::= { mrstpBridgeEntry 9 } + + mrstpMaxAge OBJECT-TYPE + SYNTAX Timeout + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The maximum age of Spanning Tree Protocol + information learned from the network on any port + before it is discarded, in units of hundredths of + a second. This is the actual value that this + bridge is currently using." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.3.4" + ::= { mrstpBridgeEntry 10 } + + mrstpHelloTime OBJECT-TYPE + SYNTAX Timeout + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The amount of time between the transmission of + Configuration bridge PDUs by this node on any port + when it is the root of the spanning tree or trying + to become so, in units of hundredths of a second. + This is the actual value that this bridge is + currently using." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.3.5" + ::= { mrstpBridgeEntry 11 } + + mrstpHoldTime OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "This time value determines the interval length + during which no more than two Configuration bridge + PDUs shall be transmitted by this node, in units + of hundredths of a second." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.3.14" + ::= { mrstpBridgeEntry 12 } + + mrstpForwardDelay OBJECT-TYPE + SYNTAX Timeout + ACCESS read-only + STATUS mandatory + DESCRIPTION + "This time value, measured in units of hundredths + of a second, controls how fast a port changes its + spanning state when moving towards the Forwarding + state. The value determines how long the port + stays in each of the Listening and Learning + states, which precede the Forwarding state. This + value is also used, when a topology change has + been detected and is underway, to age all dynamic + entries in the Forwarding Database. [Note that + this value is the one that this bridge is + currently using, in contrast to + mrstpBridgeForwardDelay which is the value that + this bridge and all others would start using + if/when this bridge were to become the root.]" + REFERENCE + "IEEE 802.1D-1990: Section 4.5.3.6" + ::= { mrstpBridgeEntry 13 } + + mrstpBridgeMaxAge OBJECT-TYPE + SYNTAX Timeout (600..4000) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The value that all bridges use for MaxAge when + this bridge is acting as the root. Note that + 802.1D-1990 specifies that the range for this + parameter is related to the value of + mrstpBridgeHelloTime. The granularity of this + timer is specified by 802.1D-1990 to be 1 second. + An agent may return a badValue error if a set is + attempted to a value which is not a whole number + of seconds." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.3.8" + ::= { mrstpBridgeEntry 14 } + + mrstpBridgeHelloTime OBJECT-TYPE + SYNTAX Timeout (100..1000) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The value that all bridges use for HelloTime when + this bridge is acting as the root. The + granularity of this timer is specified by 802.1D- + 1990 to be 1 second. An agent may return a + badValue error if a set is attempted to a value + which is not a whole number of seconds." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.3.9" + ::= { mrstpBridgeEntry 15 } + + mrstpBridgeForwardDelay OBJECT-TYPE + SYNTAX Timeout (400..3000) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The value that all bridges use for ForwardDelay + when this bridge is acting as the root. Note that + 802.1D-1990 specifies that the range for this + parameter is related to the value of + mrstpBridgeMaxAge. The granularity of this + timer is specified by 802.1D-1990 to be 1 second. + An agent may return a badValue error if a set is + attempted to a value which is not a whole number + of seconds." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.3.10" + ::= { mrstpBridgeEntry 16 } + + -- The Spanning Tree Port Table + + mrstpPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF MrstpPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A table that contains port-specific information + for the Spanning Tree Protocol." + ::= { mrstpSetup 2 } + + mrstpPortEntry OBJECT-TYPE + SYNTAX MrstpPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of information maintained by every port + about the Spanning Tree Protocol state for that + port." + INDEX { mrstpPort } + ::= { mrstpPortTable 1 } + + MrstpPortEntry ::= + SEQUENCE { + mrstpPort + INTEGER, + mrstpPortPriority + INTEGER, + mrstpPortState + INTEGER, + mrstpPortEnable + INTEGER, + mrstpPortPathCost + INTEGER, + mrstpPortDesignatedRoot + BridgeId, + mrstpPortDesignatedCost + INTEGER, + mrstpPortDesignatedBridge + BridgeId, + mrstpPortDesignatedPort + OCTET STRING, + mrstpPortForwardTransitions + Counter, + mrstpPortOnBridgeIndex + INTEGER + } + + mrstpPort OBJECT-TYPE + SYNTAX INTEGER (1..65535) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The port number of the port for which this entry + contains Spanning Tree Protocol management + information." + REFERENCE + "IEEE 802.1D-1990: Section 6.8.2.1.2" + ::= { mrstpPortEntry 1 } + + mrstpPortPriority OBJECT-TYPE + SYNTAX INTEGER (0..255) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The value of the priority field which is + contained in the first (in network byte order) + octet of the (2 octet long) Port ID. The other + octet of the Port ID is given by the value of + mrstpPort." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.5.1" + ::= { mrstpPortEntry 2 } + + mrstpPortState OBJECT-TYPE + SYNTAX INTEGER { + disabled(1), + blocking(2), + listening(3), + learning(4), + forwarding(5), + broken(6) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The port's current state as defined by + application of the Spanning Tree Protocol. This + state controls what action a port takes on + reception of a frame. If the bridge has detected + a port that is malfunctioning it will place that + port into the broken(6) state. For ports which + are disabled (see mrstpPortEnable), this object + will have a value of disabled(1)." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.5.2" + ::= { mrstpPortEntry 3 } + + mrstpPortEnable OBJECT-TYPE + SYNTAX INTEGER { + enabled(1), + disabled(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The enabled/disabled status of the port." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.5.2" + ::= { mrstpPortEntry 4 } + + mrstpPortPathCost OBJECT-TYPE + SYNTAX INTEGER (1..65535) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The contribution of this port to the path cost of + paths towards the spanning tree root which include + this port. 802.1D-1990 recommends that the + default value of this parameter be in inverse + proportion to the speed of the attached LAN." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.5.3" + ::= { mrstpPortEntry 5 } + + mrstpPortDesignatedRoot OBJECT-TYPE + SYNTAX BridgeId + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The unique Bridge Identifier of the Bridge + recorded as the Root in the Configuration BPDUs + transmitted by the Designated Bridge for the + segment to which the port is attached." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.5.4" + ::= { mrstpPortEntry 6 } + + mrstpPortDesignatedCost OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The path cost of the Designated Port of the + segment connected to this port. This value is + compared to the Root Path Cost field in received + bridge PDUs." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.5.5" + ::= { mrstpPortEntry 7 } + + mrstpPortDesignatedBridge OBJECT-TYPE + SYNTAX BridgeId + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The Bridge Identifier of the bridge which this + port considers to be the Designated Bridge for + this port's segment." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.5.6" + ::= { mrstpPortEntry 8 } + + mrstpPortDesignatedPort OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (2)) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The Port Identifier of the port on the Designated + Bridge for this port's segment." + REFERENCE + "IEEE 802.1D-1990: Section 4.5.5.7" + ::= { mrstpPortEntry 9 } + + mrstpPortForwardTransitions OBJECT-TYPE + SYNTAX Counter + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The number of times this port has transitioned + from the Learning state to the Forwarding state." + ::= { mrstpPortEntry 10 } + + mrstpPortOnBridgeIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Indetify the bridge index that this port joined to in MRSTP." + ::= { mrstpPortEntry 11 } + +-- MRSTP Trap + mrstpNotifications OBJECT IDENTIFIER ::= { mrstp 2 } + + newRoot NOTIFICATION-TYPE + OBJECTS { + mrstpBridgeIndex + } + STATUS current + DESCRIPTION + "" + ::= { mrstpNotifications 1 } + + topologyChange NOTIFICATION-TYPE + OBJECTS { + mrstpBridgeIndex + } + STATUS current + DESCRIPTION + "" + ::= { mrstpNotifications 2 } + +-- radiusServerSetup + radiusServerSetup OBJECT IDENTIFIER ::= { gs4012f 43 } + + radiusAuthServerSetup OBJECT IDENTIFIER ::= { radiusServerSetup 1 } + + radiusAuthServerMode OBJECT-TYPE + SYNTAX INTEGER{ + index-priority(1), + round-robin(2), + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAuthServerSetup 1 } + + radiusAuthServerTimeout OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAuthServerSetup 2 } + +-- radiusAuthServerTable + radiusAuthServerTable OBJECT-TYPE + SYNTAX SEQUENCE OF RadiusAuthServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAuthServerSetup 3 } + + radiusAuthServerEntry OBJECT-TYPE + SYNTAX RadiusAuthServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in radiusAuthServerTable." + INDEX { radiusAuthServerIndex } + ::= { radiusAuthServerTable 1 } + + RadiusAuthServerEntry ::= + SEQUENCE { + radiusAuthServerIndex INTEGER, + radiusAuthServerIpAddr IpAddress, + radiusAuthServerUdpPort INTEGER, + radiusAuthServerSharedSecret DisplayString + } + + radiusAuthServerIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAuthServerEntry 1 } + + radiusAuthServerIpAddr OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAuthServerEntry 2 } + + radiusAuthServerUdpPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAuthServerEntry 3 } + + radiusAuthServerSharedSecret OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAuthServerEntry 4 } + + radiusAcctServerSetup OBJECT IDENTIFIER ::= { radiusServerSetup 2 } + + radiusAcctServerTimeout OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAcctServerSetup 1 } + +-- radiusAcctServerTable + radiusAcctServerTable OBJECT-TYPE + SYNTAX SEQUENCE OF RadiusAcctServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAcctServerSetup 2 } + + radiusAcctServerEntry OBJECT-TYPE + SYNTAX RadiusAcctServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in radiusAcctServerTable." + INDEX { radiusAcctServerIndex } + ::= { radiusAcctServerTable 1 } + + RadiusAcctServerEntry ::= + SEQUENCE { + radiusAcctServerIndex INTEGER, + radiusAcctServerIpAddr IpAddress, + radiusAcctServerUdpPort INTEGER, + radiusAcctServerSharedSecret DisplayString + } + + radiusAcctServerIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAcctServerEntry 1 } + + radiusAcctServerIpAddr OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAcctServerEntry 2 } + + radiusAcctServerUdpPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAcctServerEntry 3 } + + radiusAcctServerSharedSecret OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { radiusAcctServerEntry 4 } + +-- tacacsServerSetup + tacacsServerSetup OBJECT IDENTIFIER ::= { gs4012f 44 } + + tacacsAuthServerSetup OBJECT IDENTIFIER ::= { tacacsServerSetup 1 } + + tacacsAuthServerMode OBJECT-TYPE + SYNTAX INTEGER{ + index-priority(1), + round-robin(2), + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAuthServerSetup 1 } + + tacacsAuthServerTimeout OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAuthServerSetup 2 } + +-- tacacsAuthServerTable + tacacsAuthServerTable OBJECT-TYPE + SYNTAX SEQUENCE OF TacacsAuthServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAuthServerSetup 3 } + + tacacsAuthServerEntry OBJECT-TYPE + SYNTAX TacacsAuthServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in tacacsAuthServerTable." + INDEX { tacacsAuthServerIndex } + ::= { tacacsAuthServerTable 1 } + + TacacsAuthServerEntry ::= + SEQUENCE { + tacacsAuthServerIndex INTEGER, + tacacsAuthServerIpAddr IpAddress, + tacacsAuthServerTcpPort INTEGER, + tacacsAuthServerSharedSecret DisplayString + } + + tacacsAuthServerIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAuthServerEntry 1 } + + tacacsAuthServerIpAddr OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAuthServerEntry 2 } + + tacacsAuthServerTcpPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAuthServerEntry 3 } + + tacacsAuthServerSharedSecret OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAuthServerEntry 4 } + + tacacsAcctServerSetup OBJECT IDENTIFIER ::= { tacacsServerSetup 2 } + + tacacsAcctServerTimeout OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAcctServerSetup 1 } + +-- tacacsAcctServerTable + tacacsAcctServerTable OBJECT-TYPE + SYNTAX SEQUENCE OF TacacsAcctServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAcctServerSetup 2 } + + tacacsAcctServerEntry OBJECT-TYPE + SYNTAX TacacsAcctServerEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in tacacsAcctServerTable." + INDEX { tacacsAcctServerIndex } + ::= { tacacsAcctServerTable 1 } + + TacacsAcctServerEntry ::= + SEQUENCE { + tacacsAcctServerIndex INTEGER, + tacacsAcctServerIpAddr IpAddress, + tacacsAcctServerTcpPort INTEGER, + tacacsAcctServerSharedSecret DisplayString + } + + tacacsAcctServerIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAcctServerEntry 1 } + + tacacsAcctServerIpAddr OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAcctServerEntry 2 } + + tacacsAcctServerTcpPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAcctServerEntry 3 } + + tacacsAcctServerSharedSecret OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { tacacsAcctServerEntry 4 } + +-- aaaSetup + aaaSetup OBJECT IDENTIFIER ::= { gs4012f 45 } + + authenticationSetup OBJECT IDENTIFIER ::= { aaaSetup 1 } + +-- authenticationTypeTable + authenticationTypeTable OBJECT-TYPE + SYNTAX SEQUENCE OF AuthenticationTypeEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { authenticationSetup 1 } + + authenticationTypeEntry OBJECT-TYPE + SYNTAX AuthenticationTypeEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in authenticationTypeTable." + INDEX { authenticationTypeName } + ::= { authenticationTypeTable 1 } + + AuthenticationTypeEntry ::= + SEQUENCE { + authenticationTypeName DisplayString, + authenticationTypeMethodList OCTET STRING + } + + authenticationTypeName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { authenticationTypeEntry 1 } + + authenticationTypeMethodList OBJECT-TYPE + SYNTAX OCTET STRING + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { authenticationTypeEntry 2 } + + accountingSetup OBJECT IDENTIFIER ::= { aaaSetup 2 } + accountingUpdatePeriod OBJECT-TYPE + SYNTAX Integer32 + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { accountingSetup 1 } + +-- accountingTypeTable + accountingTypeTable OBJECT-TYPE + SYNTAX SEQUENCE OF AccountingTypeEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { accountingSetup 2 } + + accountingTypeEntry OBJECT-TYPE + SYNTAX AccountingTypeEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in accountingTypeTable." + INDEX { accountingTypeName } + ::= { accountingTypeTable 1 } + + AccountingTypeEntry ::= + SEQUENCE { + accountingTypeName DisplayString, + accountingTypeActive EnabledStatus, + accountingTypeBroadcast EnabledStatus, + accountingTypeMode INTEGER, + accountingTypeMethod INTEGER, + accountingTypePrivilege INTEGER + } + + accountingTypeName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { accountingTypeEntry 1 } + + accountingTypeActive OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { accountingTypeEntry 2 } + + accountingTypeBroadcast OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { accountingTypeEntry 3 } + + accountingTypeMode OBJECT-TYPE + SYNTAX INTEGER{ + not-available(255), + start-stop(1), + stop-only(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { accountingTypeEntry 4 } + + accountingTypeMethod OBJECT-TYPE + SYNTAX INTEGER{ + radius(1), + tacacs(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { accountingTypeEntry 5 } + + accountingTypePrivilege OBJECT-TYPE + SYNTAX INTEGER{ + not-available(255), + privilege-0(0), + privilege-1(1), + privilege-2(2), + privilege-3(3), + privilege-4(4), + privilege-5(5), + privilege-6(6), + privilege-7(7), + privilege-8(8), + privilege-9(9), + privilege-10(10), + privilege-11(11), + privilege-12(12), + privilege-13(13), + privilege-14(14) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { accountingTypeEntry 6 } +--------------------------------------------------- +-- +-- dhcp snooping +-- +--------------------------------------------------- + + dhcpSnp OBJECT IDENTIFIER ::= { gs4012f 100 } + + +-- +-- dhcp snooping vlan table +-- + + dhcpSnpVlanTable OBJECT-TYPE + SYNTAX SEQUENCE OF DhcpSnpVlanEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnp 1 } + + dhcpSnpVlanEntry OBJECT-TYPE + SYNTAX DhcpSnpVlanEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { dhcpSnpVlanEntryVid } + ::= { dhcpSnpVlanTable 1 } + + DhcpSnpVlanEntry ::= + SEQUENCE { + dhcpSnpVlanEntryVid INTEGER, + dhcpSnpVlanEntryEnable EnabledStatus, + dhcpSnpVlanEntryOption82Enable EnabledStatus, + dhcpSnpVlanEntryInfo EnabledStatus + } + + dhcpSnpVlanEntryVid OBJECT-TYPE + SYNTAX INTEGER (1..4094) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpVlanEntry 1 } + + dhcpSnpVlanEntryEnable OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpVlanEntry 2 } + + dhcpSnpVlanEntryOption82Enable OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpVlanEntry 3 } + + dhcpSnpVlanEntryInfo OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpVlanEntry 4 } + +-- +-- dhcp snooping interface table +-- + + dhcpSnpPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF DhcpSnpPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnp 2 } + + dhcpSnpPortEntry OBJECT-TYPE + SYNTAX DhcpSnpPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { dhcpSnpPortEntryPort } + ::= { dhcpSnpPortTable 1 } + + DhcpSnpPortEntry ::= + SEQUENCE { + dhcpSnpPortEntryPort INTEGER, + dhcpSnpPortEntryTrust EnabledStatus, + dhcpSnpPortEntryRate INTEGER + } + + dhcpSnpPortEntryPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpPortEntry 1 } + + dhcpSnpPortEntryTrust OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpPortEntry 2 } + + dhcpSnpPortEntryRate OBJECT-TYPE + SYNTAX INTEGER (0..2048) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "0 means unlimited" + ::= { dhcpSnpPortEntry 3 } +-- +-- dhcp snooping binding table +-- + + dhcpSnpBindTable OBJECT-TYPE + SYNTAX SEQUENCE OF DhcpSnpBindEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnp 3 } + + dhcpSnpBindEntry OBJECT-TYPE + SYNTAX DhcpSnpBindEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { dhcpSnpBindEntryMac, dhcpSnpBindEntryVid } + ::= { dhcpSnpBindTable 1 } + + DhcpSnpBindEntry ::= + SEQUENCE { + dhcpSnpBindEntryMac MacAddress, + dhcpSnpBindEntryVid INTEGER, + dhcpSnpBindEntryIP IpAddress, + dhcpSnpBindEntryLease INTEGER, + dhcpSnpBindEntryType INTEGER, + dhcpSnpBindEntryPort INTEGER + } + + dhcpSnpBindEntryMac OBJECT-TYPE + SYNTAX MacAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpBindEntry 1 } + + dhcpSnpBindEntryVid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpBindEntry 2 } + + dhcpSnpBindEntryIP OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpBindEntry 3 } + + dhcpSnpBindEntryLease OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpBindEntry 4 } + + dhcpSnpBindEntryType OBJECT-TYPE + SYNTAX INTEGER { dynamic(2) } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpBindEntry 5 } + + dhcpSnpBindEntryPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpBindEntry 6 } + +-- +-- dhcp snooping +-- + + dhcpSnpEnable OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnp 4 } + +-- +-- dhcp snooping database +-- + + + dhcpSnpDb OBJECT IDENTIFIER ::= { dhcpSnp 5 } + + dhcpSnpDbAbort OBJECT-TYPE + SYNTAX INTEGER (1..65535) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDb 1 } + + dhcpSnpDbWriteDelay OBJECT-TYPE + SYNTAX INTEGER (1..65535) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDb 2 } + + dhcpSnpDbUrl OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDb 3 } + + dhcpSnpDbUrlRenew OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..255)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDb 4 } + + dhcpSnpDbStat OBJECT IDENTIFIER ::= { dhcpSnpDb 5 } + + dhcpSnpDbStatClear OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 1 } + + dhcpSnpDbStatAgentRunning OBJECT-TYPE + SYNTAX INTEGER { None(0), Read(1), Write(2) } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 2 } + + dhcpSnpDbStatDelayExpiry OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 3 } + + dhcpSnpDbStatAbortExpiry OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 4 } + + dhcpSnpDbStatLastSuccTime OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 5 } + + dhcpSnpDbStatLastFailTime OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 6 } + + dhcpSnpDbStatLastFailReason OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 7 } + + dhcpSnpDbStatTotalAttempt OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 8 } + + dhcpSnpDbStatStartupFail OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 9 } + + dhcpSnpDbStatSuccTrans OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 10 } + + dhcpSnpDbStatFailTrans OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 11 } + + dhcpSnpDbStatSuccRead OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 12 } + + dhcpSnpDbStatFailRead OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 13 } + + dhcpSnpDbStatSuccWrite OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 14 } + + dhcpSnpDbStatFailWrite OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 15 } + + dhcpSnpDbStatFirstSuccAccess OBJECT-TYPE + SYNTAX INTEGER { None(0), Read(1), Write(2) } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 16 } + + dhcpSnpDbStatLastIgnoreBindCol OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Last ignored: binding collision" + ::= { dhcpSnpDbStat 17 } + + dhcpSnpDbStatLastIgnoreExpireLease OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Last ignored: expired leases" + ::= { dhcpSnpDbStat 18 } + + dhcpSnpDbStatLastIgnoreInvalidIntf OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Last ignored: invalid interface" + ::= { dhcpSnpDbStat 19 } + + dhcpSnpDbStatLastIgnoreUnsuppVlan OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Last ignored: unsupported vlans" + ::= { dhcpSnpDbStat 20 } + + dhcpSnpDbStatLastIgnoreParse OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Last ignored: parsing error" + ::= { dhcpSnpDbStat 21 } + + dhcpSnpDbStatTotalIgnoreBindCol OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Total ignored: binding collision" + ::= { dhcpSnpDbStat 22 } + + dhcpSnpDbStatTotalIgnoreExpireLease OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Total ignored: expired leases" + ::= { dhcpSnpDbStat 23 } + + dhcpSnpDbStatTotalIgnoreInvalidIntf OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Total ignored: invalid interface" + ::= { dhcpSnpDbStat 24 } + + dhcpSnpDbStatTotalIgnoreUnsuppVlan OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Total ignored: unsupported vlans" + ::= { dhcpSnpDbStat 25 } + + dhcpSnpDbStatTotalIgnoreParse OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Total ignored: parsing error" + ::= { dhcpSnpDbStat 26 } + + dhcpSnpDbStatLastIgnoreTime OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { dhcpSnpDbStat 27 } + +-- +-- dhcp snooping dhcp vlan +-- + + dhcpSnpDhcpVlan OBJECT IDENTIFIER ::= { dhcpSnp 6 } + + dhcpSnpDhcpVlanVid OBJECT-TYPE + SYNTAX INTEGER (0..4094) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "0: disable DHCP VLAN." + ::= { dhcpSnpDhcpVlan 1 } + + + +----------------------------------------------------------------- +-- +-- ip source guard +-- +----------------------------------------------------------------- + + ipsg OBJECT IDENTIFIER ::= { gs4012f 101 } + + ipsgTable OBJECT-TYPE + SYNTAX SEQUENCE OF IpsgEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { ipsg 1 } + + ipsgEntry OBJECT-TYPE + SYNTAX IpsgEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { ipsgEntryMac, ipsgEntryVid } + ::= { ipsgTable 1 } + + IpsgEntry ::= + SEQUENCE { + ipsgEntryMac MacAddress, + ipsgEntryVid INTEGER, + ipsgEntryIp IpAddress, + ipsgEntryLease INTEGER, + ipsgEntryType INTEGER, + ipsgEntryPort INTEGER, + ipsgEntryState RowStatus + } + + ipsgEntryMac OBJECT-TYPE + SYNTAX MacAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ipsgEntry 1 } + + ipsgEntryVid OBJECT-TYPE + SYNTAX INTEGER (1.. 4094) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ipsgEntry 2 } + + ipsgEntryIp OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { ipsgEntry 3 } + + ipsgEntryLease OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "second" + ::= { ipsgEntry 4 } + + ipsgEntryType OBJECT-TYPE + SYNTAX INTEGER { static(1), dhcp(2) } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { ipsgEntry 5 } + + ipsgEntryPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "0 means any port" + ::= { ipsgEntry 6 } + + ipsgEntryState OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { ipsgEntry 7 } + +----------------------------------------------------------------- +-- +-- arpInspect +-- +----------------------------------------------------------------- + + arpInspect OBJECT IDENTIFIER ::= { gs4012f 102 } + + arpInspectSetup OBJECT IDENTIFIER ::= { arpInspect 1 } + + arpInspectState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectSetup 1 } + + arpInspectFilterAgingTime OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectSetup 2 } + + arpInspectLog OBJECT IDENTIFIER ::= { arpInspectSetup 3 } + + arpInspectLogEntries OBJECT-TYPE + SYNTAX INTEGER (0..1024) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectLog 1 } + + arpInspectLogRate OBJECT-TYPE + SYNTAX INTEGER (0..1024) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectLog 2 } + + arpInspectLogInterval OBJECT-TYPE + SYNTAX INTEGER (0..2147483647) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectLog 3 } + + --arpInspectVlanTable + arpInspectVlanTable OBJECT-TYPE + SYNTAX SEQUENCE OF ArpInspectVlanEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectSetup 4 } + + arpInspectVlanEntry OBJECT-TYPE + SYNTAX ArpInspectVlanEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { arpInspectVlanVid } + ::= { arpInspectVlanTable 1 } + + ArpInspectVlanEntry ::= + SEQUENCE { + arpInspectVlanVid INTEGER, + arpInspectVlanLog INTEGER, + arpInspectVlanStatus INTEGER + } + + arpInspectVlanVid OBJECT-TYPE + SYNTAX INTEGER (1..4094) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectVlanEntry 1 } + + arpInspectVlanLog OBJECT-TYPE + SYNTAX INTEGER { + all (1), + none (2), + permit (3), + deny (4) + } + + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectVlanEntry 2 } + + arpInspectVlanStatus OBJECT-TYPE + SYNTAX INTEGER { + enabled(1), + disabled(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectVlanEntry 3 } + + --arpInspectPortTable + arpInspectPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF ArpInspectPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectSetup 5 } + + arpInspectPortEntry OBJECT-TYPE + SYNTAX ArpInspectPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { arpInspectPortIndex } + ::= { arpInspectPortTable 1 } + + ArpInspectPortEntry ::= + SEQUENCE { + arpInspectPortIndex INTEGER, + arpInspectPortTrust INTEGER, + arpInspectPortRate INTEGER, + arpInspectPortInterval INTEGER + } + + arpInspectPortIndex OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectPortEntry 1 } + + arpInspectPortTrust OBJECT-TYPE + SYNTAX INTEGER { + trusted(1), + untrusted(2) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectPortEntry 2 } + + arpInspectPortRate OBJECT-TYPE + SYNTAX INTEGER (0..2048) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectPortEntry 3 } + + arpInspectPortInterval OBJECT-TYPE + SYNTAX INTEGER (1..15) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectPortEntry 4 } + + arpInspectStatus OBJECT IDENTIFIER ::= { arpInspect 2 } + + arpInspectFilterClear OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectStatus 1 } + + arpInspectLogClear OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectStatus 2 } + + --arpInspectFilterTable + arpInspectFilterTable OBJECT-TYPE + SYNTAX SEQUENCE OF ArpInspectFilterEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectStatus 3 } + + arpInspectFilterEntry OBJECT-TYPE + SYNTAX ArpInspectFilterEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { arpInspectFilterMac, arpInspectFilterVid } + ::= { arpInspectFilterTable 1 } + + ArpInspectFilterEntry ::= + SEQUENCE { + arpInspectFilterMac MacAddress, + arpInspectFilterVid INTEGER, + arpInspectFilterPort INTEGER, + arpInspectFilterExpiry INTEGER, + arpInspectFilterReason INTEGER, + arpInspectFilterRowStatus RowStatus + } + + arpInspectFilterMac OBJECT-TYPE + SYNTAX MacAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectFilterEntry 1 } + + arpInspectFilterVid OBJECT-TYPE + SYNTAX INTEGER (1..4094) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectFilterEntry 2 } + + arpInspectFilterPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectFilterEntry 3 } + + arpInspectFilterExpiry OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectFilterEntry 4 } + + arpInspectFilterReason OBJECT-TYPE + SYNTAX INTEGER { + macVid(1), + port(2), + ip(3) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectFilterEntry 5 } + + arpInspectFilterRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectFilterEntry 6 } + + --arpInspectLogTable + arpInspectLogTable OBJECT-TYPE + SYNTAX SEQUENCE OF ArpInspectLogEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectStatus 4 } + + arpInspectLogEntry OBJECT-TYPE + SYNTAX ArpInspectLogEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { arpInspectLogMac, arpInspectLogVid, arpInspectLogPort, arpInspectLogIp } + ::= { arpInspectLogTable 1 } + + ArpInspectLogEntry ::= + SEQUENCE { + arpInspectLogMac MacAddress, + arpInspectLogVid INTEGER, + arpInspectLogPort INTEGER, + arpInspectLogIp IpAddress, + arpInspectLogNumPkt INTEGER, + arpInspectLogReason INTEGER, + arpInspectLogTime DateAndTime + } + + arpInspectLogMac OBJECT-TYPE + SYNTAX MacAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectLogEntry 1 } + + arpInspectLogVid OBJECT-TYPE + SYNTAX INTEGER (1..4094) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectLogEntry 2 } + + arpInspectLogPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectLogEntry 3 } + + arpInspectLogIp OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectLogEntry 4 } + + arpInspectLogNumPkt OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectLogEntry 5 } + + arpInspectLogReason OBJECT-TYPE + SYNTAX INTEGER { + Deny (1), + DenyStatic (2), + DenyDHCP (3), + PermitStatic (4), + PermitDHCP (5) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectLogEntry 6 } + + arpInspectLogTime OBJECT-TYPE + SYNTAX DateAndTime + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectLogEntry 7 } + + --arpInspectStatisticsTable + arpInspectStatisticsTable OBJECT-TYPE + SYNTAX SEQUENCE OF ArpInspectStatisticsEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectStatus 5 } + + arpInspectStatisticsEntry OBJECT-TYPE + SYNTAX ArpInspectStatisticsEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "" + INDEX { arpInspectStatisticsVid } + ::= { arpInspectStatisticsTable 1 } + + ArpInspectStatisticsEntry ::= + SEQUENCE { + arpInspectStatisticsVid INTEGER, + arpInspectStatisticsReceived Counter, + arpInspectStatisticsRequest Counter, + arpInspectStatisticsReply Counter, + arpInspectStatisticsForward Counter, + arpInspectStatisticsDrop Counter, + arpInspectStatisticsClear EnabledStatus + } + + arpInspectStatisticsVid OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectStatisticsEntry 1 } + + arpInspectStatisticsReceived OBJECT-TYPE + SYNTAX Counter + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectStatisticsEntry 2 } + + arpInspectStatisticsRequest OBJECT-TYPE + SYNTAX Counter + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectStatisticsEntry 3 } + + arpInspectStatisticsReply OBJECT-TYPE + SYNTAX Counter + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectStatisticsEntry 4 } + + arpInspectStatisticsForward OBJECT-TYPE + SYNTAX Counter + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectStatisticsEntry 5 } + + arpInspectStatisticsDrop OBJECT-TYPE + SYNTAX Counter + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectStatisticsEntry 6 } + + arpInspectStatisticsClear OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { arpInspectStatisticsEntry 7 } + + +-- trTCMSetup + trTCMSetup OBJECT IDENTIFIER ::= { gs4012f 103 } + + trTCMState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Two-rate three color marker enabled/disabled for the switch." + ::= { trTCMSetup 1 } + + trTCMMode OBJECT-TYPE + SYNTAX INTEGER { + color-aware(0), + color-blind(1) + } + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { trTCMSetup 2 } + +-- trTCMPortTable + trTCMPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF TrTCMPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { trTCMSetup 3 } + + trTCMPortEntry OBJECT-TYPE + SYNTAX TrTCMPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in trTCMPortTable." + INDEX { dot1dBasePort } + ::= { trTCMPortTable 1 } + + TrTCMPortEntry ::= + SEQUENCE { + trTCMPortState RowStatus, + trTCMPortCIR INTEGER, + trTCMPortPIR INTEGER, + trTCMPortDscpGreen INTEGER, + trTCMPortDscpYellow INTEGER, + trTCMPortDscpRed INTEGER + } + + trTCMPortState OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "Two-rate three color marker enabled/disabled on the port." + ::= { trTCMPortEntry 1 } + + trTCMPortCIR OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Allowed CIR in pkts/s." + ::= { trTCMPortEntry 2 } + + trTCMPortPIR OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Allowed PIR in pkts/s." + ::= { trTCMPortEntry 3 } + + trTCMPortDscpGreen OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "0-63" + ::= { trTCMPortEntry 4 } + + trTCMPortDscpYellow OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "0-63" + ::= { trTCMPortEntry 5 } + + trTCMPortDscpRed OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "0-63" + ::= { trTCMPortEntry 6 } + + +-- loopGuardSetup + loopGuardSetup OBJECT IDENTIFIER ::= { gs4012f 104 } + + loopGuardState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { loopGuardSetup 1 } + + +-- loopGuardPortTable + + loopGuardPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF LoopGuardPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { loopGuardSetup 2 } + + loopGuardPortEntry OBJECT-TYPE + SYNTAX LoopGuardPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in loopGuardPortTable." + INDEX { dot1dBasePort } + ::= { loopGuardPortTable 1 } + + LoopGuardPortEntry ::= + SEQUENCE { + loopGuardPortState EnabledStatus + } + + loopGuardPortState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { loopGuardPortEntry 1 } + + +-- subnetBasedVlanSetup + subnetBasedVlanSetup OBJECT IDENTIFIER ::= { gs4012f 105 } + + subnetBasedVlanState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "subnet-based vlan feature enabled/disabled for the switch." + ::= { subnetBasedVlanSetup 1 } + + dhcpVlanOverrideState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "dhcp vlan override enabled/disabled when subnet-based vlan is enabled." + ::= { subnetBasedVlanSetup 2 } + + + subnetBasedVlanTable OBJECT-TYPE + SYNTAX SEQUENCE OF SubnetBasedVlanEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { subnetBasedVlanSetup 3 } + + subnetBasedVlanEntry OBJECT-TYPE + SYNTAX SubnetBasedVlanEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in subnetBasedVlanTable." + INDEX {subnetBasedVlanSrcIp , subnetBasedVlanSrcMaskBit} + ::= { subnetBasedVlanTable 1 } + + SubnetBasedVlanEntry ::= + SEQUENCE { + subnetBasedVlanSrcIp IpAddress, + subnetBasedVlanSrcMaskBit INTEGER, + subnetBasedVlanName DisplayString, + subnetBasedVlanVid INTEGER, + subnetBasedVlanPriority INTEGER, + subnetBasedVlanEntryState RowStatus + } + + subnetBasedVlanSrcIp OBJECT-TYPE + SYNTAX IpAddress + ACCESS read-only + STATUS mandatory + DESCRIPTION + "source ip for subnet-based vlan entry" + ::= { subnetBasedVlanEntry 1 } + + + subnetBasedVlanSrcMaskBit OBJECT-TYPE + SYNTAX INTEGER (1..32) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "source ip mask-bits for subnet-based vlan entry" + ::= { subnetBasedVlanEntry 2 } + + subnetBasedVlanName OBJECT-TYPE + SYNTAX DisplayString (SIZE (0..31)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "name for subnet-based vlan entry" + ::= { subnetBasedVlanEntry 3 } + + subnetBasedVlanVid OBJECT-TYPE + SYNTAX INTEGER (1..4094) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "vid for subnet-based vlan entry" + ::= { subnetBasedVlanEntry 4 } + + + subnetBasedVlanPriority OBJECT-TYPE + SYNTAX INTEGER (0..7) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "priority for subnet-based vlan entry" + ::= { subnetBasedVlanEntry 5 } + + subnetBasedVlanEntryState OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { subnetBasedVlanEntry 6 } + + +-- MAC Authentication + macAuthenticationSetup OBJECT IDENTIFIER ::= { gs4012f 106 } + + macAuthenticationState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { macAuthenticationSetup 1 } + + macAuthenticationNamePrefix OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { macAuthenticationSetup 2 } + + macAuthenticationPassword OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { macAuthenticationSetup 3 } + + macAuthenticationTimeout OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { macAuthenticationSetup 4 } + +-- macAuthenticationPortTable + + macAuthenticationPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF MacAuthenticationPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "" + ::= { macAuthenticationSetup 5 } + + macAuthenticationPortEntry OBJECT-TYPE + SYNTAX MacAuthenticationPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION "An entry in macAuthenticationPortTable." + INDEX { dot1dBasePort } + ::= { macAuthenticationPortTable 1 } + + MacAuthenticationPortEntry ::= + SEQUENCE { + macAuthenticationPortState EnabledStatus + } + + macAuthenticationPortState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { macAuthenticationPortEntry 1 } + +-- MSTP +--**************************************************************** +-- TEXTUAL-CONVENTIONs +--**************************************************************** + MstiOrCistInstanceIndex ::= TEXTUAL-CONVENTION + STATUS mandatory + DESCRIPTION + "This textual convention is an extension of the + MstiInstanceIndex convention. This extension permits the + additional value of zero, which means Common and Internal + Spanning Tree (CIST)." + SYNTAX Integer32 (0..16) + + mstp OBJECT IDENTIFIER ::= { gs4012f 107 } +-- mstpGen group reflects configurations/statuses +-- the Bridge as a unit + mstpGen OBJECT IDENTIFIER ::= { mstp 1} + + mstpGenState OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Enabled/disabled on the mrstp bridge." + ::= { mstpGen 1 } + + mstpGenCfgIdName OBJECT-TYPE + SYNTAX DisplayString + ACCESS read-write + STATUS mandatory + DESCRIPTION + "The configuration name that identifies the MST + region and is used as one of the inputs in the + computation of the MST Configuration Identifier." + REFERENCE + "12.12.3.4.2.b)" + ::= { mstpGen 2 } + + mstpGenCfgIdRevLevel OBJECT-TYPE + SYNTAX Integer32 + ACCESS read-write + STATUS mandatory + DESCRIPTION + "This object identifies the MST revision that + identifies the MST region and is used as one + of the inputs in the computation of the MST + configuration Identifier." + REFERENCE + "12.12.3.4.2.c)" + ::= { mstpGen 3 } + + + mstpGenCfgIdCfgDigest OBJECT-TYPE + SYNTAX OCTET STRING(SIZE(16)) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "Configuration Digest." + REFERENCE + "12.12.3.3.3.a.4" + ::= { mstpGen 4 } + + mstpGenHelloTime OBJECT-TYPE + SYNTAX Timeout (1..10) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { mstpGen 5 } + + mstpGenMaxAge OBJECT-TYPE + SYNTAX Timeout (6..40) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= { mstpGen 6 } + + mstpGenForwardDelay OBJECT-TYPE + SYNTAX Timeout (4..30) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "" + ::= {mstpGen 7} + + mstpGenMaxHops OBJECT-TYPE + SYNTAX Integer32 (4..30) + MAX-ACCESS read-write + STATUS mandatory + DESCRIPTION + "13.22.f)" + ::= { mstpGen 8 } + + mstpGenCistRootPathCost OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS mandatory + DESCRIPTION + "." + ::= { mstpGen 9 } + + mstpGenCistRootBrid OBJECT-TYPE + SYNTAX OCTET STRING(SIZE(32)) + MAX-ACCESS read-only + STATUS mandatory + DESCRIPTION + "." + ::= { mstpGen 10 } +-- MSTP MAP TABLE + mstMapTable OBJECT-TYPE + SYNTAX SEQUENCE OF MstMapEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "This table contains one entry for each instance of MSTP." + ::= { mstp 20 } + + mstMapEntry OBJECT-TYPE + SYNTAX MstMapEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A conceptual row containing the status of the MSTP instance." + INDEX { mstMapIndex } + ::= { mstMapTable 1 } + + MstMapEntry ::= SEQUENCE { + mstMapIndex MstiOrCistInstanceIndex, + mstMapVlans1k OCTET STRING, + mstMapVlans2k OCTET STRING, + mstMapVlans3k OCTET STRING, + mstMapVlans4k OCTET STRING, + mstMapRowStatus RowStatus + } + + mstMapIndex OBJECT-TYPE + SYNTAX MstiOrCistInstanceIndex + MAX-ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "Uniquely identifies an instance. The entry of this table with index 0 + presents always, represents CIST. When SET operation " + ::= { mstMapEntry 1 } + + mstMapVlans1k OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (0..128)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "A string of octets containing one bit per VLAN. The + first octet corresponds to VLANs with VlanIndex values + 1 through 8; the second octet to VLANs 9 through + 16 etc. The most significant bit of each octet + corresponds to the lowest VlanIndex value in that octet. + + For each VLAN that is mapped to this MSTP instance, + the bit corresponding to that VLAN is set to '1'. + Empty (zero) most significant octes are not mandatory." + ::= { mstMapEntry 2 } + + mstMapVlans2k OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (0..128)) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values 1024 through 2047. The + first octet corresponds to VLANs with VlanIndex values + 1024 through 1031; the second octet to VLANs 1032 + through 1039 etc. The most significant bit of each + octet corresponds to the lowest VlanIndex value in that + octet. + + For each VLAN that is mapped to this MSTP instance, + the bit corresponding to that VLAN is set to '1'. + + Empty (zero) most significant octes are not mandatory." + ::= { mstMapEntry 3 } + + mstMapVlans3k OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (0..128)) + ACCESS read-write + STATUS current + DESCRIPTION + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values 2048 through 3071. The + first octet corresponds to VLANs with VlanIndex values + of 2048 through 2055; the second octet to VLANs 2056 + through 2063 etc. The most significant bit of each + octet corresponds to the lowest VlanIndex value in that + octet. + + For each VLAN that is mapped to this MSTP instance, + the bit corresponding to that VLAN is set to '1'. + + Empty (zero) most significant octes are not mandatory." + ::= { mstMapEntry 4 } + + mstMapVlans4k OBJECT-TYPE + SYNTAX OCTET STRING (SIZE (0..128)) + MAX-ACCESS read-write + STATUS current + DESCRIPTION + "A string of octets containing one bit per VLAN for + VLANS with VlanIndex values 3072 through 4095. The + first octet corresponds to VLANs with VlanIndex values + 3072 through 3079; the second octet to VLANs 3080 + through 3087 etc. The most significant bit of each + octet corresponds to the lowest VlanIndex value in that + octet. + + For each VLAN that is mapped to this MSTP instance, + the bit corresponding to that VLAN is set to '1'. + + Empty (zero) most significant octes are not mandatory." + ::= { mstMapEntry 5 } + + mstMapRowStatus OBJECT-TYPE + SYNTAX RowStatus + ACCESS read-create + STATUS mandatory + DESCRIPTION + "" + ::= { mstMapEntry 6 } + +-- MSTP Vlan Table, map vlan to msti + mstVlanTable OBJECT-TYPE + SYNTAX SEQUENCE OF MstVlanEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "This table contains one entry for each VlanId." + ::= { mstp 30 } + + mstVlanEntry OBJECT-TYPE + SYNTAX MstVlanEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "Information regarding the instance to which each Vlan is mapped." + INDEX { mstVlanIndex } + ::= { mstVlanTable 1 } + + MstVlanEntry ::= SEQUENCE { + mstVlanIndex INTEGER, + mstVlanMstIndex MstiOrCistInstanceIndex + } + + + mstVlanIndex OBJECT-TYPE + SYNTAX INTEGER(1..4094) + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "The VlanId for which this entry contains the instance mapped." + ::= { mstVlanEntry 1 } + + mstVlanMstIndex OBJECT-TYPE + SYNTAX MstiOrCistInstanceIndex + ACCESS read-only + STATUS mandatory + DESCRIPTION + "An integer with values ranging from 0 to 64 that identify a + the CIST/MSTI instance to which this VLAN is mapped" + ::= { mstVlanEntry 2 } +-- MSTP Port Table, information for all instance of a port + mstpPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF MstpPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A table that contains generic information about + every port that is associated with this bridge." + ::= { mstp 40 } + + mstpPortEntry OBJECT-TYPE + SYNTAX MstpPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A list of information for each port of the + bridge." + INDEX { mstpPortIndex } + ::= { mstpPortTable 1 } + + MstpPortEntry ::= SEQUENCE { + mstpPortIndex INTEGER, + mstpPortOperEdgePort TruthValue, + mstpPortOperPointToPointMAC TruthValue + } + + mstpPortIndex OBJECT-TYPE + SYNTAX INTEGER (1..65535) + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "A unique value, greater than zero, for each Port. + The value for each interface sub-layer + must remain constant at least from one re-initialization + of the entity's network management system to the next re- + initialization." + ::= { mstpPortEntry 1 } + + mstpPortOperEdgePort OBJECT-TYPE + SYNTAX TruthValue + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + REFERENCE "" + ::= { mstpPortEntry 2 } + + mstpPortOperPointToPointMAC OBJECT-TYPE + SYNTAX TruthValue + ACCESS read-only + STATUS mandatory + DESCRIPTION + "" + REFERENCE "" + ::= {mstpPortEntry 3} +-- MSTP Xst Table, Cist/Mst status/setting + mstpXstTable OBJECT-TYPE + SYNTAX SEQUENCE OF MstpXstEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "." + ::= { mstp 50 } + + mstpXstEntry OBJECT-TYPE + SYNTAX MstpXstEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "." + INDEX { mstpXstId } + ::= { mstpXstTable 1 } + + MstpXstEntry ::= SEQUENCE { + mstpXstId MstiOrCistInstanceIndex, + mstpXstBridgePriority Integer32, + mstpXstBridgeId BridgeId, + mstpXstInternalRootCost Integer32, + mstpXstRootPort INTEGER, + mstpXstTimeSinceTopologyChange TimeTicks, + mstpXstTopologyChangesCount Counter32 + } + + mstpXstId OBJECT-TYPE + SYNTAX MstiOrCistInstanceIndex + ACCESS read-only + STATUS mandatory + DESCRIPTION + "0 means CIST." + ::= { mstpXstEntry 1 } + + mstpXstBridgePriority OBJECT-TYPE + SYNTAX Integer32 (0..61440) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Bridge priority, in steps of 4096." + DEFVAL { 32768 } + ::= { mstpXstEntry 2 } + + mstpXstBridgeId OBJECT-TYPE + SYNTAX BridgeId + ACCESS read-only + STATUS mandatory + DESCRIPTION + "." + ::= { mstpXstEntry 3 } + + + mstpXstInternalRootCost OBJECT-TYPE + SYNTAX Integer32 + ACCESS read-only + STATUS mandatory + DESCRIPTION + "." + ::= { mstpXstEntry 4 } + + mstpXstRootPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "." + ::= { mstpXstEntry 5 } + + mstpXstTimeSinceTopologyChange OBJECT-TYPE + SYNTAX TimeTicks + ACCESS read-only + STATUS mandatory + DESCRIPTION + "." + ::= { mstpXstEntry 6 } + + mstpXstTopologyChangesCount OBJECT-TYPE + SYNTAX Counter32 + ACCESS read-only + STATUS mandatory + DESCRIPTION + "." + ::= { mstpXstEntry 7 } +-- MSTP Xst Port Table, Cist/Mst Port status/setting + mstpXstPortTable OBJECT-TYPE + SYNTAX SEQUENCE OF MstpXstPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "." + ::= { mstp 60 } + + mstpXstPortEntry OBJECT-TYPE + SYNTAX MstpXstPortEntry + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "." + REFERENCE + "." + INDEX { mstpXstPortXstId, mstpXstPortIndex } + ::= { mstpXstPortTable 1 } + + + MstpXstPortEntry ::= + SEQUENCE { + mstpXstPortXstId MstiOrCistInstanceIndex, + mstpXstPortIndex INTEGER, + mstpXstPortEnable EnabledStatus, + mstpXstPortPriority Integer32, + mstpXstPortPathCost INTEGER, + mstpXstPortState INTEGER, + mstpXstPortDesignatedRoot BridgeId, + mstpXstPortDesignatedCost Integer32, + mstpXstPortDesignatedBridge BridgeId, + mstpXstPortDesignatedPort INTEGER + } + + mstpXstPortXstId OBJECT-TYPE + SYNTAX MstiOrCistInstanceIndex + ACCESS not-accessible + STATUS mandatory + DESCRIPTION + "0 means CIST." + ::= { mstpXstPortEntry 1 } + + mstpXstPortIndex OBJECT-TYPE + SYNTAX INTEGER(1..65535) + ACCESS read-only + STATUS mandatory + DESCRIPTION + "The value of mstpPortIndex of the Port + in mstpPortTable." + ::= { mstpXstPortEntry 2 } + + + mstpXstPortEnable OBJECT-TYPE + SYNTAX EnabledStatus + ACCESS read-write + STATUS mandatory + DESCRIPTION + "." + ::= { mstpXstPortEntry 3 } + + mstpXstPortPriority OBJECT-TYPE + SYNTAX Integer32 (0..255) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "Port priority, in steps of 16." + DEFVAL { 128 } + ::= { mstpXstPortEntry 4 } + + mstpXstPortPathCost OBJECT-TYPE + SYNTAX INTEGER (1..65535) + ACCESS read-write + STATUS mandatory + DESCRIPTION + "." + ::= { mstpXstPortEntry 5 } + + mstpXstPortState OBJECT-TYPE + SYNTAX INTEGER { + disabled(0), + discarding(1), + learning(2), + forwarding(3), + unknown(4) + } + ACCESS read-only + STATUS mandatory + DESCRIPTION + "." + ::= { mstpXstPortEntry 6 } + + mstpXstPortDesignatedRoot OBJECT-TYPE + SYNTAX BridgeId + ACCESS read-only + STATUS mandatory + DESCRIPTION + "." + ::= { mstpXstPortEntry 7 } + + mstpXstPortDesignatedCost OBJECT-TYPE + SYNTAX Integer32 + ACCESS read-only + STATUS mandatory + DESCRIPTION + "." + ::= { mstpXstPortEntry 8 } + + mstpXstPortDesignatedBridge OBJECT-TYPE + SYNTAX BridgeId + ACCESS read-only + STATUS mandatory + DESCRIPTION + "." + ::= { mstpXstPortEntry 9 } + + mstpXstPortDesignatedPort OBJECT-TYPE + SYNTAX INTEGER + ACCESS read-only + STATUS mandatory + DESCRIPTION + "." + ::= { mstpXstPortEntry 10 } +--MSTP Traps + mstpNotifications OBJECT IDENTIFIER ::= { mstp 70 } + + newRoot NOTIFICATION-TYPE + OBJECTS { + mstpXstId + } + STATUS current + DESCRIPTION + "" + ::= { mstpNotifications 1 } + + topologyChange NOTIFICATION-TYPE + OBJECTS { + mstpXstId + } + STATUS current + DESCRIPTION + "" + ::= { mstpNotifications 2 } + +END diff --git a/tests/data/zynos_gs1900.json b/tests/data/zynos_gs1900.json index 6dace3fcd9..82bb783805 100644 --- a/tests/data/zynos_gs1900.json +++ b/tests/data/zynos_gs1900.json @@ -3,18 +3,56 @@ "discovery": { "processors": [ { - "entPhysicalIndex": "0", - "hrDeviceIndex": "0", + "entPhysicalIndex": 0, + "hrDeviceIndex": 0, "processor_oid": ".1.3.6.1.4.1.890.1.15.3.2.7.0", "processor_index": "0", "processor_type": "zynos", - "processor_usage": "19", + "processor_usage": 19, "processor_descr": "Processor", - "processor_precision": "1", - "processor_perc_warn": "75" + "processor_precision": 1, + "processor_perc_warn": 75 } ] }, "poller": "matches discovery" + }, + "os": { + "discovery": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.890.1.15", + "sysDescr": "GS1900-8", + "sysContact": null, + "version": null, + "hardware": null, + "features": null, + "os": "zynos", + "type": "network", + "serial": null, + "icon": "zyxel.svg", + "location": null + } + ] + }, + "poller": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.890.1.15", + "sysDescr": "GS1900-8", + "sysContact": "", + "version": null, + "hardware": "GS1900-8", + "features": null, + "os": "zynos", + "type": "network", + "serial": null, + "icon": "zyxel.svg", + "location": "" + } + ] + } } -} \ No newline at end of file +} diff --git a/tests/data/zynos_gs2200.json b/tests/data/zynos_gs2200.json index 6d7f082eb3..d278784dec 100644 --- a/tests/data/zynos_gs2200.json +++ b/tests/data/zynos_gs2200.json @@ -3,18 +3,56 @@ "discovery": { "processors": [ { - "entPhysicalIndex": "0", - "hrDeviceIndex": "0", + "entPhysicalIndex": 0, + "hrDeviceIndex": 0, "processor_oid": ".1.3.6.1.4.1.890.1.5.8.55.12.7.0", "processor_index": "0", "processor_type": "zynos", - "processor_usage": "42", + "processor_usage": 42, "processor_descr": "Processor", - "processor_precision": "1", - "processor_perc_warn": "75" + "processor_precision": 1, + "processor_perc_warn": 75 } ] }, "poller": "matches discovery" + }, + "os": { + "discovery": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.890.1.5.8.55", + "sysDescr": "GS2200-24", + "sysContact": null, + "version": null, + "hardware": null, + "features": null, + "os": "zynos", + "type": "network", + "serial": null, + "icon": "zyxel.svg", + "location": null + } + ] + }, + "poller": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.890.1.5.8.55", + "sysDescr": "GS2200-24", + "sysContact": null, + "version": null, + "hardware": "GS2200-24", + "features": null, + "os": "zynos", + "type": "network", + "serial": null, + "icon": "zyxel.svg", + "location": null + } + ] + } } -} \ No newline at end of file +} diff --git a/tests/data/zynos_gs4012.json b/tests/data/zynos_gs4012.json new file mode 100644 index 0000000000..8699b32cfe --- /dev/null +++ b/tests/data/zynos_gs4012.json @@ -0,0 +1,58 @@ +{ + "os": { + "discovery": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.890.1.5.8.20", + "sysDescr": "GS-4012F", + "sysContact": null, + "version": null, + "hardware": null, + "features": null, + "os": "zynos", + "type": "network", + "serial": null, + "icon": "zyxel.svg", + "location": null + } + ] + }, + "poller": { + "devices": [ + { + "sysName": "", + "sysObjectID": ".1.3.6.1.4.1.890.1.5.8.20", + "sysDescr": "GS-4012F", + "sysContact": "", + "version": null, + "hardware": "GS-4012F", + "features": null, + "os": "zynos", + "type": "network", + "serial": "0Z0724031894", + "icon": "zyxel.svg", + "location": "" + } + ] + } + }, + "processors": { + "discovery": { + "processors": [ + { + "entPhysicalIndex": 0, + "hrDeviceIndex": 0, + "processor_oid": ".1.3.6.1.4.1.890.1.5.8.20.12.7.0", + "processor_index": "0", + "processor_type": "zynos", + "processor_usage": 30, + "processor_descr": "Processor", + "processor_precision": 1, + "processor_perc_warn": 75 + } + ] + }, + "poller": "matches discovery" + } +} diff --git a/tests/data/zynos_mgs3712.json b/tests/data/zynos_mgs3712.json index e663c60bae..7466e90ee8 100644 --- a/tests/data/zynos_mgs3712.json +++ b/tests/data/zynos_mgs3712.json @@ -26,7 +26,7 @@ "sysDescr": "MGS-3712", "sysContact": "", "version": null, - "hardware": null, + "hardware": "MGS-3712", "features": null, "os": "zynos", "type": "network", diff --git a/tests/snmpsim/zynos_gs4012.snmprec b/tests/snmpsim/zynos_gs4012.snmprec new file mode 100644 index 0000000000..f1fa4824bc --- /dev/null +++ b/tests/snmpsim/zynos_gs4012.snmprec @@ -0,0 +1,43 @@ +1.3.6.1.2.1.1.1.0|4|GS-4012F +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.890.1.5.8.20 +1.3.6.1.2.1.1.3.0|67|69589200 +1.3.6.1.2.1.1.4.0|4| +1.3.6.1.2.1.1.5.0|4| +1.3.6.1.2.1.1.6.0|4| +1.3.6.1.2.1.4.7.0|65|0 +1.3.6.1.2.1.4.8.0|65|0 +1.3.6.1.2.1.4.9.0|65|237634 +1.3.6.1.2.1.4.10.0|65|237776 +1.3.6.1.2.1.4.11.0|65|0 +1.3.6.1.2.1.4.12.0|65|0 +1.3.6.1.2.1.4.14.0|65|0 +1.3.6.1.2.1.4.15.0|65|0 +1.3.6.1.2.1.4.16.0|65|0 +1.3.6.1.2.1.4.17.0|65|0 +1.3.6.1.2.1.4.18.0|65|0 +1.3.6.1.2.1.4.19.0|65|0 +1.3.6.1.2.1.4.20.1.2.0.0.0.0|2|2 +1.3.6.1.2.1.4.20.1.2.10.254.2.90|2|2 +1.3.6.1.2.1.4.20.1.2.127.0.0.1|2|2 +1.3.6.1.2.1.4.20.1.2.192.168.0.1|2|1 +1.3.6.1.2.1.4.20.1.3.0.0.0.0|64|0.0.0.0 +1.3.6.1.2.1.4.20.1.3.10.254.2.90|64|255.255.254.0 +1.3.6.1.2.1.4.20.1.3.127.0.0.1|64|255.255.0.0 +1.3.6.1.2.1.4.20.1.3.192.168.0.1|64|255.255.255.0 +1.3.6.1.2.1.4.22.1.2.1.10.254.2.1|4x|00238B037A12 +1.3.6.1.2.1.4.22.1.2.1.10.254.2.2|4x|00248CDE8402 +1.3.6.1.2.1.4.22.1.2.1.10.254.2.90|4x|0019CB3C20DB +1.3.6.1.2.1.5.23.0|65|0 +1.3.6.1.2.1.5.24.0|65|0 +1.3.6.1.2.1.5.25.0|65|0 +1.3.6.1.2.1.5.26.0|65|0 +1.3.6.1.2.1.11.26.0|65|0 +1.3.6.1.2.1.11.27.0|65|0 +1.3.6.1.2.1.11.28.0|65|172512 +1.3.6.1.2.1.11.29.0|65|0 +1.3.6.1.2.1.11.30.0|2|2 +1.3.6.1.2.1.11.31.0|65|0 +1.3.6.1.2.1.11.32.0|65|0 +1.3.6.1.4.1.890.1.5.8.20.1.1.0|2|3 +1.3.6.1.4.1.890.1.5.8.20.1.10.0|4|0Z0724031894 +1.3.6.1.4.1.890.1.5.8.20.12.7.0|2|30