-- Extracted from rfc3637.txt
--
ETHER-WIS DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE,
   Gauge32, transmission
       FROM SNMPv2-SMI
   ifIndex
       FROM IF-MIB
   MODULE-COMPLIANCE, OBJECT-GROUP
       FROM SNMPv2-CONF
   sonetMediumStuff2, sonetSectionStuff2,
   sonetLineStuff2, sonetFarEndLineStuff2,
   sonetPathStuff2, sonetFarEndPathStuff2,
   sonetMediumType, sonetMediumLineCoding,
   sonetMediumLineType, sonetMediumCircuitIdentifier,
   sonetMediumLoopbackConfig, sonetSESthresholdSet,
   sonetPathCurrentWidth
       FROM SONET-MIB;

etherWisMIB MODULE-IDENTITY
   LAST-UPDATED "200309190000Z"  -- September 19, 2003
       ORGANIZATION "IETF Ethernet Interfaces and Hub MIB
                    Working Group"
       CONTACT-INFO
          "WG charter:
             http://www.ietf.org/html.charters/hubmib-charter.html

           Mailing Lists:
             General Discussion: hubmib@ietf.org
             To Subscribe: hubmib-request@ietf.org
             In Body: subscribe your_email_address

            Chair: Dan Romascanu
           Postal: Avaya Inc.
                   Atidim Technology Park, Bldg. 3
                   Tel Aviv 61131
                   Israel
              Tel: +972 3 645 8414
           E-mail: dromasca@avaya.com

           Editor: C. M. Heard
           Postal: 600 Rainbow Dr. #141
                   Mountain View, CA 94041-2542
                   USA
              Tel: +1 650-964-8391
           E-mail: heard@pobox.com"
   DESCRIPTION
     "The objects in this MIB module are used in conjunction
     with objects in the SONET-MIB and the MAU-MIB to manage
     the Ethernet WAN Interface Sublayer (WIS).

     The following reference is used throughout this MIB module:

     [IEEE 802.3 Std] refers to:
        IEEE Std 802.3, 2000 Edition: 'IEEE Standard for
        Information technology - Telecommunications and
        information exchange between systems - Local and
        metropolitan area networks - Specific requirements -
        Part 3: Carrier sense multiple access with collision
        detection (CSMA/CD) access method and physical layer
        specifications', as amended by IEEE Std 802.3ae-2002,
        'IEEE Standard for Carrier Sense Multiple Access with
        Collision Detection (CSMA/CD) Access Method and
        Physical Layer Specifications - Media Access Control
        (MAC) Parameters, Physical Layer and Management
        Parameters for 10 Gb/s Operation', 30 August 2002.

     Of particular interest are Clause 50, 'WAN Interface
     Sublayer (WIS), type 10GBASE-W', Clause 30, '10Mb/s,
     100Mb/s, 1000Mb/s, and 10Gb/s MAC Control, and Link
     Aggregation Management', and Clause 45, 'Management
     Data Input/Output (MDIO) Interface'.

     Copyright (C) The Internet Society (2003).  This version
     of this MIB module is part of RFC 3637;  see the RFC
     itself for full legal notices."

   REVISION    "200309190000Z"  -- September 19, 2003
   DESCRIPTION "Initial version, published as RFC 3637."

   ::= { transmission 134 }

-- The main sections of the module

etherWisObjects     OBJECT IDENTIFIER ::= { etherWisMIB 1 }

etherWisObjectsPath OBJECT IDENTIFIER ::= { etherWisMIB 2 }

etherWisConformance OBJECT IDENTIFIER ::= { etherWisMIB 3 }


-- groups in the Ethernet WIS MIB module

etherWisDevice      OBJECT IDENTIFIER ::= { etherWisObjects 1 }

etherWisSection     OBJECT IDENTIFIER ::= { etherWisObjects 2 }

etherWisPath        OBJECT IDENTIFIER ::= { etherWisObjectsPath 1 }

etherWisFarEndPath  OBJECT IDENTIFIER ::= { etherWisObjectsPath 2 }


-- The Device group

-- These objects provide WIS extensions to
-- the SONET-MIB Medium Group.

etherWisDeviceTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF EtherWisDeviceEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
      "The table for Ethernet WIS devices"
    ::= { etherWisDevice 1 }

