Initial commit: SNMP NID Viewer toolkit

SNMP walk parser (snmp-parse.py) with MIB resolution, structured LLDP
neighbor extraction, IP address parsing, and comprehensive table
reconstruction for Accedian AMN-1000-GT-S NIDs.

HTML viewer generator (build_nid_viewer.py) with dark-themed dashboard
including LLDP topology diagram, SFP optics, traffic stats, alarms,
port config, coverage matrix, and policy/filter/regulator sections.

Includes 15 Accedian MIB files and sample walk data from 10.13.60.102.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
sam 2026-03-02 10:11:23 -07:00
commit dfdbd85bf7
28 changed files with 185483 additions and 0 deletions

1587
build_nid_viewer.py Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,75 @@
--
-- Accedian Enterprise Specific MIB: Structure of Management Information
--
-- Copyright (c) 2005-2008, Accedian Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
--
ACCEDIAN-SMI DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-IDENTITY, enterprises
FROM SNMPv2-SMI;
accedianMIB MODULE-IDENTITY
LAST-UPDATED "200608060100Z"
ORGANIZATION "Accedian Networks, Inc."
CONTACT-INFO
"Accedian Technical Assistance Center
Accedian Networks, Inc.
4878 Levy, suite 202
Saint-Laurent, Quebec Canada H4R 2P1
E-mail: support@accedian.com"
DESCRIPTION
"The Structure of Management Information for Accedian Networks."
REVISION "200608060100Z" -- 6 Aug 2006
DESCRIPTION
"Initial version of MIB module ACCEDIAN-SMI."
::= { enterprises 22420 }
--
-- Accedian MIB tree structure
--
acdProducts OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The root of Accedian's Product OIDs."
::= { accedianMIB 1 }
acdMibs OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The root of Accedian's MIB objects."
::= { accedianMIB 2 }
acdTraps OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The root of Accedian's Trap OIDs."
::= { accedianMIB 3 }
-- This is the top-level object identifier registry used by Accedian
-- products for SNMP modules containing experimental MIB definitions.
-- In this context, experimental MIBs are defined as:
-- 1) IETF work-in-process MIBs which have not been assigned a permanent
-- object identifier by the IANA.
-- 2) Accedian work-in-process MIBs that have not achieved final
-- production quality or field experience.
-- NOTE: Support for MIBs under the this OID subtree is temporary and
-- changes to objects may occur without notice."
acdExperiment OBJECT IDENTIFIER ::= { accedianMIB 4 }
acdServices OBJECT-IDENTITY
STATUS current
DESCRIPTION
"The root of Accedian's Services OIDs."
::= { accedianMIB 5 }
END

510
mibs/accedian/ACD-ALARM-MIB Normal file
View File

@ -0,0 +1,510 @@
--
-- Accedian Enterprise Specific MIB: Structure of Management Information
--
-- Copyright (c) 2005-2011, Accedian Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
--
ACD-ALARM-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
Unsigned32
FROM SNMPv2-SMI
DisplayString, TruthValue, DateAndTime
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
sysName
FROM SNMPv2-MIB
acdMibs
FROM ACCEDIAN-SMI;
acdAlarm MODULE-IDENTITY
LAST-UPDATED "201110100100Z"
ORGANIZATION "Accedian Networks, Inc."
CONTACT-INFO
"Accedian Technical Assistance Center
Accedian Networks, Inc.
4878 Levy, suite 202
Saint-Laurent, Quebec Canada H4R 2P1
E-mail: support@accedian.com"
DESCRIPTION
"The alarm Table for this Accedian Networks device."
REVISION "201110100100Z" -- 10 October 2011
DESCRIPTION
"Add acdAlarmCfgTableLastChangeTid and
acdAlarmStatusTableLastChangeTid."
REVISION "201011100100Z" -- 10 November 2010
DESCRIPTION
"Fix compliance section."
REVISION "200902040100Z" -- 4 Feb 2009
DESCRIPTION
"Add new fields in acdAlarmCfgEntry, acdAlarmActiveState and
acdAlarmClearState."
REVISION "200802010100Z" -- 1 Feb 2008
DESCRIPTION
"Add UNITS clause to object, where appropriate."
REVISION "200705220100Z" -- 22 May 2007
DESCRIPTION
"Add acdAlarmCfgNumber object to Alarm traps."
REVISION "200612190100Z" -- 19 Dec 2006
DESCRIPTION
"Add 802.3AH notification enable and msg field in status table."
REVISION "200608060100Z" -- 6 Aug 2006
DESCRIPTION
"Initial version of MIB module ACD-ALARM-MIB."
::= { acdMibs 1 }
acdAlarmMIBObjects OBJECT IDENTIFIER ::= { acdAlarm 15 }
acdAlarmConfig OBJECT IDENTIFIER ::= { acdAlarmMIBObjects 1 }
acdAlarmStatus OBJECT IDENTIFIER ::= { acdAlarmMIBObjects 2 }
acdAlarmConformance OBJECT IDENTIFIER ::= { acdAlarmMIBObjects 3 }
acdAlarmTableTid OBJECT IDENTIFIER ::= { acdAlarmMIBObjects 4 }
---------------------------------------------------------------------------
-- Alarm General configuration
---------------------------------------------------------------------------
acdAlarmGenThreshOn OBJECT-TYPE
SYNTAX Unsigned32 (500..50000)
UNITS "milliseconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This value represents the Alarm On Hysteris. This is the time since the
detection of the On event inside the system versus the report. This is
to avoid storm of notifications."
::= { acdAlarm 1 }
acdAlarmGenThreshOff OBJECT-TYPE
SYNTAX Unsigned32 (500..50000)
UNITS "milliseconds"
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This value represents the Alarm Off Hysteris. This is the time since the
detection of the Off event inside the system versus the report. This is
to avoid storm of notifications."
::= { acdAlarm 2 }
acdAlarmGenLedEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This is to Enable the alarms reporting through the LEDs."
::= { acdAlarm 3 }
acdAlarmGenSyslogEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This is to Enable the alarms reporting through the syslog system."
::= { acdAlarm 4 }
acdAlarmGenSNMPEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This is to Enable the alarms reporting through the SNMP agent."
::= { acdAlarm 5 }
acdAlarmGen8023AHEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This is to Enable the alarms reporting through the 802.3AH protocol."
::= { acdAlarm 6 }
---------------------------------------------------------------------------
-- The Alarm configuration table
-- This table contains the configuration for each alarm.
---------------------------------------------------------------------------
acdAlarmCfgTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdAlarmCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of all alarms."
::= { acdAlarm 10 }
acdAlarmCfgEntry OBJECT-TYPE
SYNTAX AcdAlarmCfgEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An alarm is an exceptional event that requires user notificaton."
INDEX { acdAlarmCfgID }
::= { acdAlarmCfgTable 1 }
AcdAlarmCfgEntry ::= SEQUENCE {
acdAlarmCfgID Unsigned32,
acdAlarmCfgNumber Unsigned32,
acdAlarmCfgDesc DisplayString,
acdAlarmCfgEnable TruthValue,
acdAlarmCfgSeverity INTEGER,
acdAlarmCfgServiceAffecting TruthValue,
acdAlarmCfgExtNumber DisplayString,
acdAlarmCfgConditionType DisplayString,
acdAlarmCfgAMOType DisplayString
}
acdAlarmCfgID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Unique value for each alarm. Its value ranges from 1 to
MAXINT (4 bytes). "
::= { acdAlarmCfgEntry 1 }
acdAlarmCfgNumber OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Unique number that identifies this alarm. Assigned by the unit. The
alarm identifier is compose of 3 fields, the module number, the instance
number and the error number. The alarm number looks like this:
A.BBB.CC and is expressed in decimal, A is the module number, BBB is
the instance number (1-999) and CC is the error number (1-99). A module
number is assigned for each source of alarm in the system. For example
the port module is set to 1, the SFP module is set to 2, the PAA is set
to 3 and the environmental is set to 8."
::= { acdAlarmCfgEntry 2 }
acdAlarmCfgDesc OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..128))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This string is to describe the alarm in a readable way, e.g.:
+5Vdc Power supply fail."
::= { acdAlarmCfgEntry 3 }
acdAlarmCfgEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This is to indicate if the alarm is reported or not."
::= { acdAlarmCfgEntry 4 }
acdAlarmCfgSeverity OBJECT-TYPE
SYNTAX INTEGER {
info(0),
minor(1),
major(2),
critical(3)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Accedian Networks classifies alarms into four severity types. These types
and their associated decimal codes are, informational(0), minor(1),
major(2) and critical(3)."
::= { acdAlarmCfgEntry 5 }
acdAlarmCfgServiceAffecting OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This is to indicate if the alarm is service affecting or not. This
value depends on the utilization of the box. For instance in an
application where the monitoring of the traffic is mandatory the link
down event on the monitor port is service affecting."
::= { acdAlarmCfgEntry 6 }
acdAlarmCfgExtNumber OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..16))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Unique number that identifies this alarm. Assigned by the unit. The
alarm identifier is compose of 3 fields, the module number, the instance
number and the error number. The alarm number looks like this:
A.B.C and is expressed in decimal, A is the module number, B is
the instance number and C is the error number. A module number is
assigned for each source of alarm in the system (see Accedian
documentation for more detail)."
::= { acdAlarmCfgEntry 7 }
acdAlarmCfgConditionType OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..32))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the type of alarm condition."
::= { acdAlarmCfgEntry 8 }
acdAlarmCfgAMOType OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..128))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the Alarm Maintenance Object."
::= { acdAlarmCfgEntry 9 }
---------------------------------------------------------------------------
-- The Alarms Status table
-- This table contains the status of all alarms.
---------------------------------------------------------------------------
acdAlarmStatusTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdAlarmStatusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of all alarms"
::= { acdAlarm 11 }
acdAlarmStatusEntry OBJECT-TYPE
SYNTAX AcdAlarmStatusEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An alarm is an exceptional event that requires user notificaton."
INDEX { acdAlarmStatusID }
::= { acdAlarmStatusTable 1 }
AcdAlarmStatusEntry ::= SEQUENCE {
acdAlarmStatusID Unsigned32,
acdAlarmStatusNumber Unsigned32,
acdAlarmStatusOn TruthValue,
acdAlarmStatusLastChange DateAndTime,
acdAlarmStatusMsg DisplayString
}
acdAlarmStatusID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Unique value for each alarm. Its value ranges from 1 to
MAXINT (4 bytes). "
::= { acdAlarmStatusEntry 1 }
acdAlarmStatusNumber OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Unique number that identifies this alarm. Assigned by the unit. The
alarm identifier is compose of 3 fields, the module number, the instance
number and the error number. The alarm number looks like this:
AAA.BBB.CC and is expressed in decimal, AAA is the module number, BBB is
the instance number (1-999) and CC is the error number (1-99). A module
number is assigned for each source of alarm in the system. For example
the port module is set to 1, the SFP module is set to 2, the PAA is set
to 3 and the environmental is set to 8."
::= { acdAlarmStatusEntry 2 }
acdAlarmStatusOn OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is to indicate if the alarm is On or Off."
::= { acdAlarmStatusEntry 3 }
acdAlarmStatusLastChange OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the time of the last change for this alarm. A value of zero
means that nothing happened to this alarm since the last reboot."
::= { acdAlarmStatusEntry 4 }
acdAlarmStatusMsg OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..32))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This string is to add information why the alarm is reported."
::= { acdAlarmStatusEntry 5 }
-- Accedian Alarm Traps
---------------------------------------------------------------------------
-- DESCRIPTION "Definition point for Accedian Alarm notifications."
---------------------------------------------------------------------------
acdAlarmV2 OBJECT IDENTIFIER ::= { acdAlarm 12 }
acdAlarmActiveState NOTIFICATION-TYPE
OBJECTS { acdAlarmCfgID,
acdAlarmCfgNumber,
acdAlarmCfgSeverity,
acdAlarmCfgServiceAffecting,
acdAlarmCfgDesc,
acdAlarmStatusLastChange,
acdAlarmCfgExtNumber,
acdAlarmCfgConditionType,
acdAlarmCfgAMOType,
sysName }
STATUS current
DESCRIPTION
"The SNMP trap that is generated when an alarm
entry crosses its rising threshold and generates
an event that is configured for sending SNMP
traps."
::= { acdAlarmV2 1 }
acdAlarmClearState NOTIFICATION-TYPE
OBJECTS { acdAlarmCfgID,
acdAlarmCfgNumber,
acdAlarmCfgSeverity,
acdAlarmCfgServiceAffecting,
acdAlarmCfgDesc,
acdAlarmStatusLastChange,
acdAlarmCfgExtNumber,
acdAlarmCfgConditionType,
acdAlarmCfgAMOType,
sysName }
STATUS current
DESCRIPTION
"The SNMP trap that is generated when an alarm
entry crosses its falling threshold and generates
an event that is configured for sending SNMP
traps."
::= { acdAlarmV2 2 }
---------------------------------------------------------------------------
-- Transaction ID Information
---------------------------------------------------------------------------
acdAlarmCfgTableLastChangeTid OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the transaction ID of the last change of the acdAlarmCfgTable
table. If this value is different since the last read this is indicate
a table change."
::= { acdAlarmTableTid 1 }
acdAlarmStatusTableLastChangeTid OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the transaction ID of the last change of the acdAlarmStatusTable
table. If this value is different since the last read this is indicate
a table change."
::= { acdAlarmTableTid 2 }
---------------------------------------------------------------------------
-- ACD-ALARM-MIB Module - Conformance Information
---------------------------------------------------------------------------
acdAlarmCompliances OBJECT IDENTIFIER ::= { acdAlarmConformance 1 }
acdAlarmGroups OBJECT IDENTIFIER ::= { acdAlarmConformance 2 }
---------------------------------------------------------------------------
-- Units of conformance
---------------------------------------------------------------------------
acdAlarmGenGroup OBJECT-GROUP
OBJECTS {
acdAlarmGenThreshOn,
acdAlarmGenThreshOff,
acdAlarmGenLedEnable,
acdAlarmGenSyslogEnable,
acdAlarmGenSNMPEnable,
acdAlarmGen8023AHEnable
}
STATUS current
DESCRIPTION
"."
::= { acdAlarmGroups 1 }
acdAlarmCfgGroup OBJECT-GROUP
OBJECTS {
acdAlarmCfgID,
acdAlarmCfgNumber,
acdAlarmCfgDesc,
acdAlarmCfgEnable,
acdAlarmCfgSeverity,
acdAlarmCfgServiceAffecting,
acdAlarmCfgExtNumber,
acdAlarmCfgConditionType,
acdAlarmCfgAMOType
}
STATUS current
DESCRIPTION
"."
::= { acdAlarmGroups 2 }
acdAlarmStatusGroup OBJECT-GROUP
OBJECTS {
acdAlarmStatusID,
acdAlarmStatusNumber,
acdAlarmStatusOn,
acdAlarmStatusLastChange,
acdAlarmStatusMsg
}
STATUS current
DESCRIPTION
"."
::= { acdAlarmGroups 3 }
acdAlarmNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
acdAlarmActiveState,
acdAlarmClearState
}
STATUS current
DESCRIPTION
"Objects for the Notifications group."
::= { acdAlarmGroups 4 }
acdAlarmTidGroup OBJECT-GROUP
OBJECTS {
acdAlarmCfgTableLastChangeTid,
acdAlarmStatusTableLastChangeTid
}
STATUS current
DESCRIPTION
"List of scalars to monitior changes in tables."
::= { acdAlarmGroups 5 }
---------------------------------------------------------------------------
-- MIB Module Compliance statements
---------------------------------------------------------------------------
acdAlarmCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for support of the ACD-ALARM-MIB module."
MODULE
MANDATORY-GROUPS {
acdAlarmGenGroup,
acdAlarmCfgGroup,
acdAlarmStatusGroup,
acdAlarmNotificationsGroup,
acdAlarmTidGroup
}
::= { acdAlarmCompliances 1 }
END

