mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
git-svn-id: http://www.observium.org/svn/observer/trunk@3250 61d68cd4-352d-0410-923a-c4978735b2b8
481 lines
16 KiB
Plaintext
481 lines
16 KiB
Plaintext
PW-ENET-STD-MIB DEFINITIONS ::= BEGIN
|
|
|
|
IMPORTS
|
|
OBJECT-TYPE, MODULE-IDENTITY, Unsigned32
|
|
FROM SNMPv2-SMI -- [RFC2578]
|
|
|
|
pwe3
|
|
FROM FOUNDRY-SN-ROOT-MIB
|
|
|
|
MODULE-COMPLIANCE, OBJECT-GROUP
|
|
FROM SNMPv2-CONF -- [RFC2580]
|
|
|
|
StorageType, RowStatus
|
|
FROM SNMPv2-TC -- [RFC2579]
|
|
|
|
InterfaceIndexOrZero
|
|
FROM IF-MIB -- [RFC2863]
|
|
|
|
ZeroBasedCounter32
|
|
FROM RMON2-MIB -- [RFC4502]
|
|
|
|
pwIndex
|
|
FROM PW-STD-MIB -- [PWMIB]
|
|
-- RFC Editor: Please replace
|
|
-- PWMIB with correct RFC #
|
|
|
|
PwVlanCfg
|
|
FROM PW-TC-STD-MIB; -- [PWTC]
|
|
-- RFC Editor: Please replace
|
|
-- PWTC with correct RFC #
|
|
|
|
pwEnetStdMIB MODULE-IDENTITY
|
|
LAST-UPDATED "200705201200Z" -- 20 May 2007 12:00:00 GMT
|
|
ORGANIZATION "IETF PWE3 Working group"
|
|
CONTACT-INFO
|
|
"David Zelig
|
|
E-mail: davidz@corrigent.com
|
|
|
|
Thomas D. Nadeau
|
|
Email: tnadeau@cisco.com
|
|
"
|
|
DESCRIPTION
|
|
"This MIB module describes a model for managing Ethernet
|
|
point-to-point pseudo-wire services over a Packet
|
|
Switched Network (PSN).
|
|
|
|
Copyright (C) The IETF Trust (2007). This version
|
|
of this MIB module is part of RFC yyyy; see the RFC
|
|
itself for full legal notices.
|
|
-- RFC Editor: replace yyyy with the actual RFC number and remove
|
|
-- this note
|
|
"
|
|
|
|
-- Revision history.
|
|
REVISION "200705201200Z" -- 20 May 2007 12:00:00 GMT
|
|
DESCRIPTION "Initial version published as part of RFC XXXX."
|
|
-- RFC Editor: Please replace XXXX with the actual RFC number and
|
|
-- remove this note
|
|
|
|
|
|
::= { pwe3 4 }
|
|
-- ::= { transmission XXXX }
|
|
-- RFC Editor: Please replace
|
|
-- XXXX with IANA assigned value.
|
|
-- See IANA considerations section.
|
|
|
|
pwEnetObjects OBJECT IDENTIFIER ::= { pwEnetStdMIB 1 }
|
|
pwEnetConformance OBJECT IDENTIFIER ::= { pwEnetStdMIB 2 }
|
|
|
|
--
|
|
-- Ethernet PW table
|
|
--
|
|
|
|
pwEnetTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF PwEnetEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table contains the index to the Ethernet tables
|
|
associated with this ETH PW, the VLAN configuration and
|
|
VLAN mode."
|
|
::= { pwEnetObjects 1 }
|
|
|
|
pwEnetEntry OBJECT-TYPE
|
|
SYNTAX PwEnetEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table is indexed by the same index that was created
|
|
for the associated entry in the PW generic table in the
|
|
PW-STD-MIB module.
|
|
The pwIndex and the pwEnetPwInstance are used as indexes
|
|
to allow multiple VLANs to exist on the same PW.
|
|
|
|
An entry is created in this table by the agent for every
|
|
entry in the pwTable with a pwType of 'ethernetTagged'
|
|
or 'ethernet'. Additional rows may be created by the
|
|
operator or the agent if multiple entries are required for
|
|
the same PW.
|
|
|
|
The value of pwEnetPwInstance can be arbitrary selected
|
|
to make the row unique, however implementations that know
|
|
the VLAN field value when the row is created MAY use the
|
|
value of the VLAN itself for better readability and
|
|
backward compatibility with older versions of this MIB
|
|
module.
|
|
|
|
This table provides Ethernet port mapping and VLAN
|
|
configuration for each Ethernet PW.
|
|
|
|
All read-create object in this table MAY be changed at any
|
|
time, however change of some objects (for example
|
|
pwEnetVlanMode) during PW forwarding state MAY cause traffic
|
|
disruption.
|
|
|
|
Manual entries in this table SHOULD be preserved after a
|
|
re-boot, the agent MUST ensure the integrity of those
|
|
entries. If the set of entires of a specific row are found to
|
|
be non consistent after reboot, the PW pwOperStatus MUST be
|
|
declared as notPresent(5).
|
|
"
|
|
|
|
INDEX { pwIndex, pwEnetPwInstance }
|
|
::= { pwEnetTable 1 }
|
|
|
|
|
|
PwEnetEntry ::= SEQUENCE {
|
|
pwEnetPwInstance Unsigned32,
|
|
pwEnetPwVlan PwVlanCfg,
|
|
pwEnetVlanMode INTEGER,
|
|
pwEnetPortVlan PwVlanCfg,
|
|
|
|
pwEnetPortIfIndex InterfaceIndexOrZero,
|
|
pwEnetPwIfIndex InterfaceIndexOrZero,
|
|
|
|
pwEnetRowStatus RowStatus,
|
|
pwEnetStorageType StorageType
|
|
}
|
|
|
|
pwEnetPwInstance OBJECT-TYPE
|
|
SYNTAX Unsigned32
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"If multiple rows are mapped to the same PW, this index is
|
|
used to uniquely identify the individual row.
|
|
If the value of the VLAN field is known at the time of
|
|
of row creation, the value of pwEnetPwVlan MAY be used
|
|
for better readability and backward compatibility with
|
|
older versions of this MIB module. Otherwise the value
|
|
'1' SHOULD be set to the first row for each pwIndex
|
|
for better readability and in order that the management
|
|
application will know in advance how to access the
|
|
first row when it was created by the agent.
|
|
"
|
|
::= { pwEnetEntry 1 }
|
|
|
|
pwEnetPwVlan OBJECT-TYPE
|
|
SYNTAX PwVlanCfg
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This Object defines the (service delimiting) VLAN field
|
|
value on the PW. The value of 4097 MUST be used if the
|
|
object is not applicable, for example when mapping all
|
|
packets from an Ethernet port to this PW (raw mode).
|
|
The value 4096 MUST be set to indicate untagged frames
|
|
(from the PW point of view), i.e. when pwEnetVlanMode
|
|
equals 'noChange' and pwEnetPortVlan equals 4096."
|
|
::= { pwEnetEntry 2 }
|
|
|
|
pwEnetVlanMode OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
other(0),
|
|
portBased(1),
|
|
noChange(2),
|
|
changeVlan(3),
|
|
addVlan(4),
|
|
removeVlan(5)
|
|
}
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object indicates the mode of VLAN handling between the
|
|
port or the virtual port associated with the PW and the
|
|
PW encapsulation.
|
|
|
|
- 'other' indicates an operation that is not defined by
|
|
this MIB module.
|
|
|
|
- 'portBased' indicates that the forwarder will forward
|
|
packets between the port and the PW independent of their
|
|
structure (i.e. there is no service delimiting VLAN tags
|
|
from the PE standpoint).
|
|
|
|
- 'noChange' indicates that the PW contains the original
|
|
user VLAN, as specified in pwEnetPortVlan, i.e. the
|
|
VLAN on the PE-CE link is the service delimiting tag
|
|
and is kept 'as is' on the PW.
|
|
|
|
- 'changeVlan' indicates that the VLAN field on the PW
|
|
may be different than the VLAN field on the user's
|
|
port. The VLAN on the PE-CE link is the service delimiting
|
|
tag but has a different value on the PW.
|
|
|
|
- 'removeVlan' indicates that the encapsulation on the
|
|
PW does not include the service delimiting VLAN field.
|
|
Note that PRI bits transparency is lost in this case.
|
|
|
|
- 'addVlan' indicates that a VLAN field will be added
|
|
on the PSN bound direction (i.e. on the PW). pwEnetPwVlan
|
|
indicates the value that will be added.
|
|
|
|
- Implementation of 'portsbased', 'removeVlan', 'addVlan'
|
|
'other' and 'changeVlan' is OPTIONAL.
|
|
"
|
|
DEFVAL { noChange }
|
|
::= { pwEnetEntry 3 }
|
|
|
|
pwEnetPortVlan OBJECT-TYPE
|
|
SYNTAX PwVlanCfg
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object defines if the mapping between the original port
|
|
(physical port or VPLS virtual port) to the PW is VLAN based
|
|
or not. In case of VLAN mapping, this object indicates the
|
|
the VLAN value on the original port.
|
|
|
|
The value of '4097' MUST be used if the whole original port
|
|
traffic is mapped to the same PW. Note that a pwType of
|
|
'ethernetTagged' can still be used if service delimiting tag
|
|
is added on the PW (pwEnetVlanMode equals 'addVlan').
|
|
|
|
This object MUST be equal to pwEnetPwVlan if pwEnetVlanMode
|
|
equals 'noChange'.
|
|
|
|
The value 4096 indicates packets without VLAN field
|
|
(i.e. untagged frames) on the port are associated to this
|
|
PW. This allows the same behavior as assigning 'Default
|
|
VLAN' to untagged frames.
|
|
"
|
|
DEFVAL { 4097 }
|
|
::= { pwEnetEntry 4 }
|
|
|
|
pwEnetPortIfIndex OBJECT-TYPE
|
|
SYNTAX InterfaceIndexOrZero
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object is used to specify the ifIndex of the Ethernet
|
|
port associated with this PW for point-to-point Ethernet
|
|
service, or the ifIndex of the virtual interface of the
|
|
VPLS instance associated with the PW if the service is
|
|
VPLS. Two rows in this table can point to the same ifIndex
|
|
only if there is no overlap of VLAN values specified in
|
|
pwEnetPortVlan that are associated with this port.
|
|
|
|
A value of zero indicates that association to an ifIndex is
|
|
not yet known."
|
|
|
|
::= { pwEnetEntry 5 }
|
|
|
|
pwEnetPwIfIndex OBJECT-TYPE
|
|
SYNTAX InterfaceIndexOrZero
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"If the PW is modeled as an ifIndex in the ifTable, this
|
|
object indicates the value of the ifIndex representing the
|
|
Ethernet PW on the PSN side in the Etherlike-MIB. Note that
|
|
this value may be different from the value of pwIfIndex
|
|
that represents the ifIndex of the PW for ifType 'pw'."
|
|
|
|
DEFVAL { 0 }
|
|
::= { pwEnetEntry 6 }
|
|
|
|
pwEnetRowStatus OBJECT-TYPE
|
|
SYNTAX RowStatus
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object enables creating, deleting and modifying this row."
|
|
::= { pwEnetEntry 7 }
|
|
|
|
pwEnetStorageType OBJECT-TYPE
|
|
SYNTAX StorageType
|
|
MAX-ACCESS read-create
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This object indicates the storage type of this row."
|
|
DEFVAL { nonVolatile }
|
|
::= { pwEnetEntry 8 }
|
|
|
|
--
|
|
-- Ethernet PW Statistics Table
|
|
--
|
|
|
|
pwEnetStatsTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF PwEnetStatsEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This table contains statistical counters specific for
|
|
Ethernet PW."
|
|
::= { pwEnetObjects 2 }
|
|
|
|
pwEnetStatsEntry OBJECT-TYPE
|
|
SYNTAX PwEnetStatsEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Each entry represents the statistics gathered for the
|
|
PW carrying the Ethernet."
|
|
INDEX { pwIndex }
|
|
::= { pwEnetStatsTable 1 }
|
|
|
|
|
|
PwEnetStatsEntry ::= SEQUENCE {
|
|
pwEnetStatsIllegalVlan ZeroBasedCounter32,
|
|
pwEnetStatsIllegalLength ZeroBasedCounter32
|
|
}
|
|
|
|
pwEnetStatsIllegalVlan OBJECT-TYPE
|
|
SYNTAX ZeroBasedCounter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of packets received (from the PSN) on this PW
|
|
with either an illegal VLAN field, a missing VLAN field
|
|
when one was expected, or an excessive VLAN field when
|
|
it was not expected. This counter may not be applicable
|
|
in some cases, and MUST return the value of zero in
|
|
such a case."
|
|
::= { pwEnetStatsEntry 1 }
|
|
|
|
pwEnetStatsIllegalLength OBJECT-TYPE
|
|
SYNTAX ZeroBasedCounter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of packets that were received with an illegal
|
|
Ethernet packet length on this PW. An illegal length is
|
|
defined as being greater than the value in the advertised
|
|
MTU supported, or shorter than the allowed Ethernet packet
|
|
size."
|
|
::= { pwEnetStatsEntry 2 }
|
|
|
|
---
|
|
--- Conformance description
|
|
---
|
|
|
|
pwEnetGroups OBJECT IDENTIFIER ::= { pwEnetConformance 1 }
|
|
pwEnetCompliances OBJECT IDENTIFIER ::= { pwEnetConformance 2 }
|
|
|
|
-- Compliance requirement for fully compliant implementations.
|
|
|
|
pwEnetModuleFullCompliance MODULE-COMPLIANCE
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The compliance statement for agents that provide full
|
|
support for the PW-ENET-STD-MIB Module. Such devices
|
|
can then be monitored and also be configured using
|
|
this MIB module."
|
|
MODULE -- this module
|
|
MANDATORY-GROUPS {
|
|
pwEnetGroup,
|
|
pwEnetStatsGroup
|
|
}
|
|
|
|
OBJECT pwEnetVlanMode
|
|
DESCRIPTION "An implementation MUST support at least the value
|
|
noChange(2)."
|
|
|
|
OBJECT pwEnetPwIfIndex
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION "Write access and values other than zero are
|
|
required only for implementations that support
|
|
modeling the Ethernet PW in the Etherlike-MIB."
|
|
|
|
OBJECT pwEnetRowStatus
|
|
SYNTAX INTEGER { active(1), notInService(2),
|
|
notReady(3) }
|
|
WRITE-SYNTAX INTEGER { active(1), notInService(2),
|
|
createAndGo(4), destroy(6)
|
|
}
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION "Support for createAndWait is not required. Support
|
|
of notReady is not required for implementations that
|
|
do not support signaling.
|
|
Support of read-write is not required for
|
|
implementations that do not support more than one
|
|
VLAN mapping to the same PW."
|
|
|
|
::= { pwEnetCompliances 1 }
|
|
|
|
-- Compliance requirement for read-only compliant implementations.
|
|
|
|
|
|
pwEnetModuleReadOnlyCompliance MODULE-COMPLIANCE
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The compliance statement for agents that provide read-
|
|
only support for the PW-ENET-STD-MIB Module. Such
|
|
devices can then be monitored but cannot be configured
|
|
using this MIB module."
|
|
|
|
MODULE -- this module
|
|
MANDATORY-GROUPS { pwEnetGroup,
|
|
pwEnetStatsGroup
|
|
}
|
|
|
|
OBJECT pwEnetPwVlan
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION "Write access is not required."
|
|
|
|
OBJECT pwEnetVlanMode
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION "Write access is not required. An implementation
|
|
MUST support at least the value noChange(2)."
|
|
|
|
OBJECT pwEnetPortVlan
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION "Write access is not required."
|
|
|
|
OBJECT pwEnetPortIfIndex
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION "Write access is not required."
|
|
|
|
OBJECT pwEnetPwIfIndex
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION "Write access is not required. Values other than
|
|
zero are required only for implementations that
|
|
support modeling the Ethernet PW in the
|
|
Etherlike-MIB."
|
|
|
|
OBJECT pwEnetRowStatus
|
|
SYNTAX INTEGER { active(1), notInService(2),
|
|
notReady(3) }
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION "Write access is not required. Support
|
|
of notReady is not required for implementations that
|
|
do not support signaling."
|
|
|
|
OBJECT pwEnetStorageType
|
|
MIN-ACCESS read-only
|
|
DESCRIPTION "Write access is not required."
|
|
|
|
::= { pwEnetCompliances 2 }
|
|
|
|
-- Units of conformance.
|
|
|
|
pwEnetGroup OBJECT-GROUP
|
|
OBJECTS {
|
|
pwEnetPwVlan,
|
|
pwEnetVlanMode,
|
|
pwEnetPortVlan,
|
|
pwEnetPortIfIndex,
|
|
pwEnetPwIfIndex,
|
|
pwEnetRowStatus,
|
|
pwEnetStorageType
|
|
}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Collection of objects for basic Ethernet PW configuration."
|
|
::= { pwEnetGroups 1 }
|
|
|
|
pwEnetStatsGroup OBJECT-GROUP
|
|
OBJECTS {
|
|
pwEnetStatsIllegalVlan,
|
|
pwEnetStatsIllegalLength
|
|
}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Collection of objects counting various PW level errors."
|
|
::= { pwEnetGroups 2 }
|
|
|
|
END
|
|
|
|
|