etherWisDeviceEntry OBJECT-TYPE
   SYNTAX  EtherWisDeviceEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
      "An entry in the Ethernet WIS device table.  For each
      instance of this object there MUST be a corresponding
      instance of sonetMediumEntry."
   INDEX  { ifIndex }
    ::= { etherWisDeviceTable 1 }

EtherWisDeviceEntry ::=
   SEQUENCE {
       etherWisDeviceTxTestPatternMode     INTEGER,
       etherWisDeviceRxTestPatternMode     INTEGER,
       etherWisDeviceRxTestPatternErrors   Gauge32
       }

etherWisDeviceTxTestPatternMode OBJECT-TYPE
   SYNTAX  INTEGER {
               none(1),
               squareWave(2),
               prbs31(3),
               mixedFrequency(4)
           }
   MAX-ACCESS  read-write
   STATUS  current
   DESCRIPTION
      "This variable controls the transmit test pattern mode.
      The value none(1) puts the the WIS transmit path into
      the normal operating mode.  The value squareWave(2) puts
      the WIS transmit path into the square wave test pattern
      mode described in [IEEE 802.3 Std.] subclause 50.3.8.1.
      The value prbs31(3) puts the WIS transmit path into the
      PRBS31 test pattern mode described in [IEEE 802.3 Std.]
      subclause 50.3.8.2.  The value mixedFrequency(4) puts the
      WIS transmit path into the mixed frequency test pattern
      mode described in [IEEE 802.3 Std.] subclause 50.3.8.3.
      Any attempt to set this object to a value other than
      none(1) when the corresponding instance of ifAdminStatus
      has the value up(1) MUST be rejected with the error
      inconsistentValue, and any attempt to set the corresponding
      instance of ifAdminStatus to the value up(1) when an
      instance of this object has a value other than none(1)
      MUST be rejected with the error inconsistentValue."
   REFERENCE
      "[IEEE 802.3 Std.], 50.3.8, WIS test pattern generator and
      checker, 45.2.2.6, 10G WIS control 2 register (2.7), and
      45.2.2.7.2, PRBS31 pattern testing ability (2.8.1)."
    ::= { etherWisDeviceEntry 1 }

etherWisDeviceRxTestPatternMode OBJECT-TYPE
   SYNTAX  INTEGER {
               none(1),
               prbs31(3),
               mixedFrequency(4)
           }
   MAX-ACCESS  read-write
   STATUS  current
   DESCRIPTION
      "This variable controls the receive test pattern mode.
      The value none(1) puts the the WIS receive path into the
      normal operating mode.  The value prbs31(3) puts the WIS
      receive path into the PRBS31 test pattern mode described
      in [IEEE 802.3 Std.] subclause 50.3.8.2.  The value
      mixedFrequency(4) puts the WIS receive path into the mixed
      frequency test pattern mode described in [IEEE 802.3 Std.]
      subclause 50.3.8.3.  Any attempt to set this object to a
      value other than none(1) when the corresponding instance
      of ifAdminStatus has the value up(1) MUST be rejected with
      the error inconsistentValue, and any attempt to set the
      corresponding instance of ifAdminStatus to the value up(1)
      when an instance of this object has a value other than
      none(1) MUST be rejected with the error inconsistentValue."
   REFERENCE
      "[IEEE 802.3 Std.], 50.3.8, WIS test pattern generator and
      checker, 45.2.2.6, 10G WIS control 2 register (2.7), and
      45.2.2.7.2, PRBS31 pattern testing ability (2.8.1)."
    ::= { etherWisDeviceEntry 2 }

etherWisDeviceRxTestPatternErrors OBJECT-TYPE
   SYNTAX  Gauge32 ( 0..65535 )
   MAX-ACCESS  read-write
   STATUS  current
   DESCRIPTION
      "This object counts the number of errors detected when the
      WIS receive path is operating in the PRBS31 test pattern
      mode.  It is reset to zero when the WIS receive path
      initially enters that mode, and it increments each time
      the PRBS pattern checker detects an error as described in
      [IEEE 802.3 Std.] subclause 50.3.8.2 unless its value is
      65535, in which case it remains unchanged.  This object is
      writeable so that it may be reset upon explicit request
      of a command generator application while the WIS receive
      path continues to operate in PRBS31 test pattern mode."
   REFERENCE
      "[IEEE 802.3 Std.], 50.3.8, WIS test pattern generator and
      checker, 45.2.2.7.2, PRBS31 pattern testing ability
      (2.8.1), and 45.2.2.8, 10G WIS test pattern error counter
      register (2.9)."
    ::= { etherWisDeviceEntry 3 }


