SIP-MIB DEFINITIONS ::= BEGIN

IMPORTS
-- FIX: translated SMIv1 imports (transmission, mib-2, ifIndex)
   MODULE-IDENTITY, OBJECT-TYPE, Counter32,
   Integer32, IpAddress,
   transmission, mib-2                      FROM SNMPv2-SMI
   TimeStamp, TEXTUAL-CONVENTION            FROM SNMPv2-TC
   MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
   ifIndex                                  FROM IF-MIB;
-- transmission, ifIndex, mib-2             FROM RFC1213-MIB;

--  This is the MIB module for the SMDS Interface objects.

sipMIB MODULE-IDENTITY
    LAST-UPDATED "9403311818Z"
    ORGANIZATION "IETF Interfaces Working Group"
    CONTACT-INFO
      "        Tracy Brown
       Postal: Bell Communications Research
               331 Newman Springs Road
               P.O. Box 7020
               Red Bank, NJ  07701-7020
               US

          Tel: +1 908  758-2107
          Fax: +1 908  758-4177
       E-mail: tacox@mail.bellcore.com

               Kaj Tesink
       Postal: Bell Communications Research
               331 Newman Springs Road
               P.O. Box 7020
               Red Bank, NJ  07701-7020
               US

          Tel: +1 908 758 5254
          Fax: +1 908 758 4177
       E-mail: kaj@cc.bellcore.com."
    DESCRIPTION
         "The MIB module to describe
         SMDS interfaces objects."
    ::= { mib-2 36 }

SMDSAddress ::= TEXTUAL-CONVENTION
    DISPLAY-HINT "1x:"
    STATUS       current
    DESCRIPTION
        "The 60-bit SMDS address,
         preceded by 4 bits with the following values:
         1100 when representing an individual address
         1110 when representing a group address."
    SYNTAX  OCTET STRING (SIZE (8))

IfIndex ::= TEXTUAL-CONVENTION
  STATUS  current
  DESCRIPTION
    "The value of this object identifies the
    interface for which this entry contains
    management information.  The value of this
    object for a particular interface has the same
    value as the ifIndex object, defined in RFC
    1213, for the same interface."
  SYNTAX Integer32


sip     OBJECT IDENTIFIER ::= { transmission 31 }
sipMIBObjects   OBJECT IDENTIFIER ::= { sipMIB 1 }


-- The SIP Level 3 Group

sipL3Table  OBJECT-TYPE
    SYNTAX      SEQUENCE OF SipL3Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains SIP L3 parameters and
       state variables, one entry per SIPL3 interface."
   ::= { sip 1 }

sipL3Entry  OBJECT-TYPE
    SYNTAX      SipL3Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This list contains SIP L3 parameters and
       state variables."
   INDEX   { sipL3Index }
   ::= { sipL3Table 1 }

SipL3Entry  ::= SEQUENCE {
    sipL3Index                        IfIndex,
    sipL3ReceivedIndividualDAs        Counter32,
    sipL3ReceivedGAs                  Counter32,
    sipL3UnrecognizedIndividualDAs    Counter32,
    sipL3UnrecognizedGAs              Counter32,
    sipL3SentIndividualDAs            Counter32,
    sipL3SentGAs                      Counter32,
    sipL3Errors                       Counter32,
    sipL3InvalidSMDSAddressTypes      Counter32,
    sipL3VersionSupport               Integer32
   }

sipL3Index  OBJECT-TYPE
    SYNTAX      IfIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value of this object identifies the SIP
       L3 interface for which this entry contains
       management information. "
   ::= { sipL3Entry 1 }

sipL3ReceivedIndividualDAs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      deprecated
-- Moved to ifTable
-- ifInUcastPkts defined in [9] must be used instead.
    DESCRIPTION
       "The total number of individually addressed SIP
       Level 3 PDUs received from the remote system
       across the SNI.  The total includes only
       unerrored L3PDUs."
   ::= { sipL3Entry 2 }