4329
mibs/accedian/ACD-CFM-MIB Normal file

File diff suppressed because it is too large Load Diff

544
mibs/accedian/ACD-DESC-MIB Normal file
View File

@ -0,0 +1,544 @@
--
-- Accedian Enterprise Specific MIB
--
-- Copyright (c) 2005-2015, Accedian Networks, Inc.
-- All rights reserved.
--
-- The contents of this document is subject to change without notice.
--
ACD-DESC-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
Integer32, Unsigned32, Gauge32
FROM SNMPv2-SMI
DisplayString, TruthValue, MacAddress
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
sysName
FROM SNMPv2-MIB
acdProducts
FROM ACCEDIAN-SMI;
acdDesc MODULE-IDENTITY
LAST-UPDATED "201512250100Z"
ORGANIZATION "Accedian Networks, Inc."
CONTACT-INFO
"Accedian Technical Assistance Center
Accedian Networks, Inc.
2351 Alfred-Nobel blvd., Suite N-410
Saint-Laurent, Quebec Canada H4S 2A9
E-mail: support@accedian.com"
DESCRIPTION
"The Accedian Networks device Description MIB."
REVISION "201512250100Z" -- 25 Dec 2015
DESCRIPTION
"Added hardware options information."
REVISION "201407020100Z" -- 2 July 2014
DESCRIPTION
"Added system uptime in seconds."
REVISION "201308100100Z" -- 10 August 2013
DESCRIPTION
"Add label for Temperature sensors. Add note about LT
products truncating of values"
REVISION "201011100100Z" -- 10 November 2010
DESCRIPTION
"Fix compliance statement."
REVISION "201006300100Z" -- 30 june 2010
DESCRIPTION
"Revision for 10GE product introduction."
REVISION "200902040100Z" -- 4 Feb 2009
DESCRIPTION
"Add sysName in power lost (Dying gasp) notification."
REVISION "200812010100Z" -- 1 Dec 2008
DESCRIPTION
"Add power lost (Dying gasp) notification."
REVISION "200608060100Z" -- 6 Aug 2006
DESCRIPTION
"Initial version of MIB module ACD-DESC-MIB."
::= { acdProducts 1 }
acdDescNotifications OBJECT IDENTIFIER ::= { acdDesc 0 }
acdDescMIBObjects OBJECT IDENTIFIER ::= { acdDesc 15 }
acdDescConformance OBJECT IDENTIFIER ::= { acdDescMIBObjects 1 }
---------------------------------------------------------------------------
-- EtherNID General information
---------------------------------------------------------------------------
acdDescCommercialName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This string is to describe the type of device."
::= { acdDesc 1 }
acdDescMacBaseAddr OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the Base of the EtherNID MAC addresses."
::= { acdDesc 2 }
acdDescIdentifier OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Identifies the EtherNID on your network."
::= { acdDesc 3 }
acdDescFirmwareVersion OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the version of the firmware currently loaded."
::= { acdDesc 4 }
acdDescHardwareVersion OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the assembly ID of the hardware."
::= { acdDesc 5 }
acdDescSerialNumber OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the serial number."
::= { acdDesc 6 }
acdDescHardwareOptions OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the Hardware options."
::= { acdDesc 7 }
acdDescCpuUsageCurrent OBJECT-TYPE
SYNTAX Gauge32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the current percentage of CPU usage."
::= { acdDesc 20 }
acdDescCpuUsageAverage15 OBJECT-TYPE
SYNTAX Gauge32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the average percentage of CPU usage over the last 15 seconds.
This object range from (0..100)."
::= { acdDesc 21 }
acdDescCpuUsageAverage30 OBJECT-TYPE
SYNTAX Gauge32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the average percentage of CPU usage over the last 30 seconds.
This object range from (0..100)."
::= { acdDesc 22 }
acdDescCpuUsageAverage60 OBJECT-TYPE
SYNTAX Gauge32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the average percentage of CPU usage over the last 60 seconds.
This object range from (0..100)."
::= { acdDesc 23 }
acdDescCpuUsageAverage900 OBJECT-TYPE
SYNTAX Gauge32 (0..100)
UNITS "percent"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the average percentage of CPU usage over the last 900
seconds. This object range from (0..100)."
::= { acdDesc 24 }
acdDescUptime OBJECT-TYPE
SYNTAX Unsigned32(1..4294967295)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Number of seconds elapsed since boot."
::= { acdDesc 25 }
---------------------------------------------------------------------------
-- The connector table
-- This table contains all the information related to the connector.
---------------------------------------------------------------------------
acdDescConnectorTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdDescConnectorEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of all connectors info"
::= { acdDesc 10 }
acdDescConnectorEntry OBJECT-TYPE
SYNTAX AcdDescConnectorEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This is the product connector definition."
INDEX { acdDescConnectorID }
::= { acdDescConnectorTable 1 }
AcdDescConnectorEntry ::= SEQUENCE {
acdDescConnectorID Unsigned32,
acdDescConnectorName DisplayString,
acdDescConnectorType INTEGER,
acdDescConnectorPoESupport TruthValue
}
acdDescConnectorID OBJECT-TYPE
SYNTAX Unsigned32(1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Unique value for each connector. Starting to one from left to right."
::= { acdDescConnectorEntry 1 }
acdDescConnectorName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Identifies the connector on the silkscreen."
::= { acdDescConnectorEntry 2 }
acdDescConnectorType OBJECT-TYPE
SYNTAX INTEGER {
other(1),
rj45(2),
rj45S(3), -- rj45 shielded
db9(4),
bnc(5),
fAUI(6), -- female aui
mAUI(7), -- male aui
fiberSC(8),
fiberMIC(9),
fiberST(10),
telco(11),
mtrj(12), -- fiber MT-RJ
hssdc(13), -- fiber channel style-2
fiberLC(14)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Describe the connector type, for instance an RJ-45 or an SFP."
::= { acdDescConnectorEntry 3 }
acdDescConnectorPoESupport OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is to indicate if the port support PoE or not."
::= { acdDescConnectorEntry 4 }
---------------------------------------------------------------------------
-- The Power Supply table
-- This table contains all the information related to the Power supplies.
---------------------------------------------------------------------------
acdDescPwrTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdDescPwrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of all Power Supplies"
::= { acdDesc 11 }
acdDescPwrEntry OBJECT-TYPE
SYNTAX AcdDescPwrEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This is the product available power supplies information."
INDEX { acdDescPwrID }
::= { acdDescPwrTable 1 }
AcdDescPwrEntry ::= SEQUENCE {
acdDescPwrID Unsigned32,
acdDescPwrName DisplayString,
acdDescPwrType INTEGER,
acdDescPwrPresent TruthValue
}
acdDescPwrID OBJECT-TYPE
SYNTAX Unsigned32(1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Unique value for each power supply."
::= { acdDescPwrEntry 1 }
acdDescPwrName OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Identifies the power supply."
::= { acdDescPwrEntry 2 }
acdDescPwrType OBJECT-TYPE
SYNTAX INTEGER {
pwrplus5volts(1),
pwrminus48volts(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Describe the Power Supply type."
::= { acdDescPwrEntry 3 }
acdDescPwrPresent OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is to indicate if the power supply is present or not."
::= { acdDescPwrEntry 4 }
---------------------------------------------------------------------------
-- The Temperature sensor table
-- This table contains all the information for the Temperature sensors.
---------------------------------------------------------------------------
acdDescTsTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdDescTsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of all Teperature Sensors."
::= { acdDesc 12 }
acdDescTsEntry OBJECT-TYPE
SYNTAX AcdDescTsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This is the product available Temperature sensor information."
INDEX { acdDescTsID }
::= { acdDescTsTable 1 }
AcdDescTsEntry ::= SEQUENCE {
acdDescTsID Unsigned32,
acdDescTsCurrentTemp Integer32,
acdDescTsFirstThres Integer32,
acdDescTsFisrtThresPass TruthValue,
acdDescTsSecondThres Integer32,
acdDescTsSecondThresPass TruthValue,
acdDescTsLabel DisplayString
}
acdDescTsID OBJECT-TYPE
SYNTAX Unsigned32(1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Unique value for each Temperature Sensor."
::= { acdDescTsEntry 1 }
acdDescTsCurrentTemp OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Current temperature in Celsius around the temperature sensor.
On LT and LT-S units this value is truncated and does not
include the decimals."
::= { acdDescTsEntry 2 }
acdDescTsFirstThres OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Temperature value in Celsius to declare this threshold crossed.
On LT and LT-S units this value is truncated and does not
include the decimals."
::= { acdDescTsEntry 3 }
acdDescTsFisrtThresPass OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is to indicate if the temperature cross the first threshold."
::= { acdDescTsEntry 4 }
acdDescTsSecondThres OBJECT-TYPE
SYNTAX Integer32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Temperature value in Celsius to declare this second threshold crossed.
On LT and LT-S units this value is truncated and does not
include the decimals."
::= { acdDescTsEntry 5 }
acdDescTsSecondThresPass OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is to indicate if the temperature cross the second threshold."
::= { acdDescTsEntry 6 }
acdDescTsLabel OBJECT-TYPE
SYNTAX DisplayString(SIZE(1..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Label of the temperature sensor."
::= { acdDescTsEntry 7 }
-- ****************************************************************************
-- NOTIFICATIONS (TRAPS)
-- ****************************************************************************
acdPowerLost NOTIFICATION-TYPE
OBJECTS { acdDescCommercialName,
acdDescMacBaseAddr,
acdDescIdentifier,
acdDescSerialNumber,
sysName }
STATUS current
DESCRIPTION
"The SNMP trap that is generated by a unit when it detect a power lost.
It's the equivalent of the 802.3ah dying gasp."
::= { acdDescNotifications 1 }
---------------------------------------------------------------------------
-- ACD-DESC-MIB Module - Conformance Information
---------------------------------------------------------------------------
acdDescCompliances OBJECT IDENTIFIER ::= { acdDescConformance 1 }
acdDescGroups OBJECT IDENTIFIER ::= { acdDescConformance 2 }
---------------------------------------------------------------------------
-- Units of conformance
---------------------------------------------------------------------------
acdDescGenGroup OBJECT-GROUP
OBJECTS {
acdDescCommercialName,
acdDescMacBaseAddr,
acdDescIdentifier,
acdDescFirmwareVersion,
acdDescHardwareVersion,
acdDescSerialNumber,
acdDescHardwareOptions,
acdDescCpuUsageCurrent,
acdDescCpuUsageAverage15,
acdDescCpuUsageAverage30,
acdDescCpuUsageAverage60,
acdDescCpuUsageAverage900,
acdDescUptime
}
STATUS current
DESCRIPTION
"."
::= { acdDescGroups 1 }
acdDescConnectorGroup OBJECT-GROUP
OBJECTS {
acdDescConnectorName,
acdDescConnectorType,
acdDescConnectorPoESupport
}
STATUS current
DESCRIPTION
"."
::= { acdDescGroups 2 }
acdDescPwrGroup OBJECT-GROUP
OBJECTS {
acdDescPwrName,
acdDescPwrType,
acdDescPwrPresent
}
STATUS current
DESCRIPTION
"."
::= { acdDescGroups 3 }
acdDescTsGroup OBJECT-GROUP
OBJECTS {
acdDescTsCurrentTemp,
acdDescTsFirstThres,
acdDescTsFisrtThresPass,
acdDescTsSecondThres,
acdDescTsSecondThresPass,
acdDescTsLabel
}
STATUS current
DESCRIPTION
"."
::= { acdDescGroups 4 }
acdDescNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
acdPowerLost
}
STATUS current
DESCRIPTION
"Objects for the Notifications group."
::= { acdDescGroups 5 }
---------------------------------------------------------------------------
-- MIB Module Compliance statements
---------------------------------------------------------------------------
acdDescCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for support of the ACD-DESC-MIB module."
MODULE
MANDATORY-GROUPS {
acdDescGenGroup,
acdDescConnectorGroup,
acdDescPwrGroup,
acdDescTsGroup,
acdDescNotificationsGroup
}
::= { acdDescCompliances 1 }
END

View File

@ -0,0 +1,511 @@
--
-- Accedian Enterprise Specific MIB
--
-- Copyright (c) 2005-2011, Accedian Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
--
ACD-DISCOVERY-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress, Unsigned32 FROM SNMPv2-SMI
DisplayString, DateAndTime, MacAddress FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF
acdMibs FROM ACCEDIAN-SMI;
acdDiscovery MODULE-IDENTITY
LAST-UPDATED "201210110100Z"
ORGANIZATION "Accedian Networks, Inc."
CONTACT-INFO
"Accedian Technical Assistance Center
Accedian Networks, Inc.
2351 Alfred-Nobel blvd., Suite N-410
Saint-Laurent, Quebec Canada H4S 2A9
E-mail: support@accedian.com"
DESCRIPTION
"The discovery inventory information for this Accedian Networks device."
REVISION "201210110100Z" -- 11 October 2012
DESCRIPTION
"Addition of MAC Address List table."
REVISION "201111010100Z" -- 1 November 2011
DESCRIPTION
"Addition of MAC Address List table."
REVISION "200810010100Z" -- 1 October 2008
DESCRIPTION
"Initial version of MIB module ACD-DISCOVERY-MIB."
::= { acdMibs 11 }
acdDiscoveryNotifications OBJECT IDENTIFIER ::= { acdDiscovery 0 }
acdDiscoveryMIBObjects OBJECT IDENTIFIER ::= { acdDiscovery 1 }
acdDiscoveryConformance OBJECT IDENTIFIER ::= { acdDiscovery 2 }
--
-- ACD Discovery MIB Objects
--
acdDiscoveryInventory OBJECT IDENTIFIER ::= { acdDiscoveryMIBObjects 1 }
-------------------------------------------------------------------------------
-- The discovery inventory table.
-- This table contains the information on all the NID neighbors.
-------------------------------------------------------------------------------
acdDiscoveryInventoryTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdDiscoveryInventoryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of information on neighboring NIDs"
::= { acdDiscoveryInventory 1 }
acdDiscoveryInventoryEntry OBJECT-TYPE
SYNTAX AcdDiscoveryInventoryEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Inventory information."
INDEX { acdDiscoveryIndex }
::= { acdDiscoveryInventoryTable 1 }
AcdDiscoveryInventoryEntry ::= SEQUENCE {
acdDiscoveryIndex Unsigned32,
acdDiscoveryMgmtIpAddress IpAddress,
acdDiscoverySystemName DisplayString,
acdDiscoverySystemDesc DisplayString,
acdDiscoverySerialNumber DisplayString,
acdDiscoveryLastChange DateAndTime,
acdDiscoveryDomain DisplayString,
acdDiscoveryFirmware DisplayString,
acdDiscoveryBaseMacAddress MacAddress,
acdDiscoveryInterfaceMacAddress MacAddress,
acdDiscoveryChassisIdSubtype Unsigned32,
acdDiscoveryChassisId DisplayString,
acdDiscoveryLocalPortId DisplayString,
acdDiscoveryRemotePortId DisplayString,
acdDiscoveryWebServerPort Unsigned32,
acdDiscoverySnmpAgentPort Unsigned32,
acdDiscoverySshPort Unsigned32,
acdDiscoveryVlan1 Unsigned32,
acdDiscoveryVlan2 Unsigned32
}
acdDiscoveryIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The value of this object uniquely identifies this acdDiscovery
entry."
::= { acdDiscoveryInventoryEntry 1 }
acdDiscoveryMgmtIpAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The IP address of the management interface."
::= { acdDiscoveryInventoryEntry 2 }
acdDiscoverySystemName OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"An administratively-assigned name for this managed node."
::= { acdDiscoveryInventoryEntry 3 }
acdDiscoverySystemDesc OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The system description."
::= { acdDiscoveryInventoryEntry 4 }
acdDiscoverySerialNumber OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the serial number of the unit."
::= { acdDiscoveryInventoryEntry 5 }
acdDiscoveryLastChange OBJECT-TYPE
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the last time we received an information frame for the device."
::= { acdDiscoveryInventoryEntry 6 }
acdDiscoveryDomain OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..63))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the discovery domain."
::= { acdDiscoveryInventoryEntry 7 }
acdDiscoveryFirmware OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The firmware version of the unit."
::= { acdDiscoveryInventoryEntry 8 }
acdDiscoveryBaseMacAddress OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The base MAC address of the remote NID based on the last information
frame received from the device. If no information has been received,
this object shall be equal to six octets of zero."
::= { acdDiscoveryInventoryEntry 9 }
acdDiscoveryInterfaceMacAddress OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The management interface MAC address of the remote NID based on the
last information frame received from the device. If no information has
been received, this object shall be equal to six octets of zero."
::= { acdDiscoveryInventoryEntry 10 }
acdDiscoveryChassisIdSubtype OBJECT-TYPE
SYNTAX Unsigned32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The chassis ID subtype, as defined by IEEE 802.1AB."
::= { acdDiscoveryInventoryEntry 11 }
acdDiscoveryChassisId OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The chassis ID of the remote device."
::= { acdDiscoveryInventoryEntry 12 }
acdDiscoveryLocalPortId OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object identifies the port name where the advertisement frame was received."
::= { acdDiscoveryInventoryEntry 13 }
acdDiscoveryRemotePortId OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object identifies the advertisement port of the remote device."
::= { acdDiscoveryInventoryEntry 14 }
acdDiscoveryWebServerPort OBJECT-TYPE
SYNTAX Unsigned32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The web server port of the remote device."
::= { acdDiscoveryInventoryEntry 15 }
acdDiscoverySnmpAgentPort OBJECT-TYPE
SYNTAX Unsigned32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The SNMP agent port of the remote device. If 0, SNMP agent is disabled."
::= { acdDiscoveryInventoryEntry 16 }
acdDiscoverySshPort OBJECT-TYPE
SYNTAX Unsigned32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The SSH port of the remote device."
::= { acdDiscoveryInventoryEntry 17 }
acdDiscoveryVlan1 OBJECT-TYPE
SYNTAX Unsigned32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The first VLAN on the remote device interface. No VLAN when this value is zero."
::= { acdDiscoveryInventoryEntry 18 }
acdDiscoveryVlan2 OBJECT-TYPE
SYNTAX Unsigned32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The second VLAN on the remote device interface. No VLAN when this value is zero."
::= { acdDiscoveryInventoryEntry 19 }
---------------------------------------------------------------------------
-- The IP interface table
-- This table contains all interfaces found on the remote device, excluding the
-- management interface, which was configured by a beacon frame.
---------------------------------------------------------------------------
acdDiscoveryIpListTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdDiscoveryIpListEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains all interfaces found on the remote device, excluding the
management interface, which was configured by a beacon frame."
::= { acdDiscoveryInventory 2 }
acdDiscoveryIpListEntry OBJECT-TYPE
SYNTAX AcdDiscoveryIpListEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry consisting of the IP address of an interface on the remote device."
INDEX { acdDiscoveryIndex, acdDiscoveryIpListIndex }
::= { acdDiscoveryIpListTable 1 }
AcdDiscoveryIpListEntry ::= SEQUENCE {
acdDiscoveryIpListIndex Unsigned32,
acdDiscoveryIpListAddress IpAddress
}
acdDiscoveryIpListIndex OBJECT-TYPE
SYNTAX Unsigned32 (0..63)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Unique value for each row. Based on number of interface found."
::= { acdDiscoveryIpListEntry 1 }
acdDiscoveryIpListAddress OBJECT-TYPE
SYNTAX IpAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the IP address on one of the interfaces found on the remote NID."
::= { acdDiscoveryIpListEntry 2 }
---------------------------------------------------------------------------
-- The port MAC address table.
-- This table contains MAC address or ports found on the remote device.
-- For a first phase, only the MAC addresses for ports of a line cards in
-- a MetroNODE chassis are listed. Eventually, we may add to the list the
-- MAC address of all available ports including those of a MetroNID and
-- those of a controller card of a MetroNODE.
---------------------------------------------------------------------------
acdDiscoveryMacAddressListTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdDiscoveryMacAddressListEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains MAC addresses of ports found on the remote device. Not
all port MAC addresses are necessary listed."
::= { acdDiscoveryInventory 3 }
acdDiscoveryMacAddressListEntry OBJECT-TYPE
SYNTAX AcdDiscoveryMacAddressListEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry consisting of the MAC address of a port on the remote device."
INDEX { acdDiscoveryIndex, acdDiscoveryMacAddressListIndex }
::= { acdDiscoveryMacAddressListTable 1 }
AcdDiscoveryMacAddressListEntry ::= SEQUENCE {
acdDiscoveryMacAddressListIndex Unsigned32,
acdDiscoveryMacAddressListSystemSlotId Unsigned32,
acdDiscoveryMacAddressListPortId Unsigned32,
acdDiscoveryMacAddressListPortName DisplayString,
acdDiscoveryMacAddressListPortMacAddress MacAddress
}
acdDiscoveryMacAddressListIndex OBJECT-TYPE
SYNTAX Unsigned32 (0..63)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Unique value for each row. Based on number of port MAC addresses found."
::= { acdDiscoveryMacAddressListEntry 1 }
acdDiscoveryMacAddressListSystemSlotId OBJECT-TYPE
SYNTAX Unsigned32 (0..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"System slot identifier of module on which the port is located.
Applies only to a MetroNODE module. Value is 0 for a MetroNID device."
::= { acdDiscoveryMacAddressListEntry 2 }
acdDiscoveryMacAddressListPortId OBJECT-TYPE
SYNTAX Unsigned32 (0..63)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Port identifier."
::= { acdDiscoveryMacAddressListEntry 3 }
acdDiscoveryMacAddressListPortName OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..31))
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Port name."
::= { acdDiscoveryMacAddressListEntry 4 }
acdDiscoveryMacAddressListPortMacAddress OBJECT-TYPE
SYNTAX MacAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the MAC address of one of the ports found on the remote device."
::= { acdDiscoveryMacAddressListEntry 5 }
acdDiscoveryInventoryInserts OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295)
UNITS "table entries"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the complete set of information
advertised by a particular device has been inserted into the
inventory database.
This counter should be incremented only once after the
complete set of information is successfully recorded
in the inventory database."
::= { acdDiscoveryInventory 4 }
acdDiscoveryInventoryAgeouts OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295)
UNITS "table entries"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the complete set of information
advertised by a particular device has been deleted from the
inventory database because the information timeliness interval
has expired.
This counter should be incremented only once when the complete
set of information is completely invalidated (aged out)."
::= { acdDiscoveryInventory 5 }
acdDiscoveryInventoryChange NOTIFICATION-TYPE
OBJECTS { acdDiscoveryInventoryInserts,
acdDiscoveryInventoryAgeouts
}
STATUS current
DESCRIPTION
"The SNMP notification generated when a change is detected in the
inventory database."
::= { acdDiscoveryNotifications 1 }
--
-- ***********************************************************
--
-- D I S C O V E R Y M I B C O N F O R M A N C E
--
-- ***********************************************************
--
-- ACD-DISCOVERY-MIB Module - Conformance Information
acdDiscoveryCompliances OBJECT IDENTIFIER ::= { acdDiscoveryConformance 1 }
acdDiscoveryGroups OBJECT IDENTIFIER ::= { acdDiscoveryConformance 2 }
---------------------------------------------------------------------------
-- Units of conformance
---------------------------------------------------------------------------
acdDiscoveryInventoryGroup OBJECT-GROUP
OBJECTS {
acdDiscoveryMgmtIpAddress,
acdDiscoverySystemName,
acdDiscoverySystemDesc,
acdDiscoverySerialNumber,
acdDiscoveryLastChange,
acdDiscoveryDomain,
acdDiscoveryFirmware,
acdDiscoveryBaseMacAddress,
acdDiscoveryInterfaceMacAddress,
acdDiscoveryChassisIdSubtype,
acdDiscoveryChassisId,
acdDiscoveryLocalPortId,
acdDiscoveryRemotePortId,
acdDiscoveryWebServerPort,
acdDiscoverySnmpAgentPort,
acdDiscoverySshPort,
acdDiscoveryVlan1,
acdDiscoveryVlan2,
acdDiscoveryInventoryInserts,
acdDiscoveryInventoryAgeouts
}
STATUS current
DESCRIPTION
"."
::= { acdDiscoveryGroups 1 }
acdDiscoveryIpListGroup OBJECT-GROUP
OBJECTS {
acdDiscoveryIpListAddress
}
STATUS current
DESCRIPTION
"."
::= { acdDiscoveryGroups 2 }
acdDiscoveryMacAddressListGroup OBJECT-GROUP
OBJECTS {
acdDiscoveryMacAddressListSystemSlotId,
acdDiscoveryMacAddressListPortId,
acdDiscoveryMacAddressListPortName,
acdDiscoveryMacAddressListPortMacAddress
}
STATUS current
DESCRIPTION
"."
::= { acdDiscoveryGroups 3 }
acdDiscoveryNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
acdDiscoveryInventoryChange
}
STATUS current
DESCRIPTION
"Objects for the Inventory Notifications group."
::= { acdDiscoveryGroups 4 }
acdDiscoveryCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for support of the ACD-DISCOVERY-MIB module."
MODULE
MANDATORY-GROUPS {
acdDiscoveryInventoryGroup,
acdDiscoveryIpListGroup,
acdDiscoveryMacAddressListGroup,
acdDiscoveryNotificationsGroup
}
::= { acdDiscoveryCompliances 1 }
END

2102
mibs/accedian/ACD-FILTER-MIB Normal file

File diff suppressed because it is too large Load Diff

3265
mibs/accedian/ACD-PAA-MIB Normal file

File diff suppressed because it is too large Load Diff

1158
mibs/accedian/ACD-POLICY-MIB Normal file

File diff suppressed because it is too large Load Diff

2972
mibs/accedian/ACD-PORT-MIB Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1182
mibs/accedian/ACD-SA-MIB Normal file

File diff suppressed because it is too large Load Diff

1182
mibs/accedian/ACD-SFP-MIB Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,278 @@
--
-- Accedian Enterprise Specific MIB
--
-- Copyright (c) 2005-2009, Accedian Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
--
ACD-SHAPER-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
Unsigned32, Gauge32, Counter64
FROM SNMPv2-SMI
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
acdMibs
FROM ACCEDIAN-SMI;
acdShaper MODULE-IDENTITY
LAST-UPDATED "200911010100Z"
ORGANIZATION "Accedian Networks, Inc."
CONTACT-INFO
"Accedian Technical Assistance Center
Accedian Networks, Inc.
4878 Levy, suite 202
Saint-Laurent, Quebec Canada H4R 2P1
E-mail: support@accedian.com"
DESCRIPTION
"."
REVISION "200911010100Z" -- 1 Nov 2009
DESCRIPTION
"Initial version of MIB module ACD-SHAPER-MIB."
::= { acdMibs 10 }
acdShaper1 OBJECT IDENTIFIER ::= { acdShaper 1 }
acdShaper1MIBObjects OBJECT IDENTIFIER ::= { acdShaper1 1 }
acdShaper1Conformance OBJECT IDENTIFIER ::= { acdShaper1 2 }
acdShaper1Config OBJECT IDENTIFIER ::= { acdShaper1MIBObjects 1 }
acdShaper1Stats OBJECT IDENTIFIER ::= { acdShaper1MIBObjects 2 }
---------------------------------------------------------------------------
-- The Shaper Code Point statistics table
-- This table contains all Code Point statistics.
---------------------------------------------------------------------------
acdShaper1CodePointStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdShaper1CodePointStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains statistics for all Code Point in the system.
Each Code Point are define by tuple PCP, color, incoming port
and outgoing port."
::= { acdShaper1Stats 1 }
acdShaper1CodePointStatsEntry OBJECT-TYPE
SYNTAX AcdShaper1CodePointStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"."
INDEX { acdShaper1CodePointStatsDstID, acdShaper1CodePointStatsSrcID,
acdShaper1CodePointStatsColorID, acdShaper1CodePointStatsPcpID }
::= { acdShaper1CodePointStatsTable 1 }
AcdShaper1CodePointStatsEntry ::= SEQUENCE {
acdShaper1CodePointStatsDstID Unsigned32,
acdShaper1CodePointStatsSrcID Unsigned32,
acdShaper1CodePointStatsColorID INTEGER,
acdShaper1CodePointStatsPcpID Unsigned32,
acdShaper1CodePointStatsFwdOctets Counter64,
acdShaper1CodePointStatsFwdPkts Counter64,
acdShaper1CodePointStatsFwdRate Gauge32,
acdShaper1CodePointStatsDelayedOctets Counter64,
acdShaper1CodePointStatsDelayedPkts Counter64,
acdShaper1CodePointStatsDelayedRate Gauge32,
acdShaper1CodePointStatsOverflowOctets Counter64,
acdShaper1CodePointStatsOverflowPkts Counter64,
acdShaper1CodePointStatsOverflowRate Gauge32,
acdShaper1CodePointStatsQMgmtDropOctets Counter64,
acdShaper1CodePointStatsQMgmtDropPkts Counter64,
acdShaper1CodePointStatsQMgmtDropRate Gauge32
}
acdShaper1CodePointStatsDstID OBJECT-TYPE
SYNTAX Unsigned32 (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Destination port ID."
::= { acdShaper1CodePointStatsEntry 1 }
acdShaper1CodePointStatsSrcID OBJECT-TYPE
SYNTAX Unsigned32 (1..65535)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Source port ID."
::= { acdShaper1CodePointStatsEntry 2 }
acdShaper1CodePointStatsColorID OBJECT-TYPE
SYNTAX INTEGER {
green(1),
yellow(2)
}
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Color value."
::= { acdShaper1CodePointStatsEntry 3 }
acdShaper1CodePointStatsPcpID OBJECT-TYPE
SYNTAX Unsigned32 (0..7)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"PCP value."
::= { acdShaper1CodePointStatsEntry 4 }
acdShaper1CodePointStatsFwdOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total number of octets forwarded without delay."
::= { acdShaper1CodePointStatsEntry 5 }
acdShaper1CodePointStatsFwdPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total number of packets forwarded without delay."
::= { acdShaper1CodePointStatsEntry 6 }
acdShaper1CodePointStatsFwdRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Mbps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Bit rate in Mbps forwarded without delay."
::= { acdShaper1CodePointStatsEntry 7 }
acdShaper1CodePointStatsDelayedOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total number of octets enqueued."
::= { acdShaper1CodePointStatsEntry 8 }
acdShaper1CodePointStatsDelayedPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total number of packets enqueued."
::= { acdShaper1CodePointStatsEntry 9 }
acdShaper1CodePointStatsDelayedRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Mbps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Bit rate in Mbps enqueued."
::= { acdShaper1CodePointStatsEntry 10 }
acdShaper1CodePointStatsOverflowOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total number of octets dropped due to the queue overflow."
::= { acdShaper1CodePointStatsEntry 11 }
acdShaper1CodePointStatsOverflowPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total number of packets dropped due to the queue overflow."
::= { acdShaper1CodePointStatsEntry 12 }
acdShaper1CodePointStatsOverflowRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Mbps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Bit rate in Mbps dropped due to the queue overflow."
::= { acdShaper1CodePointStatsEntry 13 }
acdShaper1CodePointStatsQMgmtDropOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "Octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total number of octets dropped by the queue management algorithm."
::= { acdShaper1CodePointStatsEntry 14 }
acdShaper1CodePointStatsQMgmtDropPkts OBJECT-TYPE
SYNTAX Counter64
UNITS "Packets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Total number of packets dropped by the queue management algorithm."
::= { acdShaper1CodePointStatsEntry 15 }
acdShaper1CodePointStatsQMgmtDropRate OBJECT-TYPE
SYNTAX Gauge32
UNITS "Mbps"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Bit rate in Mbps dropped by the queue management algorithm."
::= { acdShaper1CodePointStatsEntry 16 }
---------------------------------------------------------------------------
-- ACD-SMAP-MIB Module - Conformance Information
---------------------------------------------------------------------------
acdShaper1Compliances OBJECT IDENTIFIER ::= { acdShaper1Conformance 1 }
acdShaper1Groups OBJECT IDENTIFIER ::= { acdShaper1Conformance 2 }
---------------------------------------------------------------------------
-- Units of conformance
---------------------------------------------------------------------------
acdShaper1CodePointStatsGroup OBJECT-GROUP
OBJECTS {
acdShaper1CodePointStatsFwdOctets,
acdShaper1CodePointStatsFwdPkts,
acdShaper1CodePointStatsFwdRate,
acdShaper1CodePointStatsDelayedOctets,
acdShaper1CodePointStatsDelayedPkts,
acdShaper1CodePointStatsDelayedRate,
acdShaper1CodePointStatsOverflowOctets,
acdShaper1CodePointStatsOverflowPkts,
acdShaper1CodePointStatsOverflowRate,
acdShaper1CodePointStatsQMgmtDropOctets,
acdShaper1CodePointStatsQMgmtDropPkts,
acdShaper1CodePointStatsQMgmtDropRate
}
STATUS current
DESCRIPTION
"."
::= { acdShaper1Groups 1 }
acdShaper1Compliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for support of the ACD-SHAPER-MIB module."
MODULE
MANDATORY-GROUPS {
acdShaper1CodePointStatsGroup
}
::= { acdShaper1Compliances 1 }
END

606
mibs/accedian/ACD-SMAP-MIB Normal file
View File

@ -0,0 +1,606 @@
--
-- Accedian Enterprise Specific MIB
--
-- Copyright (c) 2005-2008, Accedian Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
--
ACD-SMAP-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
Unsigned32
FROM SNMPv2-SMI
DisplayString, TruthValue, RowStatus
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP
FROM SNMPv2-CONF
acdMibs
FROM ACCEDIAN-SMI;
acdSmap MODULE-IDENTITY
LAST-UPDATED "201305110100Z"
ORGANIZATION "Accedian Networks, Inc."
CONTACT-INFO
"Accedian Technical Assistance Center
Accedian Networks, Inc.
2351 Alfred-Nobel blvd., Suite N-410
Saint-Laurent, Quebec Canada H4S 2A9
E-mail: support@accedian.com"
DESCRIPTION
"The Service mapping database for this Accedian Networks device."
REVISION "201305110100Z" -- 11 April 2013
DESCRIPTION
"Add port cos mapping tables."
REVISION "200810010100Z" -- 1 October 2008
DESCRIPTION
"Definition revision."
REVISION "200806150100Z" -- 15 June 2008
DESCRIPTION
"Initial version of MIB module ACD-SMAP-MIB."
::= { acdMibs 8 }
acdSmapNotifications OBJECT IDENTIFIER ::= { acdSmap 0 }
acdSmapMIBObjects OBJECT IDENTIFIER ::= { acdSmap 1 }
acdSmapConformance OBJECT IDENTIFIER ::= { acdSmap 2 }
acdSmapConfig OBJECT IDENTIFIER ::= { acdSmapMIBObjects 1 }
---------------------------------------------------------------------------
-- The CoS Profile configuration table
-- This table contains all CoS Profile entry configurations.
---------------------------------------------------------------------------
acdSmapCoSProfTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdSmapCoSProfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The CoS profile table. Each row in the table represents a CoS Profile.
A CoS profile is used to map an input packet to an L2 class of service.
This traffic mapping (classification) is accomplished using one of
the following fields in the incoming packet:
p-bits in 802.1Q / 802.1Q-in-Q tags
IP precedence bits in IPv4 TOS byte
DSCP bits in IPv4 DSCP byte
The class of service value (0-7) assigned to the outgoing traffic is
selected based on the conformance level (Green/Yellow) of the incoming
traffic. The following sections describe the general configuration
parameters and the mapping table of a CoS profile."
::= { acdSmapConfig 1 }
acdSmapCoSProfEntry OBJECT-TYPE
SYNTAX AcdSmapCoSProfEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry consisting of all settings to manage a CoS profile."
INDEX { acdSmapCoSProfID }
::= { acdSmapCoSProfTable 1 }
AcdSmapCoSProfEntry ::= SEQUENCE {
acdSmapCoSProfID Unsigned32,
acdSmapCoSProfRowStatus RowStatus,
acdSmapCoSProfName DisplayString,
acdSmapCoSProfType INTEGER,
acdSmapCoSProfDecodeDropBit TruthValue,
acdSmapCoSProfEncodeDropBit TruthValue
}
acdSmapCoSProfID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Unique value for each CoS Profile instance."
::= { acdSmapCoSProfEntry 1 }
acdSmapCoSProfRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"All columns must have a valid value before a row can be activated. To
create a new CoS Profile you shall provide the a unique name and the
type for an empty row with the RowStatus set to Create and Go. To
delete the CoS Profile you need to set the RowStatus to destroy."
::= { acdSmapCoSProfEntry 2 }
acdSmapCoSProfName OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..31))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This is a string to uniquely identify the CoS profile."
::= { acdSmapCoSProfEntry 3 }
acdSmapCoSProfType OBJECT-TYPE
SYNTAX INTEGER {
pcp(1),
dscp(2),
pre(3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Indicates the type of CoS profile. Possible values are: PCP, IP
precedence or DSCP."
::= { acdSmapCoSProfEntry 4 }
acdSmapCoSProfDecodeDropBit OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This field is only valid for PCP CoS profiles. If this field is set,
the pre-marking color is decoded from the DEI bit (Drop Eligible
Indication). Otherwise, the user defined pre-color is used."
DEFVAL { false }
::= { acdSmapCoSProfEntry 5 }
acdSmapCoSProfEncodeDropBit OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This field controls the DEI bit in an S-VLAN tag. If this field is set
and the outgoing packet is marked yellow then the DEI bit is set to 1.
Otherwise, the DEI is set to 0."
DEFVAL { false }
::= { acdSmapCoSProfEntry 6 }
---------------------------------------------------------------------------
-- The CoS Profile Code Point configuration table
-- This table contains all Code Point for a CoS profile entry.
---------------------------------------------------------------------------
acdSmapCoSProfCodePointTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdSmapCoSProfCodePointEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Configuration table of all code point entries. Each row in the
table represents a Code point. the number of code points depend of the
acdSmapCoSProfType value.
p-bits in 802.1Q / 802.1Q-in-Q tags
IP precedence bits in IPv4 TOS byte
DSCP bits in IPv4 DSCP byte
The class of service value (0-7) assigned to the outgoing traffic is
selected based on the conformance level (Green/Yellow) of the incoming
traffic."
::= { acdSmapConfig 2 }
acdSmapCoSProfCodePointEntry OBJECT-TYPE
SYNTAX AcdSmapCoSProfCodePointEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry consisting of all settings for a code point."
INDEX { acdSmapCoSProfID, acdSmapCoSProfCodePointID }
::= { acdSmapCoSProfCodePointTable 1 }
AcdSmapCoSProfCodePointEntry ::= SEQUENCE {
acdSmapCoSProfCodePointID Unsigned32,
acdSmapCoSProfCodePointPreMarkingColor INTEGER,
acdSmapCoSProfCodePointGreenOut Unsigned32,
acdSmapCoSProfCodePointYellowOut Unsigned32
}
acdSmapCoSProfCodePointID OBJECT-TYPE
SYNTAX Unsigned32 (0..63)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Unique value for each row. Base on Code Point, 0 to 63 for DSCP or 0
to 7 for PCP or IP precedence."
::= { acdSmapCoSProfCodePointEntry 1 }
acdSmapCoSProfCodePointPreMarkingColor OBJECT-TYPE
SYNTAX INTEGER {
green(1),
yellow(2)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This is the user pre-color to mark the incoming traffic. This field
is only valid if acdSmapCoSProfDecodeDropBit is not set."
DEFVAL { green }
::= { acdSmapCoSProfCodePointEntry 2 }
acdSmapCoSProfCodePointGreenOut OBJECT-TYPE
SYNTAX Unsigned32 (0..7)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The class of service value that will be used in the outgoing green
packets. This value is selected if the result of the bandwidth
regulator assigned to this entry is green or if the pre-marking
color is green and no bandwidth regulator is assigned to this entry."
DEFVAL { 0 }
::= { acdSmapCoSProfCodePointEntry 3 }
acdSmapCoSProfCodePointYellowOut OBJECT-TYPE
SYNTAX Unsigned32 (0..7)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The class of service value that will be used in the outgoing yellow
packets. This value is selected if the result of the bandwidth
regulator assigned to this entry is yellow or if the pre-marking
color is yellow and no bandwidth regulator is assigned to this entry."
DEFVAL { 0 }
::= { acdSmapCoSProfCodePointEntry 4 }
---------------------------------------------------------------------------
-- The Regulator Set configuration table
-- This table contains all Regulator Set entry configurations.
---------------------------------------------------------------------------
acdSmapRegSetTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdSmapRegSetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Regulator Set profile table. Each row in the table represents a
Regulator Set. A bandwidth regulator set allows the user to regulate
traffic based on the following information:
p-bits in 802.1Q / 802.1Q-in-Q tags
IP precedence bits in IPv4 TOS byte
DSCP bits in IPv4 DSCP byte.
"
::= { acdSmapConfig 3 }
acdSmapRegSetEntry OBJECT-TYPE
SYNTAX AcdSmapRegSetEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry consisting of all settings to manage a Regulator set."
INDEX { acdSmapRegSetID }
::= { acdSmapRegSetTable 1 }
AcdSmapRegSetEntry ::= SEQUENCE {
acdSmapRegSetID Unsigned32,
acdSmapRegSetRowStatus RowStatus,
acdSmapRegSetName DisplayString,
acdSmapRegSetType INTEGER
}
acdSmapRegSetID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Unique value for each Regulator set instance."
::= { acdSmapRegSetEntry 1 }
acdSmapRegSetRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"All columns must have a valid value before a row can be activated. To
create a new Regulator set you shall provide the a unique name and the
type for an empty row with the RowStatus set to Create and Go. To
delete the CoS Profile you need to set the RowStatus to destroy."
::= { acdSmapRegSetEntry 2 }
acdSmapRegSetName OBJECT-TYPE
SYNTAX DisplayString (SIZE (1..31))
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This is a string to uniquely identify the Regulator set."
::= { acdSmapRegSetEntry 3 }
acdSmapRegSetType OBJECT-TYPE
SYNTAX INTEGER {
pcp(1),
dscp(2),
pre(3)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"Indicates the type of Regulator Set. Possible values are: PCP, IP
precedence or DSCP."
::= { acdSmapRegSetEntry 4 }
---------------------------------------------------------------------------
-- The Regulator Set Code Point configuration table
-- This table contains all Code Point for a Regulator set profile entry.
---------------------------------------------------------------------------
acdSmapRegSetCodePointTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdSmapRegSetCodePointEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The Configuration table of all code point entries. Each row in the
table represents a Code point. the number of code points depend of the
acdSmapCoSProfType value.
p-bits in 802.1Q / 802.1Q-in-Q tags;
IP precedence bits in IPv4 TOS byte;
DSCP bits in IPv4 DSCP byte.
"
::= { acdSmapConfig 4 }
acdSmapRegSetCodePointEntry OBJECT-TYPE
SYNTAX AcdSmapRegSetCodePointEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry consisting of all settings for a code point."
INDEX { acdSmapRegSetID, acdSmapRegSetCodePointID }
::= { acdSmapRegSetCodePointTable 1 }
AcdSmapRegSetCodePointEntry ::= SEQUENCE {
acdSmapRegSetCodePointID Unsigned32,
acdSmapRegSetCodePointRegulatorID Unsigned32,
acdSmapRegSetCodePointRegulatorEnable TruthValue
}
acdSmapRegSetCodePointID OBJECT-TYPE
SYNTAX Unsigned32 (0..63)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Unique value for each row. Base on Code Point, 0 to 64 for DSCP or 0
to 7 for PCP or IP precedence."
::= { acdSmapRegSetCodePointEntry 1 }
acdSmapRegSetCodePointRegulatorID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The bandwidth regulator that will be used to regulate the traffic flow
that has this PCP/IP precendence/DSCP value. Refer to acdRegulatorTable
to find the exact identifier (same as acdRegulatorID)."
DEFVAL { 0 }
::= { acdSmapRegSetCodePointEntry 2 }
acdSmapRegSetCodePointRegulatorEnable OBJECT-TYPE
SYNTAX TruthValue
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Enable or disable traffic regulation for this PCP, IP precedence or
DSCP value."
DEFVAL { false }
::= { acdSmapRegSetCodePointEntry 3 }
---------------------------------------------------------------------------
-- The Port CoS to encode DEI enable configuration table
---------------------------------------------------------------------------
acdSmapPortCoSEncodeDeiTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdSmapPortCoSEncodeDeiEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"TBD"
::= { acdSmapConfig 5 }
acdSmapPortCoSEncodeDeiEntry OBJECT-TYPE
SYNTAX AcdSmapPortCoSEncodeDeiEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry consisting of all settings for a code point."
INDEX { acdSmapPortCoSPortID }
::= { acdSmapPortCoSEncodeDeiTable 1 }
AcdSmapPortCoSEncodeDeiEntry ::= SEQUENCE {
acdSmapPortCoSPortID Unsigned32,
acdSmapPortCoSEncodeDeiEnable INTEGER
}
acdSmapPortCoSPortID OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Unique value for each row. Based on port number."
::= { acdSmapPortCoSEncodeDeiEntry 1 }
acdSmapPortCoSEncodeDeiEnable OBJECT-TYPE
SYNTAX INTEGER {
enable(0),
disable(1)
}
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"Entry to enable/disable encode DEI on a port."
::= { acdSmapPortCoSEncodeDeiEntry 2 }
---------------------------------------------------------------------------
-- The Port CoS to Pcp mapping configuration table
-- This table contains all Code Point for a CoS profile entry.
---------------------------------------------------------------------------
acdSmapPortCoSMapTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdSmapPortCoSMapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"TBD"
::= { acdSmapConfig 6 }
acdSmapPortCoSMapEntry OBJECT-TYPE
SYNTAX AcdSmapPortCoSMapEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry consisting of all settings for a code point."
INDEX { acdSmapPortCoSPortID, acdSmapPortCoSMapID }
::= { acdSmapPortCoSMapTable 1 }
AcdSmapPortCoSMapEntry ::= SEQUENCE {
acdSmapPortCoSMapID Unsigned32,
acdSmapPortCoSMapCosIn Unsigned32,
acdSmapPortCoSMapGreenOut Unsigned32,
acdSmapPortCoSMapYellowOut Unsigned32
}
acdSmapPortCoSMapID OBJECT-TYPE
SYNTAX Unsigned32 (1..8)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique value based on CoS value."
::= { acdSmapPortCoSMapEntry 1 }
acdSmapPortCoSMapCosIn OBJECT-TYPE
SYNTAX Unsigned32 (0..7)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The CoS value for this entry."
::= { acdSmapPortCoSMapEntry 2 }
acdSmapPortCoSMapGreenOut OBJECT-TYPE
SYNTAX Unsigned32 (0..7)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The Priority code Point value that will be used in the outgoing green
packets. This value is selected if the result of the bandwidth
regulator assigned to this entry is green or if the pre-marking
color is green and no bandwidth regulator is assigned to this entry."
::= { acdSmapPortCoSMapEntry 3 }
acdSmapPortCoSMapYellowOut OBJECT-TYPE
SYNTAX Unsigned32 (0..7)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The Priority code Point value that will be used in the outgoing yellow
packets. This value is selected if the result of the bandwidth
regulator assigned to this entry is yellow or if the pre-marking
color is yellow and no bandwidth regulator is assigned to this entry."
::= { acdSmapPortCoSMapEntry 4 }
---------------------------------------------------------------------------
-- ACD-SMAP-MIB Module - Conformance Information
---------------------------------------------------------------------------
acdSmapCompliances OBJECT IDENTIFIER ::= { acdSmapConformance 1 }
acdSmapGroups OBJECT IDENTIFIER ::= { acdSmapConformance 2 }
---------------------------------------------------------------------------
-- Units of conformance
---------------------------------------------------------------------------
acdSmapCoSProfGroup OBJECT-GROUP
OBJECTS {
acdSmapCoSProfRowStatus,
acdSmapCoSProfName,
acdSmapCoSProfType,
acdSmapCoSProfDecodeDropBit,
acdSmapCoSProfEncodeDropBit
}
STATUS current
DESCRIPTION
"Objects for the CoS profile Group."
::= { acdSmapGroups 1 }
acdSmapCoSProfCodePointGroup OBJECT-GROUP
OBJECTS {
acdSmapCoSProfCodePointPreMarkingColor,
acdSmapCoSProfCodePointGreenOut,
acdSmapCoSProfCodePointYellowOut
}
STATUS current
DESCRIPTION
"Objects for the CoS profile CodePoint Group."
::= { acdSmapGroups 2 }
acdSmapRegSetGroup OBJECT-GROUP
OBJECTS {
acdSmapRegSetRowStatus,
acdSmapRegSetName,
acdSmapRegSetType
}
STATUS current
DESCRIPTION
"Objects for the Regulator Set Group."
::= { acdSmapGroups 3 }
acdSmapRegSetCodePointGroup OBJECT-GROUP
OBJECTS {
acdSmapRegSetCodePointRegulatorID,
acdSmapRegSetCodePointRegulatorEnable
}
STATUS current
DESCRIPTION
"Objects for the Regulator Set CodePoint Group."
::= { acdSmapGroups 4 }
acdSmapPortCoSEncodeDeiGroup OBJECT-GROUP
OBJECTS {
acdSmapPortCoSEncodeDeiEnable
}
STATUS current
DESCRIPTION
"Objects for the Port CoS Map DIE enable Group."
::= { acdSmapGroups 5 }
acdSmapPortCoSMapGroup OBJECT-GROUP
OBJECTS {
acdSmapPortCoSMapCosIn,
acdSmapPortCoSMapGreenOut,
acdSmapPortCoSMapYellowOut
}
STATUS current
DESCRIPTION
"Objects for the CoS profile CodePoint Group."
::= { acdSmapGroups 6 }
acdSmapCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for support of the ACD-SMAP-MIB module."
MODULE
MANDATORY-GROUPS {
acdSmapCoSProfGroup,
acdSmapCoSProfCodePointGroup,
acdSmapRegSetGroup,
acdSmapRegSetCodePointGroup,
acdSmapPortCoSEncodeDeiGroup,
acdSmapPortCoSMapGroup
}
OBJECT acdSmapCoSProfRowStatus
SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION "Support for createAndWait is not required."
OBJECT acdSmapRegSetRowStatus
SYNTAX RowStatus { active(1) }
WRITE-SYNTAX RowStatus { createAndGo(4), destroy(6) }
DESCRIPTION "Support for createAndWait is not required."
::= { acdSmapCompliances 1 }
END

272
mibs/accedian/ACD-TID-MIB Normal file
View File

@ -0,0 +1,272 @@
--
-- Accedian Enterprise Specific MIB
--
-- Copyright (c) 2005-2012, Accedian Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
--
ACD-TID-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE,
Unsigned32,
NOTIFICATION-TYPE
FROM SNMPv2-SMI
DisplayString, TEXTUAL-CONVENTION
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP,
NOTIFICATION-GROUP
FROM SNMPv2-CONF
acdMibs
FROM ACCEDIAN-SMI;
acdTid MODULE-IDENTITY
LAST-UPDATED "201211052200Z"
ORGANIZATION "Accedian Networks, Inc."
CONTACT-INFO
"Accedian Technical Assistance Center
Accedian Networks, Inc.
2351 Alfred-Nobel blvd., Suite N-410
Saint-Laurent, Quebec Canada H4S 2A9
E-mail: support@accedian.com"
DESCRIPTION
"The Transaction ID database for this Accedian Networks device."
REVISION "201211052200Z" -- 05 November 2012
DESCRIPTION
"Add global configuration change notification."
REVISION "201111110100Z" -- 11 November 2011
DESCRIPTION
"Initial version of MIB module ACD-TID-MIB."
::= { acdMibs 14 }
acdTidNotifications OBJECT IDENTIFIER ::= { acdTid 0 }
acdTidMIBObjects OBJECT IDENTIFIER ::= { acdTid 1 }
acdTidConformance OBJECT IDENTIFIER ::= { acdTid 2 }
acdTidGeneral OBJECT IDENTIFIER ::= { acdTidMIBObjects 1 }
acdTidInfo OBJECT IDENTIFIER ::= { acdTidMIBObjects 2 }
acdTidGlobalCfg OBJECT IDENTIFIER ::= { acdTidMIBObjects 3 }
---------------------------------------------------------------------------
-- Textual conventions
---------------------------------------------------------------------------
AcdTidType ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
"Indicate if the object is covers by the acdTidCfgLastChangeTid or
or by the acdTidStatusLastChangeTid transaction identifier."
SYNTAX INTEGER {
configuration(1),
status(2)
}
---------------------------------------------------------------------------
-- Transaction Identifier General onfiguration
--
---------------------------------------------------------------------------
acdTidCfgLastChangeTid OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the transaction ID of the last change of a configuration
object. If this value is different since the last read this is
indicate a change."
::= { acdTidGeneral 1 }
acdTidStatusLastChangeTid OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the transaction ID of the last change of a status object.
If this value is different since the last read this is indicate
a change."
::= { acdTidGeneral 2 }
---------------------------------------------------------------------------
-- Table of all object covers by Transaction Identifier feature.
---------------------------------------------------------------------------
acdTidInfoTable OBJECT-TYPE
SYNTAX SEQUENCE OF AcdTidInfoEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Table of all object covers by Transaction Identifier feature."
::= { acdTidInfo 1 }
acdTidInfoEntry OBJECT-TYPE
SYNTAX AcdTidInfoEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry contains information applicble to a specific object."
INDEX { acdTidInfoIndex }
::= { acdTidInfoTable 1 }
AcdTidInfoEntry ::= SEQUENCE {
acdTidInfoIndex Unsigned32,
acdTidInfoOID OBJECT IDENTIFIER,
acdTidInfoType AcdTidType,
acdTidInfoDescr DisplayString,
acdTidInfoLastChangeTid Unsigned32
}
acdTidInfoIndex OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A unique value, greater than zero, for each entry."
::= { acdTidInfoEntry 1 }
acdTidInfoOID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object identifies the OID covers by this transaction
Identifier."
::= { acdTidInfoEntry 2 }
acdTidInfoType OBJECT-TYPE
SYNTAX AcdTidType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicate if the object is covers by the acdTidCfgLastChangeTid or
or by the acdTidStatusLastChangeTid transaction identifier."
::= { acdTidInfoEntry 3 }
acdTidInfoDescr OBJECT-TYPE
SYNTAX DisplayString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A textual description of the object point by acdTidInfoOID."
::= { acdTidInfoEntry 4 }
acdTidInfoLastChangeTid OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the transaction ID of the last change of a the object
point by acdTidInfoOID. If this value is different since the
last read this is indicate a change."
::= { acdTidInfoEntry 5 }
---------------------------------------------------------------------------
-- Transaction Identifier Global Configuration change
--
---------------------------------------------------------------------------
acdTidglobalCfgChangeCount OBJECT-TYPE
SYNTAX Unsigned32
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This is the number of times a configuration change was detected.
There may be more than one change per detected event."
::= { acdTidGlobalCfg 2 }
-- ***********************************************************
-- ACD-TID-MIB Module - N O T I F I C A T I O N S
-- ***********************************************************
acdTidNotificationPrefix OBJECT IDENTIFIER ::= { acdTidNotifications 0 }
acdTidGlobalCfgChange NOTIFICATION-TYPE
OBJECTS {
acdTidglobalCfgChangeCount
}
STATUS current
DESCRIPTION
"A Configuration Change notification is sent when the system
has detected that a monitored configuration item has changed
Note that transmission of acdTidConfigChange notifications
are throttled by the agent and by the system. The count given
in actTidCfgChangeCount represent the number of times a change
was detected by the system. Timing in the agent may skip some
changes as it is desired not to flood the network with configuration
changes."
::= { acdTidNotificationPrefix 1 }
---------------------------------------------------------------------------
-- ACD-TID-MIB Module - Conformance Information
---------------------------------------------------------------------------
acdTidCompliances OBJECT IDENTIFIER ::= { acdTidConformance 1 }
acdTidGroups OBJECT IDENTIFIER ::= { acdTidConformance 2 }
---------------------------------------------------------------------------
-- Units of conformance
---------------------------------------------------------------------------
acdTidGeneralGroup OBJECT-GROUP
OBJECTS {
acdTidCfgLastChangeTid,
acdTidStatusLastChangeTid
}
STATUS current
DESCRIPTION
"List of scalars to monitior changes in supported object."
::= { acdTidGroups 1 }
acdTidTableGroup OBJECT-GROUP
OBJECTS {
acdTidInfoOID,
acdTidInfoType,
acdTidInfoDescr,
acdTidInfoLastChangeTid
}
STATUS current
DESCRIPTION
"Group for the acdTidTable."
::= { acdTidGroups 2 }
acdTidGlobalCfgGroup OBJECT-GROUP
OBJECTS {
acdTidglobalCfgChangeCount
}
STATUS current
DESCRIPTION
"Group for the acdTidGlobalCfgChange."
::= { acdTidGroups 3 }
acdTidNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
acdTidGlobalCfgChange
}
STATUS current
DESCRIPTION
"Group for the acdTidGlobalConfig."
::= { acdTidGroups 4 }
acdTidCompliance MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"The compliance statement for support of the ACD-TID-MIB module."
MODULE
MANDATORY-GROUPS {
acdTidGeneralGroup,
acdTidTableGroup,
acdTidGlobalCfgGroup,
acdTidNotificationsGroup
}
::= { acdTidCompliances 1 }
END

1417
snmp-parse.py Normal file

File diff suppressed because it is too large Load Diff

130
snmp-tojson.py Normal file
View File

@ -0,0 +1,130 @@
#!/usr/bin/env python3
"""
SNMP Walk Parser - Combined Nested JSON + Flat CSV + Basic Analysis
Reads a snmpwalk output file (net-snmp style with -On -OQ format)
Creates:
- nested JSON tree
- flat CSV with oid + value columns
- shows basic statistics and example filters
"""
import json
import re
import sys
from pathlib import Path
import pandas as pd
# ────────────────────────────────────────────────
# CONFIG - change these as needed
# ────────────────────────────────────────────────
INPUT_FILE = Path("~/snmp-walks/10-13-60-102_2026-02-27_11-23-07_walk.txt").expanduser()
# Where to save results (same folder as input by default)
OUTPUT_JSON = INPUT_FILE.with_suffix('.tree.json')
OUTPUT_CSV = INPUT_FILE.with_suffix('.flat.csv')
# ────────────────────────────────────────────────
# Helper functions
# ────────────────────────────────────────────────
def parse_line(line: str) -> tuple[str, str] | None:
"""Split oid and value, clean value quotes"""
line = line.strip()
if not line or 'No more variables left' in line:
return None
# Matches: .1.3.6.1.... "value with \"escaped\" quotes" or .1.3.6.1.... 12345
match = re.match(r'^(\.\d+(?:\.\d+)*)\s+(.*)$', line)
if not match:
return None
oid, value = match.groups()
value = value.strip()
# Remove surrounding quotes if present (simple case)
if value.startswith('"') and value.endswith('"'):
value = value[1:-1]
# Optional: you could add more cleaning here (unescape \", etc.)
return oid, value
def build_nested_tree(flat_data: dict[str, str]) -> dict:
"""Convert flat oid → value into nested dictionary"""
tree = {}
for oid, value in flat_data.items():
parts = oid.lstrip('.').split('.')
current = tree
for part in parts[:-1]:
current = current.setdefault(part, {})
current[parts[-1]] = value
return tree
def main():
if not INPUT_FILE.is_file():
print(f"File not found: {INPUT_FILE}", file=sys.stderr)
sys.exit(1)
print(f"Reading: {INPUT_FILE}")
print(f"Output: {OUTPUT_JSON}")
print(f" {OUTPUT_CSV}\n")
# ── Parse file ───────────────────────────────────────
flat_data = {} # oid → value
skipped = 0
with INPUT_FILE.open(encoding='utf-8', errors='replace') as f:
for line in f:
result = parse_line(line)
if result:
oid, value = result
flat_data[oid] = value
else:
skipped += 1
print(f"Parsed {len(flat_data):,} OIDs (skipped {skipped:,} lines)\n")
# ── 1. Nested JSON tree ──────────────────────────────
tree = build_nested_tree(flat_data)
with OUTPUT_JSON.open('w', encoding='utf-8') as f:
json.dump(tree, f, indent=2, ensure_ascii=False)
print(f"→ Nested tree saved: {OUTPUT_JSON}")
# ── 2. Flat DataFrame + CSV ──────────────────────────
df = pd.DataFrame.from_dict(flat_data, orient='index', columns=['value'])
df.index.name = 'oid'
df = df.reset_index()
df.to_csv(OUTPUT_CSV, index=False, encoding='utf-8')
print(f"→ Flat table saved: {OUTPUT_CSV}")
# ── Quick console summary & examples ─────────────────
print("\nQuick summary:")
print(f"Total entries: {len(df):,}")
print(f"Unique OID prefixes (top 8):")
df['prefix'] = df['oid'].str.replace(r'\.\d+$', '', regex=True)
print(df['prefix'].value_counts().head(8))
print("\nExample: System group (.1.3.6.1.2.1.1)")
system = df[df['oid'].str.startswith('.1.3.6.1.2.1.1')]
if not system.empty:
print(system[['oid', 'value']].to_string(index=False))
else:
print("→ No system group entries found")
print("\nExample: Interface descriptions (.1.3.6.1.2.1.2.2.1.2)")
ifaces = df[df['oid'].str.contains(r'\.1\.3\.6\.1\.2\.1\.2\.2\.1\.2\b')]
if not ifaces.empty:
print(ifaces[['oid', 'value']].to_string(index=False))
else:
print("→ No interface descriptions found")
print("\nDone. Open the .json or .csv file in VS Code / Excel / pandas.")
if __name__ == '__main__':
main()

View File

@ -0,0 +1 @@
Unknown flag passed to -C: r

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1507
walks/nid-viewer.html Normal file

File diff suppressed because one or more lines are too long