librenms/mibs/PW-ENET-STD-MIB

481 lines
16 KiB
Plaintext
Raw Normal View History

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