sipL3ReceivedGAs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      deprecated
-- Moved to ifTable
-- ifInMulticastPkts defined in [9] must be used instead.
    DESCRIPTION
       "The total number of group addressed SIP Level 3
       PDUs received from the remote system across the
       SNI.  The total includes only unerrored L3PDUs."
   ::= { sipL3Entry 3 }

sipL3UnrecognizedIndividualDAs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
       "The number of SIP Level 3 PDUs received from the
       remote system with invalid or unknown individual
       destination addresses (Destination Address
       Screening violations are not included).  See SMDS
       Subscription MIB module."
    ::= { sipL3Entry 4 }

sipL3UnrecognizedGAs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
       "The number of SIP Level 3 PDUs received from the
       remote system with invalid or unknown group
       addresses.  (Destination Address Screening
       violations are not included).  See SMDS
       Subscription MIB module."
    ::= { sipL3Entry 5 }

sipL3SentIndividualDAs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      deprecated
-- Moved to ifTable
-- ifOutUcastPkts defined in [9] must be used instead.
    DESCRIPTION
       "The number of individually addressed SIP Level 3
       PDUs that have been sent by this system across the
       SNI."
    ::= { sipL3Entry 6 }

sipL3SentGAs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      deprecated
-- Moved to ifTable
-- ifOutMulticastPkts defined in [9] must be used instead.
    DESCRIPTION
       "The number of group addressed SIP L3PDUs that
       have been sent by this system across the SNI."
    ::= { sipL3Entry 7 }

-- The total number of SIP L3PDU errors can be calculated as
-- (Syntactic errors + Semantic Service errors )
-- Syntactic errors include:
--    sipL3Errors
-- Latest occurrences of syntactic error types are logged in
--    sipL3PDUErrorTable.
-- Semantic Service errors include:

--    sipL3UnrecognizedIndividualDAs
--    sipL3UnrecognizedGAs
--    sipL3InvalidSMDSAddressTypes
-- Note that public networks supporting SMDS may discard
-- SIP L3PDUs due to subscription violations.  Related
-- managed objects are defined in Definitions of Managed
-- Objects for SMDS Subscription.

sipL3Errors OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      deprecated
-- Moved to ifTable
-- ifInErrors defined in [9] must be used instead.
    DESCRIPTION
       "The total number of SIP Level 3 PDUs received
       from the remote system that were discovered to
       have errors (including protocol processing and bit
       errors but excluding addressing-related errors)
       and were discarded.  Includes both group addressed
       L3PDUs and L3PDUs containing an individual
       destination address."
    ::= { sipL3Entry 8 }

sipL3InvalidSMDSAddressTypes OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      deprecated
-- Moved to ifTable
-- ifInUnknownProtos defined in [9] must be used instead.
    DESCRIPTION
       "The number of SIP Level 3 PDUs received from the
       remote system that had the Source or Destination
       Address_Type subfields, (the four most significant
       bits of the 64 bit address field), not equal to
       the value 1100 or 1110.  Also, an error is
       considered to have occurred if the Address_Type
       field for a Source Address, the four most
       significant bits of the 64 bits, is equal to 1110
       (a group address)."
    ::= { sipL3Entry 9 }

sipL3VersionSupport  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A value which indicates the version(s) of SIP
       that this interface supports.  The value is a sum.
       This sum initially takes the value zero.  For each
       version, V, that this interface supports, 2 raised
       to (V - 1) is added to the sum. For example, a
       port supporting versions 1 and 2 would have a
       value of (2^(1-1)+2^(2-1))=3.  The
       sipL3VersionSupport is effectively a bit mask with
       Version 1 equal to the least significant bit
       (LSB)."
    ::= { sipL3Entry 10 }


-- The SIP Level 2 Group

sipL2Table  OBJECT-TYPE
    SYNTAX      SEQUENCE OF SipL2Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains SIP L2PDU parameters and
       state variables, one entry per SIP L2 interface."
    ::= { sip 2 }