-- The Section group

-- These objects provide WIS extensions to
-- the SONET-MIB Section Group.

etherWisSectionCurrentTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF EtherWisSectionCurrentEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
      "The table for the current state of Ethernet WIS sections."
    ::= { etherWisSection 1 }

etherWisSectionCurrentEntry OBJECT-TYPE
   SYNTAX  EtherWisSectionCurrentEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
      "An entry in the etherWisSectionCurrentTable.  For each
      instance of this object there MUST be a corresponding
      instance of sonetSectionCurrentEntry."
   INDEX  { ifIndex }
    ::= { etherWisSectionCurrentTable 1 }

EtherWisSectionCurrentEntry ::=
   SEQUENCE {
       etherWisSectionCurrentJ0Transmitted OCTET STRING,
       etherWisSectionCurrentJ0Received    OCTET STRING
       }

etherWisSectionCurrentJ0Transmitted OBJECT-TYPE
   SYNTAX  OCTET STRING (SIZE (16))
   MAX-ACCESS  read-write
   STATUS  current
   DESCRIPTION
      "This is the 16-octet section trace message that
      is transmitted in the J0 byte.  The value SHOULD
      be '89'h followed by fifteen octets of '00'h
      (or some cyclic shift thereof) when the section
      trace function is not used, and the implementation
      SHOULD use that value (or a cyclic shift thereof)
      as a default if no other value has been set."
   REFERENCE
      "[IEEE 802.3 Std.], 30.8.1.1.8, aJ0ValueTX."
    ::= { etherWisSectionCurrentEntry 1 }


etherWisSectionCurrentJ0Received OBJECT-TYPE
   SYNTAX  OCTET STRING (SIZE (16))
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
      "This is the 16-octet section trace message that
      was most recently received in the J0 byte."
   REFERENCE
      "[IEEE 802.3 Std.], 30.8.1.1.9, aJ0ValueRX."
    ::= { etherWisSectionCurrentEntry 2 }


-- The Path group

-- These objects provide WIS extensions to
-- the SONET-MIB Path Group.

etherWisPathCurrentTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF EtherWisPathCurrentEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
      "The table for the current state of Ethernet WIS paths."
    ::= { etherWisPath 1 }

etherWisPathCurrentEntry OBJECT-TYPE
   SYNTAX  EtherWisPathCurrentEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
      "An entry in the etherWisPathCurrentTable.  For each
      instance of this object there MUST be a corresponding
      instance of sonetPathCurrentEntry."
   INDEX  { ifIndex }
    ::= { etherWisPathCurrentTable 1 }

EtherWisPathCurrentEntry ::=
   SEQUENCE {
       etherWisPathCurrentStatus           BITS,
       etherWisPathCurrentJ1Transmitted    OCTET STRING,
       etherWisPathCurrentJ1Received       OCTET STRING
       }

etherWisPathCurrentStatus OBJECT-TYPE
   SYNTAX  BITS {
               etherWisPathLOP(0),
               etherWisPathAIS(1),
               etherWisPathPLM(2),
               etherWisPathLCD(3)
           }
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
      "This variable indicates the current status of the
      path payload with a bit map that can indicate multiple
      defects at once.  The bit positions are assigned as
      follows:

      etherWisPathLOP(0)
         This bit is set to indicate that an
         LOP-P (Loss of Pointer - Path) defect
         is being experienced.  Note:  when this
         bit is set, sonetPathSTSLOP MUST be set
         in the corresponding instance of
         sonetPathCurrentStatus.

      etherWisPathAIS(1)
         This bit is set to indicate that an
         AIS-P (Alarm Indication Signal - Path)
         defect is being experienced.  Note:  when
         this bit is set, sonetPathSTSAIS MUST be
         set in the corresponding instance of
         sonetPathCurrentStatus.

      etherWisPathPLM(1)
         This bit is set to indicate that a
         PLM-P (Payload Label Mismatch - Path)
         defect is being experienced.  Note:  when
         this bit is set, sonetPathSignalLabelMismatch
         MUST be set in the corresponding instance of
         sonetPathCurrentStatus.

      etherWisPathLCD(3)
         This bit is set to indicate that an
         LCD-P (Loss of Codegroup Delination - Path)
         defect is being experienced.  Since this
         defect is detected by the PCS and not by
         the path layer itself, there is no
         corresponding bit in sonetPathCurrentStatus."
   REFERENCE
      "[IEEE 802.3 Std.], 30.8.1.1.18, aPathStatus."
    ::= { etherWisPathCurrentEntry 1 }