sipL2Entry  OBJECT-TYPE
    SYNTAX      SipL2Entry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This list contains SIP L2 parameters and state
       variables."
    INDEX   { sipL2Index }
    ::= { sipL2Table 1 }

SipL2Entry  ::= SEQUENCE {
    sipL2Index                     IfIndex,
    sipL2ReceivedCounts            Counter32,
    sipL2SentCounts                Counter32,
    sipL2HcsOrCRCErrors            Counter32,
    sipL2PayloadLengthErrors       Counter32,
    sipL2SequenceNumberErrors      Counter32,
    sipL2MidCurrentlyActiveErrors  Counter32,
    sipL2BomOrSSMsMIDErrors        Counter32,
    sipL2EomsMIDErrors             Counter32
  }

sipL2Index  OBJECT-TYPE
    SYNTAX      IfIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value of this object identifies the SIP
       interface for which this entry contains management
       information."
    ::= { sipL2Entry 1 }

sipL2ReceivedCounts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of SIP Level 2 PDUs received from the
       remote system across the SNI. The total includes
       only unerrored L2PDUs."
    ::= { sipL2Entry 2 }

sipL2SentCounts OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of SIP Level 2 PDUs that have been
       sent by this system across the SNI."
    ::= { sipL2Entry 3 }

-- The following error types are counted, and
-- preclude sipL2ReceivedCounts to be incremented:
--    sipL2HcsOrCRCErrors
--    sipL2PayloadLengthErrors
--    sipL2SequenceNumberErrors
--    sipL2BomOrSSMsMIDErrors
--    sipL2EomsMIDErrors
-- The receipt of SIP Level 2 PDUs which are BOMs and
-- for with a MID that is already active will cause
-- sipL2MidCurrentlyActiveErrors to increment.
-- Any already accumulated (correct) segmentation
-- units are discarded.The sipL2ReceivedCounts
-- is incremented by 1. Thus,
-- sipL2ReceivedCounts defines the number of
-- correct SIP Level 2 PDUs delivered to the reassembly
-- process.

sipL2HcsOrCRCErrors  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of received SIP Level 2 PDUs that were
       discovered to have either a Header Check Sequence
       error or a Payload CRC violation."
    ::= { sipL2Entry 4 }

sipL2PayloadLengthErrors  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of received SIP Level 2 PDUs that had
       Payload Length errors that fall in the following
       specifications:
       - SSM L2_PDU payload length field value less
       - than 28 octets or greater than 44 octets,

       - BOM or COM L2_PDU payload length field not
       - equal to 44 octets,
       - EOM L2_PDU payload length field value less
       - than 4 octets or greater than 44 octets."
    ::= { sipL2Entry 5 }

sipL2SequenceNumberErrors  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of received SIP Level 2 PDUs that had
       a sequence number within the L2PDU not equal to
       the expected sequence number of the SMDS SS
       receive process."
    ::= { sipL2Entry 6 }

sipL2MidCurrentlyActiveErrors  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of received SIP Level 2 PDUs that are
       BOMs for which an active receive process is
       already started."
    ::= { sipL2Entry 7 }

sipL2BomOrSSMsMIDErrors  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of received SIP Level 2 PDUs that are
       SSMs with a MID not equal to zero or are BOMs with
       MIDs equal to zero."
    ::= { sipL2Entry 8 }

sipL2EomsMIDErrors  OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The number of received SIP Level 2 PDUs that are
       EOMs for which there is no active receive process
       for the MID (i.e., the receipt of an EOM which
       does not correspond to a BOM) OR the EOM has a MID
       equal to zero."
    ::= { sipL2Entry 9 }


-- The SIP PLCP Group

sipPLCP OBJECT IDENTIFIER ::= { sip 3 }


-- The DS1 PLCP Group

sipDS1PLCPTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF SipDS1PLCPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains SIP DS1 PLCP parameters and
       state variables, one entry per SIP port."
    ::= { sipPLCP 1 }

sipDS1PLCPEntry  OBJECT-TYPE
    SYNTAX      SipDS1PLCPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This list contains SIP DS1 PLCP parameters and
       state variables."
    INDEX   { sipDS1PLCPIndex }
    ::= { sipDS1PLCPTable 1 }

SipDS1PLCPEntry  ::= SEQUENCE {
    sipDS1PLCPIndex       IfIndex,
    sipDS1PLCPSEFSs       Counter32,
    sipDS1PLCPAlarmState  INTEGER,
    sipDS1PLCPUASs        Counter32
    }

sipDS1PLCPIndex  OBJECT-TYPE
    SYNTAX      IfIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value of this object identifies the
       interface for which this entry contains management
       information. "
    ::= { sipDS1PLCPEntry 1 }

sipDS1PLCPSEFSs OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
       "A DS1 Severely Errored Framing Second (SEFS) is a
       count of one-second intervals containing one or
       more SEF events.  A Severely Errored Framing (SEF)
       event is declared when an error in the A1 octet
       and an error in the A2 octet of a framing octet
       pair (i.e., errors in both framing octets), or two
       consecutive invalid and/or nonsequential Path
       Overhead Identifier octets are detected."
    ::= { sipDS1PLCPEntry 2 }

sipDS1PLCPAlarmState OBJECT-TYPE
    SYNTAX  INTEGER     {
                noAlarm (1),
                receivedFarEndAlarm (2),
                incomingLOF (3)
            }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This variable indicates if there is an alarm
       present for the DS1 PLCP.  The value
       receivedFarEndAlarm means that the DS1 PLCP has
       received an incoming Yellow Signal, the value
       incomingLOF means that the DS1 PLCP has declared a
       loss of frame (LOF) failure condition, and the
       value noAlarm means that there are no alarms
       present.  See TR-TSV-000773 for a description of
       alarm states."
    ::= { sipDS1PLCPEntry 3 }

sipDS1PLCPUASs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The counter associated with the number of
       Unavailable Seconds, as defined by TR-TSV-000773,
       encountered by the PLCP."
    ::= { sipDS1PLCPEntry 4 }


-- The DS3 PLCP Group

sipDS3PLCPTable  OBJECT-TYPE
    SYNTAX      SEQUENCE OF SipDS3PLCPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains SIP DS3 PLCP parameters and
       state variables, one entry per SIP port."
    ::= { sipPLCP 2 }

sipDS3PLCPEntry  OBJECT-TYPE
    SYNTAX      SipDS3PLCPEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This list contains SIP DS3 PLCP parameters and
       state variables."
    INDEX   { sipDS3PLCPIndex }
    ::= { sipDS3PLCPTable 1 }

SipDS3PLCPEntry  ::= SEQUENCE {
    sipDS3PLCPIndex       IfIndex,
    sipDS3PLCPSEFSs       Counter32,
    sipDS3PLCPAlarmState  INTEGER,
    sipDS3PLCPUASs        Counter32
    }

sipDS3PLCPIndex  OBJECT-TYPE
    SYNTAX      IfIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value of this object identifies the
       interface for which this entry contains management
       information.  "
    ::= { sipDS3PLCPEntry 1 }

sipDS3PLCPSEFSs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A DS3 Severely Errored Framing Second (SEFS) is a
       count of one-second intervals containing one or
       more SEF events.  A Severely Errored Framing (SEF)
       event is declared when an error in the A1 octet
       and an error in the A2 octet of a framing octet
       pair (i.e., errors in both framing octets), or two
       consecutive invalid and/or nonsequential Path
       Overhead Identifier octets are detected."
    ::= { sipDS3PLCPEntry 2 }

sipDS3PLCPAlarmState OBJECT-TYPE
    SYNTAX  INTEGER     {
                noAlarm (1),
                receivedFarEndAlarm (2),
                incomingLOF (3)
            }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This variable indicates if there is an alarm
       present for the DS3 PLCP.  The value
       receivedFarEndAlarm means that the DS3 PLCP has
       received an incoming Yellow Signal, the value
       incomingLOF means that the DS3 PLCP has declared a
       loss of frame (LOF) failure condition, and the
       value noAlarm means that there are no alarms
       present.  See TR-TSV-000773 for a description of
       alarm states."
    ::= { sipDS3PLCPEntry 3 }