etherWisPathCurrentJ1Transmitted OBJECT-TYPE
   SYNTAX  OCTET STRING (SIZE (16))
   MAX-ACCESS  read-write
   STATUS  current
   DESCRIPTION
      "This is the 16-octet path trace message that
      is transmitted in the J1 byte.  The value SHOULD
      be '89'h followed by fifteen octets of '00'h
      (or some cyclic shift thereof) when the path
      trace function is not used, and the implementation
      SHOULD use that value (or a cyclic shift thereof)
      as a default if no other value has been set."
   REFERENCE
      "[IEEE 802.3 Std.], 30.8.1.1.23, aJ1ValueTX."
    ::= { etherWisPathCurrentEntry 2 }

etherWisPathCurrentJ1Received OBJECT-TYPE
   SYNTAX  OCTET STRING (SIZE (16))
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
      "This is the 16-octet path trace message that
      was most recently received in the J1 byte."
   REFERENCE
      "[IEEE 802.3 Std.], 30.8.1.1.24, aJ1ValueRX."
    ::= { etherWisPathCurrentEntry 3 }


-- The Far End Path group

-- These objects provide WIS extensions to
-- the SONET-MIB Far End Path Group.

etherWisFarEndPathCurrentTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF EtherWisFarEndPathCurrentEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
      "The table for the current far-end state of Ethernet WIS
      paths."
    ::= { etherWisFarEndPath 1 }

etherWisFarEndPathCurrentEntry OBJECT-TYPE
   SYNTAX  EtherWisFarEndPathCurrentEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
      "An entry in the etherWisFarEndPathCurrentTable.  For each
      instance of this object there MUST be a corresponding
      instance of sonetFarEndPathCurrentEntry."
   INDEX  { ifIndex }
    ::= { etherWisFarEndPathCurrentTable 1 }

EtherWisFarEndPathCurrentEntry ::=
   SEQUENCE {
       etherWisFarEndPathCurrentStatus     BITS
       }

etherWisFarEndPathCurrentStatus OBJECT-TYPE
   SYNTAX  BITS {
               etherWisFarEndPayloadDefect(0),
               etherWisFarEndServerDefect(1)
           }
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
      "This variable indicates the current status at the
      far end of the path using a bit map that can indicate
      multiple defects at once.  The bit positions are
      assigned as follows:

      etherWisFarEndPayloadDefect(0)
         A far end payload defect (i.e., far end
         PLM-P or LCD-P) is currently being signaled
         in G1 bits 5-7.
      etherWisFarEndServerDefect(1)
         A far end server defect (i.e., far end
         LOP-P or AIS-P) is currently being signaled
         in G1 bits 5-7.  Note:  when this bit is set,
         sonetPathSTSRDI MUST be set in the corresponding
         instance of sonetPathCurrentStatus."
   REFERENCE
      "[IEEE 802.3 Std.], 30.8.1.1.25, aFarEndPathStatus."
    ::= { etherWisFarEndPathCurrentEntry 1 }


--
--     Conformance Statements
--

etherWisGroups      OBJECT IDENTIFIER ::= { etherWisConformance 1 }

etherWisCompliances OBJECT IDENTIFIER ::= { etherWisConformance 2 }

--     Object Groups

etherWisDeviceGroupBasic OBJECT-GROUP
   OBJECTS {
       etherWisDeviceTxTestPatternMode,
       etherWisDeviceRxTestPatternMode
       }
   STATUS  current
   DESCRIPTION
      "A collection of objects that support test
      features required of all WIS devices."
    ::= { etherWisGroups 1 }

etherWisDeviceGroupExtra OBJECT-GROUP
   OBJECTS {
       etherWisDeviceRxTestPatternErrors
       }
   STATUS  current
   DESCRIPTION
      "A collection of objects that support
      optional WIS device test features."
    ::= { etherWisGroups 2 }

etherWisSectionGroup OBJECT-GROUP
   OBJECTS {
       etherWisSectionCurrentJ0Transmitted,
       etherWisSectionCurrentJ0Received
       }
   STATUS  current
   DESCRIPTION
      "A collection of objects that provide
      required information about a WIS section."
    ::= { etherWisGroups 3 }