sipDS3PLCPUASs OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The counter associated with the number of
       Unavailable Seconds, as defined by TR-TSV-000773,
       encountered by the PLCP."
    ::= { sipDS3PLCPEntry 4 }


-- The SMDS Applications group
-- Applications that have been identified for this group are:

--          * IP-over-SMDS (details are specified in RFC 1209)

smdsApplications OBJECT IDENTIFIER ::= { sip 4 }

ipOverSMDS OBJECT IDENTIFIER ::= { smdsApplications 1 }

-- Although the objects in this group are read-only, at the
-- agent's discretion they may be made read-write so that the
-- management station, when appropriately authorized, may
-- change the addressing information related to the
-- configuration of a logical IP subnetwork implemented on
-- top of SMDS.

-- This table is necessary to support RFC1209 (IP-over-SMDS)
-- and gives information on the Group Addresses and ARP
-- Addresses used in the Logical IP subnetwork.
-- One SMDS address may be associated with multiple IP
-- addresses.  One SNI may be associated with multiple LISs.

ipOverSMDSTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF IpOverSMDSEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table of addressing information relevant to
       this entity's IP addresses."
    ::= { ipOverSMDS 1 }

ipOverSMDSEntry OBJECT-TYPE
    SYNTAX      IpOverSMDSEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The addressing information for one of this
       entity's IP addresses."
    INDEX   { ipOverSMDSIndex, ipOverSMDSAddress }
    ::= { ipOverSMDSTable 1 }

IpOverSMDSEntry ::=
    SEQUENCE {
       ipOverSMDSIndex       IfIndex,
       ipOverSMDSAddress     IpAddress,
       ipOverSMDSHA          SMDSAddress,
       ipOverSMDSLISGA       SMDSAddress,
       ipOverSMDSARPReq      SMDSAddress
       }

ipOverSMDSIndex OBJECT-TYPE
    SYNTAX      IfIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value of this object identifies the
       interface for which this entry contains management
       information. "
    ::= { ipOverSMDSEntry 1 }

ipOverSMDSAddress OBJECT-TYPE
     SYNTAX      IpAddress
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The IP address to which this entry's addressing
       information pertains."
    ::= { ipOverSMDSEntry 2 }

ipOverSMDSHA OBJECT-TYPE
    SYNTAX      SMDSAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The SMDS Individual address of the IP station."
    ::= { ipOverSMDSEntry 3 }

ipOverSMDSLISGA OBJECT-TYPE
    SYNTAX      SMDSAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The SMDS Group Address that has been configured
       to identify the SMDS Subscriber-Network Interfaces
       (SNIs) of all members of the Logical IP Subnetwork
       (LIS) connected to the network supporting SMDS."
    ::= { ipOverSMDSEntry 4 }

ipOverSMDSARPReq OBJECT-TYPE
    SYNTAX      SMDSAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The SMDS address (individual or group) to which
       ARP Requests are to be sent."
    ::= { ipOverSMDSEntry 5 }


-- The SMDS Carrier Selection group

-- This group is used as a place holder
-- for carrier selection objects.

smdsCarrierSelection OBJECT IDENTIFIER ::= { sip 5 }


-- The SIP Error Log

sipErrorLog OBJECT IDENTIFIER ::= { sip 6 }

sipL3PDUErrorTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SipL3PDUErrorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "A table that contains the latest occurrence of
       the following syntactical SIP L3PDU errors:

       - Destination Address Field Format Error,

       The following pertains to the 60 least significant
       bits of the 64 bit address field.  The 60 bits
       contained in the address subfield can be used to
       represent addresses up to 15 decimal digits.  Each
       decimal digit shall be encoded into four bits
       using Binary Coded Decimal (BCD), with the most
       significant digit occurring left-most.  If not all
       15 digits are required, then the remainder of this
       field shall be padded on the right with bits set
       to one.  An error is considered to have occurred:
       a).  if the first four bits of the address
       subfield are not BCD, OR b).  if the first four
       bits of the address subfield are populated with
       the country code value 0001, AND the 40 bits which
       follow are not Binary Coded Decimal (BCD) encoded
       values of the 10 digit addresses, OR the remaining
       16 least significant bits are not populated with
       1's, OR c).  if the address subfield is not
       correct according to another numbering plan which
       is dependent upon the carrier assigning the
       numbers and offering SMDS.

       - Source Address Field Format Error,

       The description of this parameter is the same as
       the description of the Destination Address Field
       Format Error.
       - Invalid BAsize Field Value,

       An error is considered to have occurred when the
       BAsize field of an SIP L3PDU contains a value less
       that 32, greater than 9220 octets without the
       CRC32 field present, greater than 9224 octets with
       the CRC32 field present, or not equal to a
       multiple of 4 octets,

       - Invalid Header Extension Length Field Value,

       An error is considered to have occurred when the
       Header Extension Length field value is not equal
       3.

       - Invalid Header Extension - Element Length,

       An error is considered to have occurred when the
       Header Extension - Element Length is greater than
       12.

       - Invalid Header Extension - Version Element
       Position, Length, or Value,

       An error is considered to have occurred when a
       Version element with Length=3, Type=0, and Value=1
       does not appear first within the Header Extension,
       or an element Type=0 appears somewhere other than
       within the first three octets in the Header
       Extension.

       - Invalid Header Extension - Carrier Selection
       Element Position, Length, Value or Format,

       An error is considered to have occurred when a
       Carrier Selection element does not appear second
       within the Header Extension, if the Element Type
       does not equal 1, the Element Length does not
       equal 4, 6, or 8, the Element Value field is not
       four BCD encoded decimal digits used in specifying
       the Carrier Identification Code (CIC), or the
       identified CIC code is invalid.

       - Header Extension PAD Error

       An error is considered to have occurred when the
       Header Extension PAD is 9 octets in length, or if
       the Header Extension PAD is greater than zero
       octets in length and the Header Extension PAD does
       not follow all Header Extension elements or does
       not begin with at least one octet of all zeros.

       - BEtag Mismatch Error,

       An error is considered to have occurred when the
       Beginning-End Tags in the SIP L3PDU header and
       trailer are not equal.

       - BAsize Field not equal to Length Field Error,

       An error is considered to have occurred when the
       value of the BAsize Field does not equal the value
       of the Length Field.

       - Incorrect Length Error, and

       An error is considered to have occurred when the
       the Length field value is not equal to the portion
       of the SIP L3PDU which extends from the
       Destination Address field up to and including the
       CRC32 field (if present) or up to and including
       the PAD field (if the CRC32 field is not present).
       As an optional check, an error is considered to
       have occurred when the length of a partially
       received SIP L3PDU exceeds the BAsize value.

       - MRI Timeout Error.

       An error is considered to have occurred when the
       elapsed time between receipt of BOM and
       corresponding EOM exceeds the value of the MRI
       (Message Receive Interval) for a particular
       transport signal format.

       An entry is indexed by interface number and error
       type, and contains Source Address, Destination
       Address and a timestamp. All these errors are
       counted in the sipL3Errors counter.  When
       sipL3PDUErrorTimeStamp is equal to zero, the
       SipL3PDUErrorEntry does not contain any valid
       information."
    ::= { sipErrorLog 1 }

sipL3PDUErrorEntry  OBJECT-TYPE
    SYNTAX      SipL3PDUErrorEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "An entry in the service disagreement table."
    INDEX   { sipL3PDUErrorIndex, sipL3PDUErrorType }
    ::= { sipL3PDUErrorTable 1 }

SipL3PDUErrorEntry ::= SEQUENCE {
    sipL3PDUErrorIndex       IfIndex,
    sipL3PDUErrorType        INTEGER,
    sipL3PDUErrorSA          SMDSAddress,
    sipL3PDUErrorDA          SMDSAddress,
    sipL3PDUErrorTimeStamp   TimeStamp
    }