etherWisPathGroup OBJECT-GROUP
   OBJECTS {
       etherWisPathCurrentStatus,
       etherWisPathCurrentJ1Transmitted,
       etherWisPathCurrentJ1Received
       }
   STATUS  current
   DESCRIPTION
      "A collection of objects that provide
      required information about a WIS path."
    ::= { etherWisGroups 4 }

etherWisFarEndPathGroup OBJECT-GROUP
   OBJECTS {
       etherWisFarEndPathCurrentStatus
       }
   STATUS  current
   DESCRIPTION
      "A collection of objects that provide required
      information about the far end of a WIS path."
    ::= { etherWisGroups 5 }

--     Compliance Statements

etherWisCompliance MODULE-COMPLIANCE
   STATUS  current
   DESCRIPTION
      "The compliance statement for interfaces that include
      the Ethernet WIS.  Compliance with the following
      external compliance statements is prerequisite:

      MIB Module             Compliance Statement
      ----------             --------------------
      IF-MIB                 ifCompliance3
      IF-INVERTED-STACK-MIB  ifInvCompliance
      EtherLike-MIB          dot3Compliance2
      MAU-MIB                mauModIfCompl3"

   MODULE  -- this module
       MANDATORY-GROUPS {
           etherWisDeviceGroupBasic,
           etherWisSectionGroup,
           etherWisPathGroup,
           etherWisFarEndPathGroup
           }

       OBJECT       etherWisDeviceTxTestPatternMode
       SYNTAX       INTEGER {
           none(1),
           squareWave(2),
           mixedFrequency(4)
           }
       DESCRIPTION
           "Support for values other than none(1),
           squareWave(2), and mixedFrequency(4)
           is not required."

       OBJECT       etherWisDeviceRxTestPatternMode
       SYNTAX       INTEGER {
           none(1),
           mixedFrequency(4)
           }
       DESCRIPTION
           "Support for values other than none(1)
           and mixedFrequency(4) is not required."

       GROUP        etherWisDeviceGroupExtra
       DESCRIPTION
           "Implementation of this group, along with support for
           the value prbs31(3) for etherWisDeviceTxTestPatternMode
           and etherWisDeviceRxTestPatternMode, is necessary if the
           optional PRBS31 test pattern mode is to be supported."

       OBJECT       etherWisDeviceRxTestPatternErrors
       WRITE-SYNTAX Gauge32 ( 0 )
       DESCRIPTION
           "An implementation is not required to
           allow values other than zero to be
           written to this object."

   MODULE SONET-MIB
       MANDATORY-GROUPS {
           sonetMediumStuff2,
           sonetSectionStuff2,
           sonetLineStuff2,
           sonetFarEndLineStuff2,
           sonetPathStuff2,
           sonetFarEndPathStuff2
           }

       OBJECT       sonetMediumType
       SYNTAX       INTEGER {
           sonet(1)
           }
       MIN-ACCESS   read-only
       DESCRIPTION
           "Write access is not required, nor is support
           for any value other than sonet(1)."

       OBJECT       sonetMediumLineCoding
       SYNTAX       INTEGER {
           sonetMediumNRZ(4)
           }
       MIN-ACCESS   read-only
       DESCRIPTION
           "Write access is not required, nor is support
           for any value other than sonetMediumNRZ(4)."

       OBJECT       sonetMediumLineType
       MIN-ACCESS   read-only
       DESCRIPTION
           "Write access is not required."

       OBJECT       sonetMediumCircuitIdentifier
       MIN-ACCESS   read-only
       DESCRIPTION
           "Write access is not required."

       OBJECT       sonetMediumLoopbackConfig
       SYNTAX       BITS {
           sonetNoLoop(0),
           sonetFacilityLoop(1)
           }
       MIN-ACCESS   read-only
       DESCRIPTION
           "Write access is not required, nor is support for values
           other than sonetNoLoop(0) and sonetFacilityLoop(1)."
       OBJECT       sonetSESthresholdSet
       MIN-ACCESS   read-only
       DESCRIPTION
           "Write access is not required, and only one
           of the enumerated values need be supported."

       OBJECT       sonetPathCurrentWidth
       SYNTAX       INTEGER {
           sts192cSTM64(6)
           }
       MIN-ACCESS   read-only
       DESCRIPTION
           "Write access is not required, nor is support
           for any value other than sts192cSTM64(6)."

    ::= { etherWisCompliances 1 }

END