sipL3PDUErrorIndex OBJECT-TYPE
    SYNTAX      IfIndex
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The value of this object identifies the
       interface for which this entry contains management
       information."
    ::= { sipL3PDUErrorEntry 1 }

sipL3PDUErrorType OBJECT-TYPE
    SYNTAX  INTEGER {
      erroredDAFieldFormat (1),
      erroredSAFieldFormat (2),
      invalidBAsizeFieldValue (3),
      invalidHdrExtLength (4),
      invalidHdrExtElementLength (5),
      invalidHdrExtVersionElementPositionLenthOrValue (6),
 invalidHdrExtCarSelectElementPositionLenghtValueOrFormat (7),
      hePADError (8),
      beTagMismatch (9),
      baSizeFieldNotEqualToLengthField (10),
      incorrectLength (11),
      mriTimeout (12)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The type of error."
    ::= { sipL3PDUErrorEntry 2 }

sipL3PDUErrorSA OBJECT-TYPE
    SYNTAX      SMDSAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A rejected SMDS source address."
    ::= { sipL3PDUErrorEntry 3 }

sipL3PDUErrorDA OBJECT-TYPE
    SYNTAX      SMDSAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "A rejected SMDS destination address."
    ::= { sipL3PDUErrorEntry 4 }

sipL3PDUErrorTimeStamp OBJECT-TYPE
    SYNTAX      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The timestamp for the service disagreement.  The
       timestamp contains the value of sysUpTime at the
       latest occurrence of this type of service
       disagreement.  See textual description under
       sipL3PDUErrorTable for boundary conditions."
    ::= { sipL3PDUErrorEntry 5 }


-- The DXI Group

sipDxiTable   OBJECT-TYPE
   SYNTAX          SEQUENCE OF SipDxiEntry
   MAX-ACCESS      not-accessible
   STATUS          current
   DESCRIPTION
       "The DXI table."
   ::= { sipMIBObjects 1 }

sipDxiEntry   OBJECT-TYPE
   SYNTAX     SipDxiEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
         "An entry in the DXI table."
   INDEX { ifIndex }
   ::= { sipDxiTable 1 }

SipDxiEntry ::=
   SEQUENCE {
      sipDxiCrc
         INTEGER,
      sipDxiOutDiscards
         Counter32,
      sipDxiInErrors
         Counter32,
      sipDxiInAborts
         Counter32,
      sipDxiInTestFrames
         Counter32,
      sipDxiOutTestFrames
         Counter32,
      sipDxiHbpNoAcks
         Counter32
   }

sipDxiCrc   OBJECT-TYPE
   SYNTAX  INTEGER {
              crc16(1),
              crc32(2)
              }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
         "The value of this object indicates the type
         of Frame Checksum used by DXI.  Current
         choices include CCITT CRC16 or CRC32."
   ::= { sipDxiEntry 1 }

sipDxiOutDiscards   OBJECT-TYPE
   SYNTAX     Counter32
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
    "The number of outbound frames discarded
    because of congestion."
   ::= { sipDxiEntry 2 }

sipDxiInErrors   OBJECT-TYPE
   SYNTAX     Counter32
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
         "The number of inbound frames discarded
         because of errors such as frame checksum
         (CRC) violations,
         non-integral number of octets, address
         and control field violations, and frame
         size errors."
   ::= { sipDxiEntry 3 }

sipDxiInAborts  OBJECT-TYPE
   SYNTAX     Counter32
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
         "The number of inbound frames discarded
         because of an abort bit sequence (1111111)
         received before closing flag."
   ::= { sipDxiEntry 4 }

sipDxiInTestFrames    OBJECT-TYPE
   SYNTAX     Counter32
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
         "The number of unerrored,
         inbound Test frames received
         (generally as part of Heart
         Beat Poll procedure)."
   ::= { sipDxiEntry 5 }

sipDxiOutTestFrames   OBJECT-TYPE
   SYNTAX     Counter32
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
         "The number of unerrored,
         outbound Test frames sent
        (generally as part of Heart
        Beat Poll procedure)."
   ::= { sipDxiEntry 6 }

sipDxiHbpNoAcks  OBJECT-TYPE
   SYNTAX     Counter32
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
         "The number of Heart Beat
         Poll (HBP) No Ack timeouts."
   ::= { sipDxiEntry 7 }


-- conformance information

smdsConformance OBJECT IDENTIFIER ::= { sipMIB 2 }
smdsGroups      OBJECT IDENTIFIER ::= { smdsConformance 1 }
smdsCompliances OBJECT IDENTIFIER ::= { smdsConformance 2 }


-- compliance statements

smdsCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
       "The compliance statement for SMDS interfaces."

    MODULE  -- this module
        MANDATORY-GROUPS { sipLevel3Stuff }

        GROUP       sipLevel2Stuff
        DESCRIPTION
            "This group is mandatory only for those
            interfaces (SNIs) which run SIP Level 2."

        GROUP       sipDS1PLCPStuff
        DESCRIPTION
            "This group is mandatory only for those
            interfaces (SNIs) which run the DS1 PLCP."

        GROUP       sipDS3PLCPStuff
        DESCRIPTION
            "This group is mandatory only for those
            interfaces (SNIs) which run the DS3 PLCP."

        GROUP       sipIPApplicationsStuff
        DESCRIPTION
            "This group is mandatory only for interfaces
             operating IP over SMDS in accordance with
             RFC1209."

        GROUP       sipDxiStuff
        DESCRIPTION
            "This group is mandatory only for those interfaces
            (DXI-SNI)
            which run the DXI protocol."
    ::= { smdsCompliances 1 }

-- units of conformance

sipLevel3Stuff    OBJECT-GROUP
    OBJECTS { sipL3Index,
              sipL3VersionSupport, sipL3PDUErrorIndex,
              sipL3PDUErrorType,
              sipL3PDUErrorSA, sipL3PDUErrorDA,
              sipL3PDUErrorTimeStamp }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information
            applicable to all SMDS interfaces."
    ::= { smdsGroups 1 }

sipLevel2Stuff    OBJECT-GROUP
    OBJECTS { sipL2Index, sipL2HcsOrCRCErrors,
              sipL2PayloadLengthErrors,
              sipL2SequenceNumberErrors,
              sipL2MidCurrentlyActiveErrors,
              sipL2BomOrSSMsMIDErrors,
              sipL2EomsMIDErrors }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information
            specific to interfaces using the SIP Level 2."
    ::= { smdsGroups 2 }

sipDS1PLCPStuff    OBJECT-GROUP
    OBJECTS { sipDS1PLCPIndex, sipDS1PLCPSEFSs,
              sipDS1PLCPAlarmState, sipDS1PLCPUASs }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information
            specific to interfaces using the DS1 PLCP."
    ::= { smdsGroups 3 }

sipDS3PLCPStuff    OBJECT-GROUP
    OBJECTS { sipDS3PLCPIndex, sipDS3PLCPSEFSs,
              sipDS3PLCPAlarmState, sipDS3PLCPUASs }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information
            specific to interfaces using the DS3 PLCP."
    ::= { smdsGroups 4 }


sipIPApplicationsStuff    OBJECT-GROUP
    OBJECTS { ipOverSMDSIndex, ipOverSMDSAddress,
              ipOverSMDSHA, ipOverSMDSLISGA, ipOverSMDSARPReq }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information
            for running IP over SMDS."
    ::= { smdsGroups 5 }

sipDxiStuff     OBJECT-GROUP
    OBJECTS  { sipDxiCrc, sipDxiOutDiscards,
               sipDxiInErrors, sipDxiInAborts,
               sipDxiInTestFrames, sipDxiOutTestFrames,
               sipDxiHbpNoAcks }
    STATUS   current
    DESCRIPTION
            "A collection of objects providing information
            specific to interfaces using the DXI protocol."
    ::= { smdsGroups 6 }

END
