START-MIB DEFINITIONS ::= BEGIN

internet  	OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
directory 	OBJECT IDENTIFIER ::= { internet 1 }
mgmt  		OBJECT IDENTIFIER ::= { internet 2 }
experimental 	OBJECT IDENTIFIER ::= { internet 3 }
private  	OBJECT IDENTIFIER ::= { internet 4 }
enterprises 	OBJECT IDENTIFIER ::= { private 1 }
snmpV2 		OBJECT IDENTIFIER ::= { internet 6 }
snmpModules 	OBJECT IDENTIFIER ::= { snmpV2 3 } 
snmpMIB 	OBJECT IDENTIFIER ::= { snmpModules 1 }
snmpMIBObjects 	OBJECT IDENTIFIER ::= { snmpMIB 1 }
snmpTrap 	OBJECT IDENTIFIER ::= { snmpMIBObjects 4 }
snmpTraps 	OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }

-- Text Conventions
TruthValue ::= INTEGER { true (1), false (2) }
RowStatus ::= INTEGER {
	active(1),
	notInService(2),
	notReady(3),
	createAndGo(4),
	createAndWait(5),
	destroy(6)
}
InterfaceIndex ::= Integer32
PhysAddress ::= OCTET STRING
AutonomousType ::= OBJECT IDENTIFIER
TestAndIncr ::= Integer32



-- HACK
--
-- These well-known traps are placed here so we don't have to pull
-- in a lot of SNMP V2 MIB files to get these variables.
--
-- HACK
 
coldStart NOTIFICATION-TYPE
    STATUS  current
    DESCRIPTION
            "A coldStart trap signifies that the SNMPv2 entity, acting
            in an agent role, is reinitializing itself and that its
            configuration may have been altered."
    ::= { snmpTraps 1 }
 
warmStart NOTIFICATION-TYPE
    STATUS  current
    DESCRIPTION
            "A warmStart trap signifies that the SNMPv2 entity, acting
            in an agent role, is reinitializing itself such that its
            configuration is unaltered."
    ::= { snmpTraps 2 }

authenticationFailure NOTIFICATION-TYPE
    STATUS  current
    ::= { snmpTraps 5 }

END
          RFC1213-MIB DEFINITIONS ::= BEGIN

          IMPORTS
                  mgmt, NetworkAddress, IpAddress, Counter, Gauge,
                          TimeTicks
                      FROM RFC1155-SMI
                  OBJECT-TYPE
                          FROM RFC-1212;

          --  This MIB module uses the extended OBJECT-TYPE macro as
          --  defined in [14];


          --  MIB-II (same prefix as MIB-I)

          mib-2      OBJECT IDENTIFIER ::= { mgmt 1 }

          -- textual conventions

          DisplayString ::=
              OCTET STRING
          -- This data type is used to model textual information taken
          -- from the NVT ASCII character set.  By convention, objects
          -- with this syntax are declared as having
          --
          --      SIZE (0..255)

          PhysAddress ::=
              OCTET STRING
          -- This data type is used to model media addresses.  For many
          -- types of media, this will be in a binary representation.
          -- For example, an ethernet address would be represented as
          -- a string of 6 octets.


          -- groups in MIB-II

          system       OBJECT IDENTIFIER ::= { mib-2 1 }

          interfaces   OBJECT IDENTIFIER ::= { mib-2 2 }

          at           OBJECT IDENTIFIER ::= { mib-2 3 }

          ip           OBJECT IDENTIFIER ::= { mib-2 4 }

          icmp         OBJECT IDENTIFIER ::= { mib-2 5 }

          tcp          OBJECT IDENTIFIER ::= { mib-2 6 }

          udp          OBJECT IDENTIFIER ::= { mib-2 7 }

          egp          OBJECT IDENTIFIER ::= { mib-2 8 }

          -- historical (some say hysterical)
          -- cmot      OBJECT IDENTIFIER ::= { mib-2 9 }

          transmission OBJECT IDENTIFIER ::= { mib-2 10 }

          snmp         OBJECT IDENTIFIER ::= { mib-2 11 }


          -- the System group

          -- Implementation of the System group is mandatory for all
          -- systems.  If an agent is not configured to have a value
          -- for any of these variables, a string of length 0 is
          -- returned.

          sysDescr OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A textual description of the entity.  This value
                      should include the full name and version
                      identification of the system's hardware type,
                      software operating-system, and networking
                      software.  It is mandatory that this only contain
                      printable ASCII characters."
              ::= { system 1 }

          sysObjectID OBJECT-TYPE
              SYNTAX  OBJECT IDENTIFIER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The vendor's authoritative identification of the
                      network management subsystem contained in the
                      entity.  This value is allocated within the SMI
                      enterprises subtree (1.3.6.1.4.1) and provides an
                      easy and unambiguous means for determining `what
                      kind of box' is being managed.  For example, if
                      vendor `Flintstones, Inc.' was assigned the
                      subtree 1.3.6.1.4.1.4242, it could assign the
                      identifier 1.3.6.1.4.1.4242.1.1 to its `Fred
                      Router'."
              ::= { system 2 }

          sysUpTime OBJECT-TYPE
              SYNTAX  TimeTicks
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The time (in hundredths of a second) since the
                      network management portion of the system was last
                      re-initialized."
              ::= { system 3 }

          sysContact OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The textual identification of the contact person
                      for this managed node, together with information
                      on how to contact this person."
              ::= { system 4 }

          sysName OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "An administratively-assigned name for this
                      managed node.  By convention, this is the node's
                      fully-qualified domain name."
              ::= { system 5 }

          sysLocation OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The physical location of this node (e.g.,
                      `telephone closet, 3rd floor')."
              ::= { system 6 }

          sysServices OBJECT-TYPE
              SYNTAX  INTEGER (0..127)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A value which indicates the set of services that
                      this entity primarily offers.

                      The value is a sum.  This sum initially takes the
                      value zero, Then, for each layer, L, in the range
                      1 through 7, that this node performs transactions
                      for, 2 raised to (L - 1) is added to the sum.  For
                      example, a node which performs primarily routing
                      functions would have a value of 4 (2^(3-1)).  In
                      contrast, a node which is a host offering
                      application services would have a value of 72
                      (2^(4-1) + 2^(7-1)).  Note that in the context of
                      the Internet suite of protocols, values should be
                      calculated accordingly:

                           layer  functionality
                               1  physical (e.g., repeaters)
                               2  datalink/subnetwork (e.g., bridges)
                               3  internet (e.g., IP gateways)
                               4  end-to-end  (e.g., IP hosts)
                               7  applications (e.g., mail relays)

                      For systems including OSI protocols, layers 5 and
                      6 may also be counted."
              ::= { system 7 }

          -- the Interfaces group

          -- Implementation of the Interfaces group is mandatory for
          -- all systems.

          ifNumber OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of network interfaces (regardless of
                      their current state) present on this system."
              ::= { interfaces 1 }


          -- the Interfaces table

          -- The Interfaces table contains information on the entity's
          -- interfaces.  Each interface is thought of as being
          -- attached to a `subnetwork'.  Note that this term should
          -- not be confused with `subnet' which refers to an
          -- addressing partitioning scheme used in the Internet suite
          -- of protocols.

          ifTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF IfEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of interface entries.  The number of
                      entries is given by the value of ifNumber."
              ::= { interfaces 2 }

          ifEntry OBJECT-TYPE
              SYNTAX  IfEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An interface entry containing objects at the
                      subnetwork layer and below for a particular
                      interface."
              INDEX   { ifIndex }
              ::= { ifTable 1 }

          IfEntry ::=
              SEQUENCE {
                  ifIndex
                      INTEGER,
                  ifDescr
                      DisplayString,
                  ifType
                      INTEGER,
                  ifMtu
                      INTEGER,
                  ifSpeed
                      Gauge,
                  ifPhysAddress
                      PhysAddress,
                  ifAdminStatus
                      INTEGER,
                  ifOperStatus
                      INTEGER,
                  ifLastChange
                      TimeTicks,
                  ifInOctets
                      Counter,
                  ifInUcastPkts
                      Counter,
                  ifInNUcastPkts
                      Counter,
                  ifInDiscards
                      Counter,
                  ifInErrors
                      Counter,
                  ifInUnknownProtos
                      Counter,
                  ifOutOctets
                      Counter,
                  ifOutUcastPkts
                      Counter,
                  ifOutNUcastPkts
                      Counter,
                  ifOutDiscards
                      Counter,
                  ifOutErrors
                      Counter,
                  ifOutQLen
                      Gauge,
                  ifSpecific
                      OBJECT IDENTIFIER
              }

          ifIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A unique value for each interface.  Its value
                      ranges between 1 and the value of ifNumber.  The
                      value for each interface must remain constant at
                      least from one re-initialization of the entity's
                      network management system to the next re-
                      initialization."
              ::= { ifEntry 1 }

          ifDescr OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A textual string containing information about the
                      interface.  This string should include the name of
                      the manufacturer, the product name and the version
                      of the hardware interface."
              ::= { ifEntry 2 }

          ifType OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),          -- none of the following
                          regular1822(2),
                          hdh1822(3),
                          ddn-x25(4),
                          rfc877-x25(5),
                          ethernet-csmacd(6),
                          iso88023-csmacd(7),
                          iso88024-tokenBus(8),
                          iso88025-tokenRing(9),
                          iso88026-man(10),
                          starLan(11),
                          proteon-10Mbit(12),
                          proteon-80Mbit(13),
                          hyperchannel(14),
                          fddi(15),
                          lapb(16),
                          sdlc(17),
                          ds1(18),           -- T-1
                          e1(19),            -- european equiv. of T-1
                          basicISDN(20),
                          primaryISDN(21),   -- proprietary serial
                          propPointToPointSerial(22),
                          ppp(23),
                          softwareLoopback(24),
                          eon(25),            -- CLNP over IP [11]
                          ethernet-3Mbit(26),
                          nsip(27),           -- XNS over IP
                          slip(28),           -- generic SLIP
                          ultra(29),          -- ULTRA technologies
                          ds3(30),            -- T-3
                          sip(31),            -- SMDS
                          frame-relay(32)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The type of interface, distinguished according to
                      the physical/link protocol(s) immediately `below'
                      the network layer in the protocol stack."
              ::= { ifEntry 3 }

          ifMtu OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The size of the largest datagram which can be
                      sent/received on the interface, specified in
                      octets.  For interfaces that are used for
                      transmitting network datagrams, this is the size
                      of the largest network datagram that can be sent
                      on the interface."
              ::= { ifEntry 4 }

          ifSpeed OBJECT-TYPE
              SYNTAX  Gauge
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "An estimate of the interface's current bandwidth
                      in bits per second.  For interfaces which do not
                      vary in bandwidth or for those where no accurate
                      estimation can be made, this object should contain
                      the nominal bandwidth."
              ::= { ifEntry 5 }

          ifPhysAddress OBJECT-TYPE
              SYNTAX  PhysAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The interface's address at the protocol layer
                      immediately `below' the network layer in the
                      protocol stack.  For interfaces which do not have
                      such an address (e.g., a serial line), this object
                      should contain an octet string of zero length."
              ::= { ifEntry 6 }

          ifAdminStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          up(1),       -- ready to pass packets
                          down(2),
                          testing(3)   -- in some test mode
                      }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The desired state of the interface.  The
                      testing(3) state indicates that no operational
                      packets can be passed."
              ::= { ifEntry 7 }

          ifOperStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          up(1),       -- ready to pass packets
                          down(2),
                          testing(3)   -- in some test mode
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The current operational state of the interface.
                      The testing(3) state indicates that no operational
                      packets can be passed."
              ::= { ifEntry 8 }

          ifLastChange OBJECT-TYPE
              SYNTAX  TimeTicks
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The value of sysUpTime at the time the interface
                      entered its current operational state.  If the
                      current state was entered prior to the last re-
                      initialization of the local network management
                      subsystem, then this object contains a zero
                      value."
              ::= { ifEntry 9 }

          ifInOctets OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of octets received on the
                      interface, including framing characters."
              ::= { ifEntry 10 }

          ifInUcastPkts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of subnetwork-unicast packets
                      delivered to a higher-layer protocol."
              ::= { ifEntry 11 }

          ifInNUcastPkts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of non-unicast (i.e., subnetwork-
                      broadcast or subnetwork-multicast) packets
                      delivered to a higher-layer protocol."
              ::= { ifEntry 12 }

          ifInDiscards OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of inbound packets which were chosen
                      to be discarded even though no errors had been
                      detected to prevent their being deliverable to a
                      higher-layer protocol.  One possible reason for
                      discarding such a packet could be to free up
                      buffer space."
              ::= { ifEntry 13 }

          ifInErrors OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of inbound packets that contained
                      errors preventing them from being deliverable to a
                      higher-layer protocol."
              ::= { ifEntry 14 }

          ifInUnknownProtos OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of packets received via the interface
                      which were discarded because of an unknown or
                      unsupported protocol."
              ::= { ifEntry 15 }

          ifOutOctets OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of octets transmitted out of the
                      interface, including framing characters."
              ::= { ifEntry 16 }

          ifOutUcastPkts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of packets that higher-level
                      protocols requested be transmitted to a
                      subnetwork-unicast address, including those that
                      were discarded or not sent."
              ::= { ifEntry 17 }

          ifOutNUcastPkts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of packets that higher-level
                      protocols requested be transmitted to a non-
                      unicast (i.e., a subnetwork-broadcast or
                      subnetwork-multicast) address, including those
                      that were discarded or not sent."
              ::= { ifEntry 18 }

          ifOutDiscards OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of outbound packets which were chosen
                      to be discarded even though no errors had been
                      detected to prevent their being transmitted.  One
                      possible reason for discarding such a packet could
                      be to free up buffer space."
              ::= { ifEntry 19 }

          ifOutErrors OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of outbound packets that could not be
                      transmitted because of errors."
              ::= { ifEntry 20 }

          ifOutQLen OBJECT-TYPE
              SYNTAX  Gauge
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The length of the output packet queue (in
                      packets)."
              ::= { ifEntry 21 }

          ifSpecific OBJECT-TYPE
              SYNTAX  OBJECT IDENTIFIER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A reference to MIB definitions specific to the
                      particular media being used to realize the
                      interface.  For example, if the interface is
                      realized by an ethernet, then the value of this
                      object refers to a document defining objects
                      specific to ethernet.  If this information is not
                      present, its value should be set to the OBJECT
                      IDENTIFIER { 0 0 }, which is a syntatically valid
                      object identifier, and any conformant
                      implementation of ASN.1 and BER must be able to
                      generate and recognize this value."
              ::= { ifEntry 22 }


          -- the Address Translation group

          -- Implementation of the Address Translation group is
          -- mandatory for all systems.  Note however that this group
          -- is deprecated by MIB-II. That is, it is being included
          -- solely for compatibility with MIB-I nodes, and will most
          -- likely be excluded from MIB-III nodes.  From MIB-II and
          -- onwards, each network protocol group contains its own
          -- address translation tables.

          -- The Address Translation group contains one table which is
          -- the union across all interfaces of the translation tables
          -- for converting a NetworkAddress (e.g., an IP address) into
          -- a subnetwork-specific address.  For lack of a better term,
          -- this document refers to such a subnetwork-specific address
          -- as a `physical' address.

          -- Examples of such translation tables are: for broadcast
          -- media where ARP is in use, the translation table is
          -- equivalent to the ARP cache; or, on an X.25 network where
          -- non-algorithmic translation to X.121 addresses is
          -- required, the translation table contains the
          -- NetworkAddress to X.121 address equivalences.

          atTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF AtEntry
              ACCESS  not-accessible
              STATUS  deprecated
              DESCRIPTION
                      "The Address Translation tables contain the
                      NetworkAddress to `physical' address equivalences.
                      Some interfaces do not use translation tables for
                      determining address equivalences (e.g., DDN-X.25
                      has an algorithmic method); if all interfaces are
                      of this type, then the Address Translation table
                      is empty, i.e., has zero entries."
              ::= { at 1 }

          atEntry OBJECT-TYPE
              SYNTAX  AtEntry
              ACCESS  not-accessible
              STATUS  deprecated
              DESCRIPTION
                      "Each entry contains one NetworkAddress to
                      `physical' address equivalence."
              INDEX   { atIfIndex,
                        atNetAddress }
              ::= { atTable 1 }

          AtEntry ::=
              SEQUENCE {
                  atIfIndex
                      INTEGER,
                  atPhysAddress
                      PhysAddress,
                  atNetAddress
                      NetworkAddress
              }

          atIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-write
              STATUS  deprecated
              DESCRIPTION
                      "The interface on which this entry's equivalence
                      is effective.  The interface identified by a
                      particular value of this index is the same
                      interface as identified by the same value of
                      ifIndex."
              ::= { atEntry 1 }

          atPhysAddress OBJECT-TYPE
              SYNTAX  PhysAddress
              ACCESS  read-write
              STATUS  deprecated
              DESCRIPTION
                      "The media-dependent `physical' address.

                      Setting this object to a null string (one of zero
                      length) has the effect of invaliding the
                      corresponding entry in the atTable object.  That
                      is, it effectively dissasociates the interface
                      identified with said entry from the mapping
                      identified with said entry.  It is an
                      implementation-specific matter as to whether the
                      agent removes an invalidated entry from the table.
                      Accordingly, management stations must be prepared
                      to receive tabular information from agents that
                      corresponds to entries not currently in use.
                      Proper interpretation of such entries requires
                      examination of the relevant atPhysAddress object."
              ::= { atEntry 2 }

          atNetAddress OBJECT-TYPE
              SYNTAX  NetworkAddress
              ACCESS  read-write
              STATUS  deprecated
              DESCRIPTION
                      "The NetworkAddress (e.g., the IP address)
                      corresponding to the media-dependent `physical'
                      address."
              ::= { atEntry 3 }


          -- the IP group

          -- Implementation of the IP group is mandatory for all
          -- systems.

          ipForwarding OBJECT-TYPE
              SYNTAX  INTEGER {
                          forwarding(1),    -- acting as a gateway
                          not-forwarding(2) -- NOT acting as a gateway
                      }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The indication of whether this entity is acting
                      as an IP gateway in respect to the forwarding of
                      datagrams received by, but not addressed to, this
                      entity.  IP gateways forward datagrams.  IP hosts
                      do not (except those source-routed via the host).

                      Note that for some managed nodes, this object may
                      take on only a subset of the values possible.
                      Accordingly, it is appropriate for an agent to
                      return a `badValue' response if a management
                      station attempts to change this object to an
                      inappropriate value."
              ::= { ip 1 }

          ipDefaultTTL OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The default value inserted into the Time-To-Live
                      field of the IP header of datagrams originated at
                      this entity, whenever a TTL value is not supplied
                      by the transport layer protocol."
              ::= { ip 2 }

          ipInReceives OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of input datagrams received from
                      interfaces, including those received in error."
              ::= { ip 3 }

          ipInHdrErrors OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of input datagrams discarded due to
                      errors in their IP headers, including bad
                      checksums, version number mismatch, other format
                      errors, time-to-live exceeded, errors discovered
                      in processing their IP options, etc."
              ::= { ip 4 }

          ipInAddrErrors OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of input datagrams discarded because
                      the IP address in their IP header's destination
                      field was not a valid address to be received at
                      this entity.  This count includes invalid
                      addresses (e.g., 0.0.0.0) and addresses of
                      unsupported Classes (e.g., Class E).  For entities
                      which are not IP Gateways and therefore do not
                      forward datagrams, this counter includes datagrams
                      discarded because the destination address was not
                      a local address."
              ::= { ip 5 }

          ipForwDatagrams OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of input datagrams for which this
                      entity was not their final IP destination, as a
                      result of which an attempt was made to find a
                      route to forward them to that final destination.
                      In entities which do not act as IP Gateways, this
                      counter will include only those packets which were
                      Source-Routed via this entity, and the Source-
                      Route option processing was successful."
              ::= { ip 6 }

          ipInUnknownProtos OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of locally-addressed datagrams
                      received successfully but discarded because of an
                      unknown or unsupported protocol."
              ::= { ip 7 }

          ipInDiscards OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of input IP datagrams for which no
                      problems were encountered to prevent their
                      continued processing, but which were discarded
                      (e.g., for lack of buffer space).  Note that this
                      counter does not include any datagrams discarded
                      while awaiting re-assembly."
              ::= { ip 8 }

          ipInDelivers OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of input datagrams successfully
                      delivered to IP user-protocols (including ICMP)."
              ::= { ip 9 }

          ipOutRequests OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of IP datagrams which local IP
                      user-protocols (including ICMP) supplied to IP in
                      requests for transmission.  Note that this counter
                      does not include any datagrams counted in
                      ipForwDatagrams."
              ::= { ip 10 }

          ipOutDiscards OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of output IP datagrams for which no
                      problem was encountered to prevent their
                      transmission to their destination, but which were
                      discarded (e.g., for lack of buffer space).  Note
                      that this counter would include datagrams counted
                      in ipForwDatagrams if any such packets met this
                      (discretionary) discard criterion."
              ::= { ip 11 }

          ipOutNoRoutes OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of IP datagrams discarded because no
                      route could be found to transmit them to their
                      destination.  Note that this counter includes any
                      packets counted in ipForwDatagrams which meet this
                      `no-route' criterion.  Note that this includes any
                      datagarms which a host cannot route because all of
                      its default gateways are down."
              ::= { ip 12 }

          ipReasmTimeout OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The maximum number of seconds which received
                      fragments are held while they are awaiting
                      reassembly at this entity."
              ::= { ip 13 }

          ipReasmReqds OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of IP fragments received which needed
                      to be reassembled at this entity."
              ::= { ip 14 }

          ipReasmOKs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of IP datagrams successfully re-
                      assembled."
              ::= { ip 15 }

          ipReasmFails OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of failures detected by the IP re-
                      assembly algorithm (for whatever reason: timed
                      out, errors, etc).  Note that this is not
                      necessarily a count of discarded IP fragments
                      since some algorithms (notably the algorithm in
                      RFC 815) can lose track of the number of fragments
                      by combining them as they are received."
              ::= { ip 16 }

          ipFragOKs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of IP datagrams that have been
                      successfully fragmented at this entity."
              ::= { ip 17 }

          ipFragFails OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of IP datagrams that have been
                      discarded because they needed to be fragmented at
                      this entity but could not be, e.g., because their
                      Don't Fragment flag was set."
              ::= { ip 18 }

          ipFragCreates OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of IP datagram fragments that have
                      been generated as a result of fragmentation at
                      this entity."
              ::= { ip 19 }

          -- the IP address table

          -- The IP address table contains this entity's IP addressing
          -- information.

          ipAddrTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF IpAddrEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The table of addressing information relevant to
                      this entity's IP addresses."
              ::= { ip 20 }

          ipAddrEntry OBJECT-TYPE
              SYNTAX  IpAddrEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The addressing information for one of this
                      entity's IP addresses."
              INDEX   { ipAdEntAddr }
              ::= { ipAddrTable 1 }

          IpAddrEntry ::=
              SEQUENCE {
                  ipAdEntAddr
                      IpAddress,
                  ipAdEntIfIndex
                      INTEGER,
                  ipAdEntNetMask
                      IpAddress,
                  ipAdEntBcastAddr
                      INTEGER,
                  ipAdEntReasmMaxSize
                      INTEGER (0..65535)
              }

          ipAdEntAddr OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The IP address to which this entry's addressing
                      information pertains."
              ::= { ipAddrEntry 1 }

          ipAdEntIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The index value which uniquely identifies the
                      interface to which this entry is applicable.  The
                      interface identified by a particular value of this
                      index is the same interface as identified by the
                      same value of ifIndex."
              ::= { ipAddrEntry 2 }

          ipAdEntNetMask OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The subnet mask associated with the IP address of
                      this entry.  The value of the mask is an IP
                      address with all the network bits set to 1 and all
                      the hosts bits set to 0."
              ::= { ipAddrEntry 3 }

          ipAdEntBcastAddr OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The value of the least-significant bit in the IP
                      broadcast address used for sending datagrams on
                      the (logical) interface associated with the IP
                      address of this entry.  For example, when the
                      Internet standard all-ones broadcast address is
                      used, the value will be 1.  This value applies to
                      both the subnet and network broadcasts addresses
                      used by the entity on this (logical) interface."
              ::= { ipAddrEntry 4 }

          ipAdEntReasmMaxSize OBJECT-TYPE
              SYNTAX  INTEGER (0..65535)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The size of the largest IP datagram which this
                      entity can re-assemble from incoming IP fragmented
                      datagrams received on this interface."
              ::= { ipAddrEntry 5 }

          -- the IP routing table

          -- The IP routing table contains an entry for each route
          -- presently known to this entity.

          ipRouteTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF IpRouteEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "This entity's IP Routing table."
              ::= { ip 21 }

          ipRouteEntry OBJECT-TYPE
              SYNTAX  IpRouteEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A route to a particular destination."
              INDEX   { ipRouteDest }
              ::= { ipRouteTable 1 }

          IpRouteEntry ::=
              SEQUENCE {
                  ipRouteDest
                      IpAddress,
                  ipRouteIfIndex
                      INTEGER,
                  ipRouteMetric1
                      INTEGER,
                  ipRouteMetric2
                      INTEGER,
                  ipRouteMetric3
                      INTEGER,
                  ipRouteMetric4
                      INTEGER,
                  ipRouteNextHop
                      IpAddress,
                  ipRouteType
                      INTEGER,
                  ipRouteProto
                      INTEGER,
                  ipRouteAge
                      INTEGER,
                  ipRouteMask
                      IpAddress,
                  ipRouteMetric5
                      INTEGER,
                  ipRouteInfo
                      OBJECT IDENTIFIER
              }

          ipRouteDest OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The destination IP address of this route.  An
                      entry with a value of 0.0.0.0 is considered a
                      default route.  Multiple routes to a single
                      destination can appear in the table, but access to
                      such multiple entries is dependent on the table-
                      access mechanisms defined by the network
                      management protocol in use."
              ::= { ipRouteEntry 1 }

          ipRouteIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The index value which uniquely identifies the
                      local interface through which the next hop of this
                      route should be reached.  The interface identified
                      by a particular value of this index is the same
                      interface as identified by the same value of
                      ifIndex."
              ::= { ipRouteEntry 2 }

          ipRouteMetric1 OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The primary routing metric for this route.  The
                      semantics of this metric are determined by the
                      routing-protocol specified in the route's
                      ipRouteProto value.  If this metric is not used,
                      its value should be set to -1."
              ::= { ipRouteEntry 3 }

          ipRouteMetric2 OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "An alternate routing metric for this route.  The
                      semantics of this metric are determined by the
                      routing-protocol specified in the route's
                      ipRouteProto value.  If this metric is not used,
                      its value should be set to -1."
              ::= { ipRouteEntry 4 }

          ipRouteMetric3 OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "An alternate routing metric for this route.  The
                      semantics of this metric are determined by the
                      routing-protocol specified in the route's
                      ipRouteProto value.  If this metric is not used,
                      its value should be set to -1."
              ::= { ipRouteEntry 5 }

          ipRouteMetric4 OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "An alternate routing metric for this route.  The
                      semantics of this metric are determined by the
                      routing-protocol specified in the route's
                      ipRouteProto value.  If this metric is not used,
                      its value should be set to -1."
              ::= { ipRouteEntry 6 }

          ipRouteNextHop OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The IP address of the next hop of this route.
                      (In the case of a route bound to an interface
                      which is realized via a broadcast media, the value
                      of this field is the agent's IP address on that
                      interface.)"
              ::= { ipRouteEntry 7 }

          ipRouteType OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),        -- none of the following

                          invalid(2),      -- an invalidated route
                                           -- route to directly
                          direct(3),       -- connected (sub-)network

                                           -- route to a non-local
                          indirect(4)      -- host/network/sub-network
                      }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The type of route.  Note that the values
                      direct(3) and indirect(4) refer to the notion of
                      direct and indirect routing in the IP
                      architecture.

                      Setting this object to the value invalid(2) has
                      the effect of invalidating the corresponding entry
                      in the ipRouteTable object.  That is, it
                      effectively dissasociates the destination
                      identified with said entry from the route
                      identified with said entry.  It is an
                      implementation-specific matter as to whether the
                      agent removes an invalidated entry from the table.
                      Accordingly, management stations must be prepared
                      to receive tabular information from agents that
                      corresponds to entries not currently in use.
                      Proper interpretation of such entries requires
                      examination of the relevant ipRouteType object."
              ::= { ipRouteEntry 8 }

          ipRouteProto OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),       -- none of the following

                                          -- non-protocol information,
                                          -- e.g., manually configured
                          local(2),       -- entries

                                          -- set via a network
                          netmgmt(3),     -- management protocol

                                          -- obtained via ICMP,
                          icmp(4),        -- e.g., Redirect

                                          -- the remaining values are
                                          -- all gateway routing
                                          -- protocols
                          egp(5),
                          ggp(6),
                          hello(7),
                          rip(8),
                          is-is(9),
                          es-is(10),
                          ciscoIgrp(11),
                          bbnSpfIgp(12),
                          ospf(13),
                          bgp(14)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The routing mechanism via which this route was
                      learned.  Inclusion of values for gateway routing
                      protocols is not intended to imply that hosts
                      should support those protocols."
              ::= { ipRouteEntry 9 }

          ipRouteAge OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The number of seconds since this route was last
                      updated or otherwise determined to be correct.
                      Note that no semantics of `too old' can be implied
                      except through knowledge of the routing protocol
                      by which the route was learned."
              ::= { ipRouteEntry 10 }

          ipRouteMask OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Indicate the mask to be logical-ANDed with the
                      destination address before being compared to the
                      value in the ipRouteDest field.  For those systems
                      that do not support arbitrary subnet masks, an
                      agent constructs the value of the ipRouteMask by
                      determining whether the value of the correspondent
                      ipRouteDest field belong to a class-A, B, or C
                      network, and then using one of:

                           mask           network
                           255.0.0.0      class-A
                           255.255.0.0    class-B
                           255.255.255.0  class-C

                      If the value of the ipRouteDest is 0.0.0.0 (a
                      default route), then the mask value is also
                      0.0.0.0.  It should be noted that all IP routing
                      subsystems implicitly use this mechanism."
              ::= { ipRouteEntry 11 }

          ipRouteMetric5 OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "An alternate routing metric for this route.  The
                      semantics of this metric are determined by the
                      routing-protocol specified in the route's
                      ipRouteProto value.  If this metric is not used,
                      its value should be set to -1."
              ::= { ipRouteEntry 12 }

          ipRouteInfo OBJECT-TYPE
              SYNTAX  OBJECT IDENTIFIER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A reference to MIB definitions specific to the
                      particular routing protocol which is responsible
                      for this route, as determined by the value
                      specified in the route's ipRouteProto value.  If
                      this information is not present, its value should
                      be set to the OBJECT IDENTIFIER { 0 0 }, which is
                      a syntatically valid object identifier, and any
                      conformant implementation of ASN.1 and BER must be
                      able to generate and recognize this value."
              ::= { ipRouteEntry 13 }


          -- the IP Address Translation table

          -- The IP address translation table contain the IpAddress to
          -- `physical' address equivalences.  Some interfaces do not
          -- use translation tables for determining address
          -- equivalences (e.g., DDN-X.25 has an algorithmic method);
          -- if all interfaces are of this type, then the Address
          -- Translation table is empty, i.e., has zero entries.

          ipNetToMediaTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF IpNetToMediaEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The IP Address Translation table used for mapping
                      from IP addresses to physical addresses."
              ::= { ip 22 }

          ipNetToMediaEntry OBJECT-TYPE
              SYNTAX  IpNetToMediaEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "Each entry contains one IpAddress to `physical'
                      address equivalence."
              INDEX   { ipNetToMediaIfIndex,
                        ipNetToMediaNetAddress }
              ::= { ipNetToMediaTable 1 }

          IpNetToMediaEntry ::=
              SEQUENCE {
                  ipNetToMediaIfIndex
                      INTEGER,
                  ipNetToMediaPhysAddress
                      PhysAddress,
                  ipNetToMediaNetAddress
                      IpAddress,
                  ipNetToMediaType
                      INTEGER
              }

          ipNetToMediaIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The interface on which this entry's equivalence
                      is effective.  The interface identified by a
                      particular value of this index is the same
                      interface as identified by the same value of
                      ifIndex."
              ::= { ipNetToMediaEntry 1 }

          ipNetToMediaPhysAddress OBJECT-TYPE
              SYNTAX  PhysAddress
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The media-dependent `physical' address."
              ::= { ipNetToMediaEntry 2 }

          ipNetToMediaNetAddress OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The IpAddress corresponding to the media-
                      dependent `physical' address."
              ::= { ipNetToMediaEntry 3 }

          ipNetToMediaType OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),        -- none of the following
                          invalid(2),      -- an invalidated mapping
                          dynamic(3),
                          static(4)
                      }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The type of mapping.

                      Setting this object to the value invalid(2) has
                      the effect of invalidating the corresponding entry
                      in the ipNetToMediaTable.  That is, it effectively
                      dissasociates the interface identified with said
                      entry from the mapping identified with said entry.
                      It is an implementation-specific matter as to
                      whether the agent removes an invalidated entry
                      from the table.  Accordingly, management stations
                      must be prepared to receive tabular information
                      from agents that corresponds to entries not
                      currently in use.  Proper interpretation of such
                      entries requires examination of the relevant
                      ipNetToMediaType object."
              ::= { ipNetToMediaEntry 4 }


          -- additional IP objects

          ipRoutingDiscards OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of routing entries which were chosen
                      to be discarded even though they are valid.  One
                      possible reason for discarding such an entry could
                      be to free-up buffer space for other routing
                      entries."
              ::= { ip 23 }


          -- the ICMP group

          -- Implementation of the ICMP group is mandatory for all
          -- systems.

          icmpInMsgs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of ICMP messages which the
                      entity received.  Note that this counter includes
                      all those counted by icmpInErrors."
              ::= { icmp 1 }

          icmpInErrors OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP messages which the entity
                      received but determined as having ICMP-specific
                      errors (bad ICMP checksums, bad length, etc.)."
              ::= { icmp 2 }

          icmpInDestUnreachs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Destination Unreachable
                      messages received."
              ::= { icmp 3 }

          icmpInTimeExcds OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Time Exceeded messages
                      received."
              ::= { icmp 4 }

          icmpInParmProbs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Parameter Problem messages
                      received."
              ::= { icmp 5 }

          icmpInSrcQuenchs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Source Quench messages
                      received."
              ::= { icmp 6 }

          icmpInRedirects OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Redirect messages received."
              ::= { icmp 7 }

          icmpInEchos OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Echo (request) messages
                      received."
              ::= { icmp 8 }

          icmpInEchoReps OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Echo Reply messages received."
              ::= { icmp 9 }

          icmpInTimestamps OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Timestamp (request) messages
                      received."
              ::= { icmp 10 }

          icmpInTimestampReps OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Timestamp Reply messages
                      received."
              ::= { icmp 11 }

          icmpInAddrMasks OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Address Mask Request messages
                      received."
              ::= { icmp 12 }

          icmpInAddrMaskReps OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Address Mask Reply messages
                      received."
              ::= { icmp 13 }

          icmpOutMsgs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of ICMP messages which this
                      entity attempted to send.  Note that this counter
                      includes all those counted by icmpOutErrors."
              ::= { icmp 14 }

          icmpOutErrors OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP messages which this entity did
                      not send due to problems discovered within ICMP
                      such as a lack of buffers.  This value should not
                      include errors discovered outside the ICMP layer
                      such as the inability of IP to route the resultant
                      datagram.  In some implementations there may be no
                      types of error which contribute to this counter's
                      value."
              ::= { icmp 15 }

          icmpOutDestUnreachs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Destination Unreachable
                      messages sent."
              ::= { icmp 16 }

          icmpOutTimeExcds OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Time Exceeded messages sent."
              ::= { icmp 17 }

          icmpOutParmProbs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Parameter Problem messages
                      sent."
              ::= { icmp 18 }

          icmpOutSrcQuenchs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Source Quench messages sent."
              ::= { icmp 19 }

          icmpOutRedirects OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Redirect messages sent.  For a
                      host, this object will always be zero, since hosts
                      do not send redirects."
              ::= { icmp 20 }

          icmpOutEchos OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Echo (request) messages sent."
              ::= { icmp 21 }

          icmpOutEchoReps OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Echo Reply messages sent."
              ::= { icmp 22 }

          icmpOutTimestamps OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Timestamp (request) messages
                      sent."
              ::= { icmp 23 }

          icmpOutTimestampReps OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Timestamp Reply messages
                      sent."
              ::= { icmp 24 }

          icmpOutAddrMasks OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Address Mask Request messages
                      sent."
              ::= { icmp 25 }

          icmpOutAddrMaskReps OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ICMP Address Mask Reply messages
                      sent."
              ::= { icmp 26 }


          -- the TCP group

          -- Implementation of the TCP group is mandatory for all
          -- systems that implement the TCP.

          -- Note that instances of object types that represent
          -- information about a particular TCP connection are
          -- transient; they persist only as long as the connection
          -- in question.

          tcpRtoAlgorithm OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),    -- none of the following

                          constant(2), -- a constant rto
                          rsre(3),     -- MIL-STD-1778, Appendix B
                          vanj(4)      -- Van Jacobson's algorithm [10]
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The algorithm used to determine the timeout value
                      used for retransmitting unacknowledged octets."
              ::= { tcp 1 }

          tcpRtoMin OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The minimum value permitted by a TCP
                      implementation for the retransmission timeout,
                      measured in milliseconds.  More refined semantics
                      for objects of this type depend upon the algorithm
                      used to determine the retransmission timeout.  In
                      particular, when the timeout algorithm is rsre(3),
                      an object of this type has the semantics of the
                      LBOUND quantity described in RFC 793."
              ::= { tcp 2 }


          tcpRtoMax OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The maximum value permitted by a TCP
                      implementation for the retransmission timeout,
                      measured in milliseconds.  More refined semantics
                      for objects of this type depend upon the algorithm
                      used to determine the retransmission timeout.  In
                      particular, when the timeout algorithm is rsre(3),
                      an object of this type has the semantics of the
                      UBOUND quantity described in RFC 793."
              ::= { tcp 3 }

          tcpMaxConn OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The limit on the total number of TCP connections
                      the entity can support.  In entities where the
                      maximum number of connections is dynamic, this
                      object should contain the value -1."
              ::= { tcp 4 }

          tcpActiveOpens OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of times TCP connections have made a
                      direct transition to the SYN-SENT state from the
                      CLOSED state."
              ::= { tcp 5 }

          tcpPassiveOpens OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of times TCP connections have made a
                      direct transition to the SYN-RCVD state from the
                      LISTEN state."
              ::= { tcp 6 }

          tcpAttemptFails OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of times TCP connections have made a
                      direct transition to the CLOSED state from either
                      the SYN-SENT state or the SYN-RCVD state, plus the
                      number of times TCP connections have made a direct
                      transition to the LISTEN state from the SYN-RCVD
                      state."
              ::= { tcp 7 }

          tcpEstabResets OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of times TCP connections have made a
                      direct transition to the CLOSED state from either
                      the ESTABLISHED state or the CLOSE-WAIT state."
              ::= { tcp 8 }

          tcpCurrEstab OBJECT-TYPE
              SYNTAX  Gauge
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of TCP connections for which the
                      current state is either ESTABLISHED or CLOSE-
                      WAIT."
              ::= { tcp 9 }

          tcpInSegs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of segments received, including
                      those received in error.  This count includes
                      segments received on currently established
                      connections."
              ::= { tcp 10 }

          tcpOutSegs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of segments sent, including
                      those on current connections but excluding those
                      containing only retransmitted octets."
              ::= { tcp 11 }

          tcpRetransSegs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of segments retransmitted - that
                      is, the number of TCP segments transmitted
                      containing one or more previously transmitted
                      octets."
              ::= { tcp 12 }


          -- the TCP Connection table

          -- The TCP connection table contains information about this
          -- entity's existing TCP connections.

          tcpConnTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF TcpConnEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A table containing TCP connection-specific
                      information."
              ::= { tcp 13 }

          tcpConnEntry OBJECT-TYPE
              SYNTAX  TcpConnEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "Information about a particular current TCP
                      connection.  An object of this type is transient,
                      in that it ceases to exist when (or soon after)
                      the connection makes the transition to the CLOSED
                      state."
              INDEX   { tcpConnLocalAddress,
                        tcpConnLocalPort,
                        tcpConnRemAddress,
                        tcpConnRemPort }
              ::= { tcpConnTable 1 }

          TcpConnEntry ::=
              SEQUENCE {
                  tcpConnState
                      INTEGER,
                  tcpConnLocalAddress
                      IpAddress,
                  tcpConnLocalPort
                      INTEGER (0..65535),
                  tcpConnRemAddress
                      IpAddress,
                  tcpConnRemPort
                      INTEGER (0..65535)
              }

          tcpConnState OBJECT-TYPE
              SYNTAX  INTEGER {
                          closed(1),
                          listen(2),
                          synSent(3),
                          synReceived(4),
                          established(5),
                          finWait1(6),
                          finWait2(7),
                          closeWait(8),
                          lastAck(9),
                          closing(10),
                          timeWait(11),
                          deleteTCB(12)
                      }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The state of this TCP connection.

                      The only value which may be set by a management
                      station is deleteTCB(12).  Accordingly, it is
                      appropriate for an agent to return a `badValue'
                      response if a management station attempts to set
                      this object to any other value.

                      If a management station sets this object to the
                      value deleteTCB(12), then this has the effect of
                      deleting the TCB (as defined in RFC 793) of the
                      corresponding connection on the managed node,
                      resulting in immediate termination of the
                      connection.

                      As an implementation-specific option, a RST
                      segment may be sent from the managed node to the
                      other TCP endpoint (note however that RST segments
                      are not sent reliably)."
              ::= { tcpConnEntry 1 }

          tcpConnLocalAddress OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The local IP address for this TCP connection.  In
                      the case of a connection in the listen state which
                      is willing to accept connections for any IP
                      interface associated with the node, the value
                      0.0.0.0 is used."
              ::= { tcpConnEntry 2 }

          tcpConnLocalPort OBJECT-TYPE
              SYNTAX  INTEGER (0..65535)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The local port number for this TCP connection."
              ::= { tcpConnEntry 3 }

          tcpConnRemAddress OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The remote IP address for this TCP connection."
              ::= { tcpConnEntry 4 }

          tcpConnRemPort OBJECT-TYPE
              SYNTAX  INTEGER (0..65535)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The remote port number for this TCP connection."
              ::= { tcpConnEntry 5 }


          -- additional TCP objects

          tcpInErrs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of segments received in error
                      (e.g., bad TCP checksums)."
              ::= { tcp 14 }

          tcpOutRsts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of TCP segments sent containing the
                      RST flag."
              ::= { tcp 15 }


          -- the UDP group

          -- Implementation of the UDP group is mandatory for all
          -- systems which implement the UDP.

          udpInDatagrams OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of UDP datagrams delivered to
                      UDP users."
              ::= { udp 1 }

          udpNoPorts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of received UDP datagrams for
                      which there was no application at the destination
                      port."
              ::= { udp 2 }

          udpInErrors OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of received UDP datagrams that could
                      not be delivered for reasons other than the lack
                      of an application at the destination port."
              ::= { udp 3 }

          udpOutDatagrams OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of UDP datagrams sent from this
                      entity."
              ::= { udp 4 }


          -- the UDP Listener table

          -- The UDP listener table contains information about this
          -- entity's UDP end-points on which a local application is
          -- currently accepting datagrams.

          udpTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF UdpEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A table containing UDP listener information."
              ::= { udp 5 }

          udpEntry OBJECT-TYPE
              SYNTAX  UdpEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "Information about a particular current UDP
                      listener."
              INDEX   { udpLocalAddress, udpLocalPort }
              ::= { udpTable 1 }

          UdpEntry ::=
              SEQUENCE {
                  udpLocalAddress
                      IpAddress,
                  udpLocalPort
                      INTEGER (0..65535)
              }

          udpLocalAddress OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The local IP address for this UDP listener.  In
                      the case of a UDP listener which is willing to
                      accept datagrams for any IP interface associated
                      with the node, the value 0.0.0.0 is used."
              ::= { udpEntry 1 }

          udpLocalPort OBJECT-TYPE
              SYNTAX  INTEGER (0..65535)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The local port number for this UDP listener."
              ::= { udpEntry 2 }


          -- the EGP group

          -- Implementation of the EGP group is mandatory for all
          -- systems which implement the EGP.

          egpInMsgs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of EGP messages received without
                      error."
              ::= { egp 1 }

          egpInErrors OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of EGP messages received that proved
                      to be in error."
              ::= { egp 2 }

          egpOutMsgs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of locally generated EGP
                      messages."
              ::= { egp 3 }

          egpOutErrors OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of locally generated EGP messages not
                      sent due to resource limitations within an EGP
                      entity."
              ::= { egp 4 }


          -- the EGP Neighbor table

          -- The EGP neighbor table contains information about this
          -- entity's EGP neighbors.

          egpNeighTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF EgpNeighEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "The EGP neighbor table."
              ::= { egp 5 }

          egpNeighEntry OBJECT-TYPE
              SYNTAX  EgpNeighEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "Information about this entity's relationship with
                      a particular EGP neighbor."
              INDEX   { egpNeighAddr }
              ::= { egpNeighTable 1 }

          EgpNeighEntry ::=
              SEQUENCE {
                  egpNeighState
                      INTEGER,
                  egpNeighAddr
                      IpAddress,
                  egpNeighAs
                      INTEGER,
                  egpNeighInMsgs
                      Counter,
                  egpNeighInErrs
                      Counter,
                  egpNeighOutMsgs
                      Counter,
                  egpNeighOutErrs
                      Counter,
                  egpNeighInErrMsgs
                      Counter,
                  egpNeighOutErrMsgs
                      Counter,
                  egpNeighStateUps
                      Counter,
                  egpNeighStateDowns
                      Counter,
                  egpNeighIntervalHello
                      INTEGER,
                  egpNeighIntervalPoll
                      INTEGER,
                  egpNeighMode
                      INTEGER,
                  egpNeighEventTrigger
                      INTEGER
              }

          egpNeighState OBJECT-TYPE
              SYNTAX  INTEGER {
                          idle(1),
                          acquisition(2),
                          down(3),
                          up(4),
                          cease(5)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The EGP state of the local system with respect to
                      this entry's EGP neighbor.  Each EGP state is
                      represented by a value that is one greater than
                      the numerical value associated with said state in
                      RFC 904."
              ::= { egpNeighEntry 1 }

          egpNeighAddr OBJECT-TYPE
              SYNTAX  IpAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The IP address of this entry's EGP neighbor."
              ::= { egpNeighEntry 2 }

          egpNeighAs OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The autonomous system of this EGP peer.  Zero
                      should be specified if the autonomous system
                      number of the neighbor is not yet known."
              ::= { egpNeighEntry 3 }

          egpNeighInMsgs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of EGP messages received without error
                      from this EGP peer."
              ::= { egpNeighEntry 4 }

          egpNeighInErrs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of EGP messages received from this EGP
                      peer that proved to be in error (e.g., bad EGP
                      checksum)."
              ::= { egpNeighEntry 5 }

          egpNeighOutMsgs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of locally generated EGP messages to
                      this EGP peer."
              ::= { egpNeighEntry 6 }

          egpNeighOutErrs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of locally generated EGP messages not
                      sent to this EGP peer due to resource limitations
                      within an EGP entity."
              ::= { egpNeighEntry 7 }

          egpNeighInErrMsgs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of EGP-defined error messages received
                      from this EGP peer."
              ::= { egpNeighEntry 8 }

          egpNeighOutErrMsgs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of EGP-defined error messages sent to
                      this EGP peer."
              ::= { egpNeighEntry 9 }

          egpNeighStateUps OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of EGP state transitions to the UP
                      state with this EGP peer."
              ::= { egpNeighEntry 10 }

          egpNeighStateDowns OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of EGP state transitions from the UP
                      state to any other state with this EGP peer."
              ::= { egpNeighEntry 11 }

          egpNeighIntervalHello OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The interval between EGP Hello command
                      retransmissions (in hundredths of a second).  This
                      represents the t1 timer as defined in RFC 904."
              ::= { egpNeighEntry 12 }

          egpNeighIntervalPoll OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The interval between EGP poll command
                      retransmissions (in hundredths of a second).  This
                      represents the t3 timer as defined in RFC 904."
              ::= { egpNeighEntry 13 }

          egpNeighMode OBJECT-TYPE
              SYNTAX  INTEGER { active(1), passive(2) }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The polling mode of this EGP entity, either
                      passive or active."
              ::= { egpNeighEntry 14 }

          egpNeighEventTrigger OBJECT-TYPE
              SYNTAX  INTEGER { start(1), stop(2) }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "A control variable used to trigger operator-
                      initiated Start and Stop events.  When read, this
                      variable always returns the most recent value that
                      egpNeighEventTrigger was set to.  If it has not
                      been set since the last initialization of the
                      network management subsystem on the node, it
                      returns a value of `stop'.

                      When set, this variable causes a Start or Stop
                      event on the specified neighbor, as specified on
                      pages 8-10 of RFC 904.  Briefly, a Start event
                      causes an Idle peer to begin neighbor acquisition
                      and a non-Idle peer to reinitiate neighbor
                      acquisition.  A stop event causes a non-Idle peer
                      to return to the Idle state until a Start event
                      occurs, either via egpNeighEventTrigger or
                      otherwise."
              ::= { egpNeighEntry 15 }


          -- additional EGP objects

          egpAs OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The autonomous system number of this EGP entity."
              ::= { egp 6 }

          -- the Transmission group

          -- Based on the transmission media underlying each interface
          -- on a system, the corresponding portion of the Transmission
          -- group is mandatory for that system.

          -- When Internet-standard definitions for managing
          -- transmission media are defined, the transmission group is
          -- used to provide a prefix for the names of those objects.

          -- Typically, such definitions reside in the experimental
          -- portion of the MIB until they are "proven", then as a
          -- part of the Internet standardization process, the
          -- definitions are accordingly elevated and a new object
          -- identifier, under the transmission group is defined. By
          -- convention, the name assigned is:
          --
          --     type OBJECT IDENTIFIER    ::= { transmission number }
          --
          -- where "type" is the symbolic value used for the media in
          -- the ifType column of the ifTable object, and "number" is
          -- the actual integer value corresponding to the symbol.


          -- the SNMP group

          -- Implementation of the SNMP group is mandatory for all
          -- systems which support an SNMP protocol entity.  Some of
          -- the objects defined below will be zero-valued in those
          -- SNMP implementations that are optimized to support only
          -- those functions specific to either a management agent or
          -- a management station.  In particular, it should be
          -- observed that the objects below refer to an SNMP entity,
          -- and there may be several SNMP entities residing on a
          -- managed node (e.g., if the node is hosting acting as
          -- a management station).

          snmpInPkts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of Messages delivered to the
                      SNMP entity from the transport service."
              ::= { snmp 1 }

          snmpOutPkts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Messages which were
                      passed from the SNMP protocol entity to the
                      transport service."
              ::= { snmp 2 }

          snmpInBadVersions OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Messages which were
                      delivered to the SNMP protocol entity and were for
                      an unsupported SNMP version."
              ::= { snmp 3 }

          snmpInBadCommunityNames OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Messages delivered to
                      the SNMP protocol entity which used a SNMP
                      community name not known to said entity."
              ::= { snmp 4 }

          snmpInBadCommunityUses OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Messages delivered to
                      the SNMP protocol entity which represented an SNMP
                      operation which was not allowed by the SNMP
                      community named in the Message."
              ::= { snmp 5 }

          snmpInASNParseErrs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of ASN.1 or BER errors
                      encountered by the SNMP protocol entity when
                      decoding received SNMP Messages."
              ::= { snmp 6 }

          -- { snmp 7 } is not used

          snmpInTooBigs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      delivered to the SNMP protocol entity and for
                      which the value of the error-status field is
                      `tooBig'."
              ::= { snmp 8 }

          snmpInNoSuchNames OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      delivered to the SNMP protocol entity and for
                      which the value of the error-status field is
                      `noSuchName'."
              ::= { snmp 9 }

          snmpInBadValues OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      delivered to the SNMP protocol entity and for
                      which the value of the error-status field is
                      `badValue'."
              ::= { snmp 10 }

          snmpInReadOnlys OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number valid SNMP PDUs which were
                      delivered to the SNMP protocol entity and for
                      which the value of the error-status field is
                      `readOnly'.  It should be noted that it is a
                      protocol error to generate an SNMP PDU which
                      contains the value `readOnly' in the error-status
                      field, as such this object is provided as a means
                      of detecting incorrect implementations of the
                      SNMP."
              ::= { snmp 11 }

          snmpInGenErrs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      delivered to the SNMP protocol entity and for
                      which the value of the error-status field is
                      `genErr'."
              ::= { snmp 12 }

          snmpInTotalReqVars OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of MIB objects which have been
                      retrieved successfully by the SNMP protocol entity
                      as the result of receiving valid SNMP Get-Request
                      and Get-Next PDUs."
              ::= { snmp 13 }

          snmpInTotalSetVars OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of MIB objects which have been
                      altered successfully by the SNMP protocol entity
                      as the result of receiving valid SNMP Set-Request
                      PDUs."
              ::= { snmp 14 }

          snmpInGetRequests OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Get-Request PDUs which
                      have been accepted and processed by the SNMP
                      protocol entity."
              ::= { snmp 15 }

          snmpInGetNexts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Get-Next PDUs which have
                      been accepted and processed by the SNMP protocol
                      entity."
              ::= { snmp 16 }

          snmpInSetRequests OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Set-Request PDUs which
                      have been accepted and processed by the SNMP
                      protocol entity."
              ::= { snmp 17 }

          snmpInGetResponses OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Get-Response PDUs which
                      have been accepted and processed by the SNMP
                      protocol entity."
              ::= { snmp 18 }

          snmpInTraps OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Trap PDUs which have
                      been accepted and processed by the SNMP protocol
                      entity."
              ::= { snmp 19 }

          snmpOutTooBigs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      generated by the SNMP protocol entity and for
                      which the value of the error-status field is
                      `tooBig.'"
              ::= { snmp 20 }

          snmpOutNoSuchNames OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      generated by the SNMP protocol entity and for
                      which the value of the error-status is
                      `noSuchName'."
              ::= { snmp 21 }

          snmpOutBadValues OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      generated by the SNMP protocol entity and for
                      which the value of the error-status field is
                      `badValue'."
              ::= { snmp 22 }

          -- { snmp 23 } is not used

          snmpOutGenErrs OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP PDUs which were
                      generated by the SNMP protocol entity and for
                      which the value of the error-status field is
                      `genErr'."
              ::= { snmp 24 }

          snmpOutGetRequests OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Get-Request PDUs which
                      have been generated by the SNMP protocol entity."
              ::= { snmp 25 }

          snmpOutGetNexts OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Get-Next PDUs which have
                      been generated by the SNMP protocol entity."
              ::= { snmp 26 }

          snmpOutSetRequests OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Set-Request PDUs which
                      have been generated by the SNMP protocol entity."
              ::= { snmp 27 }

          snmpOutGetResponses OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Get-Response PDUs which
                      have been generated by the SNMP protocol entity."
              ::= { snmp 28 }

          snmpOutTraps OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of SNMP Trap PDUs which have
                      been generated by the SNMP protocol entity."
              ::= { snmp 29 }

          snmpEnableAuthenTraps OBJECT-TYPE
              SYNTAX  INTEGER { enabled(1), disabled(2) }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Indicates whether the SNMP agent process is
                      permitted to generate authentication-failure
                      traps.  The value of this object overrides any
                      configuration information; as such, it provides a
                      means whereby all authentication-failure traps may
                      be disabled.

                      Note that it is strongly recommended that this
                      object be stored in non-volatile memory so that it
                      remains constant between re-initializations of the
                      network management system."
              ::= { snmp 30 }

          END
          RFC1271-MIB DEFINITIONS ::= BEGIN

              IMPORTS
                  Counter, TimeTicks                   FROM RFC1155-SMI
                  DisplayString, mib-2                 FROM RFC1213-MIB
                  OBJECT-TYPE                          FROM RFC-1212;

          --  This MIB module uses the extended OBJECT-TYPE macro as
          --  defined in [9].


          --  Remote Network Monitoring MIB

              rmon    OBJECT IDENTIFIER ::= { mib-2 16 }


              -- textual conventions

              OwnerString ::= DisplayString
              -- This data type is used to model an administratively
              -- assigned name of the owner of a resource. This
              -- information is taken from the NVT ASCII character set.
              -- It is suggested that this name contain one or more
              -- of the following:
              -- IP address, management station name, network manager's
              -- name, location, or phone number.
              -- In some cases the agent itself will be the owner of
              -- an entry.  In these cases, this string shall be set
              -- to a string starting with 'monitor'.
              --
              -- SNMP access control is articulated entirely in terms of
              -- the contents of MIB views; access to a particular SNMP
              -- object instance depends only upon its presence or
              -- absence in a particular MIB view and never upon its
              -- value or the value of related object instances. Thus,
              -- objects of this type afford resolution of resource
              -- contention only among cooperating managers; they
              -- realize no access control function with respect
              -- to uncooperative parties.
              --
              -- By convention, objects with this syntax are declared
              -- as having
              --
              --      SIZE (0..127)


              EntryStatus ::= INTEGER
                         { valid(1),
                           createRequest(2),
                           underCreation(3),
                           invalid(4)
                         }

              -- The status of a table entry.
              --
              -- Setting this object to the value invalid(4) has the
              -- effect of invalidating the corresponding entry.
              -- That is, it effectively disassociates the mapping
              -- identified with said entry.
              -- It is an implementation-specific matter as to whether
              -- the agent removes an invalidated entry from the table.
              -- Accordingly, management stations must be prepared to
              -- receive tabular information from agents that corresponds
              -- to entries currently not in use.  Proper
              -- interpretation of such entries requires examination
              -- of the relevant EntryStatus object.
              --
              -- An existing instance of this object cannot be set to
              -- createRequest(2).  This object may only be set to
              -- createRequest(2) when this instance is created.  When
              -- this object is created, the agent may wish to create
              -- supplemental object instances to complete a conceptual
              -- row in this table.  Immediately after completing the
              -- create operation, the agent must set this object to
              -- underCreation(3).
              --
              -- Entries shall exist in the underCreation(3) state until
              -- the management station is finished configuring the
              -- entry and sets this object to valid(1) or aborts,
              -- setting this object to invalid(4).  If the agent
              -- determines that an entry has been in the
              -- underCreation(3) state for an abnormally long time,
              -- it may decide that the management station has
              -- crashed.  If the agent makes this decision,
              -- it may set this object to invalid(4) to reclaim the
              -- entry.  A prudent agent will understand that the
              -- management station may need to wait for human input
              -- and will allow for that possibility in its
              -- determination of this abnormally long period.


              statistics        OBJECT IDENTIFIER ::= { rmon 1 }
              history           OBJECT IDENTIFIER ::= { rmon 2 }
              alarm             OBJECT IDENTIFIER ::= { rmon 3 }
              hosts             OBJECT IDENTIFIER ::= { rmon 4 }
              hostTopN          OBJECT IDENTIFIER ::= { rmon 5 }
              matrix            OBJECT IDENTIFIER ::= { rmon 6 }
              filter            OBJECT IDENTIFIER ::= { rmon 7 }
              capture           OBJECT IDENTIFIER ::= { rmon 8 }
              event             OBJECT IDENTIFIER ::= { rmon 9 }


          -- The Statistics Group
          --
          -- Implementation of the Statistics group is optional.
          --
          -- The statistics group contains statistics measured by the
          -- probe for each monitored interface on this device.  These
          -- statistics take the form of free running counters that
          -- start from zero when a valid entry is created.
          --
          -- This group currently has statistics defined only for
          -- Ethernet interfaces.  Each etherStatsEntry contains
          -- statistics for one Ethernet interface.  The probe must
          -- create one etherStats entry for each monitored Ethernet
          -- interface on the device.

          etherStatsTable OBJECT-TYPE
              SYNTAX SEQUENCE OF EtherStatsEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of Ethernet statistics entries."
              ::= { statistics 1 }

          etherStatsEntry OBJECT-TYPE
              SYNTAX EtherStatsEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A collection of statistics kept for a particular
                  Ethernet interface."
              INDEX { etherStatsIndex }
              ::= { etherStatsTable 1 }

          EtherStatsEntry ::= SEQUENCE {
              etherStatsIndex                    INTEGER (1..65535),
              etherStatsDataSource               OBJECT IDENTIFIER,
              etherStatsDropEvents               Counter,
              etherStatsOctets                   Counter,
              etherStatsPkts                     Counter,
              etherStatsBroadcastPkts            Counter,
              etherStatsMulticastPkts            Counter,
              etherStatsCRCAlignErrors           Counter,
              etherStatsUndersizePkts            Counter,
              etherStatsOversizePkts             Counter,
              etherStatsFragments                Counter,
              etherStatsJabbers                  Counter,
              etherStatsCollisions               Counter,
              etherStatsPkts64Octets             Counter,
              etherStatsPkts65to127Octets        Counter,
              etherStatsPkts128to255Octets       Counter,
              etherStatsPkts256to511Octets       Counter,
              etherStatsPkts512to1023Octets      Counter,
              etherStatsPkts1024to1518Octets     Counter,
              etherStatsOwner                    DisplayString,
              etherStatsStatus                   EntryStatus
          }

          etherStatsIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The value of this object uniquely identifies this
                  etherStats entry."
              ::= { etherStatsEntry 1 }

          etherStatsDataSource OBJECT-TYPE
              SYNTAX OBJECT IDENTIFIER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "This object identifies the source of the data that
                  this etherStats entry is configured to analyze.  This
                  source can be any ethernet interface on this device.
                  In order to identify a particular interface, this
                  object shall identify the instance of the ifIndex
                  object, defined in [4,6], for the desired interface.
                  For example, if an entry were to receive data from
                  interface #1, this object would be set to ifIndex.1.

                  The statistics in this group reflect all packets
                  on the local network segment attached to the
                  identified interface.

                  This object may not be modified if the associated
                  etherStatsStatus object is equal to valid(1)."
              ::= { etherStatsEntry 2 }

          etherStatsDropEvents OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of events in which packets
                  were dropped by the probe due to lack of resources.
                  Note that this number is not necessarily the number of
                  packets dropped; it is just the number of times this
                  condition has been detected."
              ::= { etherStatsEntry 3 }

          etherStatsOctets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of octets of data (including
                  those in bad packets) received on the
                  network (excluding framing bits but including
                  FCS octets)."
              ::= { etherStatsEntry 4 }

          etherStatsPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets (including error packets)
                  received."
              ::= { etherStatsEntry 5 }

          etherStatsBroadcastPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of good packets received that were
                  directed to the broadcast address."
              ::= { etherStatsEntry 6 }

          etherStatsMulticastPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of good packets received that were
                  directed to a multicast address.  Note that this
                  number does not include packets directed to the
                  broadcast address."
              ::= { etherStatsEntry 7 }

          etherStatsCRCAlignErrors OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets received that
                  had a length (excluding framing bits, but
                  including FCS octets) of between 64 and 1518
                  octets, inclusive, but were not an integral number
                  of octets in length or had a bad Frame Check
                  Sequence (FCS)."
              ::= { etherStatsEntry 8 }

          etherStatsUndersizePkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets received that were
                  less than 64 octets long (excluding framing bits,
                  but including FCS octets) and were otherwise well
                  formed."
              ::= { etherStatsEntry 9 }

          etherStatsOversizePkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets received that were
                  longer than 1518 octets (excluding framing bits,
                  but including FCS octets) and were otherwise
                  well formed."
              ::= { etherStatsEntry 10 }

          etherStatsFragments OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets received that were not an
                  integral number of octets in length or that had a bad
                  Frame Check Sequence (FCS), and were less than 64
                  octets in length (excluding framing bits but
                  including FCS octets)."
              ::= { etherStatsEntry 11 }

          etherStatsJabbers OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets received that were
                  longer than 1518 octets (excluding framing bits,
                  but including FCS octets), and were not an
                  integral number of octets in length or had
                  a bad Frame Check Sequence (FCS)."
              ::= { etherStatsEntry 12 }

          etherStatsCollisions OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The best estimate of the total number of collisions
                  on this Ethernet segment."
              ::= { etherStatsEntry 13 }

          etherStatsPkts64Octets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets (including error
                  packets) received that were 64 octets in length
                  (excluding framing bits but including FCS octets)."
              ::= { etherStatsEntry 14 }

          etherStatsPkts65to127Octets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets (including error
                  packets) received that were between
                  65 and 127 octets in length inclusive
                  (excluding framing bits but including FCS octets)."
              ::= { etherStatsEntry 15 }

          etherStatsPkts128to255Octets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets (including error
                  packets) received that were between
                  128 and 255 octets in length inclusive
                  (excluding framing bits but including FCS octets)."
              ::= { etherStatsEntry 16 }

          etherStatsPkts256to511Octets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets (including error
                  packets) received that were between
                  256 and 511 octets in length inclusive
                  (excluding framing bits but including FCS octets)."
              ::= { etherStatsEntry 17 }

          etherStatsPkts512to1023Octets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets (including error
                  packets) received that were between
                  512 and 1023 octets in length inclusive
                  (excluding framing bits but including FCS octets)."
              ::= { etherStatsEntry 18 }

          etherStatsPkts1024to1518Octets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets (including error
                  packets) received that were between
                  1024 and 1518 octets in length inclusive
                  (excluding framing bits but including FCS octets)."
              ::= { etherStatsEntry 19 }

          etherStatsOwner OBJECT-TYPE
              SYNTAX DisplayString
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The entity that configured this entry and is
                  therefore using the resources assigned to it."
              ::= { etherStatsEntry 20 }

          etherStatsStatus OBJECT-TYPE
              SYNTAX EntryStatus
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The status of this etherStats entry."
              ::= { etherStatsEntry 21 }


          -- The History Group

          -- Implementation of the History group is optional.
          --
          -- The history group records periodic statistical samples from
          -- a network and stores them for later retrieval.  The
          -- historyControl table stores configuration entries that each
          -- define an interface, polling period, and other parameters.
          -- Once samples are taken, their data is stored in an entry
          -- in a media-specific table.  Each such entry defines one
          -- sample, and is associated with the historyControlEntry that
          -- caused the sample to be taken.  Currently the only media-
          -- specific table defined is the etherHistoryTable, for
          -- Ethernet networks.
          --
          -- If the probe keeps track of the time of day, it should
          -- start the first sample of the history at a time such that
          -- when the next hour of the day begins, a sample is
          -- started at that instant.  This tends to make more
          -- user-friendly reports, and enables comparison of reports
          -- from different probes that have relatively accurate time
          -- of day.
          --
          -- The monitor is encouraged to add two history control entries
          -- per monitored interface upon initialization that describe
          -- a short term and a long term polling period.  Suggested
          -- parameters are 30 seconds for the short term polling
          -- period and 30 minutes for the long term period.

          historyControlTable OBJECT-TYPE
              SYNTAX SEQUENCE OF HistoryControlEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of history control entries."
              ::= { history 1 }

          historyControlEntry OBJECT-TYPE
              SYNTAX HistoryControlEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of parameters that set up a periodic
                  sampling of statistics."
              INDEX { historyControlIndex }
              ::= { historyControlTable 1 }

          HistoryControlEntry ::= SEQUENCE {
              historyControlIndex             INTEGER (1..65535),
              historyControlDataSource        OBJECT IDENTIFIER,
              historyControlBucketsRequested  INTEGER (1..350),
              historyControlBucketsGranted    INTEGER (1..350),
              historyControlInterval          INTEGER (1..3600),
              historyControlOwner             DisplayString,
              historyControlStatus            EntryStatus
          }

          historyControlIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry in the
                  historyControl table.  Each such entry defines a
                  set of samples at a particular interval for an
                  interface on the device."
              ::= { historyControlEntry 1 }

          historyControlDataSource OBJECT-TYPE
              SYNTAX OBJECT IDENTIFIER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "This object identifies the source of the data for
                  which historical data was collected and
                  placed in a media-specific table on behalf of this
                  historyControlEntry.  This source can be any
                  interface on this device.  In order to identify
                  a particular interface, this object shall identify
                  the instance of the ifIndex object, defined
                  in [4,6], for the desired interface.  For example,
                  if an entry were to receive data from interface #1,
                  this object would be set to ifIndex.1.

                  The statistics in this group reflect all packets
                  on the local network segment attached to the
                  identified interface.

                  This object may not be modified if the associated
                  historyControlStatus object is equal to valid(1)."
              ::= { historyControlEntry 2 }

          historyControlBucketsRequested OBJECT-TYPE
              SYNTAX INTEGER (1..350)
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The requested number of discrete time intervals
                  over which data is to be saved in the part of the
                  media-specific table associated with this
                  historyControl entry.

                  When this object is created or modified, the probe
                  should set historyControlBucketsGranted as closely to
                  this object as is possible for the particular probe
                  implementation and available resources."
              DEFVAL { 50 }
              ::= { historyControlEntry 3 }

          historyControlBucketsGranted OBJECT-TYPE
              SYNTAX INTEGER (1..350)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of discrete sampling intervals
                  over which data shall be saved in the part of
                  the media-specific table associated with this
                  historyControl entry.

                  When the associated historyControlBucketsRequested
                  object is created or modified, the probe
                  should set this object as closely to the requested
                  value as is possible for the particular
                  probe implementation and available resources.  The
                  probe must not lower this value except as a result
                  of a modification to the associated
                  historyControlBucketsRequested object.

                  There will be times when the actual number of
                  buckets associated with this entry is less than
                  the value of this object.  In this case, at the
                  end of each sampling interval, a new bucket will
                  be added to the media-specific table.

                  When the number of buckets reaches the value of
                  this object and a new bucket is to be added to the
                  media-specific table, the oldest bucket associated
                  with this historyControlEntry shall be deleted by
                  the agent so that the new bucket can be added.

                  When the value of this object changes to a value less
                  than the current value, entries are deleted
                  from the media-specific table associated with this
                  historyControlEntry.  Enough of the oldest of these
                  entries shall be deleted by the agent so that their
                  number remains less than or equal to the new value of
                  this object.

                  When the value of this object changes to a value
                  greater than the current value, the number of
                  associated media-specific entries may be allowed
                  to grow."
              ::= { historyControlEntry 4 }

          historyControlInterval OBJECT-TYPE
              SYNTAX INTEGER (1..3600)
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The interval in seconds over which the data is
                  sampled for each bucket in the part of the
                  media-specific table associated with this
                  historyControl entry.  This interval can
                  be set to any number of seconds between 1 and
                  3600 (1 hour).

                  Because the counters in a bucket may overflow at their
                  maximum value with no indication, a prudent manager
                  will take into account the possibility of overflow
                  in any of the associated counters.  It is important
                  to consider the minimum time in which any counter
                  could overflow on a particular media type and set
                  the historyControlInterval object to a value less
                  than this interval.  This is typically most
                  important for the 'octets' counter in any
                  media-specific table.  For example, on an Ethernet
                  network, the etherHistoryOctets counter could overflow
                  in about one hour at the Ethernet's maximum
                  utilization.

                  This object may not be modified if the associated
                  historyControlStatus object is equal to valid(1)."
              DEFVAL { 1800 }
              ::= { historyControlEntry 5 }

          historyControlOwner OBJECT-TYPE
              SYNTAX DisplayString
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The entity that configured this entry and is therefore
                  using the resources assigned to it."
              ::= { historyControlEntry 6 }

          historyControlStatus OBJECT-TYPE
              SYNTAX EntryStatus
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The status of this historyControl entry.

                  Each instance of the media-specific table associated
                  with this historyControlEntry will be deleted by the
                  agent if this historyControlEntry is not equal to
                  valid(1)."
              ::= { historyControlEntry 7 }


          -- Ether History table

          etherHistoryTable OBJECT-TYPE
              SYNTAX SEQUENCE OF EtherHistoryEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of Ethernet history entries."
              ::= { history 2 }

          etherHistoryEntry OBJECT-TYPE
              SYNTAX EtherHistoryEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "An historical sample of Ethernet statistics on a
                  particular Ethernet interface.  This sample is
                  associated with the historyControlEntry which set
                  up the parameters for a regular collection of these
                  samples."
              INDEX { etherHistoryIndex , etherHistorySampleIndex }
              ::= { etherHistoryTable 1 }

          EtherHistoryEntry ::= SEQUENCE {
              etherHistoryIndex                 INTEGER (1..65535),
              etherHistorySampleIndex           INTEGER,
              etherHistoryIntervalStart         TimeTicks,
              etherHistoryDropEvents            Counter,
              etherHistoryOctets                Counter,
              etherHistoryPkts                  Counter,
              etherHistoryBroadcastPkts         Counter,
              etherHistoryMulticastPkts         Counter,
              etherHistoryCRCAlignErrors        Counter,
              etherHistoryUndersizePkts         Counter,
              etherHistoryOversizePkts          Counter,
              etherHistoryFragments             Counter,
              etherHistoryJabbers               Counter,
              etherHistoryCollisions            Counter,
              etherHistoryUtilization           INTEGER (0..10000)
          }

          etherHistoryIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The history of which this entry is a part.  The
                  history identified by a particular value of this
                  index is the same history as identified
                  by the same value of historyControlIndex."
              ::= { etherHistoryEntry 1 }

          etherHistorySampleIndex OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies the particular
                  sample this entry represents among all samples
                  associated with the same historyControlEntry.
                  This index starts at 1 and increases by one
                  as each new sample is taken."
              ::= { etherHistoryEntry 2 }

          etherHistoryIntervalStart OBJECT-TYPE
              SYNTAX TimeTicks
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The value of sysUpTime at the start of the interval
                  over which this sample was measured.  If the probe
                  keeps track of the time of day, it should start
                  the first sample of the history at a time such that
                  when the next hour of the day begins, a sample is
                  started at that instant.  Note that following this
                  rule may require the probe to delay collecting the
                  first sample of the history, as each sample must be
                  of the same interval.  Also note that the sample which
                  is currently being collected is not accessible in this
                  table until the end of its interval."
              ::= { etherHistoryEntry 3 }

          etherHistoryDropEvents OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of events in which packets
                  were dropped by the probe due to lack of resources
                  during this interval.  Note that this number is not
                  necessarily the number of packets dropped, it is just
                  the number of times this condition has been detected."
              ::= { etherHistoryEntry 4 }

          etherHistoryOctets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of octets of data (including
                  those in bad packets) received on the
                  network (excluding framing bits but including
                  FCS octets)."
              ::= { etherHistoryEntry 5 }

          etherHistoryPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of packets (including error packets)
                  received during this sampling interval."
              ::= { etherHistoryEntry 6 }

          etherHistoryBroadcastPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of good packets received during this
                  sampling interval that were directed to the
                  broadcast address."
              ::= { etherHistoryEntry 7 }

          etherHistoryMulticastPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of good packets received during this
                  sampling interval that were directed to a
                  multicast address.  Note that this number does not
                  include packets addressed to the broadcast address."
              ::= { etherHistoryEntry 8 }

          etherHistoryCRCAlignErrors OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of packets received during this
                  sampling interval that had a length (excluding
                  framing bits but including FCS octets) between
                  64 and 1518 octets, inclusive, but were not an
                  integral number of octets in length or had a
                  bad Frame Check Sequence (FCS)."
              ::= { etherHistoryEntry 9 }

          etherHistoryUndersizePkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of packets received during this
                  interval that were less than 64 octets long
                  (excluding framing bits but including FCS
                  octets) and were otherwise well formed."
              ::= { etherHistoryEntry 10 }

          etherHistoryOversizePkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of packets received during this
                  interval that were longer than 1518 octets
                  (excluding framing bits but including FCS
                  octets) but were otherwise well formed."
              ::= { etherHistoryEntry 11 }

          etherHistoryFragments OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The total number of packets received during this
                  sampling interval that were not an integral
                  number of octets in length or that
                  had a bad Frame Check Sequence (FCS), and
                  were less than 64 octets in length (excluding
                  framing bits but including FCS octets)."
              ::= { etherHistoryEntry 12 }

          etherHistoryJabbers OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of packets received during this
                  interval that were longer than 1518 octets
                  (excluding framing bits but including FCS octets),
                  and were not an integral number of octets in
                  length or had a bad Frame Check Sequence (FCS)."
              ::= { etherHistoryEntry 13 }

          etherHistoryCollisions OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The best estimate of the total number of collisions
                  on this Ethernet segment during this interval."
              ::= { etherHistoryEntry 14 }

          etherHistoryUtilization OBJECT-TYPE
              SYNTAX INTEGER (0..10000)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The best estimate of the mean physical layer
                  network utilization on this interface during this
                  interval, in hundredths of a percent."
              ::= { etherHistoryEntry 15 }


          -- The Alarm Group

          -- Implementation of the Alarm group is optional.
          --
          -- The Alarm Group requires the implementation of the Event
          -- group.
          --
          -- The Alarm group periodically takes statistical samples from
          -- variables in the probe and compares them to thresholds
          -- that have been configured.  The alarm table stores
          -- configuration entries that each define a variable,
          -- polling period, and threshold parameters.  If a sample is
          -- found to cross the threshold values, an event is
          -- generated.  Only variables that resolve to an ASN.1
          -- primitive type of INTEGER (INTEGER, Counter,
          -- Gauge, or TimeTicks) may be monitored in this way.
          --
          -- This function has a hysteresis mechanism to limit the
          -- generation of events.  This mechanism generates one event
          -- as a threshold is crossed in the appropriate direction.
          -- No more events are generated for that threshold until the
          -- opposite threshold is crossed.
          --
          -- In the case of a sampling a deltaValue, a probe may
          -- implement this mechanism with more precision if it takes
          -- a delta sample twice per period, each time comparing the
          -- sum of the latest two samples to the threshold.  This
          -- allows the detection of threshold crossings
          -- that span the sampling boundary.  Note that this does not
          -- require any special configuration of the threshold value.
          -- It is suggested that probes implement this more precise
          -- algorithm.

          alarmTable OBJECT-TYPE
              SYNTAX SEQUENCE OF AlarmEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of alarm entries."
              ::= { alarm 1 }

          alarmEntry OBJECT-TYPE
              SYNTAX AlarmEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of parameters that set up a periodic checking
                  for alarm conditions."
              INDEX { alarmIndex }
              ::= { alarmTable 1 }

          AlarmEntry ::= SEQUENCE {
              alarmIndex                    INTEGER (1..65535),
              alarmInterval                 INTEGER,
              alarmVariable                 OBJECT IDENTIFIER,
              alarmSampleType               INTEGER,
              alarmValue                    INTEGER,
              alarmStartupAlarm             INTEGER,
              alarmRisingThreshold          INTEGER,
              alarmFallingThreshold         INTEGER,
              alarmRisingEventIndex         INTEGER (0..65535),
              alarmFallingEventIndex        INTEGER (0..65535),
              alarmOwner                    DisplayString,
              alarmStatus                   EntryStatus
          }

          alarmIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry in the
                  alarm table.  Each such entry defines a
                  diagnostic sample at a particular interval
                  for an object on the device."
              ::= { alarmEntry 1 }

          alarmInterval OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The interval in seconds over which the data is
                  sampled and compared with the rising and falling
                  thresholds.  When setting this variable, care
                  should be given to ensure that the variable being
                  monitored will not exceed 2^31 - 1 and roll
                  over the alarmValue object during the interval.

                  This object may not be modified if the associated
                  alarmStatus object is equal to valid(1)."
              ::= { alarmEntry 2 }

          alarmVariable OBJECT-TYPE
              SYNTAX OBJECT IDENTIFIER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The object identifier of the particular variable to
                  be sampled.  Only variables that resolve to an ASN.1
                  primitive type of INTEGER (INTEGER, Counter, Gauge,
                  or TimeTicks) may be sampled.

                  Because SNMP access control is articulated entirely
                  in terms of the contents of MIB views, no access
                  control mechanism exists that can restrict the value of
                  this object to identify only those objects that exist
                  in a particular MIB view.  Because there is thus no
                  acceptable means of restricting the read access that
                  could be obtained through the alarm mechanism, the
                  probe must only grant write access to this object in
                  those views that have read access to all objects on
                  the probe.

                  During a set operation, if the supplied variable
                  name is not available in the selected MIB view, a
                  badValue error must be returned.  If at any time
                  the variable name of an established alarmEntry is
                  no longer available in the selected MIB view, the
                  probe must change the status of this alarmEntry
                  to invalid(4).

                  This object may not be modified if the associated
                  alarmStatus object is equal to valid(1)."
              ::= { alarmEntry 3 }

          alarmSampleType OBJECT-TYPE
              SYNTAX INTEGER {
                  absoluteValue(1),
                  deltaValue(2)
              }
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The method of sampling the selected variable and
                  calculating the value to be compared against the
                  thresholds.  If the value of this object is
                  absoluteValue(1), the value of the selected variable
                  will be compared directly with the thresholds at the
                  end of the sampling interval.  If the value of this
                  object is deltaValue(2), the value of the selected
                  variable at the last sample will be subtracted from
                  the current value, and the difference compared with
                  the thresholds.

                  This object may not be modified if the associated
                  alarmStatus object is equal to valid(1)."
              ::= { alarmEntry 4 }

          alarmValue OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The value of the statistic during the last sampling
                  period.  The value during the current sampling period
                  is not made available until the period is completed."
              ::= { alarmEntry 5 }

          alarmStartupAlarm OBJECT-TYPE
              SYNTAX INTEGER {
                  risingAlarm(1),
                  fallingAlarm(2),
                  risingOrFallingAlarm(3)
              }
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The alarm that may be sent when this entry is first
                  set to valid.  If the first sample after this entry
                  becomes valid is greater than or equal to the
                  risingThreshold and alarmStartupAlarm is equal to
                  risingAlarm(1) or risingOrFallingAlarm(3), then a
                  single rising alarm will be generated.  If the first
                  sample after this entry becomes valid is less than
                  or equal to the fallingThreshold and
                  alarmStartupAlarm is equal to fallingAlarm(2) or
                  risingOrFallingAlarm(3), then a single falling
                  alarm will be generated.

                  This object may not be modified if the associated
                  alarmStatus object is equal to valid(1)."
              ::= { alarmEntry 6 }

          alarmRisingThreshold OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "A threshold for the sampled statistic.  When the
                  current sampled value is greater than or equal to
                  this threshold, and the value at the last sampling
                  interval was less than this threshold, a single
                  event will be generated.
                  A single event will also be generated if the first
                  sample after this entry becomes valid is greater
                  than or equal to this threshold and the associated
                  alarmStartupAlarm is equal to risingAlarm(1) or
                  risingOrFallingAlarm(3).

                  After a rising event is generated, another such event
                  will not be generated until the sampled value
                  falls below this threshold and reaches the
                  alarmFallingThreshold.

                  This object may not be modified if the associated
                  alarmStatus object is equal to valid(1)."
              ::= { alarmEntry 7 }

          alarmFallingThreshold OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "A threshold for the sampled statistic.  When the
                  current sampled value is less than or equal to
                  this threshold, and the value at the last sampling
                  interval was greater than this threshold, a single
                  event will be generated.
                  A single event will also be generated if the first
                  sample after this entry becomes valid is less than or
                  equal to this threshold and the associated
                  alarmStartupAlarm is equal to fallingAlarm(2) or
                  risingOrFallingAlarm(3).

                  After a falling event is generated, another such event
                  will not be generated until the sampled value
                  rises above this threshold and reaches the
                  alarmRisingThreshold.

                  This object may not be modified if the associated
                  alarmStatus object is equal to valid(1)."
              ::= { alarmEntry 8 }

          alarmRisingEventIndex OBJECT-TYPE
              SYNTAX INTEGER (0..65535)
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The index of the eventEntry that is
                  used when a rising threshold is crossed.  The
                  eventEntry identified by a particular value of
                  this index is the same as identified by the same value
                  of the eventIndex object.  If there is no
                  corresponding entry in the eventTable, then
                  no association exists.  In particular, if this value
                  is zero, no associated event will be generated, as
                  zero is not a valid event index.

                  This object may not be modified if the associated
                  alarmStatus object is equal to valid(1)."
              ::= { alarmEntry 9 }

          alarmFallingEventIndex OBJECT-TYPE
              SYNTAX INTEGER (0..65535)
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The index of the eventEntry that is
                  used when a falling threshold is crossed.  The
                  eventEntry identified by a particular value of
                  this index is the same as identified by the same value
                  of the eventIndex object.  If there is no
                  corresponding entry in the eventTable, then
                  no association exists.  In particular, if this value
                  is zero, no associated event will be generated, as
                  zero is not a valid event index.

                  This object may not be modified if the associated
                  alarmStatus object is equal to valid(1)."
              ::= { alarmEntry 10 }

          alarmOwner OBJECT-TYPE
              SYNTAX DisplayString
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The entity that configured this entry and is
                  therefore using the resources assigned to it."
              ::= { alarmEntry 11 }

          alarmStatus OBJECT-TYPE
              SYNTAX EntryStatus
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The status of this alarm entry."
              ::= { alarmEntry 12 }


          -- The Host Group

          -- Implementation of the Host group is optional.
          --
          -- The host group discovers new hosts on the network by
          -- keeping a list of source and destination MAC Addresses seen
          -- in good packets.  For each of these addresses, the host
          -- group keeps a set of statistics.  The hostControlTable
          -- controls which interfaces this function is performed on,
          -- and contains some information about the process.  On
          -- behalf of each hostControlEntry, data is collected on an
          -- interface and placed both the hostTable and the
          -- hostTimeTable.  If the monitoring device finds itself
          -- short of resources, it may delete entries as needed.  It
          -- is suggested that the device delete the least recently
          -- used entries first.

          -- The hostTable contains entries for each address
          -- discovered on a particular interface.  Each entry
          -- contains statistical data about that host.  This table
          -- is indexed by the MAC address of the host, through
          -- which a random access may be achieved.

          -- The hostTimeTable contains data in the same format as the
          -- hostTable, and must contain the same set of hosts, but is
          -- indexed using hostTimeCreationOrder rather than hostAddress.
          -- The hostTimeCreationOrder is an integer which reflects
          -- the relative order in which a particular entry was
          -- discovered and thus inserted into the table.  As this
          -- order, and thus index, is among those entries currently
          -- in the table, the index for a particular entry may change
          -- if an (earlier) entry is deleted.  Thus the association
          -- between hostTimeCreationOrder and hostTimeEntry may be
          -- broken at any time.

          -- The hostTimeTable has two important uses.  The first is the
          -- fast download of this potentially large table.  Because the
          -- index of this table runs from 1 to the size of the table,
          -- inclusive, its values are predictable.  This allows very
          -- efficient packing of variables into SNMP PDU's and allows
          -- a table transfer to have multiple packets outstanding.
          -- These benefits increase transfer rates tremendously.

          -- The second use of the hostTimeTable is the efficient
          -- discovery by the management station of new entries added
          -- to the table.  After the management station has
          -- downloaded the entire table, it knows that new entries
          -- will be added immediately after the end of the current
          -- table.  It can thus detect new entries there
          -- and retrieve them easily.

          -- Because the association between hostTimeCreationOrder and
          -- hostTimeEntry may be broken at any time, the management
          -- station must monitor the related hostControlLastDeleteTime
          -- object.  When the management station thus detects a deletion,
          -- it must assume that any such associations have been broken,
          -- and invalidate any it has stored locally.  This includes
          -- restarting any download of the hostTimeTable that may have
          -- been in progress, as well as rediscovering the end of the
          -- hostTimeTable so that it may detect new entries.  If the
          -- management station does not detect the broken association,
          -- it may continue to refer to a particular host by its
          -- creationOrder while unwittingly retrieving the data
          -- associated with another host entirely.  If this happens
          -- while downloading the host table, the management station
          -- may fail to download all of the entries in the table.


          hostControlTable OBJECT-TYPE
              SYNTAX SEQUENCE OF HostControlEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of host table control entries."
              ::= { hosts 1 }

          hostControlEntry OBJECT-TYPE
              SYNTAX HostControlEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of parameters that set up the discovery of
                  hosts on a particular interface and the collection
                  of statistics about these hosts."
              INDEX { hostControlIndex }
              ::= { hostControlTable 1 }

          HostControlEntry ::= SEQUENCE {
              hostControlIndex            INTEGER (1..65535),
              hostControlDataSource       OBJECT IDENTIFIER,
              hostControlTableSize        INTEGER,
              hostControlLastDeleteTime   TimeTicks,
              hostControlOwner            DisplayString,
              hostControlStatus           EntryStatus
          }

          hostControlIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry in the
                  hostControl table.  Each such entry defines
                  a function that discovers hosts on a particular
                  interface and places statistics about them in the
                  hostTable and the hostTimeTable on behalf of this
                  hostControlEntry."
              ::= { hostControlEntry 1 }

          hostControlDataSource OBJECT-TYPE
              SYNTAX OBJECT IDENTIFIER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "This object identifies the source of the data for
                  this instance of the host function.  This source
                  can be any interface on this device.  In order
                  to identify a particular interface, this object shall
                  identify the instance of the ifIndex object, defined
                  in [4,6], for the desired interface.  For example,
                  if an entry were to receive data from interface #1,
                  this object would be set to ifIndex.1.

                  The statistics in this group reflect all packets
                  on the local network segment attached to the
                  identified interface.

                  This object may not be modified if the associated
                  hostControlStatus object is equal to valid(1)."
              ::= { hostControlEntry 2 }

          hostControlTableSize OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of hostEntries in the hostTable and the
                  hostTimeTable associated with this hostControlEntry."
              ::= { hostControlEntry 3 }

          hostControlLastDeleteTime OBJECT-TYPE
              SYNTAX TimeTicks
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The value of sysUpTime when the last entry
                  was deleted from the portion of the hostTable
                  associated with this hostControlEntry.  If no
                  deletions have occurred, this value shall be zero."
              ::= { hostControlEntry 4 }

          hostControlOwner OBJECT-TYPE
              SYNTAX DisplayString
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The entity that configured this entry and is
                  therefore using the resources assigned to it."
              ::= { hostControlEntry 5 }

          hostControlStatus OBJECT-TYPE
              SYNTAX EntryStatus
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The status of this hostControl entry.

                  If this object is not equal to valid(1), all
                  associated entries in the hostTable,
                  hostTimeTable, and the hostTopNTable shall be
                  deleted by the agent."
              ::= { hostControlEntry 6 }

          hostTable OBJECT-TYPE
              SYNTAX SEQUENCE OF HostEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of host entries."
              ::= { hosts 2 }

          hostEntry OBJECT-TYPE
              SYNTAX HostEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A collection of statistics for a particular host
                  that has been discovered on an interface of this
                  device."
              INDEX { hostIndex, hostAddress }
              ::= { hostTable 1 }

          HostEntry ::= SEQUENCE {
              hostAddress             OCTET STRING,
              hostCreationOrder       INTEGER (1..65535),
              hostIndex               INTEGER (1..65535),
              hostInPkts              Counter,
              hostOutPkts             Counter,
              hostInOctets            Counter,
              hostOutOctets           Counter,
              hostOutErrors           Counter,
              hostOutBroadcastPkts    Counter,
              hostOutMulticastPkts    Counter
          }

          hostAddress OBJECT-TYPE
              SYNTAX OCTET STRING
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The physical address of this host."
              ::= { hostEntry 1 }

          hostCreationOrder OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that defines the relative ordering of
                  the creation time of hosts captured for a
                  particular hostControlEntry.  This index shall
                  be between 1 and N, where N is the value of
                  the associated hostControlTableSize.  The ordering
                  of the indexes is based on the order of each entry's
                  insertion into the table, in which entries added
                  earlier have a lower index value than entries added
                  later.

                  It is important to note that the order for a
                  particular entry may change as an (earlier) entry
                  is deleted from the table.  Because this order may
                  change, management stations should make use of the
                  hostControlLastDeleteTime variable in the
                  hostControlEntry associated with the relevant
                  portion of the hostTable.  By observing
                  this variable, the management station may detect
                  the circumstances where a previous association
                  between a value of hostCreationOrder
                  and a hostEntry may no longer hold."
              ::= { hostEntry 2 }

          hostIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The set of collected host statistics of which
                  this entry is a part.  The set of hosts
                  identified by a particular value of this
                  index is associated with the hostControlEntry
                  as identified by the same value of hostControlIndex."
              ::= { hostEntry 3 }

          hostInPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of packets without errors transmitted to
                  this address since it was added to the hostTable."
              ::= { hostEntry 4 }

          hostOutPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of packets including errors transmitted
                  by this address since it was added to the hostTable."
              ::= { hostEntry 5 }

          hostInOctets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of octets transmitted to this address
                  since it was added to the hostTable (excluding
                  framing bits but including FCS octets), except for
                  those octets in packets that contained errors."
              ::= { hostEntry 6 }

          hostOutOctets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of octets transmitted by this address
                  since it was added to the hostTable (excluding
                  framing bits but including FCS octets), including
                  those octets in packets that contained errors."
              ::= { hostEntry 7 }

          hostOutErrors OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of error packets transmitted by this
                  address since this host was added to the hostTable."
              ::= { hostEntry 8 }

          hostOutBroadcastPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of good packets transmitted by this
                  address that were directed to the broadcast address
                  since this host was added to the hostTable."
              ::= { hostEntry 9 }

          hostOutMulticastPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of good packets transmitted by this
                  address that were directed to a multicast address
                  since this host was added to the hostTable.
                  Note that this number does not include packets
                  directed to the broadcast address."
              ::= { hostEntry 10 }


          -- host Time Table

          hostTimeTable OBJECT-TYPE
              SYNTAX SEQUENCE OF HostTimeEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of time-ordered host table entries."
              ::= { hosts 3 }

          hostTimeEntry OBJECT-TYPE
              SYNTAX HostTimeEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A collection of statistics for a particular host
                  that has been discovered on an interface of this
                  device.  This collection includes the relative
                  ordering of the creation time of this object."
              INDEX { hostTimeIndex, hostTimeCreationOrder }
              ::= { hostTimeTable 1 }

          HostTimeEntry ::= SEQUENCE {
              hostTimeAddress              OCTET STRING,
              hostTimeCreationOrder        INTEGER (1..65535),
              hostTimeIndex                INTEGER (1..65535),
              hostTimeInPkts               Counter,
              hostTimeOutPkts              Counter,
              hostTimeInOctets             Counter,
              hostTimeOutOctets            Counter,
              hostTimeOutErrors            Counter,
              hostTimeOutBroadcastPkts     Counter,
              hostTimeOutMulticastPkts     Counter
          }

          hostTimeAddress OBJECT-TYPE
              SYNTAX OCTET STRING
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The physical address of this host."
              ::= { hostTimeEntry 1 }

          hostTimeCreationOrder OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry in
                  the hostTime table among those entries associated
                  with the same hostControlEntry.  This index shall
                  be between 1 and N, where N is the value of
                  the associated hostControlTableSize.  The ordering
                  of the indexes is based on the order of each entry's
                  insertion into the table, in which entries added
                  earlier have a lower index value than entries added
                  later.  Thus the management station has the ability
                  to learn of new entries added to this table without
                  downloading the entire table.

                  It is important to note that the index for a
                  particular entry may change as an (earlier) entry
                  is deleted from the table.  Because this order may
                  change, management stations should make use of the
                  hostControlLastDeleteTime variable in the
                  hostControlEntry associated with the relevant
                  portion of the hostTimeTable.  By observing
                  this variable, the management station may detect
                  the circumstances where a download of the table
                  may have missed entries, and where a previous
                  association between a value of hostTimeCreationOrder
                  and a hostTimeEntry may no longer hold."
              ::= { hostTimeEntry 2 }

          hostTimeIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The set of collected host statistics of which
                  this entry is a part.  The set of hosts
                  identified by a particular value of this
                  index is associated with the hostControlEntry
                  as identified by the same value of hostControlIndex."
              ::= { hostTimeEntry 3 }

          hostTimeInPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of packets without errors transmitted to
                  this address since it was added to the hostTimeTable."
              ::= { hostTimeEntry 4 }

          hostTimeOutPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of packets including errors transmitted
                  by this address since it was added to the
                  hostTimeTable."
              ::= { hostTimeEntry 5 }

          hostTimeInOctets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of octets transmitted to this address
                  since it was added to the hostTimeTable (excluding
                  framing bits but including FCS octets), except for
                  those octets in packets that contained errors."
              ::= { hostTimeEntry 6 }

          hostTimeOutOctets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of octets transmitted by this address since
                  it was added to the hostTimeTable (excluding framing
                  bits but including FCS octets), including those
                  octets in packets that contained errors."
              ::= { hostTimeEntry 7 }

          hostTimeOutErrors OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of error packets transmitted by this
                  address since this host was added to the
                  hostTimeTable."
              ::= { hostTimeEntry 8 }

          hostTimeOutBroadcastPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of good packets transmitted by this
                  address that were directed to the broadcast address
                  since this host was added to the hostTimeTable."
              ::= { hostTimeEntry 9 }

          hostTimeOutMulticastPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of good packets transmitted by this
                  address that were directed to a multicast address
                  since this host was added to the hostTimeTable.
                  Note that this number does not include packets
                  directed to the broadcast address."
              ::= { hostTimeEntry 10 }


          -- The Host Top "N" Group

          -- Implementation of the Host Top N group is optional.
          --
          -- The Host Top N group requires the implementation of the
          -- host group.
          --
          -- The Host Top N group is used to prepare reports that
          -- describe the hosts that top a list ordered by one of
          -- their statistics.  The available statistics are samples
          -- of one of their base statistics, over an interval
          -- specified by the management station.  Thus, these
          -- statistics are rate based.  The management
          -- station also selects how many such hosts are reported.

          -- The hostTopNControlTable is used to initiate the generation
          -- of such a report.  The management station may select the
          -- parameters of such a report, such as which interface,
          -- which statistic, how many hosts, and the start and stop
          -- times of the sampling.  When the report is prepared,
          -- entries are created in the hostTopNTable associated with
          -- the relevant hostTopNControlEntry.  These entries are
          -- static for each report after it has been prepared.

          hostTopNControlTable OBJECT-TYPE
              SYNTAX SEQUENCE OF HostTopNControlEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of top N host control entries."
              ::= { hostTopN 1 }

          hostTopNControlEntry OBJECT-TYPE
              SYNTAX HostTopNControlEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A set of parameters that control the creation of a
                  report of the top N hosts according to several
                  metrics."
              INDEX { hostTopNControlIndex }
              ::= { hostTopNControlTable 1 }

          HostTopNControlEntry ::= SEQUENCE {
              hostTopNControlIndex    INTEGER (1..65535),
              hostTopNHostIndex       INTEGER (1..65535),
              hostTopNRateBase        INTEGER,
              hostTopNTimeRemaining   INTEGER,
              hostTopNDuration        INTEGER,
              hostTopNRequestedSize   INTEGER,
              hostTopNGrantedSize     INTEGER,
              hostTopNStartTime       TimeTicks,
              hostTopNOwner           DisplayString,
              hostTopNStatus          EntryStatus
          }

          hostTopNControlIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry
                  in the hostTopNControl table.  Each such
                  entry defines one top N report prepared for
                  one interface."
              ::= { hostTopNControlEntry 1 }

          hostTopNHostIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The host table for which a top N report will be
                  prepared on behalf of this entry.  The host table
                  identified by a particular value of this index is
                  associated with the same host table as identified
                  by the same value of hostIndex.

                  This object may not be modified if the associated
                  hostTopNStatus object is equal to valid(1)."
              ::= { hostTopNControlEntry 2 }

          hostTopNRateBase OBJECT-TYPE
              SYNTAX INTEGER {
                      hostTopNInPkts(1),
                      hostTopNOutPkts(2),
                      hostTopNInOctets(3),
                      hostTopNOutOctets(4),
                      hostTopNOutErrors(5),
                      hostTopNOutBroadcastPkts(6),
                      hostTopNOutMulticastPkts(7)
              }
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The variable for each host that the hostTopNRate
                  variable is based upon.

                  This object may not be modified if the associated
                  hostTopNStatus object is equal to valid(1)."
              ::= { hostTopNControlEntry 3 }

          hostTopNTimeRemaining OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The number of seconds left in the report currently
                  being collected.  When this object is modified by
                  the management station, a new collection is started,
                  possibly aborting a currently running report.  The
                  new value is used as the requested duration of this
                  report, which is loaded into the associated
                  hostTopNDuration object.

                  When this object is set to a non-zero value, any
                  associated hostTopNEntries shall be made
                  inaccessible by the monitor.  While the value of this
                  object is non-zero, it decrements by one per second
                  until it reaches zero.  During this time, all
                  associated hostTopNEntries shall remain
                  inaccessible.  At the time that this object
                  decrements to zero, the report is made
                  accessible in the hostTopNTable.  Thus, the hostTopN
                  table needs to be created only at the end of the
                  collection interval."
              DEFVAL { 0 }
              ::= { hostTopNControlEntry 4 }

          hostTopNDuration OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of seconds that this report has collected
                  during the last sampling interval, or if this
                  report is currently being collected, the number
                  of seconds that this report is being collected
                  during this sampling interval.

                  When the associated hostTopNTimeRemaining object is
                  set, this object shall be set by the probe to the
                  same value and shall not be modified until the next
                  time the hostTopNTimeRemaining is set.

                  This value shall be zero if no reports have been
                  requested for this hostTopNControlEntry."
              DEFVAL { 0 }
              ::= { hostTopNControlEntry 5 }

          hostTopNRequestedSize OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The maximum number of hosts requested for the top N
                  table.

                  When this object is created or modified, the probe
                  should set hostTopNGrantedSize as closely to this
                  object as is possible for the particular probe
                  implementation and available resources."
              DEFVAL { 10 }
              ::= { hostTopNControlEntry 6 }

          hostTopNGrantedSize OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The maximum number of hosts in the top N table.

                  When the associated hostTopNRequestedSize object is
                  created or modified, the probe should set this
                  object as closely to the requested value as is
                  possible for the particular implementation and
                  available resources. The probe must not lower this
                  value except as a result of a set to the associated
                  hostTopNRequestedSize object.

                  Hosts with the highest value of hostTopNRate shall be
                  placed in this table in decreasing order of this rate
                  until there is no more room or until there are no more
                  hosts."
              ::= { hostTopNControlEntry 7 }

          hostTopNStartTime OBJECT-TYPE
              SYNTAX TimeTicks
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The value of sysUpTime when this top N report was
                  last started.  In other words, this is the time that
                  the associated hostTopNTimeRemaining object was
                  modified to start the requested report."
              ::= { hostTopNControlEntry 8 }

          hostTopNOwner OBJECT-TYPE
              SYNTAX DisplayString
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The entity that configured this entry and is
                  therefore using the resources assigned to it."
              ::= { hostTopNControlEntry 9 }

          hostTopNStatus OBJECT-TYPE
              SYNTAX EntryStatus
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The status of this hostTopNControl entry.
                  If this object is not equal to valid(1), all
                  associated hostTopNEntries shall be deleted by
                  the agent."
              ::= { hostTopNControlEntry 10 }

          hostTopNTable OBJECT-TYPE
              SYNTAX SEQUENCE OF HostTopNEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of top N host entries."
              ::= { hostTopN 2 }

          hostTopNEntry OBJECT-TYPE
              SYNTAX HostTopNEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A set of statistics for a host that is part of a
                  top N report."
              INDEX { hostTopNReport, hostTopNIndex }
              ::= { hostTopNTable 1 }

          HostTopNEntry ::= SEQUENCE {
              hostTopNReport                INTEGER (1..65535),
              hostTopNIndex                 INTEGER (1..65535),
              hostTopNAddress               OCTET STRING,
              hostTopNRate                  INTEGER
          }

          hostTopNReport OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "This object identifies the top N report of which
                  this entry is a part.  The set of hosts
                  identified by a particular value of this
                  object is part of the same report as identified
                  by the same value of the hostTopNControlIndex object."
              ::= { hostTopNEntry 1 }

          hostTopNIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry in
                  the hostTopN table among those in the same report.
                  This index is between 1 and N, where N is the
                  number of entries in this table.  Increasing values
                  of hostTopNIndex shall be assigned to entries with
                  decreasing values of hostTopNRate until index N
                  is assigned to the entry with the lowest value of
                  hostTopNRate or there are no more hostTopNEntries."
              ::= { hostTopNEntry 2 }

          hostTopNAddress OBJECT-TYPE
              SYNTAX OCTET STRING
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The physical address of this host."
              ::= { hostTopNEntry 3 }

          hostTopNRate OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The amount of change in the selected variable
                  during this sampling interval.  The selected
                  variable is this host's instance of the object
                  selected by hostTopNRateBase."
              ::= { hostTopNEntry 4 }


          -- The Matrix Group

          -- Implementation of the Matrix group is optional.
          --
          -- The Matrix group consists of the matrixControlTable,
          -- matrixSDTable and the matrixDSTable.  These tables
          -- store statistics for a particular conversation between
          -- two addresses.  As the device detects a new conversation,
          -- including those to a non-unicast address, it creates a
          -- new entry in both of the matrix tables.
          -- It must only create new entries based on information
          -- received in good packets.  If the monitoring device finds
          -- itself short of resources, it may delete entries as needed.
          -- It is suggested that the device delete the least recently
          -- used entries first.

          matrixControlTable OBJECT-TYPE
              SYNTAX SEQUENCE OF MatrixControlEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of information entries for the
                  traffic matrix on each interface."
              ::= { matrix 1 }

          matrixControlEntry OBJECT-TYPE
              SYNTAX MatrixControlEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "Information about a traffic matrix on a
                  particular interface."
              INDEX { matrixControlIndex }
              ::= { matrixControlTable 1 }

          MatrixControlEntry ::= SEQUENCE {
              matrixControlIndex           INTEGER (1..65535),
              matrixControlDataSource      OBJECT IDENTIFIER,
              matrixControlTableSize       INTEGER,
              matrixControlLastDeleteTime  TimeTicks,
              matrixControlOwner           DisplayString,
              matrixControlStatus          EntryStatus
          }

          matrixControlIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry in the
                  matrixControl table.  Each such entry defines
                  a function that discovers conversations on a particular
                  interface and places statistics about them in the
                  matrixSDTable and the matrixDSTable on behalf of this
                  matrixControlEntry."
              ::= { matrixControlEntry 1 }

          matrixControlDataSource OBJECT-TYPE
              SYNTAX OBJECT IDENTIFIER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "This object identifies the source of
                  the data from which this entry creates a traffic matrix.
                  This source can be any interface on this device.  In
                  order to identify a particular interface, this object
                  shall identify the instance of the ifIndex object,
                  defined in [4,6], for the desired interface.  For
                  example, if an entry were to receive data from
                  interface #1, this object would be set to ifIndex.1.

                  The statistics in this group reflect all packets
                  on the local network segment attached to the
                  identified interface.

                  This object may not be modified if the associated
                  matrixControlStatus object is equal to valid(1)."
              ::= { matrixControlEntry 2 }

          matrixControlTableSize OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of matrixSDEntries in the matrixSDTable
                  for this interface.  This must also be the value of
                  the number of entries in the matrixDSTable for this
                  interface."
              ::= { matrixControlEntry 3 }

          matrixControlLastDeleteTime OBJECT-TYPE
              SYNTAX TimeTicks
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The value of sysUpTime when the last entry
                  was deleted from the portion of the matrixSDTable
                  or matrixDSTable associated with this
                  matrixControlEntry.
                  If no deletions have occurred, this value shall be
                  zero."
              ::= { matrixControlEntry 4 }

          matrixControlOwner OBJECT-TYPE
              SYNTAX DisplayString
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The entity that configured this entry and is
                  therefore using the resources assigned to it."
              ::= { matrixControlEntry 5 }

          matrixControlStatus OBJECT-TYPE
              SYNTAX EntryStatus
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The status of this matrixControl entry.

                  If this object is not equal to valid(1), all
                  associated entries in the matrixSDTable and the
                  matrixDSTable shall be deleted by the agent."
              ::= { matrixControlEntry 6 }

          matrixSDTable OBJECT-TYPE
              SYNTAX SEQUENCE OF MatrixSDEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of traffic matrix entries indexed by
                  source and destination MAC address."
              ::= { matrix 2 }

          matrixSDEntry OBJECT-TYPE
              SYNTAX MatrixSDEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A collection of statistics for communications between
                  two addresses on a particular interface."
              INDEX { matrixSDIndex,
                      matrixSDSourceAddress, matrixSDDestAddress }
              ::= { matrixSDTable 1 }

          MatrixSDEntry ::= SEQUENCE {
              matrixSDSourceAddress       OCTET STRING,
              matrixSDDestAddress         OCTET STRING,
              matrixSDIndex               INTEGER (1..65535),
              matrixSDPkts                Counter,
              matrixSDOctets              Counter,
              matrixSDErrors              Counter
          }

          matrixSDSourceAddress OBJECT-TYPE
              SYNTAX OCTET STRING
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The source physical address."
              ::= { matrixSDEntry 1 }

          matrixSDDestAddress OBJECT-TYPE
              SYNTAX OCTET STRING
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The destination physical address."
              ::= { matrixSDEntry 2 }

          matrixSDIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The set of collected matrix statistics of which
                  this entry is a part.  The set of matrix statistics
                  identified by a particular value of this index
                  is associated with the same matrixControlEntry
                  as identified by the same value of matrixControlIndex."
              ::= { matrixSDEntry 3 }

          matrixSDPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of packets transmitted from the source
                  address to the destination address (this number
                  includes error packets)."
              ::= { matrixSDEntry 4 }

          matrixSDOctets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of octets (excluding framing bits but
                  including FCS octets) contained in all packets
                  transmitted from the source address to the
                  destination address."
              ::= { matrixSDEntry 5 }

          matrixSDErrors OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of error packets transmitted from
                  the source address to the destination address."
              ::= { matrixSDEntry 6 }


          -- Traffic matrix tables from destination to source

          matrixDSTable OBJECT-TYPE
              SYNTAX SEQUENCE OF MatrixDSEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of traffic matrix entries indexed by
                  destination and source MAC address."
              ::= { matrix 3 }

          matrixDSEntry OBJECT-TYPE
              SYNTAX MatrixDSEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A collection of statistics for communications between
                  two address on a particular interface."
              INDEX { matrixDSIndex,
                      matrixDSDestAddress, matrixDSSourceAddress }
              ::= { matrixDSTable 1 }

          MatrixDSEntry ::= SEQUENCE {
              matrixDSSourceAddress       OCTET STRING,
              matrixDSDestAddress         OCTET STRING,
              matrixDSIndex               INTEGER (1..65535),
              matrixDSPkts                Counter,
              matrixDSOctets              Counter,
              matrixDSErrors              Counter
          }

          matrixDSSourceAddress OBJECT-TYPE
              SYNTAX OCTET STRING
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The source physical address."
              ::= { matrixDSEntry 1 }

          matrixDSDestAddress OBJECT-TYPE
              SYNTAX OCTET STRING
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The destination physical address."
              ::= { matrixDSEntry 2 }

          matrixDSIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The set of collected matrix statistics of which
                  this entry is a part.  The set of matrix statistics
                  identified by a particular value of this index
                  is associated with the same matrixControlEntry
                  as identified by the same value of matrixControlIndex."
              ::= { matrixDSEntry 3 }

          matrixDSPkts OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of packets transmitted from the source
                  address to the destination address (this number
                  includes error packets)."
              ::= { matrixDSEntry 4 }

          matrixDSOctets OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of octets (excluding framing bits
                  but including FCS octets) contained in all packets
                  transmitted from the source address to the
                  destination address."
              ::= { matrixDSEntry 5 }

          matrixDSErrors OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of error packets transmitted from
                  the source address to the destination address."
              ::= { matrixDSEntry 6 }


          -- The Filter Group

          -- Implementation of the Filter group is optional.
          --
          -- The Filter group allows packets to be captured with an
          -- arbitrary filter expression.  A logical data and
          -- event stream or "channel" is formed by the packets
          -- that match the filter expression.
          --
          -- This filter mechanism allows the creation of an arbitrary
          -- logical expression with which to filter packets.  Each
          -- filter associated with a channel is OR'ed with the others.
          -- Within a filter, any bits checked in the data and status are
          -- AND'ed with respect to other bits in the same filter.  The
          -- NotMask also allows for checking for inequality.  Finally,
          -- the channelAcceptType object allows for inversion of the
          -- whole equation.
          --
          -- The channel can be turned on or off, and can also
          -- generate events when packets pass through it.

          filterTable OBJECT-TYPE
              SYNTAX SEQUENCE OF FilterEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of packet filter entries."
              ::= { filter 1 }

          filterEntry OBJECT-TYPE
              SYNTAX FilterEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A set of parameters for a packet filter applied on a
                  particular interface."
              INDEX { filterIndex }
              ::= { filterTable 1 }

          FilterEntry ::= SEQUENCE {
              filterIndex                 INTEGER (1..65535),
              filterChannelIndex          INTEGER (1..65535),
              filterPktDataOffset         INTEGER,
              filterPktData               OCTET STRING,
              filterPktDataMask           OCTET STRING,
              filterPktDataNotMask        OCTET STRING,
              filterPktStatus             INTEGER,
              filterPktStatusMask         INTEGER,
              filterPktStatusNotMask      INTEGER,
              filterOwner                 DisplayString,
              filterStatus                EntryStatus
          }

          filterIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry
                  in the filter table.  Each such entry defines
                  one filter that is to be applied to every packet
                  received on an interface."
              ::= { filterEntry 1 }

          filterChannelIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "This object identifies the channel of which this
                  filter is a part.  The filters identified by a
                  particular value of this object are associated
                  with the same channel as identified by the same
                  value of the channelIndex object."
              ::= { filterEntry 2 }

          filterPktDataOffset OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The offset from the beginning of each packet where
                  a match of packet data will be attempted.  This offset
                  is measured from the point in the physical layer
                  packet after the framing bits, if any.  For example,
                  in an Ethernet frame, this point is at the beginning
                  of the destination MAC address.

                  This object may not be modified if the associated
                  filterStatus object is equal to valid(1)."
              DEFVAL { 0 }
              ::= { filterEntry 3 }

          filterPktData OBJECT-TYPE
              SYNTAX OCTET STRING
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The data that is to be matched with the input packet.
                  For each packet received, this filter and the
                  accompanying filterPktDataMask and
                  filterPktDataNotMask will be adjusted for the
                  offset.  The only bits relevant to this
                  match algorithm are those that have the corresponding
                  filterPktDataMask bit equal to one.  The following
                  three rules are then applied to every packet:

                  (1) If the packet is too short and does not have data
                      corresponding to part of the filterPktData, the
                      packet will fail this data match.

                  (2) For each relevant bit from the packet with the
                      corresponding filterPktDataNotMask bit set to
                      zero, if the bit from the packet is not equal to
                      the corresponding bit from the filterPktData,
                      then the packet will fail this data match.

                  (3) If for every relevant bit from the packet with the
                      corresponding filterPktDataNotMask bit set to one,
                      the bit from the packet is equal to the
                      corresponding bit from the filterPktData, then
                      the packet will fail this data match.

                  Any packets that have not failed any of the three
                  matches above have passed this data match.

                  This object may not be modified if the associated
                  filterStatus object is equal to valid(1)."
              ::= { filterEntry 4 }

          filterPktDataMask OBJECT-TYPE
              SYNTAX OCTET STRING
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The mask that is applied to the match process.
                  After adjusting this mask for the offset, only those
                  bits in the received packet that correspond to bits
                  set in this mask are relevant for further processing
                  by the match algorithm.  The offset is applied to
                  filterPktDataMask in the same way it is applied to
                  the filter.  For the purposes of the matching
                  algorithm, if the associated filterPktData object
                  is longer than this mask, this mask is conceptually
                  extended with '1' bits until it reaches the
                  length of the filterPktData object.
                  This object may not be modified if the associated
                  filterStatus object is equal to valid(1)."
              ::= { filterEntry 5 }

          filterPktDataNotMask OBJECT-TYPE
              SYNTAX OCTET STRING
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The inversion mask that is applied to the match
                  process.  After adjusting this mask for the offset,
                  those relevant bits in the received packet that
                  correspond to bits cleared in this mask must all
                  be equal to their corresponding bits in the
                  filterPktData object for the packet to be accepted.
                  In addition, at least one of those relevant
                  bits in the received packet that correspond to bits
                  set in this mask must be different to its
                  corresponding bit in the filterPktData object.

                  For the purposes of the matching algorithm, if
                  the associated filterPktData object is longer than
                  this mask, this mask is conceptually extended with
                  '0' bits until it reaches the length of the
                  filterPktData object.

                  This object may not be modified if the associated
                  filterStatus object is equal to valid(1)."
              ::= { filterEntry 6 }

          filterPktStatus OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The status that is to be matched with the input
                  packet.  The only bits relevant to this match
                  algorithm are those that have the corresponding
                  filterPktStatusMask bit equal to one.

                  The following two rules are then applied to every
                  packet:

                  (1) For each relevant bit from the packet status
                      with the corresponding filterPktStatusNotMask
                      bit set to zero, if the bit from the packet
                      status is not equal to the corresponding bit
                      from the filterPktStatus, then the packet will
                      fail this status match.

                  (2) If for every relevant bit from the packet status
                      with the corresponding filterPktStatusNotMask
                      bit set to one, the bit from the packet status
                      is equal to the corresponding bit from the
                      filterPktStatus, then the packet will fail
                      this status match.

                  Any packets that have not failed either of the two
                  matches above have passed this status match.

                  The value of the packet status is a sum.  This sum
                  initially takes the value zero.  Then, for each
                  error, E, that has been discovered in this packet,
                  2 raised to a value representing E is added to the sum.
                  The errors and the bits that represent them are
                  dependent on the media type of the interface that
                  this channel is receiving packets from.

                  The errors defined for a packet captured off of an
                  Ethernet interface are as follows:

                      bit #    Error
                          0    Packet is longer than 1518 octets
                          1    Packet is shorter than 64 octets
                          2    Packet experienced a CRC or Alignment
                               error

                  For example, an Ethernet fragment would have a
                  value of 6 (2^1 + 2^2).

                  As this MIB is expanded to new media types, this
                  object will have other media-specific errors defined.

                  For the purposes of this status matching algorithm, if
                  the packet status is longer than this
                  object, filterPktStatus this object is conceptually
                  extended with '0' bits until it reaches the size of
                  the packet status.

                  This object may not be modified if the associated
                  filterStatus object is equal to valid(1)."
              ::= { filterEntry 7 }

          filterPktStatusMask OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The mask that is applied to the status match process.
                  Only those bits in the received packet that correspond
                  to bits set in this mask are relevant for further
                  processing by the status match algorithm.  For the
                  purposes of the matching algorithm, if the
                  associated filterPktStatus object is longer than
                  this mask, this mask is conceptually extended with
                  '1' bits until it reaches the size of the
                  filterPktStatus.  In addition, if a packet status is
                  longer than this mask, this mask is conceptually
                  extended with '0' bits until it reaches the size of
                  the packet status.

                  This object may not be modified if the associated
                  filterStatus object is equal to valid(1)."
              ::= { filterEntry 8 }

          filterPktStatusNotMask OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The inversion mask that is applied to the status match
                  process.  Those relevant bits in the received packet
                  status that correspond to bits cleared in this mask
                  must all be equal to their corresponding bits in the
                  filterPktStatus object for the packet to be accepted.
                  In addition, at least one of those relevant bits in the
                  received packet status that correspond to bits set in
                  this mask must be different to its corresponding bit
                  in the filterPktStatus object for the packet to be
                  accepted.

                  For the purposes of the matching algorithm, if the
                  associated filterPktStatus object or a packet status
                  is longer than this mask, this mask is conceptually
                  extended with '0' bits until it reaches the longer of
                  the lengths of the filterPktStatus object and the
                  packet status.

                  This object may not be modified if the associated
                  filterStatus object is equal to valid(1)."
              ::= { filterEntry 9 }

          filterOwner OBJECT-TYPE
              SYNTAX DisplayString
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The entity that configured this entry and is
                  therefore using the resources assigned to it."
              ::= { filterEntry 10 }

          filterStatus OBJECT-TYPE
              SYNTAX EntryStatus
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The status of this filter entry."
              ::= { filterEntry 11 }

          channelTable OBJECT-TYPE
              SYNTAX SEQUENCE OF ChannelEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of packet channel entries."
              ::= { filter 2 }

          channelEntry OBJECT-TYPE
              SYNTAX ChannelEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A set of parameters for a packet channel applied on a
                  particular interface."
              INDEX { channelIndex }
              ::= { channelTable 1 }

          ChannelEntry ::= SEQUENCE {
              channelIndex                 INTEGER (1..65535),
              channelIfIndex               INTEGER (1..65535),
              channelAcceptType            INTEGER,
              channelDataControl           INTEGER,
              channelTurnOnEventIndex      INTEGER (0..65535),
              channelTurnOffEventIndex     INTEGER (0..65535),
              channelEventIndex            INTEGER (0..65535),
              channelEventStatus           INTEGER,
              channelMatches               Counter,
              channelDescription           DisplayString (SIZE (0..127)),
              channelOwner                 DisplayString,
              channelStatus                EntryStatus
          }

          channelIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry
                  in the channel table.  Each such
                  entry defines one channel, a logical data
                  and event stream."
              ::= { channelEntry 1 }

          channelIfIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The value of this object uniquely identifies the
                  interface on this remote network monitoring device
                  to which the associated filters are applied to allow
                  data into this channel.  The interface identified by
                  a particular value of this object is the same
                  interface as identified by the same value of the
                  ifIndex object, defined in [4,6].  The filters in
                  this group are applied to all packets on the local
                  network segment attached to the identified
                  interface.

                  This object may not be modified if the associated
                  channelStatus object is equal to valid(1)."
              ::= { channelEntry 2 }

          channelAcceptType OBJECT-TYPE
              SYNTAX INTEGER {
                  acceptMatched(1),
                  acceptFailed(2)
              }
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "This object controls the action of the filters
                  associated with this channel.  If this object is equal
                  to acceptMatched(1), packets will be accepted to this
                  channel if they are accepted by both the packet data
                  and packet status matches of an associated filter. If
                  this object is equal to acceptFailed(2), packets will
                  be accepted to this channel only if they fail either
                  the packet data match or the packet status match of
                  each of the associated filters.
                  This object may not be modified if the associated
                  channelStatus object is equal to valid(1)."
              ::= { channelEntry 3 }

          channelDataControl OBJECT-TYPE
              SYNTAX INTEGER {
                  on(1),
                  off(2)
              }
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "This object controls the flow of data through this
                  channel.  If this object is on(1), data, status and
                  events flow through this channel.  If this object is
                  off(2), data, status and events will not flow through
                  this channel."
              DEFVAL { off }
              ::= { channelEntry 4 }

          channelTurnOnEventIndex OBJECT-TYPE
              SYNTAX INTEGER (0..65535)
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The value of this object identifies the event
                  that is configured to turn the associated
                  channelDataControl from off to on when the event is
                  generated.  The event identified by a particular value
                  of this object is the same event as identified by the
                  same value of the eventIndex object.  If there is no
                  corresponding entry in the eventTable, then no
                  association exists.  In fact, if no event is intended
                  for this channel, channelTurnOnEventIndex must be
                  set to zero, a non-existent event index.

                  This object may not be modified if the associated
                  channelStatus object is equal to valid(1)."
              ::= { channelEntry 5 }

          channelTurnOffEventIndex OBJECT-TYPE
              SYNTAX INTEGER (0..65535)
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The value of this object identifies the event
                  that is configured to turn the associated
                  channelDataControl from on to off when the event is
                  generated.  The event identified by a particular value
                  of this object is the same event as identified by the
                  same value of the eventIndex object.  If there is no
                  corresponding entry in the eventTable, then no
                  association exists.  In fact, if no event is intended
                  for this channel, channelTurnOffEventIndex must be
                  set to zero, a non-existent event index.

                  This object may not be modified if the associated
                  channelStatus object is equal to valid(1)."
              ::= { channelEntry 6 }

          channelEventIndex OBJECT-TYPE
              SYNTAX INTEGER (0..65535)
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The value of this object identifies the event
                  that is configured to be generated when the
                  associated channelDataControl is on and a packet
                  is matched.  The event identified by a particular value
                  of this object is the same event as identified by the
                  same value of the eventIndex object.  If there is no
                  corresponding entry in the eventTable, then no
                  association exists.  In fact, if no event is intended
                  for this channel, channelEventIndex must be
                  set to zero, a non-existent event index.

                  This object may not be modified if the associated
                  channelStatus object is equal to valid(1)."
              ::= { channelEntry 7 }

          channelEventStatus OBJECT-TYPE
              SYNTAX INTEGER {
                  eventReady(1),
                  eventFired(2),
                  eventAlwaysReady(3)
              }
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The event status of this channel.

                  If this channel is configured to generate events
                  when packets are matched, a means of controlling
                  the flow of those events is often needed.  When
                  this object is equal to eventReady(1), a single
                  event may be generated, after which this object
                  will be set by the probe to eventFired(2).  While
                  in the eventFired(2) state, no events will be
                  generated until the object is modified to
                  eventReady(1) (or eventAlwaysReady(3)).  The
                  management station can thus easily respond to a
                  notification of an event by re-enabling this object.

                  If the management station wishes to disable this
                  flow control and allow events to be generated
                  at will, this object may be set to
                  eventAlwaysReady(3).  Disabling the flow control
                  is discouraged as it can result in high network
                  traffic or other performance problems."
              DEFVAL { eventReady }
              ::= { channelEntry 8 }

          channelMatches OBJECT-TYPE
              SYNTAX Counter
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of times this channel has matched a packet.
                  Note that this object is updated even when
                  channelDataControl is set to off."
              ::= { channelEntry 9 }

          channelDescription OBJECT-TYPE
              SYNTAX DisplayString (SIZE (0..127))
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "A comment describing this channel."
              ::= { channelEntry 10 }

          channelOwner OBJECT-TYPE
              SYNTAX DisplayString
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The entity that configured this entry and is therefore
                  using the resources assigned to it."
              ::= { channelEntry 11 }

          channelStatus OBJECT-TYPE
              SYNTAX EntryStatus
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The status of this channel entry."
              ::= { channelEntry 12 }


          -- The Packet Capture Group

          -- Implementation of the Packet Capture group is optional.
          --
          -- The Packet Capture Group requires implementation of the
          -- Filter Group.
          --
          -- The Packet Capture group allows packets to be captured
          -- upon a filter match.  The bufferControlTable controls
          -- the captured packets output from a channel that is
          -- associated with it.  The captured packets are placed
          -- in entries in the captureBufferTable.  These entries are
          -- associated with the bufferControlEntry on whose behalf they
          -- were stored.

          bufferControlTable OBJECT-TYPE
              SYNTAX SEQUENCE OF BufferControlEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of buffers control entries."
              ::= { capture 1 }

          bufferControlEntry OBJECT-TYPE
              SYNTAX BufferControlEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A set of parameters that control the collection of
                  a stream of packets that have matched filters."
              INDEX { bufferControlIndex }
              ::= { bufferControlTable 1 }

          BufferControlEntry ::= SEQUENCE {
              bufferControlIndex                INTEGER (1..65535),
              bufferControlChannelIndex         INTEGER (1..65535),
              bufferControlFullStatus           INTEGER,
              bufferControlFullAction           INTEGER,
              bufferControlCaptureSliceSize     INTEGER,
              bufferControlDownloadSliceSize    INTEGER,
              bufferControlDownloadOffset       INTEGER,
              bufferControlMaxOctetsRequested   INTEGER,
              bufferControlMaxOctetsGranted     INTEGER,
              bufferControlCapturedPackets      INTEGER,
              bufferControlTurnOnTime           TimeTicks,
              bufferControlOwner                DisplayString,
              bufferControlStatus               EntryStatus
          }

          bufferControlIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry
                  in the bufferControl table.  The value of this
                  index shall never be zero.  Each such
                  entry defines one set of packets that is
                  captured and controlled by one or more filters."
              ::= { bufferControlEntry 1 }

          bufferControlChannelIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "An index that identifies the channel that is the
                  source of packets for this bufferControl table.
                  The channel identified by a particular value of this
                  index is the same as identified by the same value of
                  the channelIndex object.

                  This object may not be modified if the associated
                  bufferControlStatus object is equal to valid(1)."
              ::= { bufferControlEntry 2 }

          bufferControlFullStatus OBJECT-TYPE
              SYNTAX INTEGER {
                      spaceAvailable(1),
                      full(2)
              }
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "This object shows whether the buffer has room to
                  accept new packets or if it is full.

                  If the status is spaceAvailable(1), the buffer is
                  accepting new packets normally.  If the status is
                  full(2) and the associated bufferControlFullAction
                  object is wrapWhenFull, the buffer is accepting new
                  packets by deleting enough of the oldest packets
                  to make room for new ones as they arrive.  Otherwise,
                  if the status is full(2) and the
                  bufferControlFullAction object is lockWhenFull,
                  then the buffer has stopped collecting packets.

                  When this object is set to full(2) the probe must
                  not later set it to spaceAvailable(1) except in the
                  case of a significant gain in resources such as
                  an increase of bufferControlOctetsGranted.  In
                  particular, the wrap-mode action of deleting old
                  packets to make room for newly arrived packets
                  must not affect the value of this object."
              ::= { bufferControlEntry 3 }

          bufferControlFullAction OBJECT-TYPE
              SYNTAX INTEGER {
                      lockWhenFull(1),
                      wrapWhenFull(2)    -- FIFO
              }
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "Controls the action of the buffer when it
                  reaches the full status.  When in the lockWhenFull(1)
                  state a packet is added to the buffer that
                  fills the buffer, the bufferControlFullStatus will
                  be set to full(2) and this buffer will stop capturing
                  packets."
              ::= { bufferControlEntry 4 }

          bufferControlCaptureSliceSize OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The maximum number of octets of each packet
                  that will be saved in this capture buffer.
                  For example, if a 1500 octet packet is received by
                  the probe and this object is set to 500, then only
                  500 octets of the packet will be stored in the
                  associated capture buffer.  If this variable is set
                  to 0, the capture buffer will save as many octets
                  as is possible.

                  This object may not be modified if the associated
                  bufferControlStatus object is equal to valid(1)."
              DEFVAL { 100 }
              ::= { bufferControlEntry 5 }

          bufferControlDownloadSliceSize OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The maximum number of octets of each packet
                  in this capture buffer that will be returned in
                  an SNMP retrieval of that packet.  For example,
                  if 500 octets of a packet have been stored in the
                  associated capture buffer, the associated
                  bufferControlDownloadOffset is 0, and this
                  object is set to 100, then the captureBufferPacket
                  object that contains the packet will contain only
                  the first 100 octets of the packet.

                  A prudent manager will take into account possible
                  interoperability or fragmentation problems that may
                  occur if the download slice size is set too large.
                  In particular, conformant SNMP implementations are not
                  required to accept messages whose length exceeds 484
                  octets, although they are encouraged to support larger
                  datagrams whenever feasible."
              DEFVAL { 100 }
              ::= { bufferControlEntry 6 }

          bufferControlDownloadOffset OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The offset of the first octet of each packet
                  in this capture buffer that will be returned in
                  an SNMP retrieval of that packet.  For example,
                  if 500 octets of a packet have been stored in the
                  associated capture buffer and this object is set to
                  100, then the captureBufferPacket object that
                  contains the packet will contain bytes starting
                  100 octets into the packet."
              DEFVAL { 0 }
              ::= { bufferControlEntry 7 }

          bufferControlMaxOctetsRequested OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The requested maximum number of octets to be
                  saved in this captureBuffer, including any
                  implementation-specific overhead. If this variable
                  is set to -1, the capture buffer will save as many
                  octets as is possible.

                  When this object is created or modified, the probe
                  should set bufferControlMaxOctetsGranted as closely
                  to this object as is possible for the particular probe
                  implementation and available resources.  However, if
                  the object has the special value of -1, the probe
                  must set bufferControlMaxOctetsGranted to -1."
              DEFVAL { -1 }
              ::= { bufferControlEntry 8 }

          bufferControlMaxOctetsGranted OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The maximum number of octets that can be
                  saved in this captureBuffer, including overhead.
                  If this variable is -1, the capture buffer will save
                  as many octets as possible.

                  When the bufferControlMaxOctetsRequested object is
                  created or modified, the probe should set this object
                  as closely to the requested value as is possible for
                  the particular probe implementation and available
                  resources.  However, if the request object has the
                  special value of -1, the probe must set this object
                  to -1.  The probe must not lower this value except
                  as a result of a modification to the associated
                  bufferControlMaxOctetsRequested object.

                  When this maximum number of octets is reached
                  and a new packet is to be added to this
                  capture buffer and the corresponding
                  bufferControlFullAction is set to wrapWhenFull(2),
                  enough of the oldest packets associated with this
                  capture buffer shall be deleted by the agent so
                  that the new packet can be added.  If the
                  corresponding bufferControlFullAction is set to
                  lockWhenFull(1), the new packet shall be discarded.
                  In either case, the probe must set
                  bufferControlFullStatus to full(2).

                  When the value of this object changes to a value less
                  than the current value, entries are deleted from
                  the captureBufferTable associated with this
                  bufferControlEntry.  Enough of the
                  oldest of these captureBufferEntries shall be
                  deleted by the agent so that the number of octets
                  used remains less than or equal to the new value of
                  this object.

                  When the value of this object changes to a value greater
                  than the current value, the number of associated
                  captureBufferEntries may be allowed to grow."
              ::= { bufferControlEntry 9 }

          bufferControlCapturedPackets OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of packets currently in this captureBuffer."
              ::= { bufferControlEntry 10 }

          bufferControlTurnOnTime OBJECT-TYPE
              SYNTAX TimeTicks
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The value of sysUpTime when this capture buffer was
                  first turned on."
              ::= { bufferControlEntry 11 }

          bufferControlOwner OBJECT-TYPE
              SYNTAX DisplayString
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The entity that configured this entry and is therefore
                  using the resources assigned to it."
              ::= { bufferControlEntry 12 }

          bufferControlStatus OBJECT-TYPE
              SYNTAX EntryStatus
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The status of this buffer Control Entry."
              ::= { bufferControlEntry 13 }

          captureBufferTable OBJECT-TYPE
              SYNTAX SEQUENCE OF CaptureBufferEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of packets captured off of a channel."
              ::= { capture 2 }

          captureBufferEntry OBJECT-TYPE
              SYNTAX CaptureBufferEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A packet captured off of an attached network."
              INDEX { captureBufferControlIndex, captureBufferIndex }
              ::= { captureBufferTable 1 }

          CaptureBufferEntry ::= SEQUENCE {
              captureBufferControlIndex   INTEGER (1..65535),
              captureBufferIndex          INTEGER,
              captureBufferPacketID       INTEGER,
              captureBufferPacketData     OCTET STRING,
              captureBufferPacketLength   INTEGER,
              captureBufferPacketTime     INTEGER,
              captureBufferPacketStatus   INTEGER
          }

          captureBufferControlIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The index of the bufferControlEntry with which
                  this packet is associated."
              ::= { captureBufferEntry 1 }

          captureBufferIndex OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry
                  in the captureBuffer table associated with a
                  particular bufferControlEntry.  This index will
                  start at 1 and increase by one for each new packet
                  added with the same captureBufferControlIndex."
              ::= { captureBufferEntry 2 }

          captureBufferPacketID OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that describes the order of packets
                  that are received on a particular interface.
                  The packetID of a packet captured on an
                  interface is defined to be greater than the
                  packetID's of all packets captured previously on
                  the same interface.  As the captureBufferPacketID
                  object has a maximum positive value of 2^31 - 1,
                  any captureBufferPacketID object shall have the
                  value of the associated packet's packetID mod 2^31."
              ::= { captureBufferEntry 3 }

          captureBufferPacketData OBJECT-TYPE
              SYNTAX OCTET STRING
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The data inside the packet, starting at the beginning
                  of the packet plus any offset specified in the
                  associated bufferControlDownloadOffset, including any
                  link level headers.  The length of the data in this
                  object is the minimum of the length of the captured
                  packet minus the offset, the length of the associated
                  bufferControlCaptureSliceSize minus the offset, and the
                  associated bufferControlDownloadSliceSize.  If this
                  minimum is less than zero, this object shall have a
                  length of zero."
              ::= { captureBufferEntry 4 }

          captureBufferPacketLength OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The actual length (off the wire) of the packet stored
                  in this entry, including FCS octets."
              ::= { captureBufferEntry 5 }

          captureBufferPacketTime OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The number of milliseconds that had passed since
                  this capture buffer was first turned on when this
                  packet was captured."
              ::= { captureBufferEntry 6 }

          captureBufferPacketStatus OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "A value which indicates the error status of this
                  packet.

                  The value of this object is defined in the same way as
                  filterPacketStatus.  The value is a sum.  This sum
                  initially takes the value zero.  Then, for each
                  error, E, that has been discovered in this packet,
                  2 raised to a value representing E is added to the sum.

                  The errors defined for a packet captured off of an
                  Ethernet interface are as follows:

                      bit #    Error
                          0    Packet is longer than 1518 octets
                          1    Packet is shorter than 64 octets
                          2    Packet experienced a CRC or Alignment
                               error
                          3    First packet in this capture buffer after
                               it was detected that some packets were
                               not processed correctly.

                  For example, an Ethernet fragment would have a
                  value of 6 (2^1 + 2^2).

                  As this MIB is expanded to new media types, this object
                  will have other media-specific errors defined."
              ::= { captureBufferEntry 7 }


          -- The Event Group

          -- Implementation of the Event group is optional.
          --
          -- The Event group controls the generation and notification
          -- of events from this device.  Each entry in the eventTable
          -- describes the parameters of the event that can be triggered.
          -- Each event entry is fired by an associated condition located
          -- elsewhere in the MIB.  An event entry may also be associated
          -- with a function elsewhere in the MIB that will be executed
          -- when the event is generated.  For example, a channel may
          -- be turned on or off by the firing of an event.
          --
          -- Each eventEntry may optionally specify that a log entry
          -- be created on its behalf whenever the event occurs.
          -- Each entry may also specify that notification should
          -- occur by way of SNMP trap messages.  In this case, the
          -- community for the trap message is given in the associated
          -- eventCommunity object.  The enterprise and specific trap
          -- fields of the trap are determined by the condition that
          -- triggered the event.  Three traps are defined in a companion
          -- document: risingAlarm, fallingAlarm, and packetMatch.
          -- If the eventTable is triggered by a condition specified
          -- elsewhere, the enterprise and specific trap fields
          -- must be specified for traps generated for that condition.

          eventTable OBJECT-TYPE
              SYNTAX SEQUENCE OF EventEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of events to be generated."
              ::= { event 1 }

          eventEntry OBJECT-TYPE
              SYNTAX EventEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A set of parameters that describe an event to be
                  generated when certain conditions are met."
              INDEX { eventIndex }
              ::= { eventTable 1 }

          EventEntry ::= SEQUENCE {
              eventIndex          INTEGER (1..65535),
              eventDescription    DisplayString (SIZE (0..127)),
              eventType           INTEGER,
              eventCommunity      DisplayString,
              eventLastTimeSent   TimeTicks,
              eventOwner          DisplayString,
              eventStatus         EntryStatus
          }

          eventIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry in the
                  event table.  Each such entry defines one event that
                  is to be generated when the appropriate conditions
                  occur."
              ::= { eventEntry 1 }

          eventDescription OBJECT-TYPE
              SYNTAX DisplayString (SIZE (0..127))
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "A comment describing this event entry."
              ::= { eventEntry 2 }

          eventType OBJECT-TYPE
              SYNTAX INTEGER {
                      none(1),
                      log(2),
                      snmp-trap(3),    -- send an SNMP trap
                      log-and-trap(4)
              }
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The type of notification that the probe will make
                  about this event.  In the case of log, an entry is
                  made in the log table for each event.  In the case of
                  snmp-trap, an SNMP trap is sent to one or more
                  management stations."
              ::= { eventEntry 3 }

          eventCommunity OBJECT-TYPE
              SYNTAX DisplayString
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "If an SNMP trap is to be sent, it will be sent to
                  the SNMP community specified by this octet string.
                  In the future this table will be extended to include
                  the party security mechanism.  This object shall be
                  set to a string of length zero if it is intended that
                  that mechanism be used to specify the destination of
                  the trap."
              ::= { eventEntry 4 }

          eventLastTimeSent OBJECT-TYPE
              SYNTAX TimeTicks
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The value of sysUpTime at the time this event
                  entry last generated an event.  If this entry has
                  not generated any events, this value will be
                  zero."
              ::= { eventEntry 5 }

          eventOwner OBJECT-TYPE
              SYNTAX DisplayString
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The entity that configured this entry and is therefore
                  using the resources assigned to it.

                  If this object contains a string starting with 'monitor'
                  and has associated entries in the log table, all
                  connected management stations should retrieve those
                  log entries, as they may have significance to all
                  management stations connected to this device"
              ::= { eventEntry 6 }

          eventStatus OBJECT-TYPE
              SYNTAX EntryStatus
              ACCESS read-write
              STATUS mandatory
              DESCRIPTION
                  "The status of this event entry.

                  If this object is not equal to valid(1), all associated
                  log entries shall be deleted by the agent."
              ::= { eventEntry 7 }

          --
          logTable OBJECT-TYPE
              SYNTAX SEQUENCE OF LogEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A list of events that have been logged."
              ::= { event 2 }

          logEntry OBJECT-TYPE
              SYNTAX LogEntry
              ACCESS not-accessible
              STATUS mandatory
              DESCRIPTION
                  "A set of data describing an event that has been
                  logged."
              INDEX { logEventIndex, logIndex }
              ::= { logTable 1 }

          LogEntry ::= SEQUENCE {
              logEventIndex           INTEGER (1..65535),
              logIndex                INTEGER,
              logTime                 TimeTicks,
              logDescription          DisplayString (SIZE (0..255))
          }

          logEventIndex OBJECT-TYPE
              SYNTAX INTEGER (1..65535)
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The event entry that generated this log
                  entry.  The log identified by a particular
                  value of this index is associated with the same
                  eventEntry as identified by the same value
                  of eventIndex."
              ::= { logEntry 1 }

          logIndex OBJECT-TYPE
              SYNTAX INTEGER
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An index that uniquely identifies an entry
                  in the log table amongst those generated by the
                  same eventEntries.  These indexes are
                  assigned beginning with 1 and increase by one
                  with each new log entry.  The association
                  between values of logIndex and logEntries
                  is fixed for the lifetime of each logEntry.
                  The agent may choose to delete the oldest
                  instances of logEntry as required because of
                  lack of memory.  It is an implementation-specific
                  matter as to when this deletion may occur."
              ::= { logEntry 2 }

          logTime OBJECT-TYPE
              SYNTAX TimeTicks
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "The value of sysUpTime when this log entry was
                  created."
              ::= { logEntry 3 }

          logDescription OBJECT-TYPE
              SYNTAX DisplayString (SIZE (0..255))
              ACCESS read-only
              STATUS mandatory
              DESCRIPTION
                  "An implementation dependent description of the
                  event that activated this log entry."
              ::= { logEntry 4 }

          END
	RFC1271-TRAPS

	DEFINITIONS ::= BEGIN

	IMPORTS
		TRAP-TYPE	FROM RFC-1215
		rmon,
		alarmIndex,
		alarmVariable,
		alarmSampleType,
		alarmValue,
		alarmRisingThreshold,
		alarmFallingThreshold,
		channelIndex,
		channelMatches,
		channelDescription
				FROM RFC1271-MIB;

          risingAlarm TRAP-TYPE
              ENTERPRISE  rmon 
              VARIABLES { alarmIndex, alarmVariable, alarmSampleType,
                          alarmValue, alarmRisingThreshold }
              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."
              ::= 1

          fallingAlarm TRAP-TYPE
              ENTERPRISE  rmon 
              VARIABLES { alarmIndex, alarmVariable, alarmSampleType,
                          alarmValue, alarmFallingThreshold }
              DESCRIPTION
                  "The SNMP trap that is generated when an alarm
                  entry crosses its fallingthreshold and generates
                  an event that is configured for sending SNMP
                  traps."
              ::= 2

          packetMatch TRAP-TYPE
              ENTERPRISE  rmon 
              VARIABLES { channelIndex, channelMatches, channelDescription }
              DESCRIPTION
                  "The SNMP trap that is generated when a packet
                  is captured by a channel that is configured for
                  sending SNMP traps."
              ::= 3
	END

   RFC1389-MIB DEFINITIONS ::= BEGIN

   IMPORTS
           Counter, TimeTicks, IpAddress
                   FROM RFC1155-SMI
           mib-2
                   FROM RFC1213-MIB
           OBJECT-TYPE
                   FROM RFC-1212;

   --  RIP-2 Management Information Base

     rip2 OBJECT IDENTIFIER ::= { mib-2 23 }
   -- the RouteTag type represents the contents of the
   -- Route Tag field in the packet header or route entry.

   RouteTag ::= OCTET STRING (SIZE (2))

   -- the Validation type is used for the variable that deletes
   -- an entry from a table, and ALWAYS takes at least these values:

   Validation ::= INTEGER { valid (1), invalid (2) }


   --      The RIP-2 Globals Group.
   --      Implementation of this group is mandatory for systems that
   --           implement RIP-2.

   -- These counters are intended to facilitate debugging quickly
   -- changing routes or failing neighbors

   rip2GlobalGroup OBJECT IDENTIFIER ::= { rip2 1 }


       rip2GlobalRouteChanges OBJECT-TYPE
           SYNTAX   Counter
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The number of changes made to the IP Route Da-
              tabase by RIP."
          ::= { rip2GlobalGroup 1 }


       rip2GlobalQueries OBJECT-TYPE
           SYNTAX   Counter
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The number of responses sent  to  RIP  queries
              from other systems."
          ::= { rip2GlobalGroup 2 }


   --  RIP Interfaces Groups
   --  Implementation of these Groups is mandatory for systems that
   --       implement RIP-2.

   -- Since RIP versions 1 and 2 do not deal with addressless links,
   -- it is assumed that RIP "interfaces" are subnets within a
   -- routing domain.
   -- The RIP Interface Status Table.

       rip2IfStatTable OBJECT-TYPE
           SYNTAX   SEQUENCE OF Rip2IfStatEntry
           ACCESS   not-accessible
           STATUS   mandatory
           DESCRIPTION
              "A  list  of  subnets  which  require  separate
              status monitoring in RIP."
          ::= { rip2 2 }

      rip2IfStatEntry OBJECT-TYPE
          SYNTAX   Rip2IfStatEntry
          ACCESS   not-accessible
          STATUS   mandatory
          DESCRIPTION
             "A Single Routing Domain in a single Subnet."
         INDEX { rip2IfStatAddress }
         ::= { rip2IfStatTable 1 }


       Rip2IfStatEntry ::=
           SEQUENCE {
               rip2IfStatAddress
                   IpAddress,
               rip2IfStatRcvBadPackets
                   Counter,
               rip2IfStatRcvBadRoutes
                   Counter,
               rip2IfStatSentUpdates
                   Counter,
               rip2IfStatStatus
                   Validation
       }

       rip2IfStatAddress OBJECT-TYPE
           SYNTAX   IpAddress
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The IP Address of this system on the indicated
              subnet."
          ::= { rip2IfStatEntry 1 }


       rip2IfStatRcvBadPackets OBJECT-TYPE
           SYNTAX   Counter
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The number of RIP response packets received by
              the  RIP  process  which were subsequently dis-
              carded for any reason (e.g. a version 0 packet,
              or an unknown command type)."
          ::= { rip2IfStatEntry 2 }


       rip2IfStatRcvBadRoutes OBJECT-TYPE
           SYNTAX   Counter
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The number of routes, in  valid  RIP  packets,
              which were ignored for any reason (e.g. unknown
              address family, or invalid metric)."
          ::= { rip2IfStatEntry 3 }


       rip2IfStatSentUpdates OBJECT-TYPE
           SYNTAX   Counter
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The number of triggered RIP  updates  actually
              sent  on  this interface.  This explicitly does
              NOT include full updates  sent  containing  new
              information."
          ::= { rip2IfStatEntry 4 }

       rip2IfStatStatus OBJECT-TYPE
           SYNTAX   Validation
           ACCESS   read-write
           STATUS   mandatory
           DESCRIPTION
              "Writing invalid has  the  effect  of  deleting
              this interface."
          DEFVAL { valid }
          ::= { rip2IfStatEntry 5 }


   -- The RIP Interface Configuration Table.


       rip2IfConfTable OBJECT-TYPE
           SYNTAX   SEQUENCE OF Rip2IfConfEntry
           ACCESS   not-accessible
           STATUS   mandatory
           DESCRIPTION
              "A list of subnets which require separate  con-
              figuration in RIP."
          ::= { rip2 3 }

      rip2IfConfEntry OBJECT-TYPE
          SYNTAX   Rip2IfConfEntry
          ACCESS   not-accessible
          STATUS   mandatory
          DESCRIPTION
             "A Single Routing Domain in a single Subnet."
         INDEX { rip2IfConfAddress }
         ::= { rip2IfConfTable 1 }


       Rip2IfConfEntry ::=
           SEQUENCE {
               rip2IfConfAddress
                   IpAddress,
               rip2IfConfDomain
                   RouteTag,
               rip2IfConfAuthType
                   INTEGER,
               rip2IfConfAuthKey
                   OCTET STRING (SIZE(0..16)),
               rip2IfConfSend
                   INTEGER,
               rip2IfConfReceive
                   INTEGER,
               rip2IfConfDefaultMetric
                   INTEGER,
               rip2IfConfStatus
                   Validation
       }

       rip2IfConfAddress OBJECT-TYPE
           SYNTAX   IpAddress
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The IP Address of this system on the indicated
              subnet."
          ::= { rip2IfConfEntry 1 }


       rip2IfConfDomain OBJECT-TYPE
           SYNTAX   RouteTag
           ACCESS   read-write
           STATUS   mandatory
           DESCRIPTION
              "Value inserted into the Routing  Domain  field
              of all RIP packets sent on this interface."
          DEFVAL { '0000'h }
          ::= { rip2IfConfEntry 2 }


       rip2IfConfAuthType OBJECT-TYPE
           SYNTAX   INTEGER {
                       noAuthentication (1),
                       simplePassword (2)
                    }
           ACCESS   read-write
           STATUS   mandatory
           DESCRIPTION
              "The type of Authentication used on this inter-
              face."
          DEFVAL { noAuthentication }
          ::= { rip2IfConfEntry 3 }


       rip2IfConfAuthKey OBJECT-TYPE
           SYNTAX   OCTET STRING (SIZE(0..16))
           ACCESS   read-write
           STATUS   mandatory
           DESCRIPTION
              "The value to be used as the Authentication Key
              whenever    the   corresponding   instance   of
              rip2IfConfAuthType has  the  value  simplePass-
              word.   A modification of the corresponding in-
              stance of rip2IfConfAuthType  does  not  modify
              the rip2IfConfAuthKey value.

              If a string shorter than 16 octets is supplied,
              it  will be left-justified and padded to 16 oc-
              tets, on the right, with nulls (0x00).

              Reading this object always results in an  OCTET
              STRING  of  length zero; authentication may not
              be bypassed by reading the MIB object."
          DEFVAL { ''h }
          ::= { rip2IfConfEntry 4 }


       rip2IfConfSend OBJECT-TYPE
           SYNTAX   INTEGER {
                       doNotSend (1),
                       ripVersion1 (2),
                       rip1Compatible (3),
                       ripVersion2 (4)
                    }
           ACCESS   read-write
           STATUS   mandatory
           DESCRIPTION
              "What  the  router  sends  on  this  interface.
              ripVersion1 implies sending RIP updates compli-
              ant  with  RFC  1058.   rip1Compatible  implies
              broadcasting RIP-2 updates using RFC 1058 route
              subsumption rules.  ripVersion2 implies  multi-
              casting RIP-2 updates."
          DEFVAL { rip1Compatible }
          ::= { rip2IfConfEntry 5 }


       rip2IfConfReceive OBJECT-TYPE
           SYNTAX   INTEGER {
                       rip1 (1),
                       rip2 (2),
                       rip1OrRip2 (3)
                    }
           ACCESS   read-write
           STATUS   mandatory
           DESCRIPTION
              "This indicates which version  of  RIP  updates
              are   to  be  accepted.   Note  that  rip2  and
              rip1OrRip2 implies reception of multicast pack-
              ets."
          DEFVAL { rip1OrRip2 }
          ::= { rip2IfConfEntry 6 }


       rip2IfConfDefaultMetric OBJECT-TYPE
           SYNTAX   INTEGER ( 0..15 )
           ACCESS   read-write
           STATUS   mandatory
           DESCRIPTION
              "This variable indicates what metric is  to  be
              used  as  a  default  route in RIP updates ori-
              ginated on this interface.  A value of zero in-
              dicates  that  no  default route should be ori-
              ginated; in this  case,  a  default  route  via
              another router may be propagated."
          ::= { rip2IfConfEntry 7 }

       rip2IfConfStatus OBJECT-TYPE
           SYNTAX   Validation
           ACCESS   read-write
           STATUS   mandatory
           DESCRIPTION
              "Writing invalid has  the  effect  of  deleting
              this interface."
          DEFVAL { valid }
          ::= { rip2IfConfEntry 8 }


   --  Peer Table

   --      The RIP Peer Group
   --      Implementation of this Group is Optional

   --      This group provides information about active peer
   --      relationships intended to assist in debugging.

       rip2PeerTable OBJECT-TYPE
           SYNTAX   SEQUENCE OF Rip2PeerEntry
           ACCESS   not-accessible
           STATUS   mandatory
           DESCRIPTION
              "A list of RIP Peers."
          ::= { rip2 4 }

      rip2PeerEntry OBJECT-TYPE
          SYNTAX   Rip2PeerEntry
          ACCESS   not-accessible
          STATUS   mandatory
          DESCRIPTION
             "Information regarding a single routing peer."
         INDEX { rip2PeerAddress, rip2PeerDomain }
         ::= { rip2PeerTable 1 }


       Rip2PeerEntry ::=
           SEQUENCE {
               rip2PeerAddress
                   IpAddress,
               rip2PeerDomain
                   RouteTag,
               rip2PeerLastUpdate
                   TimeTicks,
               rip2PeerVersion
                   INTEGER,
               rip2PeerRcvBadPackets
                   Counter,
               rip2PeerRcvBadRoutes
                   Counter
               }


       rip2PeerAddress OBJECT-TYPE
           SYNTAX   IpAddress
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The IP Address of the Peer System."
          ::= { rip2PeerEntry 1 }


       rip2PeerDomain OBJECT-TYPE
           SYNTAX   RouteTag
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The value in the Routing Domain field  in  RIP
              packets received from the peer."
          ::= { rip2PeerEntry 2 }


       rip2PeerLastUpdate OBJECT-TYPE
           SYNTAX   TimeTicks
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The value of sysUpTime when  the  most  recent
              RIP update was received from this system."
          ::= { rip2PeerEntry 3 }


       rip2PeerVersion OBJECT-TYPE
           SYNTAX   INTEGER ( 0..255 )
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The RIP version number in the  header  of  the
              last RIP packet received."
          ::= { rip2PeerEntry 4 }


       rip2PeerRcvBadPackets OBJECT-TYPE
           SYNTAX   Counter
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The number of RIP response packets  from  this
              peer discarded as invalid."
          ::= { rip2PeerEntry 5 }


       rip2PeerRcvBadRoutes OBJECT-TYPE
           SYNTAX   Counter
           ACCESS   read-only
           STATUS   mandatory
           DESCRIPTION
              "The number of routes from this peer that  were
              ignored because the entry format was invalid."
          ::= { rip2PeerEntry 6 }


   END
          PPP-LCP-MIB DEFINITIONS ::= BEGIN

          IMPORTS
               Counter
                    FROM RFC1155-SMI
               ifIndex, transmission
                    FROM RFC1213-MIB
               OBJECT-TYPE
                    FROM RFC-1212;

               --  PPP MIB

               ppp  OBJECT IDENTIFIER ::= { transmission 23 }

               pppLcp OBJECT IDENTIFIER ::= { ppp 1 }
               -- The individual groups within the PPP-LCP-MIB

               pppLink      OBJECT IDENTIFIER ::= { pppLcp 1 }
               pppLqr       OBJECT IDENTIFIER ::= { pppLcp 2 }
               pppTests     OBJECT IDENTIFIER ::= { pppLcp 3 }


          -- 4.1.  PPP Link Group


          --
          -- The PPP Link Group. Implementation of this
          -- group is mandatory for all PPP entities.
          --

          -- The following object reflect the values of the option
          -- parameters used in the PPP Link Control Protocol
          --   pppLinkStatusLocalMRU
          --   pppLinkStatusRemoteMRU
          --   pppLinkStatusLocalToPeerACCMap
          --   pppLinkStatusPeerToLocalACCMap
          --   pppLinkStatusLocalToRemoteProtocolCompression
          --   pppLinkStatusRemoteToLocalProtocolCompression
          --   pppLinkStatusLocalToRemoteACCompression
          --   pppLinkStatusRemoteToLocalACCompression
          --   pppLinkStatusTransmitFcsSize
          --   pppLinkStatusReceiveFcsSize
          --
          -- These values are not available until after the PPP Option
          -- negotiation has completed, which is indicated by the link
          -- reaching the open state (i.e., ifOperStatus is set to
          -- up).
          --
          -- Therefore, when ifOperStatus is not up
          -- the contents of these objects is undefined. The value
          -- returned when accessing the objects is an implementation
          -- dependent issue.


          pppLinkStatusTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppLinkStatusEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "A table containing PPP-link specific variables
                         for this PPP implementation."
               ::= { pppLink 1 }

          pppLinkStatusEntry   OBJECT-TYPE
               SYNTAX    PppLinkStatusEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Management information about a particular PPP
                         Link."
               INDEX     { ifIndex }
               ::= { pppLinkStatusTable 1 }


          PppLinkStatusEntry ::= SEQUENCE {
               pppLinkStatusPhysicalIndex
                    INTEGER,
               pppLinkStatusBadAddresses
                    Counter,
               pppLinkStatusBadControls
                    Counter,
               pppLinkStatusPacketTooLongs
                    Counter,
               pppLinkStatusBadFCSs
                    Counter,
               pppLinkStatusLocalMRU
                    INTEGER,
               pppLinkStatusRemoteMRU
                    INTEGER,
               pppLinkStatusLocalToPeerACCMap
                    OCTET STRING,
               pppLinkStatusPeerToLocalACCMap
                    OCTET STRING,
               pppLinkStatusLocalToRemoteProtocolCompression
                    INTEGER,
               pppLinkStatusRemoteToLocalProtocolCompression
                    INTEGER,
               pppLinkStatusLocalToRemoteACCompression
                    INTEGER,
               pppLinkStatusRemoteToLocalACCompression
                    INTEGER,
               pppLinkStatusTransmitFcsSize
                    INTEGER,
               pppLinkStatusReceiveFcsSize
                    INTEGER
               }

          pppLinkStatusPhysicalIndex   OBJECT-TYPE
               SYNTAX    INTEGER(0..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The value of ifIndex that identifies the
                         lower-level interface over which this PPP Link
                         is operating. This interface would usually be
                         an HDLC or RS-232 type of interface. If there
                         is no lower-layer interface element, or there
                         is no ifEntry for the element, or the element
                         can not be identified, then the value of this
                         object is 0.  For example, suppose that PPP is
                         operating over a serial port. This would use
                         two entries in the ifTable. The PPP could be
                         running over `interface' number 123 and the
                         serial port could be running over `interface'
                         number 987.  Therefore, ifSpecific.123 would
                         contain the OBJECT IDENTIFIER ppp
                         pppLinkStatusPhysicalIndex.123 would contain
                         987, and ifSpecific.987 would contain the
                         OBJECT IDENTIFIER for the serial-port's media-
                         specific MIB."
               ::= { pppLinkStatusEntry 1 }


          pppLinkStatusBadAddresses   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The number of packets received with an
                         incorrect Address Field. This counter is a
                         component of the ifInErrors variable that is
                         associated with the interface that represents
                         this PPP Link."
               REFERENCE
                         "Section 3.1, Address Field, of RFC1331."
               ::= { pppLinkStatusEntry 2 }


          pppLinkStatusBadControls   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The number of packets received on this link
                         with an incorrect Control Field. This counter
                         is a component of the ifInErrors variable that
                         is associated with the interface that
                         represents this PPP Link."
               REFERENCE
                         "Section 3.1, Control Field, of RFC1331."
               ::= { pppLinkStatusEntry 3 }


          pppLinkStatusPacketTooLongs   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The number of received packets that have been
                         discarded because their length exceeded the
                         MRU. This counter is a component of the
                         ifInErrors variable that is associated with the
                         interface that represents this PPP Link. NOTE,
                         packets which are longer than the MRU but which
                         are successfully received and processed are NOT
                         included in this count."
               ::= { pppLinkStatusEntry 4 }


          pppLinkStatusBadFCSs   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The number of received packets that have been
                         discarded due to having an incorrect FCS. This
                         counter is a component of the ifInErrors
                         variable that is associated with the interface
                         that represents this PPP Link."
               ::= { pppLinkStatusEntry 5 }


          pppLinkStatusLocalMRU   OBJECT-TYPE
               SYNTAX    INTEGER(1..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The current value of the MRU for the local PPP
                         Entity. This value is the MRU that the remote
                         entity is using when sending packets to the
                         local PPP entity. The value of this object is
                         meaningful only when the link has reached the
                         open state (ifOperStatus is up)."
               ::= { pppLinkStatusEntry 6 }


          pppLinkStatusRemoteMRU   OBJECT-TYPE
               SYNTAX    INTEGER(1..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The current value of the MRU for the remote
                         PPP Entity. This value is the MRU that the
                         local entity is using when sending packets to
                         the remote PPP entity. The value of this object
                         is meaningful only when the link has reached
                         the open state (ifOperStatus is up)."
               ::= { pppLinkStatusEntry 7 }


          pppLinkStatusLocalToPeerACCMap   OBJECT-TYPE
               SYNTAX    OCTET STRING (SIZE (4))
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The current value of the ACC Map used for
                         sending packets from the local PPP entity to
                         the remote PPP entity. The value of this object
                         is meaningful only when the link has reached
                         the open state (ifOperStatus is up)."
               ::= { pppLinkStatusEntry 8 }


          pppLinkStatusPeerToLocalACCMap   OBJECT-TYPE
               SYNTAX    OCTET STRING (SIZE (4))
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The ACC Map used by the remote PPP entity when
                         transmitting packets to the local PPP entity.
                         The value of this object is meaningful only
                         when the link has reached the open state
                         (ifOperStatus is up)."
               ::= { pppLinkStatusEntry 9 }


          pppLinkStatusLocalToRemoteProtocolCompression
               OBJECT-TYPE
               SYNTAX    INTEGER {
                         enabled(1),
                         disabled(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local PPP entity will
                         use Protocol Compression when transmitting
                         packets to the remote PPP entity. The value of
                         this object is meaningful only when the link
                         has reached the open state (ifOperStatus is
                         up)."
               ::= { pppLinkStatusEntry 10 }


          pppLinkStatusRemoteToLocalProtocolCompression
               OBJECT-TYPE
               SYNTAX    INTEGER {
                         enabled(1),
                         disabled(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the remote PPP entity will
                         use Protocol Compression when transmitting
                         packets to the local PPP entity. The value of
                         this object is meaningful only when the link
                         has reached the open state (ifOperStatus is
                         up)."
               ::= { pppLinkStatusEntry 11 }


          pppLinkStatusLocalToRemoteACCompression   OBJECT-TYPE
               SYNTAX    INTEGER {
                         enabled(1),
                         disabled(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local PPP entity will
                         use Address and Control Compression when
                         transmitting packets to the remote PPP entity.
                         The value of this object is meaningful only
                         when the link has reached the open state
                         (ifOperStatus is up)."
               ::= { pppLinkStatusEntry 12 }


          pppLinkStatusRemoteToLocalACCompression   OBJECT-TYPE
               SYNTAX    INTEGER {
                         enabled(1),
                         disabled(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the remote PPP entity will
                         use Address and Control Compression when
                         transmitting packets to the local PPP entity.
                         The value of this object is meaningful only
                         when the link has reached the open state
                         (ifOperStatus is up)."
               ::= { pppLinkStatusEntry 13 }


          pppLinkStatusTransmitFcsSize   OBJECT-TYPE
               SYNTAX    INTEGER (0..128)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The size of the Frame Check Sequence (FCS) in
                         bits that the local node will generate when
                         sending packets to the remote node. The value
                         of this object is meaningful only when the link
                         has reached the open state (ifOperStatus is
                         up)."
               ::= { pppLinkStatusEntry 14 }


          pppLinkStatusReceiveFcsSize   OBJECT-TYPE
               SYNTAX    INTEGER (0..128)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The size of the Frame Check Sequence (FCS) in
                         bits that the remote node will generate when
                         sending packets to the local node. The value of
                         this object is meaningful only when the link
                         has reached the open state (ifOperStatus is
                         up)."
               ::= { pppLinkStatusEntry 15 }


          pppLinkConfigTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppLinkConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "A table containing the LCP configuration
                         parameters for this PPP Link. These variables
                         represent the initial configuration of the PPP
                         Link. The actual values of the parameters may
                         be changed when the link is brought up via the
                         LCP options negotiation mechanism."
               ::= { pppLink 2 }


          pppLinkConfigEntry   OBJECT-TYPE
               SYNTAX    PppLinkConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Configuration information about a particular
                         PPP Link."
               INDEX     { ifIndex }
               ::= { pppLinkConfigTable 1 }


          PppLinkConfigEntry ::= SEQUENCE {
               pppLinkConfigInitialMRU
                    INTEGER,
               pppLinkConfigReceiveACCMap
                    OCTET STRING,
               pppLinkConfigTransmitACCMap
                    OCTET STRING,
               pppLinkConfigMagicNumber
                    INTEGER,
--             pppLinkConfigFcsSize
               pppLinkConfigCrcSize
                    INTEGER
               }

          pppLinkConfigInitialMRU   OBJECT-TYPE
               SYNTAX    INTEGER(0..2147483647)
--               ACCESS    read-write
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The initial Maximum Receive Unit (MRU) that
                         the local PPP entity will advertise to the
                         remote entity. If the value of this variable is
                         0 then the local PPP entity will not advertise
                         any MRU to the remote entity and the default
                         MRU will be assumed. Changing this object will
                         have effect when the link is next restarted."
               REFERENCE
                         "Section 7.2, Maximum Receive Unit of RFC1331."
               DEFVAL    { 1500 }
               ::= { pppLinkConfigEntry 1 }

          pppLinkConfigReceiveACCMap   OBJECT-TYPE
               SYNTAX    OCTET STRING (SIZE (4))
--               ACCESS    read-write
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The Asynchronous-Control-Character-Map (ACC)
                         that the local PPP entity requires for use on
                         its receive side. In effect, this is the ACC
                         Map that is required in order to ensure that
                         the local modem will successfully receive all
                         characters. The actual ACC map used on the
                         receive side of the link will be a combination
                         of the local node's pppLinkConfigReceiveACCMap
                         and the remote node's
                         pppLinkConfigTransmitACCMap. Changing this
                         object will have effect when the link is next
                         restarted."
               REFERENCE
                         "Section 7.3, page 4, Async-Control-Character-
                         Map of RFC1331."
               DEFVAL    { 'ffffffff'h }
               ::= { pppLinkConfigEntry 2 }


          pppLinkConfigTransmitACCMap   OBJECT-TYPE
               SYNTAX    OCTET STRING (SIZE (4))
--               ACCESS    read-write
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The Asynchronous-Control-Character-Map (ACC)
                         that the local PPP entity requires for use on
                         its transmit side. In effect, this is the ACC
                         Map that is required in order to ensure that
                         all characters can be successfully transmitted
                         through the local modem.  The actual ACC map
                         used on the transmit side of the link will be a
                         combination of the local node's
                         pppLinkConfigTransmitACCMap and the remote
                         node's pppLinkConfigReceiveACCMap. Changing
                         this object will have effect when the link is
                         next restarted."
               REFERENCE
                         "Section 7.3, page 4, Async-Control-Character-
                         Map of RFC1331."
               DEFVAL    { 'ffffffff'h }
               ::= { pppLinkConfigEntry 3 }

          pppLinkConfigMagicNumber   OBJECT-TYPE
--             SYNTAX    INTEGER {false (1), true (2)}
               SYNTAX    INTEGER {enable (1), disable (2)}
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "If true(2) then the local node will attempt to
                         perform Magic Number negotiation with the
                         remote node. If false(1) then this negotiation
                         is not performed. In any event, the local node
                         will comply with any magic number negotiations
                         attempted by the remote node, per the PPP
                         specification. Changing this object will have
                         effect when the link is next restarted."
               REFERENCE
                         "Section 7.6, Magic Number, of RFC1331."
               DEFVAL    { disable }
               ::= { pppLinkConfigEntry 4 }


--        pppLinkConfigFcsSize   OBJECT-TYPE
--             SYNTAX    INTEGER (0..128)
          pppLinkConfigCrcSize   OBJECT-TYPE
	       SYNTAX	 INTEGER {
				bits16(16),
				bits32(32)
			 }
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "The size of the FCS, in bits, the local node
                         will attempt to negotiate for use with the
                         remote node. Regardless of the value of this
                         object, the local node will comply with any FCS
                         size negotiations initiated by the remote node,
                         per the PPP specification. Changing this object
                         will have effect when the link is next
                         restarted."
               DEFVAL    { bits32 }
               ::= { pppLinkConfigEntry 5 }


          -- 4.2.  PPP LQR Group


               --
               -- The PPP LQR Group.
               -- Implementation of this group is mandatory for all
               -- PPP implementations that implement LQR.
               --

          pppLqrTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppLqrEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the LQR parameters and
                         statistics for the local PPP entity."
               ::= { pppLqr 1 }


          pppLqrEntry   OBJECT-TYPE
               SYNTAX    PppLqrEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "LQR information for a particular PPP link. A
                         PPP link will have an entry in this table if
                         and only if LQR Quality Monitoring has been
                         successfully negotiated for said link."
               INDEX     { ifIndex }
               ::= { pppLqrTable 1 }


          PppLqrEntry ::= SEQUENCE {
               pppLqrQuality
                    INTEGER,
               pppLqrInGoodOctets
                    Counter,
--             pppLqrLocalPeriod
               pppLqrLocalInterval
                    INTEGER,
               pppLqrRemotePeriod
                    INTEGER,
               pppLqrOutLQRs
                    Counter,
               pppLqrInLQRs
                    Counter
          }

          pppLqrQuality   OBJECT-TYPE
               SYNTAX    INTEGER {
                         good(1),
                         bad(2),
                         not-determined(3)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The current quality of the link as declared by
                         the local PPP entity's Link-Quality Management
                         modules. No effort is made to define good or
                         bad, nor the policy used to determine it. The
                         not-determined value indicates that the entity
                         does not actually evaluate the link's quality.
                         This value is used to disambiguate the
                         `determined to be good' case from the `no
                         determination made and presumed to be good'
                         case."
               ::= { pppLqrEntry 1 }


          pppLqrInGoodOctets   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The LQR InGoodOctets counter for this link."
               REFERENCE
                         "Section 2.2, Counters, of RFC1333."
               ::= { pppLqrEntry 2 }


--        pppLqrLocalPeriod   OBJECT-TYPE
          pppLqrLocalInterval   OBJECT-TYPE
               SYNTAX    INTEGER(1..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The LQR reporting period, in hundredths of a
                         second that is in effect for the local PPP
                         entity."
               REFERENCE
                         "Section 2.5, Configuration Option Format, of
                         RFC1333."
               ::= { pppLqrEntry 3 }


          pppLqrRemotePeriod   OBJECT-TYPE
               SYNTAX    INTEGER(1..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The LQR reporting period, in hundredths of a
                         second, that is in effect for the remote PPP
                         entity."
               REFERENCE
                         "Section 2.5, Configuration Option Format, of
                         RFC1333."
               ::= { pppLqrEntry 4 }

          pppLqrOutLQRs   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The value of the OutLQRs counter on the local
                         node for the link identified by ifIndex."
               REFERENCE
                         "Section 2.2, Counters, of RFC1333."
               ::= { pppLqrEntry 5 }


          pppLqrInLQRs   OBJECT-TYPE
               SYNTAX    Counter
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The value of the InLQRs counter on the local
                         node for the link identified by ifIndex."
               REFERENCE
                         "Section 2.2, Counters, of RFC1333."
               ::= { pppLqrEntry 6 }


          --
          -- The PPP LQR Configuration table.
          --

          pppLqrConfigTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppLqrConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the LQR Configuration
                         parameters for the local PPP entity."
               ::= { pppLqr 2 }


          pppLqrConfigEntry   OBJECT-TYPE
               SYNTAX    PppLqrConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "LQR configuration information for a particular
                         PPP link."
               INDEX     { ifIndex }
               ::= { pppLqrConfigTable 1 }

          PppLqrConfigEntry ::= SEQUENCE {
--             pppLqrConfigPeriod
               pppLqrConfigInterval
                    INTEGER,
               pppLqrConfigStatus
                    INTEGER
          }

--        pppLqrConfigPeriod   OBJECT-TYPE
          pppLqrConfigInterval   OBJECT-TYPE
               SYNTAX    INTEGER(0..2147483647)
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "The LQR Reporting Period that the local PPP
                         entity will attempt to negotiate with the
                         remote entity, in units of hundredths of a
                         second. Changing this object will have effect
                         when the link is next restarted."
               REFERENCE
                         "Section 2.5, Configuration Option Format, of
                         RFC1333."
               DEFVAL    { 0 }
               ::= { pppLqrConfigEntry 1 }


          pppLqrConfigStatus   OBJECT-TYPE
--             SYNTAX    INTEGER {disabled (1), enabled (2)}
               SYNTAX    INTEGER {enabled (1), disabled (2)}
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "If enabled(2) then the local node will attempt
                         to perform LQR negotiation with the remote
                         node. If disabled(1) then this negotiation is
                         not performed. In any event, the local node
                         will comply with any magic number negotiations
                         attempted by the remote node, per the PPP
                         specification. Changing this object will have
                         effect when the link is next restarted.
                         Setting this object to the value disabled(1)
                         has the effect of invalidating the
                         corresponding entry in the pppLqrConfigTable
                         object. It is an implementation-specific matter
                         as to whether the agent removes an invalidated
                         entry from the table. Accordingly, management
                         stations must be prepared to receive tabular
                         information from agents that corresponds to
                         entries not currently in use."
               REFERENCE
                         "Section 7.6, Magic Number, of RFC1331."
               DEFVAL    { enabled }
               ::= { pppLqrConfigEntry 2 }


          -- 4.3.  PPP LQR Extensions Group


          --
          -- The PPP LQR Extensions Group.
          -- Implementation of this group is optional.
          --
          -- The intent of this group is to allow external
          -- implementation of the policy mechanisms that
          -- are used to declare a link to be "bad" or not.
          --
          -- It is not practical to examine the MIB objects
          -- which are used to generate LQR packets since
          -- LQR policies tend to require synchronization of
          -- the values of all data used to determine Link
          -- Quality; i.e. the values of the relevant counters
          -- must all be taken at the same instant in time.
          --

          pppLqrExtnsTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppLqrExtnsEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing additional LQR information
                         for the local PPP entity."
               ::= { pppLqr 3 }


          pppLqrExtnsEntry   OBJECT-TYPE
               SYNTAX    PppLqrExtnsEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Extended LQR information for a particular PPP
                         link. Assuming that this group has been
                         implemented, a PPP link will have an entry in
                         this table if and only if LQR Quality
                         Monitoring has been successfully negotiated for
                         said link."
               INDEX     { ifIndex }
               ::= { pppLqrExtnsTable 1 }

          PppLqrExtnsEntry ::= SEQUENCE {
               pppLqrExtnsLastReceivedLqrPacket
                    OCTET STRING(SIZE(68))
          }

          pppLqrExtnsLastReceivedLqrPacket   OBJECT-TYPE
               SYNTAX    OCTET STRING(SIZE(68))
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "This object contains the most recently
                         received LQR packet.  The format of the packet
                         is as described in the LQM Protocol
                         specificiation. All fields of the packet,
                         including the `save' fields, are stored in this
                         object.

                         The LQR packet is stored in network byte order.
                         The LAP-B and PPP headers are not stored in
                         this object; the first four octets of this
                         variable contain the Magic-Number field, the
                         second four octets contain the LastOutLQRs
                         field and so on. The last four octets of this
                         object contain the SaveInOctets field of the
                         LQR packet."
               REFERENCE
                         "Section 2.6, Packet Format, of RFC1333"
               ::= { pppLqrExtnsEntry 1 }


          -- 4.4.  PPP Tests

          -- The extensions to the interface table in RFC1229 define a
          -- table through which the network manager can instruct the
          -- managed object to perform various tests of the interface. This
          -- is the ifExtnsTestTable.

          -- The PPP MIB defines two such tests.

          -- 4.4.1.  PPP Echo Test

          -- The PPP Echo Test is defined as

               pppEchoTest    OBJECT IDENTIFIER ::= { pppTests 1 }

          -- Invoking this test causes a PPP Echo Packet to be sent on the
          -- line. ifExtnsTestResult returns success(2) if the echo
          -- response came back properly. It returns failed(7) if the
          -- response did not properly return. The definition of "proper"
          -- in this context is left to the discretion of the implementor.

          -- 4.4.2.  PPP Discard Test

          -- The PPP Discard Test is defined as

               pppDiscardTest OBJECT IDENTIFIER ::= { pppTests 2 }

          -- Invoking this test causes a PPP Discard Packet to be sent on
          -- the line. ifExtnsTestResult returns success(2) if the discard
          -- packet was successfully transmitted and failed(7) if an error
          -- was detected on transmission. The definition of "transmission
          -- error" in this context is left to the discretion of the
          -- implementor.

          END
          PPP-IP-NCP-MIB DEFINITIONS ::= BEGIN

          IMPORTS
               ifIndex
                    FROM RFC1213-MIB
               OBJECT-TYPE
                    FROM RFC-1212
               ppp
                    FROM PPP-LCP-MIB;

               -- The PPP IP Group.
               -- Implementation of this group is mandatory for all
               -- PPP implementations that support operating IP over PPP.

               pppIp OBJECT IDENTIFIER ::= { ppp 3 }


          pppIpTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppIpEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the IP parameters and
                         statistics for the local PPP entity."
               ::= { pppIp 1 }


          pppIpEntry   OBJECT-TYPE
               SYNTAX    PppIpEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "IPCP status information for a particular PPP
                         link."
               INDEX     { ifIndex }
               ::= { pppIpTable 1 }


          PppIpEntry ::= SEQUENCE {
               pppIpOperStatus
                    INTEGER,
               pppIpLocalToRemoteCompressionProtocol
                    INTEGER,
               pppIpRemoteToLocalCompressionProtocol
                    INTEGER,
               pppIpRemoteMaxSlotId
                    INTEGER,
               pppIpLocalMaxSlotId
                    INTEGER
          }

          -- The following object reflect the values of the option
          -- parameters used in the PPP IP Control Protocol
          --   pppIpLocalToRemoteCompressionProtocol
          --   pppIpRemoteToLocalCompressionProtocol
          --   pppIpRemoteMaxSlotId
          --   pppIpLocalMaxSlotId
          -- These values are not available until after the PPP Option
          -- negotiation has completed, which is indicated by the link
          -- reaching the open state (i.e., pppIpOperStatus is set to
          -- opened).
          --
          -- Therefore, when pppIpOperStatus is not opened
          -- the contents of these objects is undefined. The value
          -- returned when accessing the objects is an implementation
          -- dependent issue.


          pppIpOperStatus   OBJECT-TYPE
               SYNTAX    INTEGER {opened(1), not-opened(2)}
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The operational status of the IP network
                         protocol. If the value of this object is up
                         then the finite state machine for the IP
                         network protocol has reached the Opened state."
               ::= { pppIpEntry 1 }


          pppIpLocalToRemoteCompressionProtocol   OBJECT-TYPE
               SYNTAX    INTEGER {
                         none(1),
                         vj-tcp(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The IP compression protocol that the local
                         PPP-IP entity uses when sending packets to the
                         remote PPP-IP entity. The value of this object
                         is meaningful only when the link has reached
                         the open state (pppIpOperStatus is opened)."
               ::= { pppIpEntry 2 }


          pppIpRemoteToLocalCompressionProtocol   OBJECT-TYPE
               SYNTAX    INTEGER {
                         none(1),
                         vj-tcp(2)
                    }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The IP compression protocol that the remote
                         PPP-IP entity uses when sending packets to the
                         local PPP-IP entity. The value of this object
                         is meaningful only when the link has reached
                         the open state (pppIpOperStatus is opened)."
               ::= { pppIpEntry 3 }


          pppIpRemoteMaxSlotId   OBJECT-TYPE
               SYNTAX    INTEGER(0..255)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The Max-Slot-Id parameter that the remote node
                         has advertised and that is in use on the link.
                         If vj-tcp header compression is not in use on
                         the link then the value of this object shall be
                         0. The value of this object is meaningful only
                         when the link has reached the open state
                         (pppIpOperStatus is opened)."
               ::= { pppIpEntry 4 }


          pppIpLocalMaxSlotId   OBJECT-TYPE
               SYNTAX    INTEGER(0..255)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The Max-Slot-Id parameter that the local node
                         has advertised and that is in use on the link.
                         If vj-tcp header compression is not in use on
                         the link then the value of this object shall be
                         0. The value of this object is meaningful only
                         when the link has reached the open state
                         (pppIpOperStatus is opened)."
               ::= { pppIpEntry 5 }


          --
          -- The PPP IP Configuration table.
          -- This is a separate table in order to facilitate
          -- placing these variables in a separate MIB view.
          --

          pppIpConfigTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppIpConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing configuration variables for
                         the IPCP for the local PPP entity."
               ::= { pppIp 2 }


          pppIpConfigEntry   OBJECT-TYPE
               SYNTAX    PppIpConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "IPCP information for a particular PPP link."
               INDEX     { ifIndex }
               ::= { pppIpConfigTable 1 }


          PppIpConfigEntry ::= SEQUENCE {
--             pppIpConfigAdminStatus
               pppIpConfigIpcpAdminStatus
                    INTEGER,
               pppIpConfigCompression
                    INTEGER
          }

--        pppIpConfigAdminStatus   OBJECT-TYPE
          pppIpConfigIpcpAdminStatus   OBJECT-TYPE
--             SYNTAX    INTEGER {open(1), close(2)}
               SYNTAX    INTEGER {enable(1), disable(2)}
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "The immediate desired status of the IP network
                         protocol. Setting this object to open will
                         inject an administrative open event into the IP
                         network protocol's finite state machine.
                         Setting this object to close will inject an
                         administrative close event into the IP network
                         protocol's finite state machine."
               ::= { pppIpConfigEntry 1 }


          pppIpConfigCompression   OBJECT-TYPE
               SYNTAX    INTEGER {
                         none(1),
                         vj-tcp(2)
                    }
--               ACCESS    read-write
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "If none(1) then the local node will not
                         attempt to negotiate any IP Compression option.
                         Otherwise, the local node will attempt to
                         negotiate compression mode indicated by the
                         enumerated value. Changing this object will
                         have effect when the link is next restarted."
               REFERENCE
                         "Section 4.0, Van Jacobson TCP/IP Header
                         Compression of RFC1332."
               DEFVAL    { none }
               ::= { pppIpConfigEntry 2 }


          END
          PPP-BRIDGE-NCP-MIB DEFINITIONS ::= BEGIN

          IMPORTS
               ifIndex
                    FROM RFC1213-MIB
               OBJECT-TYPE
                    FROM RFC-1212
               ppp
                    FROM PPP-LCP-MIB;

               pppBridge OBJECT IDENTIFIER ::= { ppp 4 }

          --
          -- The PPP Bridge NCP Group.
          -- Implementation of this group is mandatory for all
          -- PPP implementations that support MAC Bridging  over
          -- PPP (RFC1220).
          --

          -- The following object reflect the values of the option
          -- parameters used in the PPP Link Control Protocol
          --   pppBridgeLocalToRemoteTinygramCompression
          --   pppBridgeRemoteToLocalTinygramCompression
          --   pppBridgeLocalToRemoteLanId
          --   pppBridgeRemoteToLocalLanId
          --
          -- These values are not available until after the PPP Option
          -- negotiation has completed, which is indicated by the link
          -- reaching the open state (i.e. pppBridgeOperStatus is set to
          -- opened).
          --
          -- Therefore, when pppBridgeOperStatus is not opened
          -- the contents of these objects is undefined. The value
          -- returned when accessing the objects is an implementation
          -- dependent issue.


          pppBridgeTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppBridgeEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the parameters and statistics
                         for the local PPP entity that are related to
                         the operation of Bridging over the PPP."
               ::= { pppBridge 1 }


          pppBridgeEntry   OBJECT-TYPE
               SYNTAX    PppBridgeEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Bridging information for a particular PPP
                         link."
               INDEX     { ifIndex }
               ::= { pppBridgeTable 1 }


          PppBridgeEntry ::= SEQUENCE {
               pppBridgeOperStatus
                    INTEGER,
               pppBridgeLocalToRemoteTinygramCompression
                    INTEGER,
               pppBridgeRemoteToLocalTinygramCompression
                    INTEGER,
               pppBridgeLocalToRemoteLanId
                    INTEGER,
               pppBridgeRemoteToLocalLanId
                    INTEGER
          }

          pppBridgeOperStatus   OBJECT-TYPE
               SYNTAX    INTEGER {opened(1), not-opened(2)}
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The operational status of the Bridge network
                         protocol. If the value of this object is up
                         then the finite state machine for the Bridge
                         network protocol has reached the Opened state."
               ::= { pppBridgeEntry 1 }


          pppBridgeLocalToRemoteTinygramCompression   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local node will perform
                         Tinygram Compression when sending packets to
                         the remote entity. If false then the local
                         entity will not perform Tinygram Compression.
                         If true then the local entity will perform
                         Tinygram Compression. The value of this object
                         is meaningful only when the link has reached
                         the open state (pppBridgeOperStatus is
                         opened)."
               REFERENCE
                         "Section 6.7, Tinygram Compression Option, of
                         RFC1220"
               ::= { pppBridgeEntry 2 }


          pppBridgeRemoteToLocalTinygramCompression   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "If false(1) then the remote entity is not
                         expected to perform Tinygram Compression. If
                         true then the remote entity is expected to
                         perform Tinygram Compression. The value of this
                         object is meaningful only when the link has
                         reached the open state (pppBridgeOperStatus is
                         opened)."
               REFERENCE
                         "Section 6.7, Tinygram Compression Option, of
                         RFC1220"
               ::= { pppBridgeEntry 3 }

          pppBridgeLocalToRemoteLanId   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local node will include
                         the LAN Identification field in transmitted
                         packets or not. If false(1) then the local node
                         will not transmit this field, true(2) means
                         that the field will be transmitted. The value
                         of this object is meaningful only when the link
                         has reached the open state (pppBridgeOperStatus
                         is opened)."
               REFERENCE
                         "Section 6.8, LAN Identification Option, of
                         RFC1220"
               ::= { pppBridgeEntry 4 }


          pppBridgeRemoteToLocalLanId   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the remote node has
                         indicated that it will include the LAN
                         Identification field in transmitted packets or
                         not. If false(1) then the field will not be
                         transmitted, if true(2) then the field will be
                         transmitted. The value of this object is
                         meaningful only when the link has reached the
                         open state (pppBridgeOperStatus is opened)."
               REFERENCE
                         "Section 6.8, LAN Identification Option, of
                         RFC1220"
               ::= { pppBridgeEntry 5 }


          --
          -- The PPP Bridge Configuration table
          --

          pppBridgeConfigTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppBridgeConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table containing the parameters and statistics
                         for the local PPP entity that are related to
                         the operation of Bridging over the PPP."
               ::= { pppBridge 2 }


          pppBridgeConfigEntry   OBJECT-TYPE
               SYNTAX    PppBridgeConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Bridging Configuration information for a
                         particular PPP link."
               INDEX     { ifIndex }
               ::= { pppBridgeConfigTable 1 }


          PppBridgeConfigEntry ::= SEQUENCE {
--             pppBridgeConfigAdminStatus
               pppBridgeConfigBcpAdminStatus
                    INTEGER,
               pppBridgeConfigTinygram
                    INTEGER,
               pppBridgeConfigRingId
                    INTEGER,
               pppBridgeConfigLineId
                    INTEGER,
               pppBridgeConfigLanId
                    INTEGER
          }


--        pppBridgeConfigAdminStatus   OBJECT-TYPE
          pppBridgeConfigBcpAdminStatus   OBJECT-TYPE
--             SYNTAX    INTEGER { open(1), close(2) }
               SYNTAX    INTEGER { enable(1), disable(2) }
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "The immediate desired status of the Bridging
                         network protocol. Setting this object to open
                         will inject an administrative open event into
                         the Bridging network protocol's finite state
                         machine. Setting this object to close will
                         inject an administrative close event into the
                         Bridging network protocol's finite state
                         machine."
               ::= { pppBridgeConfigEntry 1 }


          pppBridgeConfigTinygram   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
--             ACCESS    read-write
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "If false then the local BNCP entity will not
                         initiate the Tinygram Compression Option
                         Negotiation. If true then the local BNCP entity
                         will initiate negotiation of this option."
               REFERENCE
                         "Section 6.7, Tinygram Compression Option, of
                         RFC1220"
               DEFVAL    { true }
               ::= { pppBridgeConfigEntry 2 }


          pppBridgeConfigRingId   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
--               ACCESS    read-write
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "If false then the local PPP Entity will not
                         initiate a Remote Ring Identification Option
                         negotiation. If true then the local PPP entity
                         will intiate this negotiation. This MIB object
                         is relevant only if the interface is for 802.5
                         Token Ring bridging."
               REFERENCE
                         "Section 6.4, IEEE 802.5 Remote Ring
                         Identification Option, of RFC1220"
               DEFVAL    { false }
               ::= { pppBridgeConfigEntry 3 }


          pppBridgeConfigLineId   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
--               ACCESS    read-write
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "If false then the local PPP Entity is not to
                         initiate a Line Identification Option
                         negotiation. If true then the local PPP entity
                         will intiate this negotiation. This MIB object
                         is relevant only if the interface is for 802.5
                         Token Ring bridging."
               REFERENCE
                         "Section 6.5, IEEE 802.5 Line Identification
                         Option, of RFC1220"
               DEFVAL    { false }
               ::= { pppBridgeConfigEntry 4 }

          pppBridgeConfigLanId   OBJECT-TYPE
               SYNTAX    INTEGER { false(1), true(2) }
--               ACCESS    read-write
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "If false then the local BNCP entity will not
                         initiate the LAN Identification Option
                         Negotiation. If true then the local BNCP entity
                         will initiate negotiation of this option."
               REFERENCE
                         "Section 6.8, LAN Identification Option, of
                         RFC1220"
               DEFVAL    { false }
               ::= { pppBridgeConfigEntry 5 }


          --
          -- The PPP Bridge Media Status Table
          --

          pppBridgeMediaTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppBridgeMediaEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table identifying which MAC media types are
                         enabled for the Bridging NCPs."
               ::= { pppBridge 3 }


          pppBridgeMediaEntry   OBJECT-TYPE
               SYNTAX    PppBridgeMediaEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Status of a specific MAC Type for a specific
                         PPP Link."
               INDEX     { ifIndex, pppBridgeMediaMacType }
               ::= { pppBridgeMediaTable 1 }


          PppBridgeMediaEntry ::= SEQUENCE {
               pppBridgeMediaMacType
                    INTEGER,
               pppBridgeMediaLocalStatus
                    INTEGER,
               pppBridgeMediaRemoteStatus
                    INTEGER
          }

          pppBridgeMediaMacType   OBJECT-TYPE
               SYNTAX    INTEGER(0..2147483647)
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "The MAC type for which this entry in the
                         pppBridgeMediaTable is providing status
                         information. Valid values for this object are
                         defined in Section 6.6 MAC Type Support
                         Selection of RFC1220 (Bridging Point-to-Point
                         Protocol)."
               REFERENCE
                         "Section 6.6, MAC Type Support Selection, of
                         RFC1212."
               ::= { pppBridgeMediaEntry 1 }


          pppBridgeMediaLocalStatus   OBJECT-TYPE
               SYNTAX    INTEGER { accept(1), dont-accept(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local PPP Bridging
                         Entity will accept packets of the protocol type
                         identified in pppBridgeMediaMacType on the PPP
                         link identified by ifIndex or not. If this
                         object is accept then any packets of the
                         indicated MAC type will be received and
                         properly processed. If this object is dont-
                         accept then received packets of the indicated
                         MAC type will not be properly processed."
               REFERENCE
                         "Section 6.6, MAC Type Support Selection, of
                         RFC1212."
               ::= { pppBridgeMediaEntry 2 }


          pppBridgeMediaRemoteStatus   OBJECT-TYPE
               SYNTAX    INTEGER { accept(1), dont-accept(2) }
               ACCESS    read-only
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local PPP Bridging
                         Entity believes that the remote PPP Bridging
                         Entity will accept packets of the protocol type
                         identified in pppBridgeMediaMacType on the PPP
                         link identified by ifIndex or not."
               REFERENCE
                         "Section 6.6, MAC Type Support Selection, of
                         RFC1212."
               ::= { pppBridgeMediaEntry 3 }


          --
          -- The PPP Bridge Media Configuration Table
          --

          pppBridgeMediaConfigTable   OBJECT-TYPE
               SYNTAX    SEQUENCE OF PppBridgeMediaConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Table identifying which MAC media types are
                         enabled for the Bridging NCPs."
               ::= { pppBridge 4 }


          pppBridgeMediaConfigEntry   OBJECT-TYPE
               SYNTAX    PppBridgeMediaConfigEntry
               ACCESS    not-accessible
               STATUS    mandatory
               DESCRIPTION
                         "Status of a specific MAC Type for a specific
                         PPP Link."
               INDEX     { ifIndex, pppBridgeMediaConfigMacType }
               ::= { pppBridgeMediaConfigTable 1 }


          PppBridgeMediaConfigEntry ::= SEQUENCE {
               pppBridgeMediaConfigMacType
                    INTEGER,
               pppBridgeMediaConfigLocalStatus
                    INTEGER
          }


          pppBridgeMediaConfigMacType   OBJECT-TYPE
               SYNTAX    INTEGER(0..2147483647)
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "The MAC type for which this entry in the
                         pppBridgeMediaConfigTable is providing status
                         information. Valid values for this object are
                         defined in Section 6.6 MAC Type Support
                         Selection of RFC1220 (Bridging Point-to-Point
                         Protocol)."
               REFERENCE
                         "Section 6.6, MAC Type Support Selection, of
                         RFC1212."
               ::= { pppBridgeMediaConfigEntry 1 }


          pppBridgeMediaConfigLocalStatus   OBJECT-TYPE
               SYNTAX    INTEGER { accept(1), dont-accept(2) }
               ACCESS    read-write
               STATUS    mandatory
               DESCRIPTION
                         "Indicates whether the local PPP Bridging
                         Entity should accept packets of the protocol
                         type identified in pppBridgeMediaConfigMacType
                         on the PPP link identified by ifIndex or not.
                         Setting this object to the value dont-accept
                         has the affect of invalidating the
                         corresponding entry in the
                         pppBridgeMediaConfigTable object. It is an
                         implementation-specific matter as to whether
                         the agent removes an invalidated entry from the
                         table. Accordingly, management stations must be
                         prepared to receive tabular information from
                         agents that corresponds to entries not
                         currently in use. Changing this object will
                         have effect when the link is next restarted."
               REFERENCE
                         "Section 6.6, MAC Type Support Selection, of
                         RFC1212."
               ::= { pppBridgeMediaConfigEntry 2 }


          END
          BRIDGE-MIB DEFINITIONS ::= BEGIN

          IMPORTS
                     Counter, TimeTicks
                             FROM RFC1155-SMI
                     mib-2
                             FROM RFC1213-MIB
                     OBJECT-TYPE
                             FROM RFC-1212
                     TRAP-TYPE
                             FROM RFC-1215;

          -- All representations of MAC addresses in this MIB Module
          -- use, as a textual convention (i.e. this convention does
          -- not affect their encoding), the data type:

          MacAddress ::= OCTET STRING (SIZE (6))    -- a 6 octet address
                                                    -- in the
                                                    -- "canonical"
                                                    -- order
          -- defined by IEEE 802.1a, i.e., as if it were transmitted
          -- least significant bit first, even though 802.5 (in
          -- contrast to other n802.x protocols) requires MAC
          -- addresses to be transmitted most significant bit first.
          --
          -- 16-bit addresses, if needed, are represented by setting
          -- their upper 4 octets to all 0's, i.e., AAFF would be
          -- represented as 00000000AAFF.


          -- Similarly, all representations of Bridge-Id in this MIB
          -- Module use, as a textual convention (i.e. this
          -- convention does not affect their encoding), the data
          -- type:

          BridgeId ::= OCTET STRING (SIZE (8))   -- the
                                                 -- Bridge-Identifier
                                                 -- as used in the
                                                 -- Spanning Tree
          -- Protocol to uniquely identify a bridge.  Its first two
          -- octets (in network byte order) contain a priority
          -- value and its last 6 octets contain the MAC address
          -- used to refer to a bridge in a unique fashion
          -- (typically, the numerically smallest MAC address
          -- of all ports on the bridge).
          -- Several objects in this MIB module represent values of
          -- timers used by the Spanning Tree Protocol.  In this
          -- MIB, these timers have values in units of hundreths of
          -- a second (i.e. 1/100 secs).
          -- These timers, when stored in a Spanning Tree Protocol's
          -- BPDU, are in units of 1/256 seconds.  Note, however,
          -- that 802.1D-1990 specifies a settable granularity of
          -- no more than 1 second for these timers.  To avoid
          -- ambiguity, a data type is defined here as a textual
          -- convention and all representation of these timers
          -- in this MIB module are defined using this data type.  An
          -- algorithm is also defined for converting between the
          -- different units, to ensure a timer's value is not
          -- distorted by multiple conversions.
          -- The data type is:

          Timeout ::= INTEGER -- a STP timer in units of 1/100 seconds

          -- To convert a Timeout value into a value in units of
          -- 1/256 seconds, the following algorithm should be used:
          --
          --      b  = floor( (n * 256) / 100)
          --
          -- where:
          --      floor   =  quotient [ignore remainder]
          --      n is the value in 1/100 second units
          --      b is the value in 1/256 second units
          --
          -- To convert the value from 1/256 second units back to
          -- 1/100 seconds, the following algorithm should be used:
          --
          --      n = ceiling( (b * 100) / 256)
          --
          -- where:
          --      ceiling =  quotient [if remainder is 0], or
          --                 quotient + 1 [if remainder is non-zero]
          --      n is the value in 1/100 second units
          --      b is the value in 1/256 second units
          --
          -- Note: it is important that the arithmetic operations are
          -- done in the order specified (i.e., multiply first, divide
          -- second).


             dot1dBridge   OBJECT IDENTIFIER ::= { mib-2 17 }
          -- groups in the Bridge MIB

          dot1dBase     OBJECT IDENTIFIER ::= { dot1dBridge 1 }

          dot1dStp      OBJECT IDENTIFIER ::= { dot1dBridge 2 }

          dot1dSr       OBJECT IDENTIFIER ::= { dot1dBridge 3 }
          -- separately documented

          dot1dTp       OBJECT IDENTIFIER ::= { dot1dBridge 4 }

          dot1dStatic   OBJECT IDENTIFIER ::= { dot1dBridge 5 }


          -- the dot1dBase group

          -- Implementation of the dot1dBase group is mandatory for all
          -- bridges.

          dot1dBaseBridgeAddress OBJECT-TYPE
              SYNTAX  MacAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The MAC address used by this bridge when it must
                      be referred to in a unique fashion.   It is
                      recommended that this be the numerically smallest
                      MAC address of all ports that belong to this
                      bridge.  However it is only required to be unique.
                      When concatenated with dot1dStpPriority a unique
                      BridgeIdentifier is formed which is used in the
                      Spanning Tree Protocol."
              REFERENCE
                      "IEEE 802.1D-1990: Sections 6.4.1.1.3 and 3.12.5"
              ::= { dot1dBase 1 }

          dot1dBaseNumPorts OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of ports controlled by this bridging
                      entity."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.4.1.1.3"
              ::= { dot1dBase 2 }

          dot1dBaseType OBJECT-TYPE
              SYNTAX  INTEGER {
                          unknown(1),
                          transparent-only(2),
                          sourceroute-only(3),
                          srt(4)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Indicates what type of bridging this bridge can
                      perform.  If a bridge is actually performing a
                      certain type of bridging this will be indicated by
                      entries in the port table for the given type."
              ::= { dot1dBase 3 }

          -- The Generic Bridge Port Table

          dot1dBasePortTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF Dot1dBasePortEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A table that contains generic information about
                      every port that is associated with this bridge.
                      Transparent, source-route, and srt ports are
                      included."
              ::= { dot1dBase 4 }

          dot1dBasePortEntry OBJECT-TYPE
              SYNTAX  Dot1dBasePortEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of information for each port of the
                      bridge."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.4.2, 6.6.1"
              INDEX  { dot1dBasePort }
              ::= { dot1dBasePortTable 1 }


          Dot1dBasePortEntry ::=
              SEQUENCE {
                  dot1dBasePort
                      INTEGER,
                  dot1dBasePortIfIndex
                      INTEGER,
                  dot1dBasePortCircuit
                      OBJECT IDENTIFIER,
                  dot1dBasePortDelayExceededDiscards
                      Counter,
                  dot1dBasePortMtuExceededDiscards
                      Counter
              }

          dot1dBasePort OBJECT-TYPE
              SYNTAX  INTEGER (1..65535)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The port number of the port for which this entry
                      contains bridge management information."
              ::= { dot1dBasePortEntry 1 }

          dot1dBasePortIfIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The value of the instance of the ifIndex object,
                      defined in MIB-II, for the interface corresponding
                      to this port."
              ::= { dot1dBasePortEntry 2 }

          dot1dBasePortCircuit OBJECT-TYPE
              SYNTAX  OBJECT IDENTIFIER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "For a port which (potentially) has the same value
                      of dot1dBasePortIfIndex as another port on the
                      same bridge, this object contains the name of an
                      object instance unique to this port.  For example,
                      in the case where multiple ports correspond one-
                      to-one with multiple X.25 virtual circuits, this
                      value might identify an (e.g., the first) object
                      instance associated with the X.25 virtual circuit
                      corresponding to this port.

                      For a port which has a unique value of
                      dot1dBasePortIfIndex, this object can have the
                      value { 0 0 }."
              ::= { dot1dBasePortEntry 3 }

          dot1dBasePortDelayExceededDiscards OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of frames discarded by this port due
                      to excessive transit delay through the bridge.  It
                      is incremented by both transparent and source
                      route bridges."
              REFERENCE
                       "IEEE 802.1D-1990: Section 6.6.1.1.3"
              ::= { dot1dBasePortEntry 4 }

          dot1dBasePortMtuExceededDiscards OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of frames discarded by this port due
                      to an excessive size.  It is incremented by both
                      transparent and source route bridges."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.6.1.1.3"
              ::= { dot1dBasePortEntry 5 }


          -- the dot1dStp group

          -- Implementation of the dot1dStp group is optional.  It is
          -- implemented by those bridges that support the Spanning Tree
          -- Protocol.


          dot1dStpProtocolSpecification OBJECT-TYPE
              SYNTAX  INTEGER {
                          unknown(1),
                          decLb100(2),
                          ieee8021d(3)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "An indication of what version of the Spanning
                      Tree Protocol is being run.  The value
                      'decLb100(2)' indicates the DEC LANbridge 100
                      Spanning Tree protocol.  IEEE 802.1d
                      implementations will return 'ieee8021d(3)'.  If
                      future versions of the IEEE Spanning Tree Protocol
                      are released that are incompatible with the
                      current version a new value will be defined."
              ::= { dot1dStp 1 }

          dot1dStpPriority OBJECT-TYPE
              SYNTAX  INTEGER (0..65535)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The value of the write-able portion of the Bridge
                      ID, i.e., the first two octets of the (8 octet
                      long) Bridge ID.  The other (last) 6 octets of the
                      Bridge ID are given by the value of
                      dot1dBaseBridgeAddress."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.7"
              ::= { dot1dStp 2 }

          dot1dStpTimeSinceTopologyChange OBJECT-TYPE
              SYNTAX  TimeTicks
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The time (in hundredths of a second) since the
                      last time a topology change was detected by the
                      bridge entity."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.8.1.1.3"
              ::= { dot1dStp 3 }

          dot1dStpTopChanges OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of topology changes detected by
                      this bridge since the management entity was last
                      reset or initialized."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.8.1.1.3"
              ::= { dot1dStp 4 }

          dot1dStpDesignatedRoot OBJECT-TYPE
              SYNTAX  BridgeId
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The bridge identifier of the root of the spanning
                      tree as determined by the Spanning Tree Protocol
                      as executed by this node.  This value is used as
                      the Root Identifier parameter in all Configuration
                      Bridge PDUs originated by this node."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.1"
              ::= { dot1dStp 5 }

          dot1dStpRootCost OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The cost of the path to the root as seen from
                      this bridge."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.2"
              ::= { dot1dStp 6 }

          dot1dStpRootPort OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The port number of the port which offers the
                      lowest cost path from this bridge to the root
                      bridge."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.3"
              ::= { dot1dStp 7 }

          dot1dStpMaxAge OBJECT-TYPE
              SYNTAX  Timeout
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The maximum age of Spanning Tree Protocol
                      information learned from the network on any port
                      before it is discarded, in units of hundredths of
                      a second.  This is the actual value that this
                      bridge is currently using."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.4"
              ::= { dot1dStp 8 }

          dot1dStpHelloTime OBJECT-TYPE
              SYNTAX  Timeout
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The amount of time between the transmission of
                      Configuration bridge PDUs by this node on any port
                      when it is the root of the spanning tree or trying
                      to become so, in units of hundredths of a second.
                      This is the actual value that this bridge is
                      currently using."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.5"
              ::= { dot1dStp 9 }

          dot1dStpHoldTime OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "This time value determines the interval length
                      during which no more than two Configuration bridge
                      PDUs shall be transmitted by this node, in units
                      of hundredths of a second."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.14"
              ::= { dot1dStp 10 }

          dot1dStpForwardDelay OBJECT-TYPE
              SYNTAX  Timeout
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "This time value, measured in units of hundredths
                      of a second, controls how fast a port changes its
                      spanning state when moving towards the Forwarding
                      state.  The value determines how long the port
                      stays in each of the Listening and Learning
                      states, which precede the Forwarding state.  This
                      value is also used, when a topology change has
                      been detected and is underway, to age all dynamic
                      entries in the Forwarding Database.  [Note that
                      this value is the one that this bridge is
                      currently using, in contrast to
                      dot1dStpBridgeForwardDelay which is the value that
                      this bridge and all others would start using
                      if/when this bridge were to become the root.]"
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.6"
              ::= { dot1dStp 11 }

          dot1dStpBridgeMaxAge OBJECT-TYPE
              SYNTAX  Timeout (600..4000)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The value that all bridges use for MaxAge when
                      this bridge is acting as the root.  Note that
                      802.1D-1990 specifies that the range for this
                      parameter is related to the value of
                      dot1dStpBridgeHelloTime. The granularity of this
                      timer is specified by 802.1D-1990 to be 1 second.
                      An agent may return a badValue error if a set is
                      attempted to a value which is not a whole number
                      of seconds."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.8"
              ::= { dot1dStp 12 }

          dot1dStpBridgeHelloTime OBJECT-TYPE
              SYNTAX  Timeout (100..1000)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The value that all bridges use for HelloTime when
                      this bridge is acting as the root.  The
                      granularity of this timer is specified by 802.1D-
                      1990 to be 1 second.  An agent may return a
                      badValue error if a set is attempted to a value
                      which is not a whole number of seconds."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.9"
              ::= { dot1dStp 13 }

          dot1dStpBridgeForwardDelay OBJECT-TYPE
              SYNTAX  Timeout (400..3000)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The value that all bridges use for ForwardDelay
                      when this bridge is acting as the root.  Note that
                      802.1D-1990 specifies that the range for this
                      parameter is related to the value of
                      dot1dStpBridgeMaxAge.  The granularity of this
                      timer is specified by 802.1D-1990 to be 1 second.
                      An agent may return a badValue error if a set is
                      attempted to a value which is not a whole number
                      of seconds."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.3.10"
              ::= { dot1dStp 14 }
          -- The Spanning Tree Port Table

          dot1dStpPortTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF Dot1dStpPortEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A table that contains port-specific information
                      for the Spanning Tree Protocol."
              ::= { dot1dStp 15 }

          dot1dStpPortEntry OBJECT-TYPE
              SYNTAX  Dot1dStpPortEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of information maintained by every port
                      about the Spanning Tree Protocol state for that
                      port."
              INDEX   { dot1dStpPort }
              ::= { dot1dStpPortTable 1 }

          Dot1dStpPortEntry ::=
              SEQUENCE {
                  dot1dStpPort
                      INTEGER,
                  dot1dStpPortPriority
                      INTEGER,
                  dot1dStpPortState
                      INTEGER,
                  dot1dStpPortEnable
                      INTEGER,
                  dot1dStpPortPathCost
                      INTEGER,
                  dot1dStpPortDesignatedRoot
                      BridgeId,
                  dot1dStpPortDesignatedCost
                      INTEGER,
                  dot1dStpPortDesignatedBridge
                      BridgeId,
                  dot1dStpPortDesignatedPort
                      OCTET STRING,
                  dot1dStpPortForwardTransitions
                      Counter
              }

          dot1dStpPort OBJECT-TYPE
              SYNTAX  INTEGER (1..65535)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The port number of the port for which this entry
                      contains Spanning Tree Protocol management
                      information."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.8.2.1.2"
              ::= { dot1dStpPortEntry 1 }

          dot1dStpPortPriority OBJECT-TYPE
              SYNTAX  INTEGER (0..255)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The value of the priority field which is
                      contained in the first (in network byte order)
                      octet of the (2 octet long) Port ID.  The other
                      octet of the Port ID is given by the value of
                      dot1dStpPort."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.1"
              ::= { dot1dStpPortEntry 2 }

          dot1dStpPortState OBJECT-TYPE
              SYNTAX  INTEGER {
                          disabled(1),
                          blocking(2),
                          listening(3),
                          learning(4),
                          forwarding(5),
                          broken(6)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The port's current state as defined by
                      application of the Spanning Tree Protocol.  This
                      state controls what action a port takes on
                      reception of a frame.  If the bridge has detected
                      a port that is malfunctioning it will place that
                      port into the broken(6) state.  For ports which
                      are disabled (see dot1dStpPortEnable), this object
                      will have a value of disabled(1)."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.2"
              ::= { dot1dStpPortEntry 3 }

          dot1dStpPortEnable OBJECT-TYPE
              SYNTAX  INTEGER {
                          enabled(1),
                          disabled(2)
                      }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The enabled/disabled status of the port."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.2"
              ::= { dot1dStpPortEntry 4 }

          dot1dStpPortPathCost OBJECT-TYPE
              SYNTAX  INTEGER (1..65535)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The contribution of this port to the path cost of
                      paths towards the spanning tree root which include
                      this port.  802.1D-1990 recommends that the
                      default value of this parameter be in inverse
                      proportion to the speed of the attached LAN."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.3"
              ::= { dot1dStpPortEntry 5 }

          dot1dStpPortDesignatedRoot OBJECT-TYPE
              SYNTAX  BridgeId
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The unique Bridge Identifier of the Bridge
                      recorded as the Root in the Configuration BPDUs
                      transmitted by the Designated Bridge for the
                      segment to which the port is attached."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.4"
              ::= { dot1dStpPortEntry 6 }

          dot1dStpPortDesignatedCost OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The path cost of the Designated Port of the
                      segment connected to this port.  This value is
                      compared to the Root Path Cost field in received
                      bridge PDUs."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.5"
              ::= { dot1dStpPortEntry 7 }

          dot1dStpPortDesignatedBridge OBJECT-TYPE
              SYNTAX  BridgeId
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The Bridge Identifier of the bridge which this
                      port considers to be the Designated Bridge for
                      this port's segment."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.6"
              ::= { dot1dStpPortEntry 8 }

          dot1dStpPortDesignatedPort OBJECT-TYPE
              SYNTAX  OCTET STRING (SIZE (2))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The Port Identifier of the port on the Designated
                      Bridge for this port's segment."
              REFERENCE
                      "IEEE 802.1D-1990: Section 4.5.5.7"
              ::= { dot1dStpPortEntry 9 }

          dot1dStpPortForwardTransitions OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of times this port has transitioned
                      from the Learning state to the Forwarding state."
              ::= { dot1dStpPortEntry 10 }


          -- the dot1dTp group

          -- Implementation of the dot1dTp group is optional.  It is
          -- implemented by those bridges that support the transparent
          -- bridging mode.  A transparent or SRT bridge will implement
          -- this group.


          dot1dTpLearnedEntryDiscards OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The total number of Forwarding Database entries,
                      which have been or would have been learnt, but
                      have been discarded due to a lack of space to
                      store them in the Forwarding Database.  If this
                      counter is increasing, it indicates that the
                      Forwarding Database is regularly becoming full (a
                      condition which has unpleasant performance effects
                      on the subnetwork).  If this counter has a
                      significant value but is not presently increasing,
                      it indicates that the problem has been occurring
                      but is not persistent."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.7.1.1.3"
              ::= { dot1dTp 1 }

          dot1dTpAgingTime OBJECT-TYPE
              SYNTAX   INTEGER (10..1000000)
              ACCESS   read-write
              STATUS   mandatory
              DESCRIPTION
                      "The timeout period in seconds for aging out
                      dynamically learned forwarding information.
                      802.1D-1990 recommends a default of 300 seconds."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.7.1.1.3"
              ::= { dot1dTp 2 }


          --  The Forwarding Database for Transparent Bridges

          dot1dTpFdbTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF Dot1dTpFdbEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A table that contains information about unicast
                      entries for which the bridge has forwarding and/or
                      filtering information.  This information is used
                      by the transparent bridging function in
                      determining how to propagate a received frame."
              ::= { dot1dTp 3 }

          dot1dTpFdbEntry OBJECT-TYPE
              SYNTAX  Dot1dTpFdbEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "Information about a specific unicast MAC address
                      for which the bridge has some forwarding and/or
                      filtering information."
              INDEX   { dot1dTpFdbAddress }
              ::= { dot1dTpFdbTable 1 }

          Dot1dTpFdbEntry ::=
              SEQUENCE {
                  dot1dTpFdbAddress
                      MacAddress,
                  dot1dTpFdbPort
                      INTEGER,
                  dot1dTpFdbStatus
                      INTEGER
              }

          dot1dTpFdbAddress OBJECT-TYPE
              SYNTAX  MacAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A unicast MAC address for which the bridge has
                      forwarding and/or filtering information."
              REFERENCE
                      "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
              ::= { dot1dTpFdbEntry 1 }

          dot1dTpFdbPort OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "Either the value '0', or the port number of the
                      port on which a frame having a source address
                      equal to the value of the corresponding instance
                      of dot1dTpFdbAddress has been seen.  A value of
                      '0' indicates that the port number has not been
                      learned but that the bridge does have some
                      forwarding/filtering information about this
                      address (e.g. in the dot1dStaticTable).
                      Implementors are encouraged to assign the port
                      value to this object whenever it is learned even
                      for addresses for which the corresponding value of
                      dot1dTpFdbStatus is not learned(3)."
              ::= { dot1dTpFdbEntry 2 }

          dot1dTpFdbStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),
                          invalid(2),
                          learned(3),
                          self(4),
                          mgmt(5)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The status of this entry.  The meanings of the
                      values are:

                        other(1)   : none of the following.  This would
                                     include the case where some other
                                     MIB object (not the corresponding
                                     instance of dot1dTpFdbPort, nor an
                                     entry in the dot1dStaticTable) is
                                     being used to determine if and how
                                     frames addressed to the value of
                                     the corresponding instance of
                                     dot1dTpFdbAddress are being
                                     forwarded.

                        invalid(2) : this entry is not longer valid
                                     (e.g., it was learned but has since
                                     aged-out), but has not yet been
                                     flushed from the table.

                        learned(3) : the value of the corresponding
                                     instance of dot1dTpFdbPort was
                                     learned, and is being used.

                        self(4)    : the value of the corresponding
                                     instance of dot1dTpFdbAddress
                                     represents one of the bridge's
                                     addresses.  The corresponding
                                     instance of dot1dTpFdbPort
                                     indicates which of the bridge's
                                     ports has this address.

                        mgmt(5)    : the value of the corresponding
                                     instance of dot1dTpFdbAddress is
                                     also the value of an existing
                                     instance of dot1dStaticAddress."
              ::= { dot1dTpFdbEntry 3 }
          --  Port Table for Transparent Bridges

          dot1dTpPortTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF Dot1dTpPortEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A table that contains information about every
                      port that is associated with this transparent
                      bridge."
              ::= { dot1dTp 4 }

          dot1dTpPortEntry OBJECT-TYPE
              SYNTAX  Dot1dTpPortEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of information for each port of a
                      transparent bridge."
              INDEX   { dot1dTpPort }
              ::= { dot1dTpPortTable 1 }

          Dot1dTpPortEntry ::=
              SEQUENCE {
                  dot1dTpPort
                      INTEGER,
                  dot1dTpPortMaxInfo
                      INTEGER,
                  dot1dTpPortInFrames
                      Counter,
                  dot1dTpPortOutFrames
                      Counter,
                  dot1dTpPortInDiscards
                      Counter
              }

          dot1dTpPort OBJECT-TYPE
              SYNTAX  INTEGER (1..65535)
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The port number of the port for which this entry
                      contains Transparent bridging management
                      information."
              ::= { dot1dTpPortEntry 1 }

          -- It would be nice if we could use ifMtu as the size of the
          -- largest INFO field, but we can't because ifMtu is defined
          -- to be the size that the (inter-)network layer can use which
          -- can differ from the MAC layer (especially if several layers
          -- of encapsulation are used).

          dot1dTpPortMaxInfo OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The maximum size of the INFO (non-MAC) field that
                      this port will receive or transmit."
              ::= { dot1dTpPortEntry 2 }

          dot1dTpPortInFrames OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of frames that have been received by
                      this port from its segment. Note that a frame
                      received on the interface corresponding to this
                      port is only counted by this object if and only if
                      it is for a protocol being processed by the local
                      bridging function, including bridge management
                      frames."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.6.1.1.3"
              ::= { dot1dTpPortEntry 3 }

          dot1dTpPortOutFrames OBJECT-TYPE
              SYNTAX  Counter
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The number of frames that have been transmitted
                      by this port to its segment.  Note that a frame
                      transmitted on the interface corresponding to this
                      port is only counted by this object if and only if
                      it is for a protocol being processed by the local
                      bridging function, including bridge management
                      frames."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.6.1.1.3"
              ::= { dot1dTpPortEntry 4 }

          dot1dTpPortInDiscards OBJECT-TYPE
              SYNTAX   Counter
              ACCESS   read-only
              STATUS   mandatory
              DESCRIPTION
                      "Count of valid frames received which were
                      discarded (i.e., filtered) by the Forwarding
                      Process."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.6.1.1.3"
              ::= { dot1dTpPortEntry 5 }


          -- The Static (Destination-Address Filtering) Database

          -- Implementation of this group is optional.


          dot1dStaticTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF Dot1dStaticEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A table containing filtering information
                      configured into the bridge by (local or network)
                      management specifying the set of ports to which
                      frames received from specific ports and containing
                      specific destination addresses are allowed to be
                      forwarded.  The value of zero in this table as the
                      port number from which frames with a specific
                      destination address are received, is used to
                      specify all ports for which there is no specific
                      entry in this table for that particular
                      destination address.  Entries are valid for
                      unicast and for group/broadcast addresses."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.7.2"
              ::= { dot1dStatic 1 }

          dot1dStaticEntry OBJECT-TYPE
              SYNTAX  Dot1dStaticEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "Filtering information configured into the bridge
                      by (local or network) management specifying the
                      set of ports to which frames received from a
                      specific port and containing a specific
                      destination address are allowed to be forwarded."
              REFERENCE
                      "IEEE 802.1D-1990: Section 6.7.2"
              INDEX   { dot1dStaticAddress, dot1dStaticReceivePort }
              ::= { dot1dStaticTable 1 }

          Dot1dStaticEntry ::=
              SEQUENCE {
                  dot1dStaticAddress
                      MacAddress,
                  dot1dStaticReceivePort
                      INTEGER,
                  dot1dStaticAllowedToGoTo
                      OCTET STRING,
                  dot1dStaticStatus
                      INTEGER
              }

          dot1dStaticAddress OBJECT-TYPE
              SYNTAX  MacAddress
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The destination MAC address in a frame to which
                      this entry's filtering information applies.  This
                      object can take the value of a unicast address, a
                      group address or the broadcast address."
              REFERENCE
                      "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
              ::= { dot1dStaticEntry 1 }

          dot1dStaticReceivePort OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Either the value '0', or the port number of the
                      port from which a frame must be received in order
                      for this entry's filtering information to apply.
                      A value of zero indicates that this entry applies
                      on all ports of the bridge for which there is no
                      other applicable entry."
              ::= { dot1dStaticEntry 2 }

          dot1dStaticAllowedToGoTo OBJECT-TYPE
              SYNTAX  OCTET STRING
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The set of ports to which frames received from a
                      specific port and destined for a specific MAC
                      address, are allowed to be forwarded.  Each octet
                      within the value of this object specifies a set of
                      eight ports, with the first octet specifying ports
                      1 through 8, the second octet specifying ports 9
                      through 16, etc.  Within each octet, the most
                      significant bit represents the lowest numbered
                      port, and the least significant bit represents the
                      highest numbered port.  Thus, each port of the
                      bridge is represented by a single bit within the
                      value of this object.  If that bit has a value of
                      '1' then that port is included in the set of
                      ports; the port is not included if its bit has a
                      value of '0'.  (Note that the setting of the bit
                      corresponding to the port from which a frame is
                      received is irrelevant.)  The default value of
                      this object is a string of ones of appropriate
                      length."
              ::= { dot1dStaticEntry 3 }

          dot1dStaticStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),
                          invalid(2),
                          permanent(3),
                          deleteOnReset(4),
                          deleteOnTimeout(5)
                      }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "This object indicates the status of this entry.
                      The default value is permanent(3).

                           other(1) - this entry is currently in use but
                                the conditions under which it will
                                remain so are different from each of the
                                following values.
                           invalid(2) - writing this value to the object
                                removes the corresponding entry.
                           permanent(3) - this entry is currently in use
                                and will remain so after the next reset
                                of the bridge.
                           deleteOnReset(4) - this entry is currently in
                                use and will remain so until the next
                                reset of the bridge.
                           deleteOnTimeout(5) - this entry is currently
                                in use and will remain so until it is
                                aged out."
              ::= { dot1dStaticEntry 4 }


          -- Traps for use by Bridges

          -- Traps for the Spanning Tree Protocol

          newRoot TRAP-TYPE
              ENTERPRISE  dot1dBridge
              DESCRIPTION
                      "The newRoot trap indicates that the sending agent
                      has become the new root of the Spanning Tree; the
                      trap is sent by a bridge soon after its election
                      as the new root, e.g., upon expiration of the
                      Topology Change Timer immediately subsequent to
                      its election.  Implementation of this trap is
                      optional."
              ::= 1

          topologyChange TRAP-TYPE
              ENTERPRISE  dot1dBridge
              DESCRIPTION
                      "A topologyChange trap is sent by a bridge when
                      any of its configured ports transitions from the
                      Learning state to the Forwarding state, or from
                      the Forwarding state to the Blocking state.  The
                      trap is not sent if a newRoot trap is sent for the
                      same transition.  Implementation of this trap is
                      optional."
              ::= 2

          END

   IANAifType-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY                     FROM SNMPv2-SMI
       TEXTUAL-CONVENTION                  FROM SNMPv2-TC
       mib-2                		   FROM RFC1213-MIB;

   ianaifType MODULE-IDENTITY
       LAST-UPDATED "9311082155Z"
       ORGANIZATION "IANA"
       CONTACT-INFO

                  "        Internet Assigned Numbers Authority

                   Postal: USC/Information Sciences Institute
                           4676 Admiralty Way, Marina del Rey, CA 90292

                   Tel:    +1  310 822 1511
                   E-Mail: iana@isi.edu"
       DESCRIPTION
               "The MIB module which defines the IANAifType textual
               convention, and thus the enumerated values of the
               ifType object defined in MIB-II's ifTable."
       ::= { mib-2 30 }


   IANAifType ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION
               "This data type is used as the syntax of the ifType
               object in the (updated) definition of MIB-II's
               ifTable.
               The definition of this textual convention with the
               addition of newly assigned values is published
               periodically by the IANA, in either the Assigned
               Numbers RFC, or some derivative of it specific to
               Internet Network Management number assignments.  (The
               latest arrangements can be obtained by contacting the
               IANA.)

               Requests for new values should be made to IANA via
               email (iana@isi.edu).

               The relationship between the assignment of ifType
               values and of OIDs to particular media-specific MIBs
               is solely the purview of IANA and is subject to change
               without notice.  Quite often, a media-specific MIB's
               OID-subtree assignment within MIB-II's 'transmission'
               subtree will be the same as its ifType value.
               However, in some circumstances this will not be the
               case, and implementors must not pre-assume any
               specific relationship between ifType values and
               transmission subtree OIDs."
       SYNTAX  INTEGER {
                   other(1),          -- none of the following
                   regular1822(2),
                   hdh1822(3),
                   ddnX25(4),
                   rfc877x25(5),
                   ethernetCsmacd(6),
                   iso88023Csmacd(7),
                   iso88024TokenBus(8),
                   iso88025TokenRing(9),
                   iso88026Man(10),
                   starLan(11),
                   proteon10Mbit(12),
                   proteon80Mbit(13),
                   hyperchannel(14),
                   fddi(15),
                   lapb(16),
                   sdlc(17),
                   ds1(18),           -- DS1/E1 (RFC 1406)
                   e1(19),            -- obsolete
                   basicISDN(20),
                   primaryISDN(21),
                   propPointToPointSerial(22), -- proprietary serial
                   ppp(23),
                   softwareLoopback(24),
                   eon(25),            -- CLNP over IP (RFC 1070)
                   ethernet3Mbit(26),
                   nsip(27),           -- XNS over IP
                   slip(28),           -- generic SLIP
                   ultra(29),          -- ULTRA technologies
                   ds3(30),            -- T-3
                   sip(31),            -- SMDS
                   frameRelay(32),    -- DTE only
                   rs232(33),
                   para(34),           -- parallel-port
                   arcnet(35),         -- arcnet
                   arcnetPlus(36),     -- arcnet plus
                   atm(37),            -- ATM cells
                   miox25(38),
                   sonet(39),          -- SONET or SDH
                   x25ple(40),
                   iso88022llc(41),
                   localTalk(42),
                   smdsDxi(43),
                   frameRelayService(44),  -- Frame relay DCE
                   v35(45),
                   hssi(46),
                   hippi(47),
                   modem(48),          -- Generic modem
                   aal5(49),           -- AAL5 over ATM
                   sonetPath(50),
                   sonetVT(51),
                   smdsIcip(52),       -- SMDS InterCarrier Interface
                   propVirtual(53),    -- proprietary virtual/internal
                   propMultiplexor(54) -- proprietary multiplexing
               }

   END

   IF-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE, Counter32, Gauge32,
       Integer32, TimeTicks, Counter64,
       NOTIFICATION-TYPE                        FROM SNMPv2-SMI
       TEXTUAL-CONVENTION, DisplayString,
       PhysAddress, TruthValue, RowStatus,
       AutonomousType, TestAndIncr              FROM SNMPv2-TC
       MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF

-- RCC HACK - BEGIN
--       snmpTraps                                FROM SNMPv2-MIB
-- RCC HACK - END

       IANAifType                               FROM IANAifType-MIB
       mib-2, interfaces                        FROM RFC1213-MIB;
   ifMIB MODULE-IDENTITY
       LAST-UPDATED "9311082155Z"
       ORGANIZATION "IETF Interfaces MIB Working Group"
       CONTACT-INFO

                  "        Keith McCloghrie

                   Postal: Hughes LAN Systems
                           1225 Charleston Road, Mountain View, CA 94043

                   Tel:    +1 415 966 7934
                   E-Mail: kzm@hls.com


                           Frank Kastenholz

                   Postal: FTP Software
                           2 High Street, North Andover, MA 01845

                   Tel:    +1 508 685 4000
                   E-Mail: kasten@ftp.com"
       DESCRIPTION
               "The MIB module to describe generic objects for
               network interface sub-layers.  This MIB is an updated
               version of MIB-II's ifTable, and incorporates the
               extensions defined in RFC 1229."
       ::= { mib-2 31 }

-- RCC HACK - BEGIN
--
-- Additions to resolve some SNMP V2 dependencies so we don't
-- have to pull-in a lot of mib modules.
--
internet	OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
snmpV2		OBJECT IDENTIFIER ::= { internet 6 }
snmpModules	OBJECT IDENTIFIER ::= { snmpV2 3 }
snmpMIB		OBJECT IDENTIFIER ::= { snmpModules 1 }
snmpMIBObjects	OBJECT IDENTIFIER ::= { snmpMIB 1 }
snmpTraps	OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }
-- RCC HACK - END 

   ifMIBObjects OBJECT IDENTIFIER ::= { ifMIB 1 }


-- RCC HACK - BEGIN
--
-- Modification to resolve conflict with "OwnerString" definition
-- in rfc1271.mib.  In rfc1271.mib "OwnerString" is defined as
-- "DisplayString" whereas in this file, it is define as OCTET
-- STRING.
--
   OwnerString ::= DisplayString
-- RCC HACK - END 

   -- OwnerString has the same semantics as used in RFC 1271
   --
   -- OwnerString ::= TEXTUAL-CONVENTION
   --     DISPLAY-HINT "255a"
   --     STATUS       current
   --     DESCRIPTION
   --             "This data type is used to model an administratively
   --             assigned name of the owner of a resource.  This
   --             information is taken from the NVT ASCII character set.
   --             It is suggested that this name contain one or more of
   --             the following: ASCII form of the manager station's
   --             transport address, management station name (e.g.,
   --             domain name), network management personnel's name,
   --             location, or phone number.  In some cases the agent
   --             itself will be the owner of an entry.  In these cases,
   --             this string shall be set to a string starting with
   --             'agent'."
   --     SYNTAX       OCTET STRING (SIZE(0..255))

   -- InterfaceIndex contains the semantics of ifIndex and
   -- should be used for any objects defined on other mib
   -- modules that need these semantics.

   InterfaceIndex ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "d"
       STATUS       current
       DESCRIPTION
               "A unique value, greater than zero, for each interface
               or interface sub-layer in the managed system.  It is
               recommended that values are assigned contiguously
               starting from 1.  The value for each interface sub-
               layer must remain constant at least from one re-
               initialization of the entity's network management
               system to the next re-initialization."
       SYNTAX       Integer32

   ifNumber  OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The number of network interfaces (regardless of their
               current state) present on this system."
       ::= { interfaces 1 }


   -- the Interfaces table

   -- The Interfaces table contains information on the entity's
   -- interfaces.  Each sub-layer below the internetwork-layer
   -- of a network interface is considered to be an interface.

   ifTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF IfEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "A list of interface entries.  The number of entries
               is given by the value of ifNumber."
       ::= { interfaces 2 }

   ifEntry OBJECT-TYPE
       SYNTAX      IfEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "An entry containing management information applicable
               to a particular interface."
       INDEX   { ifIndex }
       ::= { ifTable 1 }

   IfEntry ::=
       SEQUENCE {
           ifIndex                 InterfaceIndex,
           ifDescr                 DisplayString,
           ifType                  IANAifType,
           ifMtu                   Integer32,
           ifSpeed                 Gauge32,
           ifPhysAddress           PhysAddress,
           ifAdminStatus           INTEGER,
           ifOperStatus            INTEGER,
           ifLastChange            TimeTicks,
           ifInOctets              Counter32,
           ifInUcastPkts           Counter32,
           ifInNUcastPkts          Counter32,  -- deprecated
           ifInDiscards            Counter32,
           ifInErrors              Counter32,
           ifInUnknownProtos       Counter32,
           ifOutOctets             Counter32,
           ifOutUcastPkts          Counter32,
           ifOutNUcastPkts         Counter32,  -- deprecated
           ifOutDiscards           Counter32,
           ifOutErrors             Counter32,
           ifOutQLen               Gauge32,    -- deprecated
           ifSpecific              OBJECT IDENTIFIER -- deprecated
       }


   ifIndex OBJECT-TYPE
       SYNTAX      InterfaceIndex
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "A unique value, greater than zero, for each
               interface.  It is recommended that values are assigned
               contiguously starting from 1.  The value for each
               interface sub-layer must remain constant at least from
               one re-initialization of the entity's network
               management system to the next re-initialization."
       ::= { ifEntry 1 }

   ifDescr OBJECT-TYPE
       SYNTAX      DisplayString (SIZE (0..255))
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "A textual string containing information about the
               interface.  This string should include the name of the
               manufacturer, the product name and the version of the
               interface hardware/software."
       ::= { ifEntry 2 }

   ifType OBJECT-TYPE
       SYNTAX      IANAifType
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The type of interface.  Additional values for ifType
               are assigned by the Internet Assigned Numbers
               Authority (IANA), through updating the syntax of the
               IANAifType textual convention."
       ::= { ifEntry 3 }

   ifMtu OBJECT-TYPE
       SYNTAX      Integer32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The size of the largest packet which can be
               sent/received on the interface, specified in octets.
               For interfaces that are used for transmitting network
               datagrams, this is the size of the largest network
               datagram that can be sent on the interface."
       ::= { ifEntry 4 }

   ifSpeed OBJECT-TYPE
       SYNTAX      Gauge32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "An estimate of the interface's current bandwidth in
               bits per second.  For interfaces which do not vary in
               bandwidth or for those where no accurate estimation
               can be made, this object should contain the nominal
               bandwidth.  If the bandwidth of the interface is
               greater than the maximum value reportable by this
               object then this object should report its maximum
               value (4,294,967,295) and ifHighSpeed must be used to
               report the interace's speed.  For a sub-layer which
               has no concept of bandwidth, this object should be
               zero."
       ::= { ifEntry 5 }

   ifPhysAddress OBJECT-TYPE
       SYNTAX      PhysAddress
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The interface's address at its protocol sub-layer.
               The interface's media-specific MIB must define the bit
               and byte ordering and format of the value contained by
               this object.  For interfaces which do not have such an
               address (e.g., a serial line), this object should
               contain an octet string of zero length."
       ::= { ifEntry 6 }

   ifAdminStatus OBJECT-TYPE
       SYNTAX  INTEGER {
                   up(1),       -- ready to pass packets
                   down(2),
                   testing(3)   -- in some test mode
               }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "The desired state of the interface.  The testing(3)
               state indicates that no operational packets can be
               passed.  When a managed system initializes, all
               interfaces start with ifAdminStatus in the down(2)
               state.  As a result of either explicit management
               action or per configuration information retained by
               the managed system, ifAdminStatus is then changed to
               either the up(1) or testing(3) states (or remains in
               the down(2) state)."
       ::= { ifEntry 7 }

   ifOperStatus OBJECT-TYPE
       SYNTAX  INTEGER {
                   up(1),       -- ready to pass packets
                   down(2),
                   testing(3),  -- in some test mode
                   unknown(4),  -- status can not be determined
                                -- for some reason.
                   dormant(5)
               }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The current operational state of the interface.  The
               testing(3) state indicates that no operational packets
               can be passed.  If ifAdminStatus is down(2) then
               ifOperStatus should be down(2).  If ifAdminStatus is
               changed to up(1) then ifOperStatus should change to
               up(1) if the interface is ready to transmit and
               receive network traffic; it should change to
               dormant(5) if the interface is waiting for external
               actions (such as a serial line waiting for an
               incomming connection); it should remain in the down(2)
               state if and only if there is a fault that prevents if
               from going to the up(1) state."
       ::= { ifEntry 8 }

   ifLastChange OBJECT-TYPE
       SYNTAX      TimeTicks
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The value of sysUpTime at the time the interface
               entered its current operational state.  If the current
               state was entered prior to the last re-initialization
               of the local network management subsystem, then this
               object contains a zero value."
       ::= { ifEntry 9 }

   ifInOctets OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The total number of octets received on the interface,
               including framing characters."
       ::= { ifEntry 10 }

   ifInUcastPkts OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The number of packets, delivered by this sub-layer to
               a higher (sub-)layer, which were not addressed to a
               multicast or broadcast address at this sub-layer."
       ::= { ifEntry 11 }

   ifInNUcastPkts OBJECT-TYPE
       SYNTAX  Counter32
       MAX-ACCESS  read-only
       STATUS      deprecated
       DESCRIPTION
               "The number of packets, delivered by this sub-layer to
               a higher (sub-)layer, which were addressed to a
               multicast or broadcast address at this sub-layer.
               This object is deprecated in favour of
               ifInMulticastPkts and ifInBroadcastPkts."
       ::= { ifEntry 12 }

   ifInDiscards OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The number of inbound packets which were chosen to be
               discarded even though no errors had been detected to
               prevent their being deliverable to a higher-layer
               protocol.  One possible reason for discarding such a
               packet could be to free up buffer space."
       ::= { ifEntry 13 }

   ifInErrors OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "For packet-oriented interfaces, the number of inbound
               packets that contained errors preventing them from
               being deliverable to a higher-layer protocol.  For
               character-oriented or fixed-length interfaces, the
               number of inbound transmission units that contained
               errors preventing them from being deliverable to a
               higher-layer protocol."
       ::= { ifEntry 14 }

   ifInUnknownProtos OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "For packet-oriented interfaces, the number of packets
               received via the interface which were discarded
               because of an unknown or unsupported protocol.  For
               character-oriented or fixed-length interfaces which
               support protocol multiplexing the number of
               transmission units received via the interface which
               were discarded because of an unknown or unsupported
               protocol.  For any interface which does not support
               protocol multiplexing, this counter will always be 0."
       ::= { ifEntry 15 }

   ifOutOctets OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The total number of octets transmitted out of the
               interface, including framing characters."
       ::= { ifEntry 16 }

   ifOutUcastPkts OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION

               "The total number of packets that higher-level
               protocols requested be transmitted, and which were not
               addressed to a multicast or broadcast address at this
               sub-layer, including those that were discarded or not
               sent."
       ::= { ifEntry 17 }

   ifOutNUcastPkts OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      deprecated
       DESCRIPTION
               "The total number of packets that higher-level
               protocols requested be transmitted, and which were
               addressed to a multicast or broadcast address at this
               sub-layer, including those that were discarded or not
               sent.

               This object is deprecated in favour of
               ifOutMulticastPkts and ifOutBroadcastPkts."
       ::= { ifEntry 18 }

   ifOutDiscards OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The number of outbound packets which were chosen to
               be discarded even though no errors had been detected
               to prevent their being transmitted.  One possible
               reason for discarding such a packet could be to free
               up buffer space."
       ::= { ifEntry 19 }

   ifOutErrors OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "For packet-oriented interfaces, the number of
               outbound packets that could not be transmitted because
               of errors.  For character-oriented or fixed-length
               interfaces, the number of outbound transmission units
               that could not be transmitted because of errors."
       ::= { ifEntry 20 }

   ifOutQLen OBJECT-TYPE
       SYNTAX      Gauge32
       MAX-ACCESS  read-only
       STATUS      deprecated
       DESCRIPTION
               "The length of the output packet queue (in packets)."
       ::= { ifEntry 21 }

   ifSpecific OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  read-only
       STATUS      deprecated
       DESCRIPTION
               "A reference to MIB definitions specific to the
               particular media being used to realize the interface.
               It is recommended that this value point to an instance
               of a MIB object in the media-specific MIB, i.e., that
               this object have the semantics associated with the
               InstancePointer textual convention defined in RFC
               1443.  In fact, it is recommended that the media-
               specific MIB specify what value ifSpecific should/can
               take for values of ifType.  If no MIB definitions
               specific to the particular media are available, the
               value should be set to the OBJECT IDENTIFIER { 0 0 }."
       ::= { ifEntry 22 }


   --
   --   Extension to the interface table
   --
   -- This table replaces the ifExtnsTable table.
   --

   ifXTable        OBJECT-TYPE
       SYNTAX      SEQUENCE OF IfXEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "A list of interface entries.  The number of entries
               is given by the value of ifNumber.  This table
               contains additional objects for the interface table."
       ::= { ifMIBObjects 1 }

   ifXEntry        OBJECT-TYPE
       SYNTAX      IfXEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "An entry containing additional management information
               applicable to a particular interface."
       AUGMENTS    { ifEntry }
       ::= { ifXTable 1 }

   IfXEntry ::=
       SEQUENCE {
           ifName                  DisplayString,
           ifInMulticastPkts       Counter32,
           ifInBroadcastPkts       Counter32,
           ifOutMulticastPkts      Counter32,
           ifOutBroadcastPkts      Counter32,
           ifHCInOctets            Counter64,
           ifHCInUcastPkts         Counter64,
           ifHCInMulticastPkts     Counter64,
           ifHCInBroadcastPkts     Counter64,
           ifHCOutOctets           Counter64,
           ifHCOutUcastPkts        Counter64,
           ifHCOutMulticastPkts    Counter64,
           ifHCOutBroadcastPkts    Counter64,
           ifLinkUpDownTrapEnable  INTEGER,
           ifHighSpeed             Gauge32,
           ifPromiscuousMode       TruthValue,
           ifConnectorPresent      TruthValue
       }


   ifName OBJECT-TYPE
       SYNTAX      DisplayString
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The textual name of the interface.  The value of this
               object should be the name of the interface as assigned
               by the local device and should be suitable for use in
               commands entered at the device's `console'.  This
               might be a text name, such as `le0' or a simple port
               number, such as `1', depending on the interface naming
               syntax of the device.  If several entries in the
               ifTable together represent a single interface as named
               by the device, then each will have the same value of
               ifName.  If there is no local name, or this object is
               otherwise not applicable, then this object contains a
               0-length string."
       ::= { ifXEntry 1 }

   ifInMulticastPkts OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The number of packets, delivered by this sub-layer to
               a higher (sub-)layer, which were addressed to a
               multicast address at this sub-layer.  For a MAC layer
               protocol, this includes both Group and Functional
               addresses."
       ::= { ifXEntry 2 }

   ifInBroadcastPkts OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The number of packets, delivered by this sub-layer to
               a higher (sub-)layer, which were addressed to a
               broadcast address at this sub-layer."
       ::= { ifXEntry 3 }

   ifOutMulticastPkts OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The total number of packets that higher-level
               protocols requested be transmitted, and which were
               addressed to a multicast address at this sub-layer,
               including those that were discarded or not sent.  For
               a MAC layer protocol, this includes both Group and
               Functional addresses."
       ::= { ifXEntry 4 }

   ifOutBroadcastPkts OBJECT-TYPE
       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The total number of packets that higher-level
               protocols requested be transmitted, and which were
               addressed to a broadcast address at this sub-layer,
               including those that were discarded or not sent."
       ::= { ifXEntry 5 }

   --
   -- High Capacity Counter objects.  These objects are all

   -- 64 bit versions of the "basic" ifTable counters.  These
   -- objects all have the same basic semantics as their 32-bit
   -- counterparts, however, their syntax has been extended
   -- to 64 bits.
   --

   ifHCInOctets OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The total number of octets received on the interface,
               including framing characters.  This object is a 64-bit
               version of ifInOctets."
       ::= { ifXEntry 6 }

   ifHCInUcastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The number of packets, delivered by this sub-layer to
               a higher (sub-)layer, which were not addressed to a
               multicast or broadcast address at this sub-layer.
               This object is a 64-bit version of ifInUcastPkts."
       ::= { ifXEntry 7 }

   ifHCInMulticastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The number of packets, delivered by this sub-layer to
               a higher (sub-)layer, which were addressed to a
               multicast address at this sub-layer.  For a MAC layer
               protocol, this includes both Group and Functional
               addresses.  This object is a 64-bit version of
               ifInMulticastPkts."
       ::= { ifXEntry 8 }

   ifHCInBroadcastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The number of packets, delivered by this sub-layer to
               a higher (sub-)layer, which were addressed to a
               broadcast address at this sub-layer.  This object is a
               64-bit version of ifInBroadcastPkts."
       ::= { ifXEntry 9 }

   ifHCOutOctets OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The total number of octets transmitted out of the
               interface, including framing characters.  This object
               is a 64-bit version of ifOutOctets."
       ::= { ifXEntry 10 }

   ifHCOutUcastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The total number of packets that higher-level
               protocols requested be transmitted, and which were not
               addressed to a multicast or broadcast address at this
               sub-layer, including those that were discarded or not
               sent.  This object is a 64-bit version of
               ifOutUcastPkts."
       ::= { ifXEntry 11 }

   ifHCOutMulticastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The total number of packets that higher-level
               protocols requested be transmitted, and which were
               addressed to a multicast address at this sub-layer,
               including those that were discarded or not sent.  For
               a MAC layer protocol, this includes both Group and
               Functional addresses.  This object is a 64-bit version
               of ifOutMulticastPkts."
       ::= { ifXEntry 12 }

   ifHCOutBroadcastPkts OBJECT-TYPE
       SYNTAX      Counter64
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "The total number of packets that higher-level
               protocols requested be transmitted, and which were
               addressed to a broadcast address at this sub-layer,
               including those that were discarded or not sent.  This
               object is a 64-bit version of ifOutBroadcastPkts."
       ::= { ifXEntry 13 }

   ifLinkUpDownTrapEnable  OBJECT-TYPE
       SYNTAX      INTEGER { enabled(1), disabled(2) }
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "Indicates whether linkUp/linkDown traps should be
               generated for this interface.

               By default, this object should have the value
               enabled(1) for interfaces which do not operate on
               'top' of any other interface (as defined in the
               ifStackTable), and disabled(2) otherwise."
       ::= { ifXEntry 14 }

   ifHighSpeed OBJECT-TYPE
       SYNTAX      Gauge32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "An estimate of the interface's current bandwidth in
               units of 1,000,000 bits per second.  If this object
               reports a value of `n' then the speed of the interface
               is somewhere in the range of `n-500,000' to
               `n+499,999'.  For interfaces which do not vary in
               bandwidth or for those where no accurate estimation
               can be made, this object should contain the nominal
               bandwidth.  For a sub-layer which has no concept of
               bandwidth, this object should be zero."
       ::= { ifXEntry 15 }

   ifPromiscuousMode  OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "This object has a value of false(2) if this interface
               only accepts packets/frames that are addressed to this
               station.  This object has a value of true(1) when the
               station accepts all packets/frames transmitted on the
               media.  The value true(1) is only legal on certain
               types of media.  If legal, setting this object to a
               value of true(1) may require the interface to be reset
               before becoming effective.

               The value of ifPromiscuousMode does not affect the
               reception of broadcast and multicast packets/frames by
               the interface."
       ::= { ifXEntry 16 }

   ifConnectorPresent   OBJECT-TYPE
       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
               "This object has the value 'true(1)' if the interface
               sublayer has a physical connector and the value
               'false(2)' otherwise."
       ::= { ifXEntry 17 }


   --           The Interface Stack Group
   --
   -- Implementation of this group is mandatory for all systems
   --

   ifStackTable  OBJECT-TYPE
        SYNTAX        SEQUENCE OF IfStackEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
               "The table containing information on the relationships
               between the multiple sub-layers of network interfaces.
               In particular, it contains information on which sub-
               layers run 'on top of' which other sub-layers.  Each
               sub-layer corresponds to a conceptual row in the
               ifTable."
        ::= { ifMIBObjects 2 }


   ifStackEntry  OBJECT-TYPE
        SYNTAX        IfStackEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
               "Information on a particular relationship between two
               sub-layers, specifying that one sub-layer runs on
               'top' of the other sub-layer.  Each sub-layer
               corresponds to a conceptual row in the ifTable."
        INDEX { ifStackHigherLayer, ifStackLowerLayer }
        ::= { ifStackTable 1 }


   IfStackEntry ::=
       SEQUENCE {
           ifStackHigherLayer  Integer32,
           ifStackLowerLayer   Integer32,
           ifStackStatus       RowStatus
        }


   ifStackHigherLayer  OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
               "The value of ifIndex corresponding to the higher
               sub-layer of the relationship, i.e., the sub-layer
               which runs on 'top' of the sub-layer identified by the
               corresponding instance of ifStackLowerLayer.  If there
               is no higher sub-layer (below the internetwork layer),
               then this object has the value 0."
        ::= { ifStackEntry 1 }


   ifStackLowerLayer  OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
               "The value of ifIndex corresponding to the lower sub-
               layer of the relationship, i.e., the sub-layer which
               runs 'below' the sub-layer identified by the
               corresponding instance of ifStackHigherLayer.  If
               there is no lower sub-layer, then this object has the
               value 0."
        ::= { ifStackEntry 2 }


   ifStackStatus  OBJECT-TYPE
       SYNTAX         RowStatus
       MAX-ACCESS     read-write
       STATUS         current
       DESCRIPTION
               "The status of the relationship between two sub-
               layers.

               Changing the value of this object from 'active' to
               'notInService' or 'destroy' will likely have
               consequences up and down the interface stack.  Thus,
               write access to this object is likely to be
               inappropriate for some types of interfaces, and many
               implementations will choose not to support write-
               access for any type of interface."
       ::= { ifStackEntry 3 }


   --
   --    The Interface Test Table
   --
   -- This group of objects is optional.  However, a media-specific
   -- MIB may make implementation of this group mandatory.
   --
   -- This table replaces the ifExtnsTestTable
   --

   ifTestTable   OBJECT-TYPE
       SYNTAX      SEQUENCE OF IfTestEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "This table contains one entry per interface.  It
               defines objects which allow a network manager to
               instruct an agent to test an interface for various
               faults.  Tests for an interface are defined in the
               media-specific MIB for that interface.  After invoking
               a test, the object ifTestResult can be read to
               determine the outcome.  If an agent can not perform
               the test, ifTestResult is set to so indicate.  The
               object ifTestCode can be used to provide further
               test-specific or interface-specific (or even
               enterprise-specific) information concerning the
               outcome of the test.  Only one test can be in progress
               on each interface at any one time.  If one test is in
               progress when another test is invoked, the second test
               is rejected.  Some agents may reject a test when a
               prior test is active on another interface.
               Before starting a test, a manager-station must first
               obtain 'ownership' of the entry in the ifTestTable for
               the interface to be tested.  This is accomplished with
               the ifTestId and ifTestStatus objects as follows:

            try_again:
                get (ifTestId, ifTestStatus)
                while (ifTestStatus != notInUse)
                    /*
                     * Loop while a test is running or some other
                     * manager is configuring a test.
                     */
                    short delay
                    get (ifTestId, ifTestStatus)
                }

                /*
                 * Is not being used right now -- let's compete
                 * to see who gets it.
                 */
                lock_value = ifTestId

                if ( set(ifTestId = lock_value, ifTestStatus = inUse,
                         ifTestOwner = 'my-IP-address') == FAILURE)
                    /*
                     * Another manager got the ifTestEntry -- go
                     * try again
                     */
                    goto try_again;

                /*
                 * I have the lock
                 */
                set up any test parameters.

                /*
                 * This starts the test
                 */
                set(ifTestType = test_to_run);

                wait for test completion by polling ifTestResult

                when test completes, agent sets ifTestResult
                     agent also sets ifTestStatus = 'notInUse'

                retrieve any additional test results, and ifTestId

                if (ifTestId == lock_value+1) results are valid
              A manager station first retrieves the value of the
              appropriate ifTestId and ifTestStatus objects,
              periodically repeating the retrieval if necessary,
              until the value of ifTestStatus is 'notInUse'.  The
              manager station then tries to set the same ifTestId
              object to the value it just retrieved, the same
              ifTestStatus object to 'inUse', and the corresponding
              ifTestOwner object to a value indicating itself.  If
              the set operation succeeds then the manager has
              obtained ownership of the ifTestEntry, and the value of
              the ifTestId object is incremented by the agent (per
              the semantics of TestAndIncr).  Failure of the set
              operation indicates that some other manager has
              obtained ownership of the ifTestEntry.

              Once ownership is obtained, any test parameters can be
              setup, and then the test is initiated by setting
              ifTestType.  On completion of the test, the agent sets
              ifTestStatus to 'notInUse'.  Once this occurs, the
              manager can retrieve the results.  In the (rare) event
              that the invocation of tests by two network managers
              were to overlap, then there would be a possibility that
              the first test's results might be overwritten by the
              second test's results prior to the first results being
              read.  This unlikely circumstance can be detected by a
              network manager retrieving ifTestId at the same time as
              retrieving the test results, and ensuring that the
              results are for the desired request.

              If ifTestType is not set within an abnormally long
              period of time after ownership is obtained, the agent
              should time-out the manager, and reset the value of the
              ifTestStatus object back to 'notInUse'.  It is
              suggested that this time-out period be 5 minutes.

              In general, a management station must not retransmit a
              request to invoke a test for which it does not receive
              a response; instead, it properly inspects an agent's
              MIB to determine if the invocation was successful.
              Only if the invocation was unsuccessful, is the
              invocation request retransmitted.

              Some tests may require the interface to be taken off-
              line in order to execute them, or may even require the
              agent to reboot after completion of the test.  In these
              circumstances, communication with the management
              station invoking the test may be lost until after
              completion of the test.  An agent is not required to
              support such tests.  However, if such tests are
              supported, then the agent should make every effort to
              transmit a response to the request which invoked the
              test prior to losing communication.  When the agent is
              restored to normal service, the results of the test are
              properly made available in the appropriate objects.
              Note that this requires that the ifIndex value assigned
              to an interface must be unchanged even if the test
              causes a reboot.  An agent must reject any test for
              which it cannot, perhaps due to resource constraints,
              make available at least the minimum amount of
              information after that test completes."
       ::= { ifMIBObjects 3 }

   ifTestEntry OBJECT-TYPE
       SYNTAX       IfTestEntry
       MAX-ACCESS   not-accessible
       STATUS       current
       DESCRIPTION
               "An entry containing objects for invoking tests on an
               interface."
       AUGMENTS  { ifEntry }
       ::= { ifTestTable 1 }

   IfTestEntry ::=
       SEQUENCE {
           ifTestId           TestAndIncr,
           ifTestStatus       INTEGER,
           ifTestType         AutonomousType,
           ifTestResult       INTEGER,
           ifTestCode         OBJECT IDENTIFIER,
           ifTestOwner        OwnerString
       }

   ifTestId         OBJECT-TYPE
       SYNTAX       TestAndIncr
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "This object identifies the current invocation of the
               interface's test."
       ::= { ifTestEntry 1 }

   ifTestStatus     OBJECT-TYPE
       SYNTAX       INTEGER { notInUse(1), inUse(2) }
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "This object indicates whether or not some manager
               currently has the necessary 'ownership' required to
               invoke a test on this interface.  A write to this
               object is only successful when it changes its value
               from 'notInUse(1)' to 'inUse(2)'.  After completion of
               a test, the agent resets the value back to
               'notInUse(1)'."
       ::= { ifTestEntry 2 }

   ifTestType       OBJECT-TYPE
       SYNTAX       AutonomousType
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "A control variable used to start and stop operator-
               initiated interface tests.  Most OBJECT IDENTIFIER
               values assigned to tests are defined elsewhere, in
               association with specific types of interface.
               However, this document assigns a value for a full-
               duplex loopback test, and defines the special meanings
               of the subject identifier:

                   noTest  OBJECT IDENTIFIER ::= { 0 0 }

               When the value noTest is written to this object, no
               action is taken unless a test is in progress, in which
               case the test is aborted.  Writing any other value to
               this object is only valid when no test is currently in
               progress, in which case the indicated test is
               initiated.

               When read, this object always returns the most recent
               value that ifTestType was set to.  If it has not been
               set since the last initialization of the network
               management subsystem on the agent, a value of noTest
               is returned."
       ::= { ifTestEntry 3 }

   ifTestResult  OBJECT-TYPE
       SYNTAX       INTEGER {
                        none(1),          -- no test yet requested
                        success(2),
                        inProgress(3),
                        notSupported(4),
                        unAbleToRun(5),   -- due to state of system
                        aborted(6),
                        failed(7)
                    }
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "This object contains the result of the most recently
               requested test, or the value none(1) if no tests have
               been requested since the last reset.  Note that this
               facility provides no provision for saving the results
               of one test when starting another, as could be
               required if used by multiple managers concurrently."
       ::= { ifTestEntry 4 }

   ifTestCode  OBJECT-TYPE
       SYNTAX       OBJECT IDENTIFIER
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
               "This object contains a code which contains more
               specific information on the test result, for example
               an error-code after a failed test.  Error codes and
               other values this object may take are specific to the
               type of interface and/or test.  The value may have the
               semantics of either the AutonomousType or
               InstancePointer textual conventions as defined in RFC
               1443.  The identifier:

                   testCodeUnknown  OBJECT IDENTIFIER ::= { 0 0 }

               is defined for use if no additional result code is
               available."
       ::= { ifTestEntry 5 }

   ifTestOwner      OBJECT-TYPE
       SYNTAX       OwnerString
       MAX-ACCESS   read-write
       STATUS       current
       DESCRIPTION
               "The entity which currently has the 'ownership'
               required to invoke a test on this interface."
       ::= { ifTestEntry 6 }


   --   Generic Receive Address Table
   --
   -- This group of objects is mandatory for all types of
   -- interfaces which can receive packets/frames addressed to
   -- more than one address.
   --
   -- This table replaces the ifExtnsRcvAddr table.  The main
   -- difference is that this table makes use of the RowStatus
   -- textual convention, while ifExtnsRcvAddr did not.

   ifRcvAddressTable  OBJECT-TYPE
       SYNTAX      SEQUENCE OF IfRcvAddressEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "This table contains an entry for each address
               (broadcast, multicast, or uni-cast) for which the
               system will receive packets/frames on a particular
               interface, except as follows:

               - for an interface operating in promiscuous mode,
               entries are only required for those addresses for
               which the system would receive frames were it not
               operating in promiscuous mode.

               - for 802.5 functional addresses, only one entry is
               required, for the address which has the functional
               address bit ANDed with the bit mask of all functional
               addresses for which the interface will accept frames."
       ::= { ifMIBObjects 4 }

   ifRcvAddressEntry  OBJECT-TYPE
       SYNTAX      IfRcvAddressEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
               "A list of objects identifying an address for which
               the system will accept packets/frames on the
               particular interface identified by the index value
               ifIndex."
       INDEX  { ifIndex, ifRcvAddressAddress }
       ::= { ifRcvAddressTable 1 }

   IfRcvAddressEntry ::=
       SEQUENCE {
           ifRcvAddressAddress   PhysAddress,
           ifRcvAddressStatus    RowStatus,
           ifRcvAddressType      INTEGER
       }

   ifRcvAddressAddress OBJECT-TYPE
       SYNTAX      PhysAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "An address for which the system will accept
               packets/frames on this entry's interface."
       ::= { ifRcvAddressEntry 1 }

   ifRcvAddressStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
               "This object is used to create and delete rows in the
               ifRcvAddressTable."

       ::= { ifRcvAddressEntry 2 }

   ifRcvAddressType OBJECT-TYPE
       SYNTAX      INTEGER {
                       other(1),
                       volatile(2),
                       nonVolatile(3)
                   }

       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
               "This object has the value nonVolatile(3) for those
               entries in the table which are valid and will not be
               deleted by the next restart of the managed system.
               Entries having the value volatile(2) are valid and
               exist, but have not been saved, so that will not exist
               after the next restart of the managed system.  Entries
               having the value other(1) are valid and exist but are
               not classified as to whether they will continue to
               exist after the next restart."

       DEFVAL  { volatile }

       ::= { ifRcvAddressEntry 3 }


   -- definition of interface-related traps.

   linkDown NOTIFICATION-TYPE
       OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
       STATUS  current
       DESCRIPTION
               "A linkDown trap signifies that the SNMPv2 entity,
               acting in an agent role, has detected that the
               ifOperStatus object for one of its communication links
               is about to transition into the down state."
       ::= { snmpTraps 3 }

   linkUp NOTIFICATION-TYPE
       OBJECTS { ifIndex, ifAdminStatus, ifOperStatus }
       STATUS  current
       DESCRIPTION
               "A linkUp trap signifies that the SNMPv2 entity,
               acting in an agent role, has detected that the
               ifOperStatus object for one of its communication links
               has transitioned out of the down state."
       ::= { snmpTraps 4 }


   -- conformance information

   ifConformance OBJECT IDENTIFIER ::= { ifMIB 2 }

   ifGroups      OBJECT IDENTIFIER ::= { ifConformance 1 }
   ifCompliances OBJECT IDENTIFIER ::= { ifConformance 2 }


   -- compliance statements

   ifCompliance MODULE-COMPLIANCE
       STATUS  current
       DESCRIPTION
               "The compliance statement for SNMPv2 entities which
               have network interfaces."

       MODULE  -- this module
           MANDATORY-GROUPS { ifGeneralGroup, ifStackGroup }

           GROUP       ifFixedLengthGroup
           DESCRIPTION
               "This group is mandatory for all network interfaces
               which are character-oriented or transmit data in
               fixed-length transmission units."

           GROUP       ifHCFixedLengthGroup
           DESCRIPTION
               "This group is mandatory only for those network
               interfaces which are character-oriented or transmit
               data in fixed-length transmission units, and for which
               the value of the corresponding instance of ifSpeed is
               greater than 20,000,000 bits/second."

           GROUP       ifPacketGroup
           DESCRIPTION
               "This group is mandatory for all network interfaces
               which are packet-oriented."

           GROUP       ifHCPacketGroup
           DESCRIPTION
               "This group is mandatory only for those network
               interfaces which are packet-oriented and for which the
               value of the corresponding instance of ifSpeed is
               greater than 650,000,000 bits/second."
           GROUP       ifTestGroup
           DESCRIPTION
               "This group is optional.  Media-specific MIBs which
               require interface tests are strongly encouraged to use
               this group for invoking tests and reporting results.
               A medium specific MIB which has mandatory tests may
               make implementation of this group mandatory."

           GROUP       ifRcvAddressGroup
           DESCRIPTION
               "The applicability of this group MUST be defined by
               the media-specific MIBs.  Media-specific MIBs must
               define the exact meaning, use, and semantics of the
               addresses in this group."

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

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

           OBJECT      ifStackStatus
           SYNTAX      INTEGER { active(1) } -- subset of RowStatus
           MIN-ACCESS  read-only
           DESCRIPTION
               "Write access is not required, and only one of the six
               enumerated values for the RowStatus textual convention
               need be supported, specifically: active(1)."

           OBJECT       ifAdminStatus
           SYNTAX       INTEGER { up(1), down(2) }
           MIN-ACCESS   read-only
           DESCRIPTION
               "Write access is not required, nor is support for the
               value testing(3)."
       ::= { ifCompliances 1 }


   -- units of conformance

   ifGeneralGroup    OBJECT-GROUP
       OBJECTS { ifDescr, ifType, ifSpeed, ifPhysAddress,
                 ifAdminStatus, ifOperStatus, ifLastChange,
                 ifLinkUpDownTrapEnable, ifConnectorPresent,
                 ifHighSpeed, ifName }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing information
               applicable to all network interfaces."
       ::= { ifGroups 1 }

   -- the following five groups are mutually exclusive; at most
   -- one of these groups is implemented for any interface

   ifFixedLengthGroup    OBJECT-GROUP
       OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
                 ifInErrors, ifOutErrors }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing information
               specific to non-high speed, character-oriented or
               fixed-length-transmission network interfaces.  (Non-
               high speed interfaces transmit and receive at speeds
               less than or equal to 20,000,000 bits/second.)"
       ::= { ifGroups 2 }

   ifHCFixedLengthGroup    OBJECT-GROUP
       OBJECTS { ifHCInOctets, ifHCOutOctets,
                 ifInOctets, ifOutOctets, ifInUnknownProtos,
                 ifInErrors, ifOutErrors }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing information
               specific to high speed (greater than 20,000,000
               bits/second) character-oriented or fixed-length-
               transmission network interfaces."
       ::= { ifGroups 3 }

   ifPacketGroup    OBJECT-GROUP
       OBJECTS { ifInOctets, ifOutOctets, ifInUnknownProtos,
                 ifInErrors, ifOutErrors,
                 ifMtu, ifInUcastPkts, ifInMulticastPkts,
                 ifInBroadcastPkts, ifInDiscards,
                 ifOutUcastPkts, ifOutMulticastPkts,
                 ifOutBroadcastPkts, ifOutDiscards,
                 ifPromiscuousMode }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing information
               specific to non-high speed, packet-oriented network
               interfaces.  (Non-high speed interfaces transmit and
               receive at speeds less than or equal to 20,000,000
               bits/second.)"
       ::= { ifGroups 4 }

   ifHCPacketGroup    OBJECT-GROUP
       OBJECTS { ifHCInOctets, ifHCOutOctets,
                 ifInOctets, ifOutOctets, ifInUnknownProtos,
                 ifInErrors, ifOutErrors,
                 ifMtu, ifInUcastPkts, ifInMulticastPkts,
                 ifInBroadcastPkts, ifInDiscards,
                 ifOutUcastPkts, ifOutMulticastPkts,
                 ifOutBroadcastPkts, ifOutDiscards,
                 ifPromiscuousMode }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing information
               specific to high speed (greater than 20,000,000
               bits/second but less than or equal to 650,000,000
               bits/second) packet-oriented network interfaces."
       ::= { ifGroups 5 }

   ifVHCPacketGroup    OBJECT-GROUP
       OBJECTS { ifHCInUcastPkts, ifHCInMulticastPkts,
                 ifHCInBroadcastPkts, ifHCOutUcastPkts,
                 ifHCOutMulticastPkts, ifHCOutBroadcastPkts,
                 ifHCInOctets, ifHCOutOctets,
                 ifInOctets, ifOutOctets, ifInUnknownProtos,
                 ifInErrors, ifOutErrors,
                 ifMtu, ifInUcastPkts, ifInMulticastPkts,
                 ifInBroadcastPkts, ifInDiscards,
                 ifOutUcastPkts, ifOutMulticastPkts,
                 ifOutBroadcastPkts, ifOutDiscards,
                 ifPromiscuousMode }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing information
               specific to higher speed (greater than 650,000,000
               bits/second) packet-oriented network interfaces."
       ::= { ifGroups 6 }

   ifRcvAddressGroup    OBJECT-GROUP
       OBJECTS { ifRcvAddressStatus, ifRcvAddressType }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing information on the
               multiple addresses which an interface receives."
       ::= { ifGroups 7 }

   ifTestGroup    OBJECT-GROUP
       OBJECTS { ifTestId, ifTestStatus, ifTestType,
                 ifTestResult, ifTestCode, ifTestOwner }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing the ability to
               invoke tests on an interface."
       ::= { ifGroups 8 }

   ifStackGroup    OBJECT-GROUP
       OBJECTS { ifStackStatus }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing information on the
               layering of MIB-II interfaces."
       ::= { ifGroups 9 }

   END
          SONET-MIB DEFINITIONS ::= BEGIN


          IMPORTS
              MODULE-IDENTITY, OBJECT-TYPE, Gauge32,
              Integer32
                    FROM SNMPv2-SMI
              DisplayString
                    FROM SNMPv2-TC
              MODULE-COMPLIANCE, OBJECT-GROUP
                    FROM SNMPv2-CONF
              ifIndex, transmission
                    FROM RFC1213-MIB;

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


          sonetMIB MODULE-IDENTITY
              LAST-UPDATED "9401030000Z"
              ORGANIZATION "IETF AToM MIB 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 4196
                 E-mail: kaj@cc.bellcore.com"
              DESCRIPTION
                   "The MIB module to describe
                   SONET/SDH interfaces objects."
              ::= { transmission 39 }


          --  This is the MIB module for the SONET/SDH objects

          sonetObjects      OBJECT IDENTIFIER ::= { sonetMIB 1 }

          sonetObjectsPath  OBJECT IDENTIFIER ::= { sonetMIB 2 }

          sonetObjectsVT    OBJECT IDENTIFIER ::= { sonetMIB 3 }


          -- groups in the SONET/SDH MIB module

          sonetMedium       OBJECT IDENTIFIER ::= { sonetObjects 1 }

          sonetSection      OBJECT IDENTIFIER ::= { sonetObjects 2 }

          sonetLine         OBJECT IDENTIFIER ::= { sonetObjects 3 }

          sonetFarEndLine   OBJECT IDENTIFIER ::= { sonetObjects 4 }

          sonetPath         OBJECT IDENTIFIER ::= { sonetObjectsPath 1 }

          sonetFarEndPath   OBJECT IDENTIFIER ::= { sonetObjectsPath 2 }

          sonetVT           OBJECT IDENTIFIER ::= { sonetObjectsVT 1 }

          sonetFarEndVT     OBJECT IDENTIFIER ::= { sonetObjectsVT 2 }


          -- the SONET/SDH Medium group

          -- SONET/SDH interfaces for some applications may be
          -- electrical interfaces and not optical interfaces.
          -- This group handles the configuration information for
          -- both optical SONET/SDH interfaces and electrical
          -- SONET/SDH interfaces.

          sonetMediumTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetMediumEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "The SONET/SDH Medium table."
               ::= { sonetMedium 1 }

          sonetMediumEntry OBJECT-TYPE
              SYNTAX  SonetMediumEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "An entry in the SONET/SDH Medium table."
              INDEX   { ifIndex }
               ::= { sonetMediumTable 1 }

          SonetMediumEntry ::=
              SEQUENCE {
                   sonetMediumType               INTEGER,
                   sonetMediumTimeElapsed        Integer32,
                   sonetMediumValidIntervals     Integer32,
                   sonetMediumLineCoding         INTEGER,
                   sonetMediumLineType           INTEGER,
                   sonetMediumCircuitIdentifier  DisplayString
              }


          sonetMediumType OBJECT-TYPE
              SYNTAX  INTEGER  {
                         sonet(1),
                         sdh(2)
                      }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "This variable identifies whether a SONET
                 or a SDH signal is used across this interface."
              ::= { sonetMediumEntry 1 }

          sonetMediumTimeElapsed OBJECT-TYPE
              SYNTAX  Integer32 (1..900)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The number of seconds, including partial
                 seconds, that have elapsed since the beginning of
                 the current error-measurement period."
              ::= { sonetMediumEntry 2 }

          sonetMediumValidIntervals OBJECT-TYPE
              SYNTAX  Integer32 (0..96)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The number of previous intervals for which valid
                 data has been stored.  A SONET device must support
                 at least n intervals.
                 The minimum value of n is 4.
                 The default of n is 32.
                 The maximum value of n is 96.
                 The value of this object will be n unless
                 the device was brought online within the last
                 (nx15) minutes, in which case the value will be the
                 number of complete 15 minute intervals the device has
                 been online."
              ::= { sonetMediumEntry 3 }

          sonetMediumLineCoding OBJECT-TYPE
              SYNTAX  INTEGER {
                          sonetMediumOther(1),
                          sonetMediumB3ZS(2),
                          sonetMediumCMI(3),
                          sonetMediumNRZ(4),
                          sonetMediumRZ(5)
                      }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "This variable describes the line coding for
                 this interface. The B3ZS and CMI are used for
                 electrical SONET/SDH signals (STS-1 and STS-3).
                 The Non-Return to Zero (NRZ) and the Return
                 to Zero are used for optical SONET/SDH signals."
              ::= { sonetMediumEntry 4 }

          sonetMediumLineType OBJECT-TYPE
              SYNTAX  INTEGER {
                          sonetOther(1),
                          sonetShortSingleMode(2),
                          sonetLongSingleMode(3),
                          sonetMultiMode(4),
                          sonetCoax(5),
                          sonetUTP(6)
                      }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "This variable describes the line type for
                 this interface. The line types are
                 Short and Long Range
                 Single Mode fiber or Multi-Mode fiber interfaces,
                 and coax and UTP for electrical interfaces.  The
                 value sonetOther should be used when the Line Type is
                 not one of the listed values."
              ::= { sonetMediumEntry 5 }

          sonetMediumCircuitIdentifier OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "This variable contains the transmission
                 vendor's circuit identifier, for the
                 purpose of facilitating troubleshooting."
              ::= { sonetMediumEntry 6 }


          -- the SONET/SDH Section group

          -- this group consists of 2 tables:
          -- - the SONET/SDH Section Current Table
          -- - the SONET/SDH Section Interval Table



          -- the SONET/SDH Section Current Table

          -- The SONET/SDH Section
          -- current table contains various statistics
          -- being collected for the current 15 minute interval.

          sonetSectionCurrentTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetSectionCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "The SONET/SDH Section Current table."
               ::= { sonetSection 1 }

          sonetSectionCurrentEntry OBJECT-TYPE
              SYNTAX  SonetSectionCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "An entry in the SONET/SDH Section Current table."
              INDEX   { ifIndex }
               ::= { sonetSectionCurrentTable 1 }

          SonetSectionCurrentEntry ::=
              SEQUENCE {
                  sonetSectionCurrentStatus   Integer32,
                  sonetSectionCurrentESs      Gauge32,
                  sonetSectionCurrentSESs     Gauge32,
                  sonetSectionCurrentSEFSs    Gauge32,
                  sonetSectionCurrentCVs      Gauge32
              }


          sonetSectionCurrentStatus OBJECT-TYPE
              SYNTAX  Integer32 (1..6)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "This variable indicates the
                 status of the interface.
                 The sonetSectionCurrentStatus
                 is a bit map represented
                 as a sum, therefore,
                 it can represent multiple defects
                 simultaneously.
                 The sonetSectionNoDefect should be
                 set if and only if
                 no other flag is set.

                 The various bit positions are:
                       1   sonetSectionNoDefect
                       2   sonetSectionLOS
                       4   sonetSectionLOF"
               ::= { sonetSectionCurrentEntry 1 }

          sonetSectionCurrentESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The counter associated with the number of Errored
                 Seconds encountered by a SONET/SDH
                 Section in the current 15 minute interval."
               ::= { sonetSectionCurrentEntry 2 }

          sonetSectionCurrentSESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The counter associated with the number of
                 Severely Errored Seconds
                 encountered by a SONET/SDH Section in the current 15
                 minute interval."
               ::= { sonetSectionCurrentEntry 3 }

          sonetSectionCurrentSEFSs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The counter associated with the number of
                 Severely Errored Framing Seconds
                 encountered by a SONET/SDH Section in the current
                 15 minute interval."
              ::= { sonetSectionCurrentEntry 4 }

          sonetSectionCurrentCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The counter associated with the number of Coding
                 Violations encountered by a
                 SONET/SDH Section in the current 15 minute interval."
               ::= { sonetSectionCurrentEntry 5 }


          -- the SONET/SDH Section Interval Table

          -- The SONET/SDH Section Interval Table
          -- contains various statistics
          -- collected by each system over a maximum
          -- of the previous 24 hours of
          -- operation.  The past 24 hours may be broken into 96
          -- completed 15 minute intervals.
          -- A system is required to store at
          -- least 4 completed 15 minute interval.
          -- The default value is 32 intervals.

          sonetSectionIntervalTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetSectionIntervalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "The SONET/SDH Section Interval table."
               ::= { sonetSection 2 }

          sonetSectionIntervalEntry OBJECT-TYPE
              SYNTAX  SonetSectionIntervalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "An entry in the SONET/SDH Section Interval table."
              INDEX   { ifIndex,
                        sonetSectionIntervalNumber }
               ::= { sonetSectionIntervalTable 1 }

          SonetSectionIntervalEntry ::=
              SEQUENCE {
                   sonetSectionIntervalNumber  Integer32,
                   sonetSectionIntervalESs     Gauge32,
                   sonetSectionIntervalSESs    Gauge32,
                   sonetSectionIntervalSEFSs   Gauge32,
                   sonetSectionIntervalCVs     Gauge32
              }


          sonetSectionIntervalNumber OBJECT-TYPE
              SYNTAX  Integer32 (1..96)
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                "A number between 1 and 96, which identifies the
                interval for which the set of statistics is available.
                The interval identified by 1 is the most recently
                completed 15 minute interval,
                and the interval identified
                by N is the interval immediately preceding the
                one identified
                by N-1."
               ::= { sonetSectionIntervalEntry 1 }

          sonetSectionIntervalESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The counter associated with the number of
                 Errored Seconds encountered
                 by a SONET/SDH Section in a
                 particular 15-minute interval
                 in the past 24 hours."
               ::= { sonetSectionIntervalEntry 2 }

          sonetSectionIntervalSESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The counter associated with the number of
                 Severely Errored Seconds
                 encountered by a SONET/SDH Section in a
                 particular 15-minute interval
                 in the past 24 hours."
              ::= { sonetSectionIntervalEntry 3 }

          sonetSectionIntervalSEFSs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The counter associated with the number of
                 Severely Errored Framing Seconds
                 encountered by a SONET/SDH Section in a
                 particular 15-minute interval
                 in the past 24 hours."
              ::= { sonetSectionIntervalEntry 4 }

          sonetSectionIntervalCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The counter associated with the number of Coding
                 Violations encountered by a
                 SONET/SDH Section in a particular 15-minute interval
                 in the past 24 hours."
              ::= { sonetSectionIntervalEntry 5 }


          -- the SONET/SDH Line group

          -- this group consists of 2 tables:
          -- - the SONET/SDH Line Current Table
          -- - the SONET/SDH Line Interval Table


          -- the SONET/SDH Line Current Table

          -- The SONET/SDH Line
          -- current table contains various statistics
          -- being collected for the current 15 minute interval.

          sonetLineCurrentTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetLineCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                "The SONET/SDH Line Current table."
              ::= { sonetLine 1 }

          sonetLineCurrentEntry OBJECT-TYPE
              SYNTAX  SonetLineCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                "An entry in the SONET/SDH Line Current table."
              INDEX   { ifIndex }
              ::= { sonetLineCurrentTable 1 }

          SonetLineCurrentEntry ::=
              SEQUENCE {
                   sonetLineCurrentStatus    Integer32,
                   sonetLineCurrentESs       Gauge32,
                   sonetLineCurrentSESs      Gauge32,
                   sonetLineCurrentCVs       Gauge32,
                   sonetLineCurrentUASs      Gauge32
               }


          sonetLineCurrentStatus OBJECT-TYPE
              SYNTAX  Integer32 (1..6)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "This variable indicates the
                 status of the interface.
                 The sonetLineCurrentStatus
                 is a bit map represented
                 as a sum, therefore,
                 it can represent multiple defects
                 simultaneously.
                 The sonetLineNoDefect should be
                 set if and only if
                 no other flag is set.

                 The various bit positions are:
                  1   sonetLineNoDefect
                  2   sonetLineAIS
                  4   sonetLineRDI"
               ::= { sonetLineCurrentEntry 1 }

          sonetLineCurrentESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of Errored
               Seconds encountered by a SONET/SDH
               Line in the current 15 minute interval."
              ::= { sonetLineCurrentEntry 2 }

          sonetLineCurrentSESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of
               Severely Errored Seconds
               encountered by a SONET/SDH Line in the current 15
               minute
               interval."
              ::= { sonetLineCurrentEntry 3 }

          sonetLineCurrentCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of Coding
               Violations encountered by a
               SONET/SDH Line in the current 15 minute interval."
              ::= { sonetLineCurrentEntry 4 }

          sonetLineCurrentUASs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of
               Unavailable Seconds
               encountered by a SONET/SDH Line in the current 15
               minute
               interval."
              ::= { sonetLineCurrentEntry 5 }


          -- the SONET/SDH Line Interval Table

          -- The SONET/SDH Line Interval Table
          -- contains various statistics
          -- collected by each system over a maximum
          -- of the previous 24 hours of
          -- operation.  The past 24 hours may be broken into 96
          -- completed 15 minute intervals.
          -- A system is required to store at
          -- least 4 completed 15 minute interval.
          -- The default value is 32 intervals.

          sonetLineIntervalTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetLineIntervalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "The SONET/SDH Line Interval table."
               ::= { sonetLine 2 }

          sonetLineIntervalEntry OBJECT-TYPE
              SYNTAX  SonetLineIntervalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "An entry in the SONET/SDH Line Interval table."
             INDEX   { ifIndex,
                       sonetLineIntervalNumber }
             ::= { sonetLineIntervalTable 1 }

          SonetLineIntervalEntry ::=
              SEQUENCE {
                  sonetLineIntervalNumber    Integer32,
                  sonetLineIntervalESs       Gauge32,
                  sonetLineIntervalSESs      Gauge32,
                  sonetLineIntervalCVs       Gauge32,
                  sonetLineIntervalUASs      Gauge32
              }


          sonetLineIntervalNumber OBJECT-TYPE
              SYNTAX  Integer32 (1..96)
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "A number between 1 and 96, which identifies the
                  interval for which the set of statistics is available.
                  The interval identified by 1 is the most recently
                  completed 15 minute interval,
                  and the interval identified
                  by N is the interval immediately preceding the
                  one identified
                  by N-1."
               ::= { sonetLineIntervalEntry 1 }

          sonetLineIntervalESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The counter associated with the number of
                 Errored Seconds encountered
                 by a SONET/SDH Line in a
                 particular 15-minute interval
                 in the past 24 hours."
               ::= { sonetLineIntervalEntry 2 }

          sonetLineIntervalSESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                 "The counter associated with the number of
                 Severely Errored Seconds
                 encountered by a SONET/SDH Line in a
                 particular 15-minute interval
                 in the past 24 hours."
                ::= { sonetLineIntervalEntry 3 }

          sonetLineIntervalCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                "The counter associated with the number of Coding
                Violations encountered by a
                SONET/SDH Line in a
                particular 15-minute interval
                in the past 24 hours."
              ::= { sonetLineIntervalEntry 4 }

          sonetLineIntervalUASs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                "The counter associated with the
                number of Unavailable Seconds
                encountered by a SONET/SDH Line in
                a particular 15-minute interval
                in the past 24 hours."
              ::= { sonetLineIntervalEntry 5 }


          -- The SONET/SDH Far End Line group.
          -- This group may only be implemented by SONET/SDH (LTEs)
          -- systems that provide for a far end block error (FEBE)
          -- information at the SONET/SDH Line Layer.

          -- This group consists of two tables:
          --    SONET/SDH Far End Line Current Table
          --    SONET/SDH Far End Line Interval Table



          -- The SONET/SDH Far End Line Current Table

          -- The SONET/SDH Far End Line Current table contains
          -- various statistics being
          -- collected for the current 15 minute interval.
          -- The statistics are collected from the far end
          -- block error code (FEBE)
          -- within the third Z2 byte of the Line Overhead
          -- in Broadband ISDN applications.
          -- The definitions are the same as described for
          -- the near-end information.

          sonetFarEndLineCurrentTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetFarEndLineCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                "The SONET/SDH Far End Line Current table."
              ::= { sonetFarEndLine 1 }

          sonetFarEndLineCurrentEntry OBJECT-TYPE
              SYNTAX  SonetFarEndLineCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                "An entry in the SONET/SDH Far End Line Current table."
              INDEX   { ifIndex }
              ::= { sonetFarEndLineCurrentTable 1 }

          SonetFarEndLineCurrentEntry ::=
              SEQUENCE {
                  sonetFarEndLineCurrentESs       Gauge32,
                  sonetFarEndLineCurrentSESs      Gauge32,
                  sonetFarEndLineCurrentCVs       Gauge32,
                  sonetFarEndLineCurrentUASs      Gauge32
                 }


          sonetFarEndLineCurrentESs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                 "The counter associated with the number of Far
                 Far End Errored Seconds encountered by a SONET/SDH
                 interface in the current 15 minute interval."
             ::= { sonetFarEndLineCurrentEntry 1 }

          sonetFarEndLineCurrentSESs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                 "The counter associated with the number of
                 Far End Severely Errored Seconds
                 encountered by a SONET/SDH Medium/Section/Line
                 interface in the current 15 minute
                 interval."
             ::= { sonetFarEndLineCurrentEntry 2 }

          sonetFarEndLineCurrentCVs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                 "The counter associated with the number of
                 Far End Coding Violations reported via
                 the far end block error count
                 encountered by a
                 SONET/SDH Medium/Section/Line
                 interface in the current 15 minute interval."
             ::= { sonetFarEndLineCurrentEntry 3 }

          sonetFarEndLineCurrentUASs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                 "The counter associated with the number of
                 Far End Unavailable Seconds
                 encountered by a
                 SONET/SDH Medium/Section/Line
                 interface in the current 15 minute interval."
             ::= { sonetFarEndLineCurrentEntry 4 }


          -- The SONET/SDH Far End Line Interval Table

          -- The SONET/SDH Far End Line Interval Table
          -- contains various statistics
          -- collected by each system over a maximum
          -- of the previous 24 hours of
          -- operation.  The past 24 hours may be broken into 96
          -- completed 15 minute intervals.
          -- A system is required to store at
          -- least 4 completed 15 minute interval.
          -- The default value is 32 intervals.

          sonetFarEndLineIntervalTable OBJECT-TYPE
             SYNTAX  SEQUENCE OF SonetFarEndLineIntervalEntry
             MAX-ACCESS  not-accessible
             STATUS  current
             DESCRIPTION
                "The SONET/SDH Far End Line Interval table."
             ::= { sonetFarEndLine 2 }

          sonetFarEndLineIntervalEntry OBJECT-TYPE
             SYNTAX  SonetFarEndLineIntervalEntry
             MAX-ACCESS  not-accessible
             STATUS  current
             DESCRIPTION
               "An entry in the SONET/SDH Far
               End Line Interval table."
             INDEX   { ifIndex,
                       sonetFarEndLineIntervalNumber }
             ::= { sonetFarEndLineIntervalTable 1 }

          SonetFarEndLineIntervalEntry ::=
              SEQUENCE {
                   sonetFarEndLineIntervalNumber    Integer32,
                   sonetFarEndLineIntervalESs       Gauge32,
                   sonetFarEndLineIntervalSESs      Gauge32,
                   sonetFarEndLineIntervalCVs       Gauge32,
                   sonetFarEndLineIntervalUASs      Gauge32
              }


          sonetFarEndLineIntervalNumber OBJECT-TYPE
             SYNTAX  Integer32 (1..96)
             MAX-ACCESS  not-accessible
             STATUS  current
             DESCRIPTION
                   "A number between 1 and 96, which identifies the
                   interval for which the set of statistics is available.
                   The interval identified by 1 is the most recently
                   completed 15 minute interval,
                   and the interval identified
                   by N is the interval immediately preceding the
                   one identified
                   by N-1."
             ::= { sonetFarEndLineIntervalEntry 1 }

          sonetFarEndLineIntervalESs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                  "The counter associated with the number of
                  Far End Errored Seconds encountered
                  by a SONET/SDH Line
                  interface in a particular 15-minute interval
                  in the past 24 hours."
            ::= { sonetFarEndLineIntervalEntry 2 }

          sonetFarEndLineIntervalSESs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                  "The counter associated with the number of
                  Far End Severely Errored Seconds
                  encountered by a SONET/SDH Line
                  interface in a particular 15-minute interval
                  in the past 24 hours."
            ::= { sonetFarEndLineIntervalEntry 3 }

          sonetFarEndLineIntervalCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                   "The counter associated with the number of
                   Far End Coding Violations reported via
                   the far end block error count
                   encountered by a
                   SONET/SDH Line
                   interface in a particular 15-minute interval
                   in the past 24 hours."
              ::= { sonetFarEndLineIntervalEntry 4 }

          sonetFarEndLineIntervalUASs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                 "The counter associated with the number of
                 Far End Unavailable Seconds
                 encountered by a
                 SONET/SDH Line
                 interface in a particular 15-minute interval
                 in the past 24 hours."
             ::= { sonetFarEndLineIntervalEntry 5 }


          -- the SONET/SDH Path group

          -- this group consists of 2 tables:
          -- - the SONET/SDH Path Current Table
          -- - the SONET/SDH Path Interval Table


          -- the SONET/SDH Path Current Table

          -- The SONET/SDH Path
          -- current table contains various statistics
          -- being collected for the current 15 minute interval.

          sonetPathCurrentTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetPathCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
               "The SONET/SDH Path Current table."
          ::= { sonetPath 1 }

          sonetPathCurrentEntry OBJECT-TYPE
              SYNTAX  SonetPathCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
               "An entry in the SONET/SDH Path Current table."
              INDEX   { ifIndex }
          ::= { sonetPathCurrentTable 1 }

          SonetPathCurrentEntry ::=
              SEQUENCE {
                  sonetPathCurrentWidth      INTEGER,
                  sonetPathCurrentStatus     Integer32,
                  sonetPathCurrentESs        Gauge32,
                  sonetPathCurrentSESs       Gauge32,
                  sonetPathCurrentCVs        Gauge32,
                  sonetPathCurrentUASs       Gauge32
              }


          sonetPathCurrentWidth OBJECT-TYPE
              SYNTAX  INTEGER  {
                      sts1(1),
                      sts3cSTM1(2),
                      sts12cSTM4(3),
                      sts24c(4),
                      sts48cSTM16(5)
               }
--              MAX-ACCESS  read-write
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "A value that indicates the type of the SONET/SDH
               Path.  For SONET, the assigned types are
               the STS-Nc SPEs, where N = 1, 3, 12, 24, and 48.
               STS-1 is equal to 51.84 Mbps.  For SDH, the assigned
               types are the STM-Nc VCs, where N = 1, 4, and 16."
          ::= { sonetPathCurrentEntry 1 }

          sonetPathCurrentStatus OBJECT-TYPE
              SYNTAX  Integer32 (1..14)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                "This variable indicates the
                status of the interface.
                The sonetPathCurrentStatus
                is a bit map represented
                as a sum, therefore,
                it can represent multiple defects
                simultaneously.
                The sonetPathNoDefect should be
                set if and only if
                no other flag is set.

                The various bit positions are:
                   1   sonetPathNoDefect
                   2   sonetPathSTSLOP
                   4   sonetPathSTSAIS
                   8   sonetPathSTSRDI
                  16   sonetPathUnequipped
                  32   sonetPathSignalLabelMismatch"
          ::= { sonetPathCurrentEntry 2 }

          sonetPathCurrentESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of Errored
               Seconds encountered by a SONET/SDH
               Path in the current 15 minute interval."
          ::= { sonetPathCurrentEntry 3 }

          sonetPathCurrentSESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of
               Severely Errored Seconds
               encountered by a SONET/SDH Path in the current 15
               minute
               interval."
          ::= { sonetPathCurrentEntry 4 }

          sonetPathCurrentCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of Coding
               Violations encountered by a
               SONET/SDH Path in the current 15 minute interval."
          ::= { sonetPathCurrentEntry 5 }

          sonetPathCurrentUASs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of
               Unavailable Seconds
               encountered by a Path in the current
               15 minute, interval."
          ::= { sonetPathCurrentEntry 6 }
          -- the SONET/SDH Path Interval Table

          -- The SONET/SDH Path Interval Table
          -- contains various statistics
          -- collected by each system over a maximum
          -- of the previous 24 hours of
          -- operation.  The past 24 hours may be broken into 96
          -- completed 15 minute intervals.
          -- A system is required to store at
          -- least 4 completed 15 minute interval.
          -- The default value is 32 intervals.

          sonetPathIntervalTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetPathIntervalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
               "The SONET/SDH Path Interval table."
          ::= { sonetPath 2 }

          sonetPathIntervalEntry OBJECT-TYPE
              SYNTAX  SonetPathIntervalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
               "An entry in the SONET/SDH Path Interval table."
              INDEX   { ifIndex,
                        sonetPathIntervalNumber }
          ::= { sonetPathIntervalTable 1 }


          SonetPathIntervalEntry ::=
              SEQUENCE {
                   sonetPathIntervalNumber     Integer32,
                   sonetPathIntervalESs        Gauge32,
                   sonetPathIntervalSESs       Gauge32,
                   sonetPathIntervalCVs        Gauge32,
                   sonetPathIntervalUASs       Gauge32
              }


          sonetPathIntervalNumber OBJECT-TYPE
              SYNTAX  Integer32 (1..96)
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "A number between 1 and 96, which identifies the
                 interval for which the set of statistics is available.
                 The interval identified by 1 is the most recently
                 completed 15 minute interval,
                 and the interval identified
                 by N is the interval immediately preceding the
                 one identified
                 by N-1."
          ::= { sonetPathIntervalEntry 1 }

          sonetPathIntervalESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of
               Errored Seconds encountered
               by a SONET/SDH Path in a
               particular 15-minute interval
               in the past 24 hours."
          ::= { sonetPathIntervalEntry 2 }

          sonetPathIntervalSESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of
               Severely Errored Seconds
               encountered by a SONET/SDH Path in
               a particular 15-minute interval
               in the past 24 hours."
          ::= { sonetPathIntervalEntry 3 }

          sonetPathIntervalCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of Coding
               Violations encountered by a
               SONET/SDH Path in a particular 15-minute interval
               in the past 24 hours."
          ::= { sonetPathIntervalEntry 4 }

          sonetPathIntervalUASs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of
               Unavailable Seconds
               encountered by a Path in a
               particular 15-minute interval
               in the past 24 hours."
          ::= { sonetPathIntervalEntry 5 }


          -- The SONET/SDH Far End Path group

          -- This group consists of two tables:
          --  - SONET/SDH Far End Path Current Table
          --  - SONET/SDH Far End Path Interval Table

          -- The SONET/SDH Far End Path Current Table

          -- The SONET/SDH Far End Path Current table
          -- contains various statistics
          -- being collected for the current 15 minute interval.
          -- The statistics are collected from
          -- the far end block error code
          -- (FEBE) within the G1 byte of the Path Overhead.
          -- The definitions are the same as described for
          -- the near-end information.

          sonetFarEndPathCurrentTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetFarEndPathCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                   "The SONET/SDH Far End Path Current table."
              ::= { sonetFarEndPath 1 }

          sonetFarEndPathCurrentEntry OBJECT-TYPE
              SYNTAX  SonetFarEndPathCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                   "An entry in the SONET/SDH Far End Path Current table."
              INDEX   { ifIndex }
              ::= { sonetFarEndPathCurrentTable 1 }

          SonetFarEndPathCurrentEntry ::=
              SEQUENCE {
                  sonetFarEndPathCurrentESs       Gauge32,
                  sonetFarEndPathCurrentSESs      Gauge32,
                  sonetFarEndPathCurrentCVs       Gauge32,
                  sonetFarEndPathCurrentUASs      Gauge32
              }


          sonetFarEndPathCurrentESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                   "The counter associated with the number of Far
                   Far End Errored Seconds encountered by a SONET/SDH
                   interface in the current 15 minute interval."
              ::= { sonetFarEndPathCurrentEntry 1 }

          sonetFarEndPathCurrentSESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                   "The counter associated with the number of
                   Far End Severely Errored Seconds
                   encountered by a SONET/SDH Path
                   interface in the current 15 minute
                   interval."
              ::= { sonetFarEndPathCurrentEntry 2 }

          sonetFarEndPathCurrentCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                   "The counter associated with the number of
                   Far End Coding Violations reported via
                   the far end block error count
                   encountered by a
                   SONET/SDH Path interface in
                   the current 15 minute interval."
              ::= { sonetFarEndPathCurrentEntry 3 }

          sonetFarEndPathCurrentUASs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                 "The counter associated with the number of
                 Far End Unavailable Seconds
                 encountered by a
                 SONET/SDH Path interface in
                 the current 15 minute interval."
             ::= { sonetFarEndPathCurrentEntry 4 }


          -- The SONET/SDH Far End Path Interval Table

          -- The SONET/SDH Far End Path Interval Table
          -- contains various statistics
          -- collected by each system over a maximum
          -- of the previous 24 hours of
          -- operation.  The past 24 hours may be broken into 96
          -- completed 15 minute intervals.
          -- A system is required to store at
          -- least 4 completed 15 minute interval.
          -- The default value is 32 intervals.

          sonetFarEndPathIntervalTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetFarEndPathIntervalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "The SONET/SDH Far End Path Interval table."
              ::= { sonetFarEndPath 2 }

          sonetFarEndPathIntervalEntry OBJECT-TYPE
              SYNTAX  SonetFarEndPathIntervalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "An entry in the SONET/SDH Far
                 End Path Interval table."
              INDEX   { ifIndex,
                        sonetFarEndPathIntervalNumber }
              ::= { sonetFarEndPathIntervalTable 1 }

          SonetFarEndPathIntervalEntry ::=
              SEQUENCE {
                   sonetFarEndPathIntervalNumber     Integer32,
                   sonetFarEndPathIntervalESs        Gauge32,
                   sonetFarEndPathIntervalSESs       Gauge32,
                   sonetFarEndPathIntervalCVs        Gauge32,
                   sonetFarEndPathIntervalUASs       Gauge32
              }


          sonetFarEndPathIntervalNumber OBJECT-TYPE
             SYNTAX  Integer32 (1..96)
             MAX-ACCESS  not-accessible
             STATUS  current
             DESCRIPTION
                  "A number between 1 and 96, which identifies the
                  interval for which the set of statistics is available.
                  The interval identified by 1 is the most recently
                  completed 15 minute interval,
                  and the interval identified
                  by N is the interval immediately preceding the
                  one identified
                  by N-1."
             ::= { sonetFarEndPathIntervalEntry 1 }

          sonetFarEndPathIntervalESs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                  "The counter associated with the number of
                  Far End Errored Seconds encountered
                  by a SONET/SDH Path interface in a
                  particular 15-minute interval
                  in the past 24 hours."
             ::= { sonetFarEndPathIntervalEntry 2 }

          sonetFarEndPathIntervalSESs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                  "The counter associated with the number of
                  Far End Severely Errored Seconds
                  encountered by a SONET/SDH Path interface
                  in a particular 15-minute interval
                  in the past 24 hours."
             ::= { sonetFarEndPathIntervalEntry 3 }

          sonetFarEndPathIntervalCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                   "The counter associated with the number of
                   Far End Coding Violations reported via
                   the far end block error count
                   encountered by a
                   SONET/SDH Path interface
                   in a particular 15-minute interval
                   in the past 24 hours."
              ::= { sonetFarEndPathIntervalEntry 4 }

          sonetFarEndPathIntervalUASs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                 "The counter associated with the number of
                 Far End Unavailable Seconds
                 encountered by a
                 SONET/SDH Path interface in
                 a particular 15-minute interval
                 in the past 24 hours."
             ::= { sonetFarEndPathIntervalEntry 5 }


          -- the SONET/SDH Virtual Tributary group

          -- this group consists of 2 tables:
          -- - the SONET/SDH VT Current Table
          -- - the SONET/SDH VT Interval Table

          -- For SDH signals, virtual tributaries are
          -- called VCs instead of VTs

          -- A VT1.5 = VC11
          -- A VT2 = VC12
          -- A VT3 = none
          -- A VT6 = VC3


          -- the SONET/SDH VT Current Table

          -- The SONET/SDH VT current table
          -- contains various statistics
          -- being collected for the
          -- current 15 minute interval.

          sonetVTCurrentTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetVTCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
               "The SONET/SDH VT Current table."
          ::= { sonetVT 1 }

          sonetVTCurrentEntry OBJECT-TYPE
              SYNTAX  SonetVTCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
               "An entry in the SONET/SDH VT Current table."
              INDEX   { ifIndex }
          ::= { sonetVTCurrentTable 1 }

          SonetVTCurrentEntry ::=
              SEQUENCE {
                  sonetVTCurrentWidth      INTEGER,
                  sonetVTCurrentStatus     Integer32,
                  sonetVTCurrentESs        Gauge32,
                  sonetVTCurrentSESs       Gauge32,
                  sonetVTCurrentCVs        Gauge32,
                  sonetVTCurrentUASs       Gauge32
              }


          sonetVTCurrentWidth OBJECT-TYPE
              SYNTAX  INTEGER {
                      vtWidth15VC11(1),
                      vtWidth2VC12(2),
                      vtWidth3(3),
                      vtWidth6VC2(4),
                      vtWidth6c(5)
                   }
              MAX-ACCESS  read-write
              STATUS  current
              DESCRIPTION
              "A value that indicates the type of the SONET
               VT and SDH VC.  Assigned widths are
               VT1.5/VC11, VT2/VC12, VT3, VT6/VC2, and VT6c."
          ::= { sonetVTCurrentEntry 1 }

          sonetVTCurrentStatus OBJECT-TYPE
              SYNTAX  Integer32 (1..30)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                "This variable indicates the
                status of the interface.
                The sonetVTCurrentStatus
                is a bit map represented
                as a sum, therefore,
                it can represent multiple defects
                and failures
                simultaneously.
                The sonetVTNoDefect should be
                set if and only if
                no other flag is set.
                The various bit positions are:
                   1   sonetVTNoDefect
                   2   sonetVTLOP
                   4   sonetVTPathAIS
                   8   sonetVTPathRDI
                  16   sonetVTPathRFI
                  32   sonetVTUnequipped
                  64   sonetVTSignalLabelMismatch"
          ::= { sonetVTCurrentEntry 2 }

          sonetVTCurrentESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of Errored
               Seconds encountered by a SONET/SDH
               VT in the current 15 minute interval."
          ::= { sonetVTCurrentEntry 3 }

          sonetVTCurrentSESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of
               Severely Errored Seconds
               encountered by a SONET/SDH VT in the current 15 minute
               interval."
          ::= { sonetVTCurrentEntry 4 }

          sonetVTCurrentCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of Coding
               Violations encountered by a
               SONET/SDH VT in the current 15 minute interval."
          ::= { sonetVTCurrentEntry 5 }

          sonetVTCurrentUASs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of
               Unavailable Seconds
               encountered by a VT in the current
               15 minute, interval."
          ::= { sonetVTCurrentEntry 6 }


          -- the SONET/SDH VT Interval Table

          -- The SONET/SDH VT Interval Table
          -- contains various statistics
          -- collected by each system over a maximum
          -- of the previous 24 hours of
          -- operation.  The past 24 hours may be broken into 96
          -- completed 15 minute intervals.
          -- A system is required to store at
          -- least 4 completed 15 minute interval.
          -- The default value is 32 intervals.

          sonetVTIntervalTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetVTIntervalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
               "The SONET/SDH VT Interval table."
          ::= { sonetVT 2 }

          sonetVTIntervalEntry OBJECT-TYPE
              SYNTAX  SonetVTIntervalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
               "An entry in the SONET/SDH VT Interval table."
              INDEX   { ifIndex,
                        sonetVTIntervalNumber }
          ::= { sonetVTIntervalTable 1 }

          SonetVTIntervalEntry ::=
              SEQUENCE {
                  sonetVTIntervalNumber     Integer32,
                  sonetVTIntervalESs        Gauge32,
                  sonetVTIntervalSESs       Gauge32,
                  sonetVTIntervalCVs        Gauge32,
                  sonetVTIntervalUASs       Gauge32
              }


          sonetVTIntervalNumber OBJECT-TYPE
              SYNTAX  Integer32 (1..96)
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                "A number between 1 and 96, which identifies the
                interval for which the set of statistics is available.
                The interval identified by 1 is the most recently
                completed 15 minute interval,
                and the interval identified
                by N is the interval immediately preceding the
                one identified
                by N-1."
          ::= { sonetVTIntervalEntry 1 }

          sonetVTIntervalESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of
               Errored Seconds encountered
               by a SONET/SDH VT in a particular 15-minute interval
               in the past 24 hours."
          ::= { sonetVTIntervalEntry 2 }

          sonetVTIntervalSESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of
               Severely Errored Seconds
               encountered by a SONET/SDH VT
               in a particular 15-minute interval
               in the past 24 hours."
          ::= { sonetVTIntervalEntry 3 }

          sonetVTIntervalCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of Coding
               Violations encountered by a
               SONET/SDH VT in a particular 15-minute interval
               in the past 24 hours."
          ::= { sonetVTIntervalEntry 4 }

          sonetVTIntervalUASs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
               "The counter associated with the number of
               Unavailable Seconds
               encountered by a VT in a particular 15-minute interval
               in the past 24 hours."
          ::= { sonetVTIntervalEntry 5 }


          -- The SONET/SDH Far End VT group

          -- This group consists of two tables:
          --    SONET/SDH Far End VT Current Table
          --    SONET/SDH Far End VT Interval Table


          -- The SONET/SDH Far End VT Current

          -- The SONET/SDH Far End VT Current table
          -- contains various statistics
          -- being collected for the current 15 minute interval.
          -- The statistics are collected from
          -- the far end block error code
          -- (FEBE) within the G1 byte of the VT Overhead.
          -- The definitions are the same as described for
          -- the near-end information.

          sonetFarEndVTCurrentTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetFarEndVTCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "The SONET/SDH Far End VT Current table."
              ::= { sonetFarEndVT 1 }

          sonetFarEndVTCurrentEntry OBJECT-TYPE
              SYNTAX  SonetFarEndVTCurrentEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                  "An entry in the SONET/SDH Far End VT Current table."
              INDEX   { ifIndex }
              ::= { sonetFarEndVTCurrentTable 1 }

          SonetFarEndVTCurrentEntry ::=
              SEQUENCE {
                  sonetFarEndVTCurrentESs       Gauge32,
                  sonetFarEndVTCurrentSESs      Gauge32,
                  sonetFarEndVTCurrentCVs       Gauge32,
                  sonetFarEndVTCurrentUASs      Gauge32
              }


          sonetFarEndVTCurrentESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "The counter associated with the number of Far
                  Far End Errored Seconds encountered by a SONET/SDH
                  interface in the current 15 minute interval."
          ::= { sonetFarEndVTCurrentEntry 1 }

          sonetFarEndVTCurrentSESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "The counter associated with the number of
                  Far End Severely Errored Seconds
                  encountered by a SONET/SDH VT interface
                  in the current 15 minute
                  interval."
              ::= { sonetFarEndVTCurrentEntry 2 }

          sonetFarEndVTCurrentCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "The counter associated with the number of
                  Far End Coding Violations reported via
                  the far end block error count
                  encountered by a
                  SONET/SDH VT interface
                  in the current 15 minute interval."
              ::= { sonetFarEndVTCurrentEntry 3 }

          sonetFarEndVTCurrentUASs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                "The counter associated with the number of
                Far End Unavailable Seconds
                encountered by a
                SONET/SDH VT interface
                in the current 15 minute interval."
             ::= { sonetFarEndVTCurrentEntry 4 }


          -- The SONET/SDH Far End VT Interval Table

          -- The SONET/SDH Far End VT Interval Table
          -- contains various statistics
          -- collected by each system over a maximum
          -- of the previous 24 hours of
          -- operation.  The past 24 hours may be broken into 96
          -- completed 15 minute intervals.
          -- A system is required to store at
          -- least 4 completed 15 minute interval.
          -- The default value is 32 intervals.

          sonetFarEndVTIntervalTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF SonetFarEndVTIntervalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "The SONET/SDH Far End VT Interval table."
              ::= { sonetFarEndVT 2 }

          sonetFarEndVTIntervalEntry OBJECT-TYPE
              SYNTAX  SonetFarEndVTIntervalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                "An entry in the SONET/SDH Far
                End VT Interval table."
              INDEX   { ifIndex,
                        sonetFarEndVTIntervalNumber }
              ::= { sonetFarEndVTIntervalTable 1 }

          SonetFarEndVTIntervalEntry ::=
             SEQUENCE {
                   sonetFarEndVTIntervalNumber     Integer32,
                   sonetFarEndVTIntervalESs        Gauge32,
                   sonetFarEndVTIntervalSESs       Gauge32,
                   sonetFarEndVTIntervalCVs        Gauge32,
                   sonetFarEndVTIntervalUASs       Gauge32
              }


          sonetFarEndVTIntervalNumber OBJECT-TYPE
              SYNTAX  Integer32 (1..96)
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                 "A number between 1 and 96, which identifies the
                 interval for which the set of statistics is available.
                 The interval identified by 1 is the most recently
                 completed 15 minute interval,
                 and the interval identified
                 by N is the interval immediately preceding the
                 one identified
                 by N-1."
              ::= { sonetFarEndVTIntervalEntry 1 }

          sonetFarEndVTIntervalESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                    "The counter associated with the number of
                    Far End Errored Seconds encountered
                    by a SONET/SDH VT interface
                    in a particular 15-minute interval
                    in the past 24 hours."
             ::= { sonetFarEndVTIntervalEntry 2 }

          sonetFarEndVTIntervalSESs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                    "The counter associated with the number of
                    Far End Severely Errored Seconds
                    encountered by a SONET/SDH VT interface
                    in a particular 15-minute interval
                    in the past 24 hours."
              ::= { sonetFarEndVTIntervalEntry 3 }

          sonetFarEndVTIntervalCVs OBJECT-TYPE
              SYNTAX  Gauge32
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                   "The counter associated with the number of
                   Far End Coding Violations reported via
                   the far end block error count
                   encountered by a
                   SONET/SDH VT interface in a
                   particular 15-minute interval
                   in the past 24 hours."
              ::= { sonetFarEndVTIntervalEntry 4 }

          sonetFarEndVTIntervalUASs OBJECT-TYPE
             SYNTAX  Gauge32
             MAX-ACCESS  read-only
             STATUS  current
             DESCRIPTION
                 "The counter associated with the number of
                 Far End Unavailable Seconds
                 encountered by a
                 SONET/SDH VT interface in a
                 particular 15-minute interval
                 in the past 24 hours."
             ::= { sonetFarEndVTIntervalEntry 5 }


          -- conformance information

          sonetConformance OBJECT IDENTIFIER ::= { sonetMIB 4 }

          sonetGroups      OBJECT IDENTIFIER ::= { sonetConformance 1 }
          sonetCompliances OBJECT IDENTIFIER ::= { sonetConformance 2 }


          -- compliance statements

          sonetCompliance MODULE-COMPLIANCE
              STATUS  current
              DESCRIPTION
                      "The compliance statement for SONET/SDH
                       interfaces."

              MODULE  -- this module
                  MANDATORY-GROUPS { sonetMediumStuff, sonetSectionStuff }

                  GROUP       sonetLineStuff
                  DESCRIPTION
                      "Implementation of this group is mandatory for all
                       SONET/SDH systems that terminate SONET/SDH Lines,
                       Paths or Virtual Tributaries."

                  GROUP       sonetFarEndLineStuff
                  DESCRIPTION
                      "Implementation of this group is optional for all
                       SONET/SDH systems that terminate SONET/SDH Lines,
                       Paths or Virtual Tributaries, and that
                       provide for a far end block error (FEBE)
                       information at the SONET/SDH Line Layer."

                  GROUP       sonetPathStuff
                  DESCRIPTION
                      "Implementation of this group is mandatory for all
                       SONET/SDH systems that terminate SONET/SDH
                       Paths or Virtual
                       Tributaries."

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

                  GROUP       sonetFarEndPathStuff
                  DESCRIPTION
                      "Implementation of this group is optional for all
                       SONET/SDH systems that terminate SONET/SDH
                       Paths or Virtual
                       Tributaries, and that process
                       Far End information."

                  GROUP       sonetVTStuff
                  DESCRIPTION
                      "Implementation of this group is mandatory for all
                       SONET/SDH systems that terminate SONET/SDH
                       Virtual Tributaries."

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

                  GROUP       sonetFarEndVTStuff
                  DESCRIPTION
                      "Implementation of this group is optional for
                       all SONET/SDH systems that terminate the
                       SONET/SDH floating Virtual Tributaries, and
                       that process Far End information."

              ::= { sonetCompliances 1 }

          -- units of conformance

          sonetMediumStuff    OBJECT-GROUP
              OBJECTS { sonetMediumType,
                        sonetMediumTimeElapsed,
                        sonetMediumValidIntervals,
                        sonetMediumLineCoding,
                        sonetMediumLineType,
                        sonetMediumCircuitIdentifier }
              STATUS  current
              DESCRIPTION
                      "A collection of objects providing configuration
                      information applicable to all SONET/SDH
                      interfaces."
              ::= { sonetGroups 1 }

          sonetSectionStuff    OBJECT-GROUP
              OBJECTS { sonetSectionCurrentStatus,
                        sonetSectionCurrentESs,
                        sonetSectionCurrentSESs,
                        sonetSectionCurrentSEFSs,
                        sonetSectionCurrentCVs,
                        sonetSectionIntervalESs,
                        sonetSectionIntervalSESs,
                        sonetSectionIntervalSEFSs,
                        sonetSectionIntervalCVs
           }
              STATUS  current
              DESCRIPTION
                      "A collection of objects providing information
                      specific to SONET/SDH Section interfaces."
              ::= { sonetGroups 2 }

          sonetLineStuff    OBJECT-GROUP
              OBJECTS { sonetLineCurrentStatus,
                        sonetLineCurrentESs,
                        sonetLineCurrentSESs,
                        sonetLineCurrentCVs,
                        sonetLineCurrentUASs,
                        sonetLineIntervalESs,
                        sonetLineIntervalSESs,
                        sonetLineIntervalCVs,
                        sonetLineIntervalUASs }
              STATUS  current
              DESCRIPTION
                      "A collection of objects providing information
                      specific to SONET/SDH Line interfaces."
              ::= { sonetGroups 3 }

          sonetFarEndLineStuff    OBJECT-GROUP
              OBJECTS { sonetFarEndLineCurrentESs,
                        sonetFarEndLineCurrentSESs,
                        sonetFarEndLineCurrentCVs,
                        sonetFarEndLineCurrentUASs,
                        sonetFarEndLineIntervalESs,
                        sonetFarEndLineIntervalSESs,
                        sonetFarEndLineIntervalCVs,
                        sonetFarEndLineIntervalUASs }
              STATUS  current
              DESCRIPTION
                      "A collection of objects providing information
                      specific to SONET/SDH Line interfaces,
                      and maintaining Line Far End information."
              ::= { sonetGroups 4 }

          sonetPathStuff    OBJECT-GROUP
              OBJECTS { sonetPathCurrentWidth,
                        sonetPathCurrentStatus,
                        sonetPathCurrentESs,
                        sonetPathCurrentSESs,
                        sonetPathCurrentCVs,
                        sonetPathCurrentUASs,
                        sonetPathIntervalESs,
                        sonetPathIntervalSESs,
                        sonetPathIntervalCVs,
                        sonetPathIntervalUASs }
              STATUS  current
              DESCRIPTION
                      "A collection of objects providing information
                      specific to SONET/SDH Path interfaces."
              ::= { sonetGroups 5 }

          sonetFarEndPathStuff    OBJECT-GROUP
              OBJECTS { sonetFarEndPathCurrentESs,
                        sonetFarEndPathCurrentSESs,
                        sonetFarEndPathCurrentCVs,
                        sonetFarEndPathCurrentUASs,
                        sonetFarEndPathIntervalESs,
                        sonetFarEndPathIntervalSESs,
                        sonetFarEndPathIntervalCVs,
                        sonetFarEndPathIntervalUASs }
              STATUS  current
              DESCRIPTION
                      "A collection of objects providing information
                      specific to SONET/SDH Path interfaces,
                      and maintaining Path Far End information."
              ::= { sonetGroups 6 }

          sonetVTStuff    OBJECT-GROUP
              OBJECTS { sonetVTCurrentWidth,
                        sonetVTCurrentStatus,
                        sonetVTCurrentESs,
                        sonetVTCurrentSESs,
                        sonetVTCurrentCVs,
                        sonetVTCurrentUASs,
                        sonetVTIntervalESs,
                        sonetVTIntervalSESs,
                        sonetVTIntervalCVs,
                        sonetVTIntervalUASs }
              STATUS  current
              DESCRIPTION
                      "A collection of objects providing information
                      specific to SONET/SDH VT interfaces."
              ::= { sonetGroups 7 }

          sonetFarEndVTStuff    OBJECT-GROUP
              OBJECTS { sonetFarEndVTCurrentESs,
                        sonetFarEndVTCurrentSESs,
                        sonetFarEndVTCurrentCVs,
                        sonetFarEndVTCurrentUASs,
                        sonetFarEndVTIntervalESs,
                        sonetFarEndVTIntervalSESs,
                        sonetFarEndVTIntervalCVs,
                        sonetFarEndVTIntervalUASs }
              STATUS  current
              DESCRIPTION
                      "A collection of objects providing information
                      specific to SONET/SDH VT interfaces,
                      and maintaining VT Far End information."
              ::= { sonetGroups 8 }



          END
   EtherLike-MIB DEFINITIONS ::= BEGIN

      IMPORTS
          Counter                FROM RFC1155-SMI
          ifIndex, transmission  FROM RFC1213-MIB
          OBJECT-TYPE            FROM RFC-1212;

       -- This MIB module uses the extended OBJECT-TYPE macro as
       -- defined in RFC-1212.

      dot3    OBJECT IDENTIFIER ::= { transmission 7 }

      -- the Ethernet-like Statistics group

       dot3StatsTable  OBJECT-TYPE
            SYNTAX     SEQUENCE OF Dot3StatsEntry
            ACCESS     not-accessible
            STATUS     mandatory
            DESCRIPTION
             "Statistics for a collection of ethernet-like
             interfaces attached to a particular system."
            ::= { dot3 2 }


       dot3StatsEntry   OBJECT-TYPE
            SYNTAX      Dot3StatsEntry
            ACCESS      not-accessible
            STATUS      mandatory
            DESCRIPTION
              "Statistics for a particular interface to an
              ethernet-like medium."
            INDEX     { dot3StatsIndex }
            ::= { dot3StatsTable 1 }

       Dot3StatsEntry ::= SEQUENCE {
            dot3StatsIndex                      INTEGER,
            dot3StatsAlignmentErrors            Counter,
            dot3StatsFCSErrors                  Counter,
            dot3StatsSingleCollisionFrames      Counter,
            dot3StatsMultipleCollisionFrames    Counter,
            dot3StatsSQETestErrors              Counter,
            dot3StatsDeferredTransmissions      Counter,
            dot3StatsLateCollisions             Counter,
            dot3StatsExcessiveCollisions        Counter,
            dot3StatsInternalMacTransmitErrors  Counter,
            dot3StatsCarrierSenseErrors         Counter,
            dot3StatsFrameTooLongs              Counter,
            dot3StatsInternalMacReceiveErrors   Counter,
            dot3StatsEtherChipSet               OBJECT IDENTIFIER
       }

       dot3StatsIndex   OBJECT-TYPE
            SYNTAX      INTEGER
            ACCESS      read-only
            STATUS      mandatory
            DESCRIPTION
              "An index value that uniquely identifies an
              interface to an ethernet-like medium.  The
              interface identified by a particular value of
              this index is the same interface as identified
              by the same value of ifIndex."
            ::= { dot3StatsEntry 1 }

       dot3StatsAlignmentErrors   OBJECT-TYPE
            SYNTAX     Counter
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION
             "A count of frames received on a particular
             interface that are not an integral number of
             octets in length and do not pass the FCS check.

             The count represented by an instance of this
             object is incremented when the alignmentError
             status is returned by the MAC service to the
             LLC (or other MAC user). Received frames for
             which multiple error conditions obtain are,
             according to the conventions of IEEE 802.3
             Layer Management, counted exclusively according
             to the error status presented to the LLC."
            REFERENCE
            "IEEE 802.3 Layer Management"
            ::= { dot3StatsEntry 2 }

       dot3StatsFCSErrors   OBJECT-TYPE
            SYNTAX      Counter
            ACCESS      read-only
            STATUS      mandatory
            DESCRIPTION
            "A count of frames received on a particular
            interface that are an integral number of octets
            in length but do not pass the FCS check.

            The count represented by an instance of this
            object is incremented when the frameCheckError
            status is returned by the MAC service to the
            LLC (or other MAC user). Received frames for
            which multiple error conditions obtain are,
            according to the conventions of IEEE 802.3
            Layer Management, counted exclusively according
            to the error status presented to the LLC."
            REFERENCE
            "IEEE 802.3 Layer Management"
            ::= { dot3StatsEntry 3 }

       dot3StatsSingleCollisionFrames   OBJECT-TYPE
            SYNTAX      Counter
            ACCESS      read-only
            STATUS      mandatory
            DESCRIPTION
            "A count of successfully transmitted frames on
            a particular interface for which transmission
            is inhibited by exactly one collision.

            A frame that is counted by an instance of this
            object is also counted by the corresponding
            instance of either the ifOutUcastPkts,
            ifOutMulticastPkts, or ifOutBroadcastPkts,
            and is not counted by the corresponding
            instance of the dot3StatsMultipleCollisionFrames
            object."
            REFERENCE
            "IEEE 802.3 Layer Management"
            ::= { dot3StatsEntry 4 }

       dot3StatsMultipleCollisionFrames   OBJECT-TYPE
            SYNTAX      Counter
            ACCESS      read-only
            STATUS      mandatory
            DESCRIPTION
            "A count of successfully transmitted frames on
            a particular interface for which transmission
             is inhibited by more than one collision.

            A frame that is counted by an instance of this
            object is also counted by the corresponding
            instance of either the ifOutUcastPkts,
            ifOutMulticastPkts, or ifOutBroadcastPkts,
            and is not counted by the corresponding
            instance of the dot3StatsSingleCollisionFrames
            object."
            REFERENCE
            "IEEE 802.3 Layer Management"
            ::= { dot3StatsEntry 5 }

       dot3StatsSQETestErrors   OBJECT-TYPE
            SYNTAX     Counter
            ACCESS     read-only
            STATUS     mandatory
            DESCRIPTION
            "A count of times that the SQE TEST ERROR
            message is generated by the PLS sublayer for a
            particular interface. The SQE TEST ERROR
            message is defined in section 7.2.2.2.4 of
            ANSI/IEEE 802.3-1985 and its generation is
            described in section 7.2.4.6 of the same
            document."
            REFERENCE
            "ANSI/IEEE Std 802.3-1985 Carrier Sense
            Multiple Access with Collision Detection Access
            Method and Physical Layer Specifications"
            ::= { dot3StatsEntry 6 }

       dot3StatsDeferredTransmissions   OBJECT-TYPE
            SYNTAX      Counter
            ACCESS      read-only
            STATUS      mandatory
            DESCRIPTION
            "A count of frames for which the first
            transmission attempt on a particular interface
            is delayed because the medium is busy.

            The count represented by an instance of this
            object does not include frames involved in
            collisions."
            REFERENCE
            "IEEE 802.3 Layer Management"
            ::= { dot3StatsEntry 7 }

       dot3StatsLateCollisions   OBJECT-TYPE
            SYNTAX      Counter
            ACCESS      read-only
            STATUS      mandatory
            DESCRIPTION
            "The number of times that a collision is
            detected on a particular interface later than
            512 bit-times into the transmission of a
            packet.

            Five hundred and twelve bit-times corresponds
            to 51.2 microseconds on a 10 Mbit/s system. A
            (late) collision included in a count
            represented by an instance of this object is
            also considered as a (generic) collision for
            purposes of other collision-related
            statistics."
            REFERENCE
            "IEEE 802.3 Layer Management"
            ::= { dot3StatsEntry 8 }

       dot3StatsExcessiveCollisions   OBJECT-TYPE
            SYNTAX    Counter
            ACCESS    read-only
            STATUS    mandatory
            DESCRIPTION
            "A count of frames for which transmission on a
            particular interface fails due to excessive
            collisions."
            REFERENCE
            "IEEE 802.3 Layer Management"
            ::= { dot3StatsEntry 9 }


       dot3StatsInternalMacTransmitErrors   OBJECT-TYPE
            SYNTAX    Counter
            ACCESS    read-only
            STATUS    mandatory
            DESCRIPTION
            "A count of frames for which transmission on a
            particular interface fails due to an internal
            MAC sublayer transmit error. A frame is only
            counted by an instance of this object if it is
            not counted by the corresponding instance of
            either the dot3StatsLateCollisions object, the
            dot3StatsExcessiveCollisions object, or the
            dot3StatsCarrierSenseErrors object.

            The precise meaning of the count represented by
            an instance of this object is implementation-
            specific.  In particular, an instance of this
            object may represent a count of transmission
            errors on a particular interface that are not
            otherwise counted."
            REFERENCE
            "IEEE 802.3 Layer Management"
            ::= { dot3StatsEntry 10 }

       dot3StatsCarrierSenseErrors   OBJECT-TYPE
            SYNTAX    Counter
            ACCESS    read-only
            STATUS    mandatory
            DESCRIPTION
            "The number of times that the carrier sense
            condition was lost or never asserted when
            attempting to transmit a frame on a particular
            interface.

            The count represented by an instance of this
            object is incremented at most once per
            transmission attempt, even if the carrier sense
            condition fluctuates during a transmission
            attempt."
            REFERENCE
            "IEEE 802.3 Layer Management"
            ::= { dot3StatsEntry 11 }

       -- { dot3StatsEntry 12 } is not assigned

       dot3StatsFrameTooLongs   OBJECT-TYPE
            SYNTAX    Counter
            ACCESS    read-only
            STATUS    mandatory
            DESCRIPTION
            "A count of frames received on a particular
            interface that exceed the maximum permitted
            frame size.

            The count represented by an instance of this
            object is incremented when the frameTooLong
            status is returned by the MAC service to the
            LLC (or other MAC user). Received frames for
            which multiple error conditions obtain are,
            according to the conventions of IEEE 802.3
            Layer Management, counted exclusively according
            to the error status presented to the LLC."
            REFERENCE
            "IEEE 802.3 Layer Management"
            ::= { dot3StatsEntry 13 }

       -- { dot3StatsEntry 14 } is not assigned

       -- { dot3StatsEntry 15 } is not assigned

       dot3StatsInternalMacReceiveErrors   OBJECT-TYPE
            SYNTAX    Counter
            ACCESS    read-only
            STATUS    mandatory
            DESCRIPTION
            "A count of frames for which reception on a
            particular interface fails due to an internal
            MAC sublayer receive error. A frame is only
            counted by an instance of this object if it is
            not counted by the corresponding instance of
            either the dot3StatsFrameTooLongs object, the
            dot3StatsAlignmentErrors object, or the
            dot3StatsFCSErrors object.

            The precise meaning of the count represented by
            an instance of this object is implementation-
            specific.  In particular, an instance of this
            object may represent a count of receive errors
            on a particular interface that are not
            otherwise counted."
            REFERENCE
            "IEEE 802.3 Layer Management"
            ::= { dot3StatsEntry 16 }

       dot3StatsEtherChipSet   OBJECT-TYPE
            SYNTAX        OBJECT IDENTIFIER
            ACCESS        read-only
            STATUS        mandatory
            DESCRIPTION
            "This object contains an OBJECT IDENTIFIER
            which identifies the chipset used to
            realize the interface. Ethernet-like
            interfaces are typically built out of
            several different chips. The MIB implementor
            is presented with a decision of which chip
            to identify via this object. The implementor
            should identify the chip which is usually
            called the Medium Access Control chip.
            If no such chip is easily identifiable,
            the implementor should identify the chip
            which actually gathers the transmit
            and receive statistics and error
            indications. This would allow a
            manager station to correlate the
            statistics and the chip generating
            them, giving it the ability to take
            into account any known anomalies
            in the chip."
            ::= { dot3StatsEntry 17 }

       -- the Ethernet-like Collision Statistics group

       -- Implementation of this group is optional; it is appropriate
       -- for all systems which have the necessary metering

       dot3CollTable  OBJECT-TYPE
            SYNTAX    SEQUENCE OF Dot3CollEntry
            ACCESS    not-accessible
            STATUS    mandatory
            DESCRIPTION
            "A collection of collision histograms for a
            particular set of interfaces."
            ::= { dot3 5 }


       dot3CollEntry  OBJECT-TYPE
            SYNTAX    Dot3CollEntry
            ACCESS    not-accessible
            STATUS    mandatory
            DESCRIPTION
            "A cell in the histogram of per-frame
            collisions for a particular interface.  An
            instance of this object represents the
            frequency of individual MAC frames for which
            the transmission (successful or otherwise) on a
            particular interface is accompanied by a
            particular number of media collisions."
            INDEX     { ifIndex, dot3CollCount }
            ::= { dot3CollTable 1 }

       Dot3CollEntry ::= SEQUENCE {
            dot3CollCount        INTEGER,
            dot3CollFrequencies  Counter
       }

       -- { dot3CollEntry 1 } is no longer in use

       dot3CollCount  OBJECT-TYPE
            SYNTAX    INTEGER (1..16)
            ACCESS    not-accessible
            STATUS    mandatory
            DESCRIPTION
            "The number of per-frame media collisions for
            which a particular collision histogram cell
            represents the frequency on a particular
            interface."
            ::= { dot3CollEntry 2 }


       dot3CollFrequencies   OBJECT-TYPE
            SYNTAX    Counter
            ACCESS    read-only
            STATUS    mandatory
            DESCRIPTION
            "A count of individual MAC frames for which the
            transmission (successful or otherwise) on a
            particular interface occurs after the
            frame has experienced exactly the number
            of collisions in the associated
            dot3CollCount object.

            For example, a frame which is transmitted
            on interface 77 after experiencing
            exactly 4 collisions would be indicated
            by incrementing only dot3CollFrequencies.77.4.
            No other instance of dot3CollFrequencies would
            be incremented in this example."
            ::= { dot3CollEntry 3 }

       --  802.3 Tests

       dot3Tests   OBJECT IDENTIFIER ::= { dot3 6 }

       dot3Errors  OBJECT IDENTIFIER ::= { dot3 7 }


       --  TDR Test

       -- The Time-Domain Reflectometry (TDR) test is specific
       -- to ethernet-like interfaces with the exception of
       -- 10BaseT and 10BaseF. The TDR value may be useful
       -- in determining the approximate distance to a cable fault.
       -- It is advisable to repeat this test to check for a
       -- consistent resulting TDR value, to verify that there
       -- is a fault.

       dot3TestTdr OBJECT IDENTIFIER ::= { dot3Tests 1 }

       -- A TDR test returns as its result the time interval,
       -- measured in 10 MHz ticks or 100 nsec units, between
       -- the start of TDR test transmission and the subsequent
       -- detection of a collision or deassertion of carrier.  On
       -- successful completion of a TDR test, the result is
       -- stored as the value of the appropriate instance of the
       -- MIB object dot3TestTdrValue, and the OBJECT IDENTIFIER
       -- of that instanceis stored in the corresponding instance
       -- of ifExtnsTestCode (thereby indicating where the
       -- result has been stored).


       -- Loopback Test

       -- Another test is the full-duplex loopback test.
       -- This test configures the MAC chip and executes
       -- an internal loopback test of memory, data paths,
       -- and the MAC chip logic.  This loopback test can
       -- only be executed if the interface is offline.
       -- Once the test has completed, the MAC chip should
       -- be reinitialized for network operation, but it
       -- should remain offline.

       dot3TestLoopBack OBJECT IDENTIFIER ::= { dot3Tests 2 }

       -- If an error occurs during a test, the object
       -- ifTestResult (defined in RFC1573) will be set
       -- to failed(7).  The following two OBJECT
       -- IDENTIFIERs may be used to provided more
       -- information as values for ifTestCode.

                -- couldn't initialize MAC chip for test
       dot3ErrorInitError     OBJECT IDENTIFIER ::= { dot3Errors 1 }

                -- expected data not received (or not
                -- received correctly) in loopback test
       dot3ErrorLoopbackError OBJECT IDENTIFIER ::= { dot3Errors 2 }

       -- RFC1573 does away with the interface chipset object.
       -- The following OBJECT IDENTIFIER definitions are
       -- retained for purposes of backwards compatibility
       -- with pre-RFC1573 systems.
       --  802.3 Hardware Chipsets

       -- The object ifExtnsChipSet is provided in RFC1229 to
       -- identify the MAC hardware used to communcate on an
       -- interface.  The following hardware chipsets are
       -- provided for 802.3:

       dot3ChipSets          OBJECT IDENTIFIER ::= { dot3 8 }
       dot3ChipSetAMD        OBJECT IDENTIFIER ::= { dot3ChipSets 1 }
       dot3ChipSetAMD7990    OBJECT IDENTIFIER ::= { dot3ChipSetAMD 1 }
       dot3ChipSetAMD79900   OBJECT IDENTIFIER ::= { dot3ChipSetAMD 2 }
       dot3ChipSetAMD79C940  OBJECT IDENTIFIER ::= { dot3ChipSetAMD 3 }

       dot3ChipSetIntel      OBJECT IDENTIFIER ::= { dot3ChipSets 2 }
       dot3ChipSetIntel82586 OBJECT IDENTIFIER ::= { dot3ChipSetIntel 1 }
       dot3ChipSetIntel82596 OBJECT IDENTIFIER ::= { dot3ChipSetIntel 2 }

       dot3ChipSetSeeq       OBJECT IDENTIFIER ::= { dot3ChipSets 3 }
       dot3ChipSetSeeq8003   OBJECT IDENTIFIER ::= { dot3ChipSetSeeq 1 }

       dot3ChipSetNational      OBJECT IDENTIFIER ::= { dot3ChipSets 4 }
       dot3ChipSetNational8390  OBJECT IDENTIFIER ::=
                                  { dot3ChipSetNational 1 }
       dot3ChipSetNationalSonic OBJECT IDENTIFIER ::=
                                  { dot3ChipSetNational 2 }

       dot3ChipSetFujitsu       OBJECT IDENTIFIER ::= { dot3ChipSets 5 }
       dot3ChipSetFujitsu86950  OBJECT IDENTIFIER ::=
                                  { dot3ChipSetFujitsu 1 }

       dot3ChipSetDigital       OBJECT IDENTIFIER ::= { dot3ChipSets 6 }
       dot3ChipSetDigitalDC21040  OBJECT IDENTIFIER ::=
                                  { dot3ChipSetDigital 1 }

       -- For those chipsets not represented above, OBJECT IDENTIFIER
       -- assignment is required in other documentation, e.g., assignment
       -- within that part of the registration tree delegated to
       -- individual enterprises (see RFC1155).

   END
OSPF-MIB DEFINITIONS ::= BEGIN

    IMPORTS
            MODULE-IDENTITY, Counter32, Gauge32,
            Integer32 
                FROM SNMPv2-SMI
            OBJECT-TYPE 
		FROM RFC1212
            IpAddress
		FROM RFC1155-SMI
            DisplayString
		FROM RFC1213-MIB
            TruthValue, RowStatus
                FROM SNMPv2-TC
            MODULE-COMPLIANCE, OBJECT-GROUP          FROM SNMPv2-CONF
            mib-2                                    FROM RFC1213-MIB;

--  This MIB module uses the extended OBJECT-TYPE macro as
--  defined in [9].

ospf MODULE-IDENTITY
        LAST-UPDATED "9501201225Z" -- Fri Jan 20 12:25:50 PST 1995
        ORGANIZATION "IETF OSPF Working Group"
        CONTACT-INFO
       "       Fred Baker
       Postal: Cisco Systems
               519 Lado Drive
               Santa Barbara, California 93111
       Tel:    +1 805 681 0115
       E-Mail: fred@cisco.com

               Rob Coltun
       Postal: RainbowBridge Communications
       Tel:    (301) 340-9416
       E-Mail: rcoltun@rainbow-bridge.com"
    DESCRIPTION
       "The MIB module to describe the OSPF Version 2
       Protocol"
    ::= { mib-2 14 }

--  The Area ID, in OSPF, has the same format as an IP Address,
--  but has the function of defining a summarization point for
--  Link State Advertisements

AreaID ::= IpAddress


--  The Router ID, in OSPF, has the same format as an IP Address,
--  but identifies the router independent of its IP Address.

RouterID ::= IpAddress


--  The OSPF Metric is defined as an unsigned value in the range

Metric ::= Integer32 (0..'FFFF'h)

BigMetric ::= Integer32 (0..'FFFFFF'h)

--  Status Values
--  The status of an interface: 'enabled' indicates that
--  it is willing to communicate with other OSPF Routers,
--  while 'disabled' indicates that it is not."
Status ::= INTEGER { enabled (1), disabled (2) }

--  Time Durations measured in seconds
--  "A positive integer. Values in excess are precluded as
--  unnecessary and prone to interoperability issues."
PositiveInteger ::= Integer32 (0..'7FFFFFFF'h)

-- "The range of intervals on which hello messages are exchanged."

HelloRange ::= Integer32 (1..'FFFF'h)

-- "The values that one might find or configure for
-- variables bounded by the maximum age of an LSA."

UpToMaxAge ::= Integer32 (0..3600)


--  The range of ifIndex
InterfaceIndex ::= Integer32


--  Potential Priorities for the Designated Router Election
--  "The values defined for the priority of a system for 
--  becoming the designated router."
DesignatedRouterPriority ::= Integer32 (0..'FF'h)

-- "Type of Service is defined as a mapping to the IP Type of
-- Service Flags as defined in the IP Forwarding Table MIB
--       +-----+-----+-----+-----+-----+-----+-----+-----+
--       |                 |                       |     |
--       |   PRECEDENCE    |    TYPE OF SERVICE    |  0  |
--       |                 |                       |     |
--       +-----+-----+-----+-----+-----+-----+-----+-----+

--                IP TOS                IP TOS
--           Field     Policy      Field     Policy

--          Contents    Code      Contents    Code
--           0 0 0 0  ==>   0      0 0 0 1  ==>   2
--           0 0 1 0  ==>   4      0 0 1 1  ==>   6
--           0 1 0 0  ==>   8      0 1 0 1  ==>  10
--           0 1 1 0  ==>  12      0 1 1 1  ==>  14
--           1 0 0 0  ==>  16      1 0 0 1  ==>  18
--           1 0 1 0  ==>  20      1 0 1 1  ==>  22
--           1 1 0 0  ==>  24      1 1 0 1  ==>  26
--           1 1 1 0  ==>  28      1 1 1 1  ==>  30

--       The remaining values are left for future definition."

TOSType ::= Integer32 (0..30)


--  OSPF General Variables

--      These parameters apply globally to the Router's
--      OSPF Process.

ospfGeneralGroup OBJECT IDENTIFIER ::= { ospf 1 }


    ospfRouterId OBJECT-TYPE
        SYNTAX   RouterID
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "A  32-bit  integer  uniquely  identifying  the
           router in the Autonomous System.

           By  convention,  to  ensure  uniqueness,   this
           should  default  to  the  value  of  one of the
           router's IP interface addresses."
       REFERENCE
          "OSPF Version 2, C.1 Global parameters"
      ::= { ospfGeneralGroup 1 }


    ospfAdminStat OBJECT-TYPE
        SYNTAX   Status
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The  administrative  status  of  OSPF  in  the
           router.   The  value 'enabled' denotes that the
           OSPF Process is active on at least  one  inter-
           face;  'disabled'  disables  it  on  all inter-
           faces."
       ::= { ospfGeneralGroup 2 }

    ospfVersionNumber OBJECT-TYPE
        SYNTAX   INTEGER    { version2 (2) }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The mandatory version number of the OSPF  proto-
           col is 2."
       REFERENCE
          "OSPF Version 2, Title"
      ::= { ospfGeneralGroup 3 }


    ospfAreaBdrRtrStatus OBJECT-TYPE
        SYNTAX   TruthValue
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A flag to note whether this router is an  area
           border router."
       REFERENCE
          "OSPF Version 2, Section 3 Splitting the AS into
          Areas"
      ::= { ospfGeneralGroup 4 }


    ospfASBdrRtrStatus OBJECT-TYPE
        SYNTAX   TruthValue
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "A flag to note whether this router is  config-
           ured as an Autonomous System border router."
       REFERENCE
          "OSPF Version 2, Section 3.3  Classification  of
          routers"
      ::= { ospfGeneralGroup 5 }

    ospfExternLsaCount OBJECT-TYPE
        SYNTAX   Gauge32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The number of external (LS type 5)  link-state
           advertisements in the link-state database."
       REFERENCE
          "OSPF Version 2, Appendix A.4.5 AS external link
          advertisements"
      ::= { ospfGeneralGroup 6 }


    ospfExternLsaCksumSum OBJECT-TYPE
        SYNTAX   Integer32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The 32-bit unsigned sum of the LS checksums of
           the  external  link-state  advertisements  con-
           tained in the link-state  database.   This  sum
           can  be  used  to determine if there has been a
           change in a router's link state  database,  and
           to  compare  the  link-state  database  of  two
           routers."
       ::= { ospfGeneralGroup 7 }


    ospfTOSSupport OBJECT-TYPE
        SYNTAX   TruthValue
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The router's support for type-of-service rout-
           ing."
       REFERENCE
          "OSPF Version 2,  Appendix  F.1.2  Optional  TOS
          support"
      ::= { ospfGeneralGroup 8 }

    ospfOriginateNewLsas OBJECT-TYPE
        SYNTAX   Counter32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The number of  new  link-state  advertisements
           that  have been originated.  This number is in-
           cremented each time the router originates a new
           LSA."
       ::= { ospfGeneralGroup 9 }

    ospfRxNewLsas OBJECT-TYPE
        SYNTAX   Counter32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The number of  link-state  advertisements  re-
           ceived  determined  to  be  new instantiations.
           This number does not include  newer  instantia-
           tions  of self-originated link-state advertise-
           ments."
       ::= { ospfGeneralGroup 10 }

    ospfExtLsdbLimit OBJECT-TYPE
        SYNTAX   Integer32 (-1..'7FFFFFFF'h)
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The  maximum   number   of   non-default   AS-
           external-LSAs entries that can be stored in the
           link-state database.  If the value is -1,  then
           there is no limit.

           When the number of non-default AS-external-LSAs
           in   a  router's  link-state  database  reaches
           ospfExtLsdbLimit, the router  enters  Overflow-
           State.   The   router  never  holds  more  than
           ospfExtLsdbLimit  non-default  AS-external-LSAs
           in  its  database. OspfExtLsdbLimit MUST be set
           identically in all routers attached to the OSPF
           backbone  and/or  any regular OSPF area. (i.e.,
           OSPF stub areas and NSSAs are excluded)."
       DEFVAL { -1 }
       ::= { ospfGeneralGroup 11 }

    ospfMulticastExtensions OBJECT-TYPE
        SYNTAX   Integer32
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "A Bit Mask indicating whether  the  router  is
           forwarding  IP  multicast  (Class  D) datagrams
           based on the algorithms defined in  the  Multi-
           cast Extensions to OSPF.

           Bit 0, if set, indicates that  the  router  can
           forward  IP multicast datagrams in the router's
           directly attached areas (called intra-area mul-
           ticast routing).

           Bit 1, if set, indicates that  the  router  can
           forward  IP  multicast  datagrams  between OSPF
           areas (called inter-area multicast routing).

           Bit 2, if set, indicates that  the  router  can
           forward  IP  multicast  datagrams between Auto-
           nomous Systems (called inter-AS multicast rout-
           ing).

           Only certain combinations of bit  settings  are
           allowed,  namely: 0 (no multicast forwarding is
           enabled), 1 (intra-area multicasting  only),  3
           (intra-area  and  inter-area  multicasting),  5
           (intra-area and inter-AS  multicasting)  and  7
           (multicasting  everywhere). By default, no mul-
           ticast forwarding is enabled."
       DEFVAL { 0 }
       ::= { ospfGeneralGroup 12 }

    ospfExitOverflowInterval OBJECT-TYPE
        SYNTAX   PositiveInteger
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The number of  seconds  that,  after  entering
           OverflowState,  a  router will attempt to leave
           OverflowState. This allows the router to  again
           originate  non-default  AS-external-LSAs.  When
           set to 0, the router will not  leave  Overflow-
           State until restarted."
       DEFVAL { 0 }
       ::= { ospfGeneralGroup 13 }

    ospfDemandExtensions OBJECT-TYPE
        SYNTAX   TruthValue
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The router's support for demand routing."
       REFERENCE
          "OSPF Version 2, Appendix on Demand Routing"
      ::= { ospfGeneralGroup 14 }


--      The OSPF Area Data Structure contains information
--      regarding the various areas. The interfaces and
--      virtual links are configured as part of these areas.
--      Area 0.0.0.0, by definition, is the Backbone Area


    ospfAreaTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF OspfAreaEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "Information describing the configured  parame-
           ters  and cumulative statistics of the router's
           attached areas."
       REFERENCE
          "OSPF Version 2, Section 6  The Area Data Struc-
          ture"
      ::= { ospf 2 }


    ospfAreaEntry OBJECT-TYPE
        SYNTAX   OspfAreaEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "Information describing the configured  parame-
           ters  and  cumulative  statistics of one of the
           router's attached areas."
       INDEX { ospfAreaId }
       ::= { ospfAreaTable 1 }

OspfAreaEntry ::=
    SEQUENCE {
        ospfAreaId
            AreaID,
        ospfAuthType
            Integer32,
        ospfImportAsExtern
            INTEGER,
        ospfSpfRuns
            Counter32,
        ospfAreaBdrRtrCount
            Gauge32,
        ospfAsBdrRtrCount
            Gauge32,
        ospfAreaLsaCount
            Gauge32,
        ospfAreaLsaCksumSum
            Integer32,
        ospfAreaSummary
            INTEGER,
        ospfAreaStatus
            RowStatus
              }

    ospfAreaId OBJECT-TYPE
        SYNTAX   AreaID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A 32-bit integer uniquely identifying an area.
           Area ID 0.0.0.0 is used for the OSPF backbone."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { ospfAreaEntry 1 }


    ospfAuthType OBJECT-TYPE
        SYNTAX   Integer32
                    -- none (0),
                    -- simplePassword (1)
                    -- md5 (2)
                    -- reserved for specification by IANA (> 2)
        ACCESS   read-write
        STATUS   obsolete
        DESCRIPTION
           "The authentication type specified for an area.
           Additional authentication types may be assigned
           locally on a per Area basis."
       REFERENCE
          "OSPF Version 2, Appendix E Authentication"
      DEFVAL { 0 }        -- no authentication, by default
      ::= { ospfAreaEntry 2 }

    ospfImportAsExtern OBJECT-TYPE
        SYNTAX   INTEGER    {
                    importExternal (1),
                    importNoExternal (2),
                    importNssa (3)
                  }
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The area's support for importing  AS  external
           link- state advertisements."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      DEFVAL { importExternal }
      ::= { ospfAreaEntry 3 }


    ospfSpfRuns OBJECT-TYPE
        SYNTAX   Counter32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The number of times that the intra-area  route
           table  has  been  calculated  using this area's
           link-state database.  This  is  typically  done
           using Dijkstra's algorithm."
       ::= { ospfAreaEntry 4 }


    ospfAreaBdrRtrCount OBJECT-TYPE
        SYNTAX   Gauge32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The total number of area border routers reach-
           able within this area.  This is initially zero,
           and is calculated in each SPF Pass."
       ::= { ospfAreaEntry 5 }

    ospfAsBdrRtrCount OBJECT-TYPE
        SYNTAX   Gauge32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The total number of Autonomous  System  border
           routers  reachable  within  this area.  This is
           initially zero, and is calculated in  each  SPF
           Pass."
       ::= { ospfAreaEntry 6 }

    ospfAreaLsaCount OBJECT-TYPE
        SYNTAX   Gauge32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The total number of link-state  advertisements
           in  this  area's link-state database, excluding
           AS External LSA's."
       ::= { ospfAreaEntry 7 }

    ospfAreaLsaCksumSum OBJECT-TYPE
        SYNTAX   Integer32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The 32-bit unsigned sum of the link-state  ad-
           vertisements'  LS  checksums  contained in this
           area's link-state database.  This sum  excludes
           external (LS type 5) link-state advertisements.
           The sum can be used to determine if  there  has
           been  a  change  in a router's link state data-
           base, and to compare the link-state database of
           two routers."
       DEFVAL   { 0 }
       ::= { ospfAreaEntry 8 }

    ospfAreaSummary OBJECT-TYPE
        SYNTAX   INTEGER    {
                    noAreaSummary (1),
                    sendAreaSummary (2)
                  }
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The variable ospfAreaSummary controls the  im-
           port  of  summary LSAs into stub areas.  It has
           no effect on other areas.

           If it is noAreaSummary, the router will neither
           originate  nor  propagate summary LSAs into the
           stub area.  It will rely entirely  on  its  de-
           fault route.

           If it is sendAreaSummary, the router will  both
           summarize and propagate summary LSAs."
       DEFVAL   { noAreaSummary }
       ::= { ospfAreaEntry 9 }

    ospfAreaStatus OBJECT-TYPE
        SYNTAX   RowStatus
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { ospfAreaEntry 10 }


--  OSPF Area Default Metric Table

--      The OSPF Area Default Metric Table describes the metrics
--      that a default Area Border Router will advertise into a
--      Stub area.


    ospfStubAreaTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF OspfStubAreaEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The set of metrics that will be advertised  by
           a default Area Border Router into a stub area."
       REFERENCE
          "OSPF Version 2, Appendix C.2, Area Parameters"
      ::= { ospf 3 }


    ospfStubAreaEntry OBJECT-TYPE
        SYNTAX   OspfStubAreaEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The metric for a given Type  of  Service  that
           will  be  advertised  by  a default Area Border
           Router into a stub area."
       REFERENCE
          "OSPF Version 2, Appendix C.2, Area Parameters"
      INDEX { ospfStubAreaId, ospfStubTOS }
      ::= { ospfStubAreaTable 1 }

OspfStubAreaEntry ::=
    SEQUENCE {
        ospfStubAreaId
            AreaID,
        ospfStubTOS
            TOSType,
        ospfStubMetric
            BigMetric,
        ospfStubStatus
            RowStatus,
        ospfStubMetricType
            INTEGER
              }

    ospfStubAreaId OBJECT-TYPE
        SYNTAX   AreaID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The 32 bit identifier for the Stub  Area.   On
           creation,  this  can  be  derived  from the in-
           stance."
       ::= { ospfStubAreaEntry 1 }

    ospfStubTOS OBJECT-TYPE
        SYNTAX   TOSType
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The  Type  of  Service  associated  with   the
           metric.   On creation, this can be derived from
           the instance."
       ::= { ospfStubAreaEntry 2 }

    ospfStubMetric OBJECT-TYPE
        SYNTAX   BigMetric
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The metric value applied at the indicated type
           of  service.  By default, this equals the least
           metric at the type of service among the  inter-
           faces to other areas."
       ::= { ospfStubAreaEntry 3 }

    ospfStubStatus OBJECT-TYPE
        SYNTAX   RowStatus
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { ospfStubAreaEntry 4 }

    ospfStubMetricType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    ospfMetric (1),                -- OSPF Metric
                    comparableCost (2),        -- external type 1
                    nonComparable  (3)        -- external type 2
                  }
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable displays the type of metric  ad-
           vertised as a default route."
       DEFVAL   { ospfMetric }
       ::= { ospfStubAreaEntry 5 }


--  OSPF Link State Database

--      The Link State Database contains the Link State
--      Advertisements from throughout the areas that the
--      device is attached to.


    ospfLsdbTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF OspfLsdbEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The OSPF Process's Link State Database."
       REFERENCE
          "OSPF Version 2, Section 12  Link  State  Adver-
          tisements"
      ::= { ospf 4 }


    ospfLsdbEntry OBJECT-TYPE
        SYNTAX   OspfLsdbEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "A single Link State Advertisement."
       INDEX { ospfLsdbAreaId, ospfLsdbType,
               ospfLsdbLsid, ospfLsdbRouterId }
       ::= { ospfLsdbTable 1 }

OspfLsdbEntry ::=
    SEQUENCE {
        ospfLsdbAreaId
            AreaID,
        ospfLsdbType
            INTEGER,
        ospfLsdbLsid
            IpAddress,
        ospfLsdbRouterId
            RouterID,
        ospfLsdbSequence
            Integer32,
        ospfLsdbAge
            Integer32,
        ospfLsdbChecksum
            Integer32,
        ospfLsdbAdvertisement
            OCTET STRING
              }

    ospfLsdbAreaId OBJECT-TYPE
        SYNTAX   AreaID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The 32 bit identifier of the Area  from  which
           the LSA was received."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { ospfLsdbEntry 1 }

-- External Link State Advertisements are permitted
-- for backward compatibility, but should be displayed in
-- the ospfExtLsdbTable rather than here.

    ospfLsdbType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    routerLink (1),
                    networkLink (2),
                    summaryLink (3),
                    asSummaryLink (4),
                    asExternalLink (5), -- but see ospfExtLsdbTable
                    multicastLink (6),
                    nssaExternalLink (7)
                  }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The type  of  the  link  state  advertisement.
           Each  link state type has a separate advertise-
           ment format."
       REFERENCE
          "OSPF Version 2, Appendix A.4.1 The  Link  State
          Advertisement header"
      ::= { ospfLsdbEntry 2 }

    ospfLsdbLsid OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The Link State ID is an LS Type Specific field
           containing either a Router ID or an IP Address;
           it identifies the piece of the  routing  domain
           that is being described by the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.4 Link State ID"
      ::= { ospfLsdbEntry 3 }

    ospfLsdbRouterId OBJECT-TYPE
        SYNTAX   RouterID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The 32 bit number that uniquely identifies the
           originating router in the Autonomous System."
       REFERENCE
          "OSPF Version 2, Appendix C.1 Global parameters"
      ::= { ospfLsdbEntry 4 }

--  Note that the OSPF Sequence Number is a 32 bit signed
--  integer.  It starts with the value '80000001'h,
--  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
--  Thus, a typical sequence number will be very negative.

    ospfLsdbSequence OBJECT-TYPE
        SYNTAX   Integer32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The sequence number field is a  signed  32-bit
           integer.   It  is used to detect old and dupli-
           cate link state advertisements.  The  space  of
           sequence  numbers  is  linearly  ordered.   The
           larger the sequence number the more recent  the
           advertisement."
       REFERENCE
          "OSPF Version  2,  Section  12.1.6  LS  sequence
          number"
      ::= { ospfLsdbEntry 5 }


    ospfLsdbAge OBJECT-TYPE
        SYNTAX   Integer32    -- Should be 0..MaxAge
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "This field is the age of the link state adver-
           tisement in seconds."
       REFERENCE
          "OSPF Version 2, Section 12.1.1 LS age"
      ::= { ospfLsdbEntry 6 }

    ospfLsdbChecksum OBJECT-TYPE
        SYNTAX   Integer32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "This field is the  checksum  of  the  complete
           contents  of  the  advertisement, excepting the
           age field.  The age field is excepted  so  that
           an   advertisement's  age  can  be  incremented
           without updating the  checksum.   The  checksum
           used  is  the same that is used for ISO connec-
           tionless datagrams; it is commonly referred  to
           as the Fletcher checksum."
       REFERENCE
          "OSPF Version 2, Section 12.1.7 LS checksum"
      ::= { ospfLsdbEntry 7 }

    ospfLsdbAdvertisement OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE (1..65535))
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The entire Link State Advertisement, including
           its header."
       REFERENCE
          "OSPF Version 2, Section 12  Link  State  Adver-
          tisements"
      ::= { ospfLsdbEntry 8 }


--  Address Range Table

--      The Address Range Table acts as an adjunct to the Area
--      Table; It describes those Address Range Summaries that
--      are configured to be propagated from an Area to reduce
--      the amount of information about it which is known beyond
--      its borders.

    ospfAreaRangeTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF OspfAreaRangeEntry
        ACCESS   not-accessible
        STATUS   obsolete
        DESCRIPTION
           "A range if IP addresses  specified  by  an  IP
           address/IP  network  mask  pair.   For example,
           class B address range of X.X.X.X with a network
           mask  of  255.255.0.0 includes all IP addresses
           from X.X.0.0 to X.X.255.255"
       REFERENCE
          "OSPF Version 2, Appendix C.2  Area parameters"
      ::= { ospf 5 }

    ospfAreaRangeEntry OBJECT-TYPE
        SYNTAX   OspfAreaRangeEntry
        ACCESS   not-accessible
        STATUS   obsolete
        DESCRIPTION
           "A range if IP addresses  specified  by  an  IP
           address/IP  network  mask  pair.   For example,
           class B address range of X.X.X.X with a network
           mask  of  255.255.0.0 includes all IP addresses
           from X.X.0.0 to X.X.255.255"
       REFERENCE
          "OSPF Version 2, Appendix C.2  Area parameters"
      INDEX { ospfAreaRangeAreaId, ospfAreaRangeNet }
      ::= { ospfAreaRangeTable 1 }

OspfAreaRangeEntry ::=
    SEQUENCE {
        ospfAreaRangeAreaId
            AreaID,
        ospfAreaRangeNet
            IpAddress,
        ospfAreaRangeMask
            IpAddress,
        ospfAreaRangeStatus
            RowStatus,
        ospfAreaRangeEffect
            INTEGER
              }

    ospfAreaRangeAreaId OBJECT-TYPE
        SYNTAX   AreaID
        ACCESS   read-only
        STATUS   obsolete
        DESCRIPTION
           "The Area the Address  Range  is  to  be  found
           within."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { ospfAreaRangeEntry 1 }


    ospfAreaRangeNet OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   obsolete
        DESCRIPTION
           "The IP Address of the Net or Subnet  indicated
           by the range."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { ospfAreaRangeEntry 2 }


    ospfAreaRangeMask OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-write
        STATUS   obsolete
        DESCRIPTION
           "The Subnet Mask that pertains to  the  Net  or
           Subnet."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { ospfAreaRangeEntry 3 }

    ospfAreaRangeStatus OBJECT-TYPE
        SYNTAX   RowStatus
        ACCESS   read-write
        STATUS   obsolete
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { ospfAreaRangeEntry 4 }


    ospfAreaRangeEffect OBJECT-TYPE
        SYNTAX   INTEGER    {
                    advertiseMatching (1),
                    doNotAdvertiseMatching (2)
                  }
        ACCESS   read-write
        STATUS   obsolete
        DESCRIPTION
           "Subnets subsumed by ranges either trigger  the
           advertisement  of the indicated summary (adver-
           tiseMatching), or result in  the  subnet's  not
           being advertised at all outside the area."
       DEFVAL   { advertiseMatching }
       ::= { ospfAreaRangeEntry 5 }



--  OSPF Host Table

--      The Host/Metric Table indicates what hosts are directly
--      attached to the Router, and what metrics and types of
--      service should be advertised for them.

    ospfHostTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF OspfHostEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The list of Hosts, and their metrics, that the
           router will advertise as host routes."
       REFERENCE
          "OSPF Version 2, Appendix C.6  Host route param-
          eters"
      ::= { ospf 6 }


    ospfHostEntry OBJECT-TYPE
        SYNTAX   OspfHostEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "A metric to be advertised, for a given type of
           service, when a given host is reachable."
       INDEX { ospfHostIpAddress, ospfHostTOS }
       ::= { ospfHostTable 1 }

OspfHostEntry ::=
    SEQUENCE {
        ospfHostIpAddress
            IpAddress,
        ospfHostTOS
            TOSType,
        ospfHostMetric
            Metric,
        ospfHostStatus
            RowStatus,
        ospfHostAreaID
            AreaID
              }

    ospfHostIpAddress OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The IP Address of the Host."
       REFERENCE
          "OSPF Version 2, Appendix C.6 Host route parame-
          ters"
      ::= { ospfHostEntry 1 }


    ospfHostTOS OBJECT-TYPE
        SYNTAX   TOSType
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The Type of Service of the route being config-
           ured."
       REFERENCE
          "OSPF Version 2, Appendix C.6 Host route parame-
          ters"
      ::= { ospfHostEntry 2 }


    ospfHostMetric OBJECT-TYPE
        SYNTAX   Metric
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The Metric to be advertised."
       REFERENCE
          "OSPF Version 2, Appendix C.6 Host route parame-
          ters"
      ::= { ospfHostEntry 3 }

    ospfHostStatus OBJECT-TYPE
        SYNTAX   RowStatus
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { ospfHostEntry 4 }


    ospfHostAreaID OBJECT-TYPE
        SYNTAX   AreaID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The Area the Host Entry is to be found within.
           By  default, the area that a subsuming OSPF in-
           terface is in, or 0.0.0.0"
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { ospfHostEntry 5 }


--  OSPF Interface Table

--      The OSPF Interface Table augments the ipAddrTable
--             with OSPF specific information.

    ospfIfTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF OspfIfEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The OSPF Interface Table describes the  inter-
           faces from the viewpoint of OSPF."
       REFERENCE
          "OSPF Version 2, Appendix C.3  Router  interface
          parameters"
      ::= { ospf 7 }


    ospfIfEntry OBJECT-TYPE
        SYNTAX   OspfIfEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The OSPF Interface Entry describes one  inter-
           face from the viewpoint of OSPF."
       INDEX { ospfIfIpAddress, ospfAddressLessIf }
       ::= { ospfIfTable 1 }

OspfIfEntry ::=
    SEQUENCE {
        ospfIfIpAddress
            IpAddress,
        ospfAddressLessIf
            Integer32,
        ospfIfAreaId
            AreaID,
        ospfIfType
            INTEGER,
        ospfIfAdminStat
            Status,
        ospfIfRtrPriority
            DesignatedRouterPriority,
        ospfIfTransitDelay
            UpToMaxAge,
        ospfIfRetransInterval
            UpToMaxAge,
        ospfIfHelloInterval
            HelloRange,
        ospfIfRtrDeadInterval
            PositiveInteger,
        ospfIfPollInterval
            PositiveInteger,
        ospfIfState
            INTEGER,
        ospfIfDesignatedRouter
            IpAddress,
        ospfIfBackupDesignatedRouter
            IpAddress,
        ospfIfEvents
            Counter32,
        ospfIfAuthType
            INTEGER,
        ospfIfAuthKey
            DisplayString,
        ospfIfStatus
            RowStatus,
        ospfIfMulticastForwarding
            INTEGER,
        ospfIfDemand
            TruthValue
              }

    ospfIfIpAddress OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The IP address of this OSPF interface."
       ::= { ospfIfEntry 1 }

    ospfAddressLessIf OBJECT-TYPE
        SYNTAX   Integer32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "For the purpose of easing  the  instancing  of
           addressed   and  addressless  interfaces;  This
           variable takes the value 0 on  interfaces  with
           IP  Addresses,  and  the corresponding value of
           ifIndex for interfaces having no IP Address."
       ::= { ospfIfEntry 2 }

    ospfIfAreaId OBJECT-TYPE
        SYNTAX   AreaID
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "A 32-bit integer uniquely identifying the area
           to  which  the  interface  connects.   Area  ID
           0.0.0.0 is used for the OSPF backbone."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { ospfIfEntry 3 }

    ospfIfType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    broadcast (1),
                    nbma (2),
                    pointToPoint (3),
                    pointToMultipoint (5)
                  }
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The OSPF interface type.

           By way of a default, this field may be intuited
           from the corresponding value of ifType.  Broad-
           cast LANs, such as  Ethernet  and  IEEE  802.5,
           take  the  value  'broadcast', X.25 and similar
           technologies take the value 'nbma',  and  links
           that  are  definitively point to point take the
           value 'pointToPoint'."
       ::= { ospfIfEntry 4 }


    ospfIfAdminStat OBJECT-TYPE
        SYNTAX   Status
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The OSPF  interface's  administrative  status.
           The  value formed on the interface, and the in-
           terface will be advertised as an internal route
           to  some  area.   The  value 'disabled' denotes
           that the interface is external to OSPF."
       DEFVAL { enabled }
       ::= { ospfIfEntry 5 }

    ospfIfRtrPriority OBJECT-TYPE
        SYNTAX   DesignatedRouterPriority
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The  priority  of  this  interface.   Used  in
           multi-access  networks,  this  field is used in
           the designated router election algorithm.   The
           value 0 signifies that the router is not eligi-
           ble to become the  designated  router  on  this
           particular  network.   In the event of a tie in
           this value, routers will use their Router ID as
           a tie breaker."
       DEFVAL { 1 }
       ::= { ospfIfEntry 6 }


    ospfIfTransitDelay OBJECT-TYPE
        SYNTAX   UpToMaxAge
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The estimated number of seconds  it  takes  to
           transmit  a  link state update packet over this
           interface."
       DEFVAL { 1 }
       ::= { ospfIfEntry 7 }


    ospfIfRetransInterval OBJECT-TYPE
        SYNTAX   UpToMaxAge
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The number of seconds between  link-state  ad-
           vertisement  retransmissions,  for  adjacencies
           belonging to this  interface.   This  value  is
           also used when retransmitting database descrip-
           tion and link-state request packets."
       DEFVAL { 5 }
       ::= { ospfIfEntry 8 }


    ospfIfHelloInterval OBJECT-TYPE
        SYNTAX   HelloRange
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The length of time, in  seconds,  between  the
           Hello  packets that the router sends on the in-
           terface.  This value must be the same  for  all
           routers attached to a common network."
       DEFVAL { 10 }
       ::= { ospfIfEntry 9 }


    ospfIfRtrDeadInterval OBJECT-TYPE
        SYNTAX   PositiveInteger
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The number of seconds that  a  router's  Hello
           packets  have  not been seen before it's neigh-
           bors declare the router down.  This  should  be
           some  multiple  of  the  Hello  interval.  This
           value must be the same for all routers attached
           to a common network."
       DEFVAL { 40 }
       ::= { ospfIfEntry 10 }


    ospfIfPollInterval OBJECT-TYPE
        SYNTAX   PositiveInteger
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The larger time interval, in seconds,  between
           the  Hello  packets  sent  to  an inactive non-
           broadcast multi- access neighbor."
       DEFVAL { 120 }
       ::= { ospfIfEntry 11 }


    ospfIfState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),
                    loopback (2),
                    waiting (3),
                    pointToPoint (4),
                    designatedRouter (5),
                    backupDesignatedRouter (6),
                    otherDesignatedRouter (7)
                  }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The OSPF Interface State."
       DEFVAL { down }
       ::= { ospfIfEntry 12 }


    ospfIfDesignatedRouter OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The IP Address of the Designated Router."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { ospfIfEntry 13 }


    ospfIfBackupDesignatedRouter OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The  IP  Address  of  the  Backup   Designated
           Router."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { ospfIfEntry 14 }

    ospfIfEvents OBJECT-TYPE
        SYNTAX   Counter32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The number of times this  OSPF  interface  has
           changed its state, or an error has occurred."
       ::= { ospfIfEntry 15 }


    ospfIfAuthKey OBJECT-TYPE
        SYNTAX   DisplayString (SIZE(0..256))
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The Authentication Key.  If the Area's Author-
           ization  Type  is  simplePassword,  and the key
           length is shorter than 8 octets, the agent will
           left adjust and zero fill to 8 octets.

           Note that unauthenticated  interfaces  need  no
           authentication key, and simple password authen-
           tication cannot use a key of more  than  8  oc-
           tets.  Larger keys are useful only with authen-
           tication mechanisms not specified in this docu-
           ment.

           When read, ospfIfAuthKey always returns an  Oc-
           tet String of length zero."
       REFERENCE
          "OSPF Version 2, Section 9  The  Interface  Data
          Structure"
      DEFVAL   { '0000000000000000'H }    -- 0.0.0.0.0.0.0.0
      ::= { ospfIfEntry 16 }

    ospfIfStatus OBJECT-TYPE
        SYNTAX   RowStatus
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { ospfIfEntry 17 }


    ospfIfMulticastForwarding OBJECT-TYPE
        SYNTAX   INTEGER    {
                            blocked (1),        -- no multicast forwarding
                            multicast (2),        -- using multicast address
                            unicast (3)        -- to each OSPF neighbor
                  }
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The way multicasts should  forwarded  on  this
           interface;  not  forwarded,  forwarded  as data
           link multicasts, or forwarded as data link uni-
           casts.   Data link multicasting is not meaning-
           ful on point to point and NBMA interfaces,  and
           setting ospfMulticastForwarding to 0 effective-
           ly disables all multicast forwarding."
       DEFVAL { blocked }
       ::= { ospfIfEntry 18 }


    ospfIfDemand OBJECT-TYPE
        SYNTAX   TruthValue
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "Indicates whether Demand OSPF procedures (hel-
           lo supression to FULL neighbors and setting the
           DoNotAge flag on proogated LSAs) should be per-
           formed on this interface."
       DEFVAL { false }
       ::= { ospfIfEntry 19 }


    ospfIfAuthType OBJECT-TYPE
        SYNTAX   INTEGER (0..255)
                    -- none (0),
                    -- simplePassword (1)
                    -- md5 (2)
                    -- reserved for specification by IANA (> 2)
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The authentication type specified for  an  in-
           terface.   Additional  authentication types may
           be assigned locally."
       REFERENCE
          "OSPF Version 2, Appendix E Authentication"
      DEFVAL { 0 }        -- no authentication, by default
      ::= { ospfIfEntry 20 }


--  OSPF Interface Metric Table

--      The Metric Table describes the metrics to be advertised
--      for a specified interface at the various types of service.
--      As such, this table is an adjunct of the OSPF Interface
--      Table.

-- Types of service, as defined by RFC 791, have the ability
-- to request low delay, high bandwidth, or reliable linkage.

-- For the purposes of this specification, the measure of
-- bandwidth

--      Metric = 10^8 / ifSpeed

-- is the default value.  For multiple link interfaces, note
-- that ifSpeed is the sum of the individual link speeds.
-- This yields a number having the following typical values:

--      Network Type/bit rate   Metric

--      >= 100 MBPS                 1
--      Ethernet/802.3             10
--      E1                         48
--      T1 (ESF)                   65
--       64 KBPS                 1562
--       56 KBPS                 1785
--       19.2 KBPS               5208
--        9.6 KBPS              10416

-- Routes that are not specified use the default (TOS 0) metric

    ospfIfMetricTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF OspfIfMetricEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The TOS metrics for  a  non-virtual  interface
           identified by the interface index."
       REFERENCE
          "OSPF Version 2, Appendix C.3  Router  interface
          parameters"
      ::= { ospf 8 }

    ospfIfMetricEntry OBJECT-TYPE
        SYNTAX   OspfIfMetricEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "A particular TOS metric for a non-virtual  in-
           terface identified by the interface index."
       REFERENCE
          "OSPF Version 2, Appendix C.3  Router  interface
          parameters"
      INDEX { ospfIfMetricIpAddress,
  ospfIfMetricAddressLessIf,
  ospfIfMetricTOS }
      ::= { ospfIfMetricTable 1 }

OspfIfMetricEntry ::=
    SEQUENCE {
        ospfIfMetricIpAddress
            IpAddress,
        ospfIfMetricAddressLessIf
            Integer32,
        ospfIfMetricTOS
            TOSType,
        ospfIfMetricValue
            Metric,
        ospfIfMetricStatus
            RowStatus
              }

    ospfIfMetricIpAddress OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The IP address of this OSPF interface.  On row
           creation,  this  can  be  derived  from the in-
           stance."
       ::= { ospfIfMetricEntry 1 }

    ospfIfMetricAddressLessIf OBJECT-TYPE
        SYNTAX   Integer32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "For the purpose of easing  the  instancing  of
           addressed   and  addressless  interfaces;  This
           variable takes the value 0 on  interfaces  with
           IP  Addresses, and the value of ifIndex for in-
           terfaces having no IP Address.   On  row  crea-
           tion, this can be derived from the instance."
       ::= { ospfIfMetricEntry 2 }


    ospfIfMetricTOS OBJECT-TYPE
        SYNTAX   TOSType
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The type of service metric  being  referenced.
           On  row  creation, this can be derived from the
           instance."
       ::= { ospfIfMetricEntry 3 }


    ospfIfMetricValue OBJECT-TYPE
        SYNTAX   Metric
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The metric of using this type  of  service  on
           this interface.  The default value of the TOS 0
           Metric is 10^8 / ifSpeed."
       ::= { ospfIfMetricEntry 4 }

    ospfIfMetricStatus OBJECT-TYPE
        SYNTAX   RowStatus
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { ospfIfMetricEntry 5 }


--  OSPF Virtual Interface Table

--      The Virtual Interface Table describes the virtual
--      links that the OSPF Process is configured to
--      carry on.

    ospfVirtIfTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF OspfVirtIfEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "Information about this router's virtual inter-
           faces."
       REFERENCE
          "OSPF Version  2,  Appendix  C.4   Virtual  link
          parameters"
      ::= { ospf 9 }


    ospfVirtIfEntry OBJECT-TYPE
        SYNTAX   OspfVirtIfEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "Information about a single Virtual Interface."
       INDEX { ospfVirtIfAreaId, ospfVirtIfNeighbor }
       ::= { ospfVirtIfTable 1 }

OspfVirtIfEntry ::=
    SEQUENCE {
        ospfVirtIfAreaId
            AreaID,
        ospfVirtIfNeighbor
            RouterID,
        ospfVirtIfTransitDelay
            UpToMaxAge,
        ospfVirtIfRetransInterval
            UpToMaxAge,
        ospfVirtIfHelloInterval
            HelloRange,
        ospfVirtIfRtrDeadInterval
            PositiveInteger,
        ospfVirtIfState
            INTEGER,
        ospfVirtIfEvents
            Counter32,
        ospfVirtIfAuthType
            INTEGER,
        ospfVirtIfAuthKey
            DisplayString,
        ospfVirtIfStatus
            RowStatus
              }

    ospfVirtIfAreaId OBJECT-TYPE
        SYNTAX   AreaID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The  Transit  Area  that  the   Virtual   Link
           traverses.  By definition, this is not 0.0.0.0"
       ::= { ospfVirtIfEntry 1 }


    ospfVirtIfNeighbor OBJECT-TYPE
        SYNTAX   RouterID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The Router ID of the Virtual Neighbor."
       ::= { ospfVirtIfEntry 2 }


    ospfVirtIfTransitDelay OBJECT-TYPE
        SYNTAX   UpToMaxAge
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The estimated number of seconds  it  takes  to
           transmit  a link- state update packet over this
           interface."
       DEFVAL { 1 }
       ::= { ospfVirtIfEntry 3 }

    ospfVirtIfRetransInterval OBJECT-TYPE
        SYNTAX   UpToMaxAge
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The number of seconds between  link-state  ad-
           vertisement  retransmissions,  for  adjacencies
           belonging to this  interface.   This  value  is
           also used when retransmitting database descrip-
           tion  and  link-state  request  packets.   This
           value  should  be well over the expected round-
           trip time."
       DEFVAL { 5 }
       ::= { ospfVirtIfEntry 4 }


    ospfVirtIfHelloInterval OBJECT-TYPE
        SYNTAX   HelloRange
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The length of time, in  seconds,  between  the
           Hello  packets that the router sends on the in-
           terface.  This value must be the same  for  the
           virtual neighbor."
       DEFVAL { 10 }
       ::= { ospfVirtIfEntry 5 }


    ospfVirtIfRtrDeadInterval OBJECT-TYPE
        SYNTAX   PositiveInteger
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The number of seconds that  a  router's  Hello
           packets  have  not been seen before it's neigh-
           bors declare the router down.  This  should  be
           some  multiple  of  the  Hello  interval.  This
           value must be the same for the  virtual  neigh-
           bor."
       DEFVAL { 60 }
       ::= { ospfVirtIfEntry 6 }


    ospfVirtIfState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),            -- these use the same encoding
                    pointToPoint (4)     -- as the ospfIfTable
                  }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "OSPF virtual interface states."
       DEFVAL   { down }
       ::= { ospfVirtIfEntry 7 }


    ospfVirtIfEvents OBJECT-TYPE
        SYNTAX   Counter32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The number of state changes or error events on
           this Virtual Link"
       ::= { ospfVirtIfEntry 8 }


    ospfVirtIfAuthKey OBJECT-TYPE
        SYNTAX   DisplayString (SIZE(0..256))
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "If Authentication Type is simplePassword,  the
           device  will left adjust and zero fill to 8 oc-
           tets.

           Note that unauthenticated  interfaces  need  no
           authentication key, and simple password authen-
           tication cannot use a key of more  than  8  oc-
           tets.  Larger keys are useful only with authen-
           tication mechanisms not specified in this docu-
           ment.

           When  read,  ospfVifAuthKey  always  returns  a
           string of length zero."
       REFERENCE
          "OSPF Version 2, Section 9  The  Interface  Data
          Structure"
      DEFVAL   { '0000000000000000'H }    -- 0.0.0.0.0.0.0.0
      ::= { ospfVirtIfEntry 9 }


    ospfVirtIfStatus OBJECT-TYPE
        SYNTAX   RowStatus
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { ospfVirtIfEntry 10 }


    ospfVirtIfAuthType OBJECT-TYPE
        SYNTAX   INTEGER (0..255)
                    -- none (0),
                    -- simplePassword (1)
                    -- md5 (2)
                    -- reserved for specification by IANA (> 2)
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The authentication type specified for a virtu-
           al  interface.  Additional authentication types
           may be assigned locally."
       REFERENCE
          "OSPF Version 2, Appendix E Authentication"
      DEFVAL { 0 }        -- no authentication, by default
      ::= { ospfVirtIfEntry 11 }


--  OSPF Neighbor Table

--      The OSPF Neighbor Table describes all neighbors in
--      the locality of the subject router.

    ospfNbrTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF OspfNbrEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "A table of non-virtual neighbor information."
       REFERENCE
          "OSPF Version 2, Section 10  The  Neighbor  Data
          Structure"
      ::= { ospf 10 }


    ospfNbrEntry OBJECT-TYPE
        SYNTAX   OspfNbrEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The information regarding a single neighbor."
       REFERENCE
          "OSPF Version 2, Section 10  The  Neighbor  Data
          Structure"
      INDEX { ospfNbrIpAddr, ospfNbrAddressLessIndex }
      ::= { ospfNbrTable 1 }

OspfNbrEntry ::=
    SEQUENCE {
        ospfNbrIpAddr
            IpAddress,
        ospfNbrAddressLessIndex
            InterfaceIndex,
        ospfNbrRtrId
            RouterID,
        ospfNbrOptions
            Integer32,
        ospfNbrPriority
            DesignatedRouterPriority,
        ospfNbrState
            INTEGER,
        ospfNbrEvents
            Counter32,
        ospfNbrLsRetransQLen
            Gauge32,
        ospfNbmaNbrStatus
            RowStatus,
        ospfNbmaNbrPermanence
            INTEGER,
        ospfNbrHelloSuppressed
            TruthValue
              }

    ospfNbrIpAddr OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The IP address this neighbor is using  in  its
           IP  Source  Address.  Note that, on addressless
           links, this will not be 0.0.0.0,  but  the  ad-
           dress of another of the neighbor's interfaces."
       ::= { ospfNbrEntry 1 }


    ospfNbrAddressLessIndex OBJECT-TYPE
        SYNTAX   InterfaceIndex
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "On an interface having an  IP  Address,  zero.
           On  addressless  interfaces,  the corresponding
           value of ifIndex in the Internet Standard  MIB.
           On  row  creation, this can be derived from the
           instance."
       ::= { ospfNbrEntry 2 }


    ospfNbrRtrId OBJECT-TYPE
        SYNTAX   RouterID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A 32-bit integer (represented as a type  IpAd-
           dress)  uniquely  identifying  the  neighboring
           router in the Autonomous System."
       DEFVAL   { '00000000'H }    -- 0.0.0.0
       ::= { ospfNbrEntry 3 }


    ospfNbrOptions OBJECT-TYPE
        SYNTAX   Integer32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A Bit Mask corresponding to the neighbor's op-
           tions field.

           Bit 0, if set, indicates that the  system  will
           operate  on  Type of Service metrics other than
           TOS 0.  If zero, the neighbor will  ignore  all
           metrics except the TOS 0 metric.

           Bit 1, if set, indicates  that  the  associated
           area  accepts and operates on external informa-
           tion; if zero, it is a stub area.

           Bit 2, if set, indicates that the system is ca-
           pable  of routing IP Multicast datagrams; i.e.,
           that it implements the Multicast Extensions  to
           OSPF.

           Bit 3, if set, indicates  that  the  associated
           area  is  an  NSSA.  These areas are capable of
           carrying type 7 external advertisements,  which
           are  translated into type 5 external advertise-
           ments at NSSA borders."
       REFERENCE
          "OSPF Version 2, Section 12.1.2 Options"
      DEFVAL { 0 }
      ::= { ospfNbrEntry 4 }


    ospfNbrPriority OBJECT-TYPE
        SYNTAX   DesignatedRouterPriority
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "The priority of this neighbor in the designat-
           ed router election algorithm.  The value 0 sig-
           nifies that the neighbor is not eligible to be-
           come  the  designated router on this particular
           network."
       DEFVAL { 1 }
       ::= { ospfNbrEntry 5 }


    ospfNbrState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),
                    attempt (2),
                    init (3),
                    twoWay (4),
                    exchangeStart (5),
                    exchange (6),
                    loading (7),
                    full (8)
                  }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The State of the relationship with this Neigh-
           bor."
       REFERENCE
          "OSPF Version 2, Section 10.1 Neighbor States"
      DEFVAL   { down }
      ::= { ospfNbrEntry 6 }


    ospfNbrEvents OBJECT-TYPE
        SYNTAX   Counter32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The number of times this neighbor relationship
           has changed state, or an error has occurred."
       ::= { ospfNbrEntry 7 }


    ospfNbrLsRetransQLen OBJECT-TYPE
        SYNTAX   Gauge32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The  mandatory  length  of  the   retransmission
           queue."
       ::= { ospfNbrEntry 8 }


    ospfNbmaNbrStatus OBJECT-TYPE
        SYNTAX   RowStatus
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { ospfNbrEntry 9 }


    ospfNbmaNbrPermanence OBJECT-TYPE
        SYNTAX   INTEGER    {
                    dynamic (1),        -- learned through protocol
                    permanent (2)       -- configured address
                  }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.   'dynamic'  and  'permanent' refer to how
           the neighbor became known."
       DEFVAL { permanent }
       ::= { ospfNbrEntry 10 }


    ospfNbrHelloSuppressed OBJECT-TYPE
        SYNTAX   TruthValue
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "Indicates whether Hellos are being  suppressed
           to the neighbor"
       ::= { ospfNbrEntry 11 }


--  OSPF Virtual Neighbor Table

--      This table describes all virtual neighbors.
--      Since Virtual Links are configured in the
--      virtual interface table, this table is read-only.

    ospfVirtNbrTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF OspfVirtNbrEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "A table of virtual neighbor information."
       REFERENCE
          "OSPF Version 2, Section 15  Virtual Links"
      ::= { ospf 11 }


    ospfVirtNbrEntry OBJECT-TYPE
        SYNTAX   OspfVirtNbrEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "Virtual neighbor information."
       INDEX { ospfVirtNbrArea, ospfVirtNbrRtrId }
       ::= { ospfVirtNbrTable 1 }

OspfVirtNbrEntry ::=
    SEQUENCE {
        ospfVirtNbrArea
            AreaID,
        ospfVirtNbrRtrId
            RouterID,
        ospfVirtNbrIpAddr
            IpAddress,
        ospfVirtNbrOptions
            Integer32,
        ospfVirtNbrState
            INTEGER,
        ospfVirtNbrEvents
            Counter32,
        ospfVirtNbrLsRetransQLen
            Gauge32,
        ospfVirtNbrHelloSuppressed
                TruthValue
              }

    ospfVirtNbrArea OBJECT-TYPE
        SYNTAX   AreaID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The Transit Area Identifier."
       ::= { ospfVirtNbrEntry 1 }


    ospfVirtNbrRtrId OBJECT-TYPE
        SYNTAX   RouterID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A  32-bit  integer  uniquely  identifying  the
           neighboring router in the Autonomous System."
       ::= { ospfVirtNbrEntry 2 }


    ospfVirtNbrIpAddr OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The IP address this Virtual  Neighbor  is  us-
           ing."
       ::= { ospfVirtNbrEntry 3 }


    ospfVirtNbrOptions OBJECT-TYPE
        SYNTAX   Integer32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "A Bit Mask corresponding to the neighbor's op-
           tions field.

           Bit 1, if set, indicates that the  system  will
           operate  on  Type of Service metrics other than
           TOS 0.  If zero, the neighbor will  ignore  all
           metrics except the TOS 0 metric.

           Bit 2, if set, indicates  that  the  system  is
           Network  Multicast  capable; ie, that it imple-
           ments OSPF Multicast Routing."
       ::= { ospfVirtNbrEntry 4 }

    ospfVirtNbrState OBJECT-TYPE
        SYNTAX   INTEGER    {
                    down (1),
                    attempt (2),
                    init (3),
                    twoWay (4),
                    exchangeStart (5),
                    exchange (6),
                    loading (7),
                    full (8)
                  }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The state of the  Virtual  Neighbor  Relation-
           ship."
       ::= { ospfVirtNbrEntry 5 }


    ospfVirtNbrEvents OBJECT-TYPE
        SYNTAX   Counter32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The number of  times  this  virtual  link  has
           changed its state, or an error has occurred."
       ::= { ospfVirtNbrEntry 6 }


    ospfVirtNbrLsRetransQLen OBJECT-TYPE
        SYNTAX   Gauge32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The  mandatory  length  of  the   retransmission
           queue."
       ::= { ospfVirtNbrEntry 7 }


    ospfVirtNbrHelloSuppressed OBJECT-TYPE
        SYNTAX   TruthValue
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "Indicates whether Hellos are being  suppressed
           to the neighbor"
       ::= { ospfVirtNbrEntry 8 }


--  OSPF Link State Database, External

--      The Link State Database contains the Link State
--      Advertisements from throughout the areas that the
--      device is attached to.

--             This table is identical to the OSPF LSDB Table in
--      format, but contains only External Link State
--             Advertisements.  The purpose is to allow external
--      LSAs to be displayed once for the router rather
--      than once in each non-stub area.

    ospfExtLsdbTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF OspfExtLsdbEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "The OSPF Process's Links State Database."
       REFERENCE
          "OSPF Version 2, Section 12  Link  State  Adver-
          tisements"
      ::= { ospf 12 }


    ospfExtLsdbEntry OBJECT-TYPE
        SYNTAX   OspfExtLsdbEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "A single Link State Advertisement."
       INDEX { ospfExtLsdbType, ospfExtLsdbLsid, ospfExtLsdbRouterId }
       ::= { ospfExtLsdbTable 1 }

OspfExtLsdbEntry ::=
    SEQUENCE {
        ospfExtLsdbType
            INTEGER,
        ospfExtLsdbLsid
            IpAddress,
        ospfExtLsdbRouterId
            RouterID,
        ospfExtLsdbSequence
            Integer32,
        ospfExtLsdbAge
            Integer32,
        ospfExtLsdbChecksum
            Integer32,
        ospfExtLsdbAdvertisement
            OCTET STRING
              }

    ospfExtLsdbType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    asExternalLink (5)
                  }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The type  of  the  link  state  advertisement.
           Each  link state type has a separate advertise-
           ment format."
       REFERENCE
          "OSPF Version 2, Appendix A.4.1 The  Link  State
          Advertisement header"
      ::= { ospfExtLsdbEntry 1 }


    ospfExtLsdbLsid OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The Link State ID is an LS Type Specific field
           containing either a Router ID or an IP Address;
           it identifies the piece of the  routing  domain
           that is being described by the advertisement."
       REFERENCE
          "OSPF Version 2, Section 12.1.4 Link State ID"
      ::= { ospfExtLsdbEntry 2 }


    ospfExtLsdbRouterId OBJECT-TYPE
        SYNTAX   RouterID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The 32 bit number that uniquely identifies the
           originating router in the Autonomous System."
       REFERENCE
          "OSPF Version 2, Appendix C.1 Global parameters"
      ::= { ospfExtLsdbEntry 3 }

--  Note that the OSPF Sequence Number is a 32 bit signed
--  integer.  It starts with the value '80000001'h,
--  or -'7FFFFFFF'h, and increments until '7FFFFFFF'h
--  Thus, a typical sequence number will be very negative.

    ospfExtLsdbSequence OBJECT-TYPE
        SYNTAX   Integer32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The sequence number field is a  signed  32-bit
           integer.   It  is used to detect old and dupli-
           cate link state advertisements.  The  space  of
           sequence  numbers  is  linearly  ordered.   The
           larger the sequence number the more recent  the
           advertisement."
       REFERENCE
          "OSPF Version  2,  Section  12.1.6  LS  sequence
          number"
      ::= { ospfExtLsdbEntry 4 }


    ospfExtLsdbAge OBJECT-TYPE
        SYNTAX   Integer32    -- Should be 0..MaxAge
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "This field is the age of the link state adver-
           tisement in seconds."
       REFERENCE
          "OSPF Version 2, Section 12.1.1 LS age"
      ::= { ospfExtLsdbEntry 5 }


    ospfExtLsdbChecksum OBJECT-TYPE
        SYNTAX   Integer32
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "This field is the  checksum  of  the  complete
           contents  of  the  advertisement, excepting the
           age field.  The age field is excepted  so  that
           an   advertisement's  age  can  be  incremented
           without updating the  checksum.   The  checksum
           used  is  the same that is used for ISO connec-
           tionless datagrams; it is commonly referred  to
           as the Fletcher checksum."
       REFERENCE
          "OSPF Version 2, Section 12.1.7 LS checksum"
      ::= { ospfExtLsdbEntry 6 }


    ospfExtLsdbAdvertisement OBJECT-TYPE
        SYNTAX   OCTET STRING (SIZE(36))
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The entire Link State Advertisement, including
           its header."
       REFERENCE
          "OSPF Version 2, Section 12  Link  State  Adver-
          tisements"
      ::= { ospfExtLsdbEntry 7 }


--  OSPF Use of the CIDR Route Table

ospfRouteGroup           OBJECT IDENTIFIER ::= { ospf 13 }

-- The IP Forwarding Table defines a number of objects for use by
-- the routing protocol to externalize its information.  Most of
-- the variables (ipForwardDest, ipForwardMask, ipForwardPolicy,
-- ipForwardNextHop, ipForwardIfIndex, ipForwardType,
-- ipForwardProto, ipForwardAge, and ipForwardNextHopAS) are
-- defined there.

-- Those that leave some discretion are defined here.

-- ipCidrRouteProto is, of course, ospf (13).

-- ipCidrRouteAge is the time since the route was first calculated,
-- as opposed to the time since the last SPF run.

-- ipCidrRouteInfo is an OBJECT IDENTIFIER for use by the routing
-- protocol.  The following values shall be found there depending
-- on the way the route was calculated.

ospfIntraArea      OBJECT IDENTIFIER ::= { ospfRouteGroup 1 }
ospfInterArea      OBJECT IDENTIFIER ::= { ospfRouteGroup 2 }
ospfExternalType1  OBJECT IDENTIFIER ::= { ospfRouteGroup 3 }
ospfExternalType2  OBJECT IDENTIFIER ::= { ospfRouteGroup 4 }

-- ipCidrRouteMetric1 is, by definition, the primary routing
-- metric.  Therefore, it should be the metric that route
-- selection is based on.  For intra-area and inter-area routes,
-- it is an OSPF metric.  For External Type 1 (comparable value)
-- routes, it is an OSPF metric plus the External Metric.  For
-- external Type 2 (non-comparable value) routes, it is the
-- external metric.

-- ipCidrRouteMetric2 is, by definition, a secondary routing
-- metric.  Therefore, it should be the metric that breaks a tie
-- among routes having equal metric1 values and the same
-- calculation rule.  For intra-area, inter-area routes, and
-- External Type 1 (comparable value) routes, it is unused.  For
-- external Type 2 (non-comparable value) routes, it is the metric
-- to the AS border router.

-- ipCidrRouteMetric3, ipCidrRouteMetric4, and ipCidrRouteMetric5 are
-- unused.

--
--      The OSPF Area Aggregate Table
--
--      This table replaces the OSPF Area Summary Table, being an
--      extension of that for CIDR routers.

    ospfAreaAggregateTable OBJECT-TYPE
        SYNTAX   SEQUENCE OF OspfAreaAggregateEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "A range of IP addresses  specified  by  an  IP
           address/IP  network  mask  pair.   For example,
           class B address range of X.X.X.X with a network
           mask  of  255.255.0.0 includes all IP addresses
           from X.X.0.0  to  X.X.255.255.   Note  that  if
           ranges  are configured such that one range sub-
           sumes  another  range  (e.g.,   10.0.0.0   mask
           255.0.0.0  and  10.1.0.0 mask 255.255.0.0), the
           most specific match is the preferred one."
       REFERENCE
          "OSPF Version 2, Appendix C.2  Area parameters"
      ::= { ospf 14 }


    ospfAreaAggregateEntry OBJECT-TYPE
        SYNTAX   OspfAreaAggregateEntry
        ACCESS   not-accessible
        STATUS   mandatory
        DESCRIPTION
           "A range of IP addresses  specified  by  an  IP
           address/IP  network  mask  pair.   For example,
           class B address range of X.X.X.X with a network
           mask  of  255.255.0.0 includes all IP addresses
           from X.X.0.0  to  X.X.255.255.   Note  that  if
           ranges are range configured such that one range
           subsumes another  range  (e.g.,  10.0.0.0  mask
           255.0.0.0  and  10.1.0.0 mask 255.255.0.0), the
           most specific match is the preferred one."
       REFERENCE
          "OSPF Version 2, Appendix C.2  Area parameters"
      INDEX { ospfAreaAggregateAreaID, ospfAreaAggregateLsdbType,
              ospfAreaAggregateNet, ospfAreaAggregateMask }
      ::= { ospfAreaAggregateTable 1 }


OspfAreaAggregateEntry ::=
    SEQUENCE {
        ospfAreaAggregateAreaID
            AreaID,
        ospfAreaAggregateLsdbType
            INTEGER,
        ospfAreaAggregateNet
            IpAddress,
        ospfAreaAggregateMask
            IpAddress,
        ospfAreaAggregateStatus
            RowStatus,
        ospfAreaAggregateEffect
            INTEGER
              }

    ospfAreaAggregateAreaID OBJECT-TYPE
        SYNTAX   AreaID
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The Area the Address Aggregate is to be  found
           within."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { ospfAreaAggregateEntry 1 }


    ospfAreaAggregateLsdbType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    summaryLink (3),
                    nssaExternalLink (7)
                  }
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The type of the Address Aggregate.  This field
           specifies  the  Lsdb type that this Address Ag-
           gregate applies to."
       REFERENCE
          "OSPF Version 2, Appendix A.4.1 The  Link  State
          Advertisement header"
      ::= { ospfAreaAggregateEntry 2 }


    ospfAreaAggregateNet OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The IP Address of the Net or Subnet  indicated
           by the range."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { ospfAreaAggregateEntry 3 }


    ospfAreaAggregateMask OBJECT-TYPE
        SYNTAX   IpAddress
        ACCESS   read-only
        STATUS   mandatory
        DESCRIPTION
           "The Subnet Mask that pertains to  the  Net  or
           Subnet."
       REFERENCE
          "OSPF Version 2, Appendix C.2 Area parameters"
      ::= { ospfAreaAggregateEntry 4 }


    ospfAreaAggregateStatus OBJECT-TYPE
        SYNTAX   RowStatus
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "This variable displays the status of  the  en-
           try.  Setting it to 'invalid' has the effect of
           rendering it inoperative.  The internal  effect
           (row removal) is implementation dependent."
       ::= { ospfAreaAggregateEntry 5 }


    ospfAreaAggregateEffect OBJECT-TYPE
        SYNTAX   INTEGER    {
                    advertiseMatching (1),
                    doNotAdvertiseMatching (2),
                    advertiseDoNotAggregate (3)
                  }
        ACCESS   read-write
        STATUS   mandatory
        DESCRIPTION
           "Subnets subsumed by ranges either trigger  the
           advertisement  of  the indicated aggregate (ad-
           vertiseMatching), or result in the subnet's not
           being advertised at all outside the area."
       DEFVAL   { advertiseMatching }
       ::= { ospfAreaAggregateEntry 6 }


-- conformance information

ospfConformance OBJECT IDENTIFIER ::= { ospf 15 }

ospfGroups      OBJECT IDENTIFIER ::= { ospfConformance 1 }
ospfCompliances OBJECT IDENTIFIER ::= { ospfConformance 2 }

-- compliance statements

    ospfCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
           "The compliance statement "
       MODULE  -- this module
       MANDATORY-GROUPS {
                    ospfBasicGroup,
                    ospfAreaGroup,
                    ospfStubAreaGroup,
                    ospfIfGroup,
                    ospfIfMetricGroup,
                    ospfVirtIfGroup,
                    ospfNbrGroup,
                    ospfVirtNbrGroup,
                    ospfAreaAggregateGroup
           }
       ::= { ospfCompliances 1 }


-- units of conformance

    ospfBasicGroup    OBJECT-GROUP
        OBJECTS {
                    ospfRouterId,
                    ospfAdminStat,
                    ospfVersionNumber,
                    ospfAreaBdrRtrStatus,
                    ospfASBdrRtrStatus,
                    ospfExternLsaCount,
                    ospfExternLsaCksumSum,
                    ospfTOSSupport,
                    ospfOriginateNewLsas,
                    ospfRxNewLsas,
                    ospfExtLsdbLimit,
                    ospfMulticastExtensions,
                    ospfExitOverflowInterval,
                    ospfDemandExtensions
        }
        STATUS  current
        DESCRIPTION
           "These objects are required for OSPF systems."
       ::= { ospfGroups 1 }


    ospfAreaGroup    OBJECT-GROUP
        OBJECTS {
                    ospfAreaId,
                    ospfImportAsExtern,
                    ospfSpfRuns,
                    ospfAreaBdrRtrCount,
                    ospfAsBdrRtrCount,
                    ospfAreaLsaCount,
                    ospfAreaLsaCksumSum,
                    ospfAreaSummary,
                    ospfAreaStatus
        }
        STATUS  current
        DESCRIPTION
           "These objects are required  for  OSPF  systems
           supporting areas."
       ::= { ospfGroups 2 }


    ospfStubAreaGroup    OBJECT-GROUP
        OBJECTS {
                    ospfStubAreaId,
                    ospfStubTOS,
                    ospfStubMetric,
                    ospfStubStatus,
                    ospfStubMetricType
        }
        STATUS  current
        DESCRIPTION
           "These objects are required  for  OSPF  systems
           supporting stub areas."
       ::= { ospfGroups 3 }


    ospfLsdbGroup    OBJECT-GROUP
        OBJECTS {
                    ospfLsdbAreaId,
                    ospfLsdbType,
                    ospfLsdbLsid,
                    ospfLsdbRouterId,
                    ospfLsdbSequence,
                    ospfLsdbAge,
                    ospfLsdbChecksum,
                    ospfLsdbAdvertisement
        }
        STATUS  current
        DESCRIPTION
           "These objects are required  for  OSPF  systems
           that display their link state database."
       ::= { ospfGroups 4 }


    ospfAreaRangeGroup    OBJECT-GROUP
        OBJECTS {
                    ospfAreaRangeAreaId,
                    ospfAreaRangeNet,
                    ospfAreaRangeMask,
                    ospfAreaRangeStatus,
                    ospfAreaRangeEffect
        }
        STATUS  obsolete
        DESCRIPTION
           "These objects are required for  non-CIDR  OSPF
           systems that support multiple areas."
       ::= { ospfGroups 5 }


    ospfHostGroup    OBJECT-GROUP
        OBJECTS {
                    ospfHostIpAddress,
                    ospfHostTOS,
                    ospfHostMetric,
                    ospfHostStatus,
                    ospfHostAreaID
        }
        STATUS  current
        DESCRIPTION
           "These objects are required  for  OSPF  systems
           that support attached hosts."
       ::= { ospfGroups 6 }


    ospfIfGroup    OBJECT-GROUP
        OBJECTS {
                    ospfIfIpAddress,
                    ospfAddressLessIf,
                    ospfIfAreaId,
                    ospfIfType,
                    ospfIfAdminStat,
                    ospfIfRtrPriority,
                    ospfIfTransitDelay,
                    ospfIfRetransInterval,
                    ospfIfHelloInterval,
                    ospfIfRtrDeadInterval,
                    ospfIfPollInterval,
                    ospfIfState,
                    ospfIfDesignatedRouter,
                    ospfIfBackupDesignatedRouter,
                    ospfIfEvents,
                    ospfIfAuthType,
                    ospfIfAuthKey,
                    ospfIfStatus,
                    ospfIfMulticastForwarding,
                    ospfIfDemand
        }
        STATUS  current
        DESCRIPTION
           "These objects are required for OSPF systems."
       ::= { ospfGroups 7 }


    ospfIfMetricGroup    OBJECT-GROUP
        OBJECTS {
                    ospfIfMetricIpAddress,
                    ospfIfMetricAddressLessIf,
                    ospfIfMetricTOS,
                    ospfIfMetricValue,
                    ospfIfMetricStatus
        }
        STATUS  current
        DESCRIPTION
           "These objects are required for OSPF systems."
       ::= { ospfGroups 8 }


    ospfVirtIfGroup    OBJECT-GROUP
        OBJECTS {
                    ospfVirtIfAreaId,
                    ospfVirtIfNeighbor,
                    ospfVirtIfTransitDelay,
                    ospfVirtIfRetransInterval,
                    ospfVirtIfHelloInterval,
                    ospfVirtIfRtrDeadInterval,
                    ospfVirtIfState,
                    ospfVirtIfEvents,
                    ospfVirtIfAuthType,
                    ospfVirtIfAuthKey,
                    ospfVirtIfStatus
        }
        STATUS  current
        DESCRIPTION
           "These objects are required for OSPF systems."
       ::= { ospfGroups 9 }


    ospfNbrGroup    OBJECT-GROUP
        OBJECTS {
                    ospfNbrIpAddr,
                    ospfNbrAddressLessIndex,
                    ospfNbrRtrId,
                    ospfNbrOptions,
                    ospfNbrPriority,
                    ospfNbrState,
                    ospfNbrEvents,
                    ospfNbrLsRetransQLen,
                    ospfNbmaNbrStatus,
                    ospfNbmaNbrPermanence,
                    ospfNbrHelloSuppressed
        }
        STATUS  current
        DESCRIPTION
           "These objects are required for OSPF systems."
       ::= { ospfGroups 10 }


    ospfVirtNbrGroup    OBJECT-GROUP
        OBJECTS {
                    ospfVirtNbrArea,
                    ospfVirtNbrRtrId,
                    ospfVirtNbrIpAddr,
                    ospfVirtNbrOptions,
                    ospfVirtNbrState,
                    ospfVirtNbrEvents,
                    ospfVirtNbrLsRetransQLen,
                    ospfVirtNbrHelloSuppressed
        }
        STATUS  current
        DESCRIPTION
           "These objects are required for OSPF systems."
       ::= { ospfGroups 11 }


    ospfExtLsdbGroup    OBJECT-GROUP
        OBJECTS {
                    ospfExtLsdbType,
                    ospfExtLsdbLsid,
                    ospfExtLsdbRouterId,
                    ospfExtLsdbSequence,
                    ospfExtLsdbAge,
                    ospfExtLsdbChecksum,
                    ospfExtLsdbAdvertisement
        }
        STATUS  current
        DESCRIPTION
           "These objects are required  for  OSPF  systems
           that display their link state database."
       ::= { ospfGroups 12 }


    ospfAreaAggregateGroup    OBJECT-GROUP
        OBJECTS {
                    ospfAreaAggregateAreaID,
                    ospfAreaAggregateLsdbType,
                    ospfAreaAggregateNet,
                    ospfAreaAggregateMask,
                    ospfAreaAggregateStatus,
                    ospfAreaAggregateEffect
        }
        STATUS  current
        DESCRIPTION
           "These objects are required for OSPF systems."
       ::= { ospfGroups 13 }

END
OSPF-TRAP-MIB DEFINITIONS ::= BEGIN

    -- RCC Changes
    -- Renamed ospfVirtIfAreaId to ospfVirtIfAreaID (defined in rfc1253)
    -- Renamed opsfLsdbLsid to ospfLsdbLSID (defined in rfc1253) 
    -- Changed MODULE-IDENTITY to OBJECT-TYPE
    -- 6/5/97 removed ospfSetTrap variable. We will include it later.

    IMPORTS
            MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, IpAddress
                FROM SNMPv2-SMI
            MODULE-COMPLIANCE, OBJECT-GROUP
                FROM SNMPv2-CONF
            ospfRouterId, ospfIfIpAddress, ospfAddressLessIf, ospfIfState,
            ospfVirtIfAreaId, ospfVirtIfNeighbor, ospfVirtIfState,
            ospfNbrIpAddr, ospfNbrAddressLessIndex, ospfNbrRtrId,
            ospfNbrState, ospfVirtNbrArea, ospfVirtNbrRtrId, 
            ospfVirtNbrState, ospf
                FROM OSPF-MIB;

    ospfTrap MODULE-IDENTITY
           LAST-UPDATED "9501201225Z" -- Fri Jan 20 12:25:50 PST 1995
           ORGANIZATION "IETF OSPF Working Group"
           CONTACT-INFO
           "                      Fred Baker
           Postal:                Cisco Systems
                                  519 Lado Drive
                                  Santa Barbara, California 93111
           Tel:                   +1 805 681 0115
           E-Mail:                fred@cisco.com
 
                                  Rob Coltun
           Postal:                RainbowBridge Communications
           Tel:                   (301) 340-9416
           E-Mail:                rcoltun@rainbow-bridge.com"
       DESCRIPTION
          "The MIB module to describe traps for  the  OSPF
          Version 2 Protocol."
      ::= { ospf 16 }

--    ospfTrap OBJECT IDENTIFIER ::= { ospf 16 }

-- Trap Support Objects

--         The following are support objects for the OSPF traps.

ospfTrapControl OBJECT IDENTIFIER ::= { ospfTrap 1 }
ospfTraps OBJECT IDENTIFIER ::= { ospfTrap 2 }


    ospfConfigErrorType OBJECT-TYPE
        SYNTAX   INTEGER   {
                    badVersion (1),
                    areaMismatch (2),
                    unknownNbmaNbr (3), -- Router is Dr eligible
                    unknownVirtualNbr (4),
                    authTypeMismatch(5),
                    authFailure (6),
                    netMaskMismatch (7),
                    helloIntervalMismatch (8),
                    deadIntervalMismatch (9),
                    optionMismatch (10) }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "Potential types  of  configuration  conflicts.
           Used  by the ospfConfigError and ospfConfigVir-
           tError traps."
   ::= { ospfTrapControl 2 }


    ospfPacketType OBJECT-TYPE
        SYNTAX   INTEGER   {
                    hello (1),
                    dbDescript (2),
                    lsReq (3),
                    lsUpdate (4),
                    lsAck (5) }
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "OSPF packet types."
   ::= { ospfTrapControl 3 }


    ospfPacketSrc OBJECT-TYPE
        SYNTAX   IpAddress
        MAX-ACCESS   read-only
        STATUS   current
        DESCRIPTION
           "The IP address of an inbound packet that  can-
           not be identified by a neighbor instance."
       ::= { ospfTrapControl 4 }


-- Traps


    ospfVirtIfStateChange NOTIFICATION-TYPE
        OBJECTS {
                    ospfRouterId, -- The originator of the trap
                    ospfVirtIfAreaId,
                    ospfVirtIfNeighbor,
                    ospfVirtIfState  -- The new state
                  }
        STATUS             current
        DESCRIPTION
           "An ospfIfStateChange trap signifies that there
           has  been a change in the state of an OSPF vir-
           tual interface.
           This trap should be generated when  the  inter-
           face  state  regresses  (e.g., goes from Point-
           to-Point to Down) or progresses to  a  terminal
           state (i.e., Point-to-Point)."
   ::= { ospfTraps 1 }


    ospfNbrStateChange NOTIFICATION-TYPE
        OBJECTS {
                    ospfRouterId, -- The originator of the trap
                    ospfNbrIpAddr,
                    ospfNbrAddressLessIndex,
                    ospfNbrRtrId,
                    ospfNbrState  -- The new state
                  }
        STATUS             current
        DESCRIPTION
           "An  ospfNbrStateChange  trap  signifies   that
           there  has been a change in the state of a non-
           virtual OSPF neighbor.   This  trap  should  be
           generated  when  the  neighbor  state regresses
           (e.g., goes from Attempt or Full  to  1-Way  or
           Down)  or progresses to a terminal state (e.g.,
           2-Way or Full).  When an  neighbor  transitions
           from  or  to Full on non-broadcast multi-access
           and broadcast networks, the trap should be gen-
           erated  by the designated router.  A designated
           router transitioning to Down will be  noted  by
           ospfIfStateChange."
   ::= { ospfTraps 2 }


    ospfVirtNbrStateChange NOTIFICATION-TYPE
        OBJECTS {
                    ospfRouterId, -- The originator of the trap
                    ospfVirtNbrArea,
                    ospfVirtNbrRtrId,
                    ospfVirtNbrState  -- The new state
                  }
        STATUS             current
        DESCRIPTION
           "An ospfIfStateChange trap signifies that there
           has  been a change in the state of an OSPF vir-
           tual neighbor.  This trap should  be  generated
           when  the  neighbor state regresses (e.g., goes
           from Attempt or  Full  to  1-Way  or  Down)  or
           progresses to a terminal state (e.g., Full)."
   ::= { ospfTraps 3 }

    ospfIfConfigError NOTIFICATION-TYPE
        OBJECTS {
                    ospfRouterId, -- The originator of the trap
                    ospfIfIpAddress,
                    ospfAddressLessIf,
                    ospfPacketSrc,  -- The source IP address
                    ospfConfigErrorType, -- Type of error
                    ospfPacketType
                  }
        STATUS             current
        DESCRIPTION
           "An ospfIfConfigError  trap  signifies  that  a
           packet  has  been received on a non-virtual in-
           terface  from  a  router  whose   configuration
           parameters  conflict  with this router's confi-
           guration parameters.  Note that the  event  op-
           tionMismatch  should  cause  a  trap only if it
           prevents an adjacency from forming."
                  ::= { ospfTraps 4 }


    ospfVirtIfConfigError NOTIFICATION-TYPE
        OBJECTS {
                    ospfRouterId, -- The originator of the trap
                    ospfVirtIfAreaId,
                    ospfVirtIfNeighbor,
                    ospfConfigErrorType, -- Type of error
                    ospfPacketType
                  }
        STATUS             current
        DESCRIPTION
           "An ospfConfigError trap signifies that a pack-
           et  has  been  received  on a virtual interface
           from a router  whose  configuration  parameters
           conflict   with   this  router's  configuration
           parameters.  Note that the event optionMismatch
           should  cause a trap only if it prevents an ad-
           jacency from forming."
   ::= { ospfTraps 5 }


    ospfIfAuthFailure NOTIFICATION-TYPE
        OBJECTS {
                    ospfRouterId, -- The originator of the trap
                    ospfIfIpAddress,
                    ospfAddressLessIf,
                    ospfPacketSrc,  -- The source IP address
                    ospfConfigErrorType, -- authTypeMismatch or
                                         -- authFailure
                    ospfPacketType
                  }
        STATUS             current
        DESCRIPTION
           "An ospfIfAuthFailure  trap  signifies  that  a
           packet  has  been received on a non-virtual in-
           terface from a router whose authentication  key
           or  authentication  type  conflicts  with  this
           router's authentication key  or  authentication
           type."
   ::= { ospfTraps 6 }


    ospfVirtIfAuthFailure NOTIFICATION-TYPE
        OBJECTS {
                    ospfRouterId, -- The originator of the trap
                    ospfVirtIfAreaId,
                    ospfVirtIfNeighbor,
                    ospfConfigErrorType, -- authTypeMismatch or
                                         -- authFailure
                    ospfPacketType
                  }
        STATUS             current
        DESCRIPTION
           "An ospfVirtIfAuthFailure trap signifies that a
           packet has been received on a virtual interface
           from a router whose authentication key  or  au-
           thentication  type conflicts with this router's
           authentication key or authentication type."
   ::= { ospfTraps 7 }

    ospfIfStateChange NOTIFICATION-TYPE
        OBJECTS {
                    ospfRouterId, -- The originator of the trap
                    ospfIfIpAddress,
                    ospfAddressLessIf,
                    ospfIfState   -- The new state
                  }
        STATUS             current
        DESCRIPTION
           "An ospfIfStateChange trap signifies that there
           has been a change in the state of a non-virtual
           OSPF interface. This trap should  be  generated
           when  the interface state regresses (e.g., goes
           from Dr to Down) or progresses  to  a  terminal
           state  (i.e.,  Point-to-Point, DR Other, Dr, or
           Backup)."
   ::= { ospfTraps 16 }


-- conformance information

ospfTrapConformance OBJECT IDENTIFIER ::= { ospfTrap 3 }

ospfTrapGroups      OBJECT IDENTIFIER ::= { ospfTrapConformance 1 }
ospfTrapCompliances OBJECT IDENTIFIER ::= { ospfTrapConformance 2 }

-- compliance statements

    ospfTrapCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
           "The compliance statement "
       MODULE  -- this module
       MANDATORY-GROUPS { ospfTrapControlGroup }


        GROUP       ospfTrapControlGroup
        DESCRIPTION
           "This group is optional but recommended for all
           OSPF systems"
       ::= { ospfTrapCompliances 1 }


-- units of conformance

    ospfTrapControlGroup    OBJECT-GROUP
        OBJECTS {
                           ospfConfigErrorType,
                           ospfPacketType,
                           ospfPacketSrc
        }
        STATUS  current
        DESCRIPTION
           "These objects are required  to  control  traps
           from OSPF systems."
       ::= { ospfTrapGroups 1 }


END
-- SECTION 1: Top Level Definitions

SYNOPTICS-ROOT-MIB DEFINITIONS ::= BEGIN


-- SynOptics Root MIB Release 1.7.0
-- Revision 8/27/99

-- Copyright 1996 - 99 Nortel Networks, Inc.
-- All rights reserved.
-- This Nortel Networks SNMP Management Information Base Specification
-- (Specification) embodies Nortel Networks' confidential and
-- proprietary intellectual property. Nortel Networks retains all
-- title and ownership in the Specification, including any
-- revisions.

-- This Specification is supplied "AS IS," and Nortel Networks makes
-- no warranty, either express or implied, as to the use,
-- operation, condition, or performance of the Specification.


-- Imports

IMPORTS
	enterprises
		FROM RFC1155-SMI;

-- Textual Conventions

SnpxBackplaneType ::= INTEGER {
	other(1),		-- none of the following
	eth(2),			-- ethernet
	ethTok(3),		-- ethernet and tokenring
	ethFddi(4),		-- ethernet and FDDI
	ethTokFddi(5),		-- ethernet, tokenring, and FDDI
	ethTokRed(6),		-- ethernet and tokenring with
				--   redundant powersupply
	ethTokFddiRed(7),	-- ethernet, tokenring, and FDDI
				--   with redundant powersupply
	tok(8),			-- tokenring
        enetTrFastEnet(9),      -- ethernet, tokenring, and fast ethernet
        enetFastEnet(10),       -- ethernet and fast ethernet
        enetTrFastEnetRed(11),  -- ethernet, tokenring, and fast ethernet
                                -- with redundant powersupply
	enetFastGigEnet(12)	-- ethernet, fast, and gigabit ethernet
	}
-- This type is used to specify a concentrator backplane.


SnpxChassisType ::= INTEGER {
	other(1),		-- none of the following
	m3000(2),		-- product 3000
	m3030(3),		-- product 3030
	m2310(4),		-- product 2310
	m2810(5),		-- product 2810
	m2912(6),		-- product 2912
	m2914(7),		-- product 2914
	m271x(8),		-- product 271x
	m2813(9),		-- product 2813
	m2814(10),		-- product 2814
	m2915(11),		-- product 2915
	m5000(12),		-- product 5000
	m2813SA(13),		-- product 2813SA
	m2814SA(14),		-- product 2814SA
	m810M(15),		-- product 810M
	m1032x(16),		-- product EtherCell
	m5005(17),		-- product 5005
	mAlcatelEthConc(18),	-- product Alcatel Ethernet workgroup conc.
	m2715SA(20),		-- product 2715SA
	m2486(21),		-- product 2486
	m28xxx(22),		-- product 28000 series
	m2300x(23),		-- product 23000 series
	m5DN00x(24),		-- product 5DN00x series
	mBayStackEth(25),	-- product BayStack Ethernet
	m2310x(26),		-- product 23100 series
	mBayStack100Hub(27),	-- product 100Base-T Hub
	m3000FastEth(28),       -- product 3000 Fast Ethernet
	mXediaSwitch(29),	-- product Orion switch
	notUsed(30),            -- not used 
        m28200EthSwitch(31),    -- product DDS 
	mCent6Slot(32),         -- product Centillion
	mCent12Slot(33),        -- product Centillion
	mCent1Slot(34),         -- product Centillion
	mBayStack301(35),       -- product BayStack 301
	mBayStackTr(36),        -- product BayStack TokenRing Hub
	mFVC10625(37),          -- product FVC Multimedia Switch
	mSwitchNode(38),        -- product Switch Node
	mBayStack302(39),       -- product BayStack 302 Switch
	mBayStack350(40),       -- product BayStack 350 Switch
	mBayStack150(41),       -- product BayStack 150 Ethernet Hub
        mCent50N3Slot(42),      -- product Centillion 50N switch
        mCent50T3Slot(43),      -- product Centillion 50T switch
        mBayStack303-304(44),   -- product BayStack 303 and 304 Switches
	mBayStack200(45),       -- product BayStack 200 Ethernet Hub
	mBayStack250(46),       -- product BayStack 250 10/100 Ethernet Hub
	mBayStack450(48),       -- product BayStack 450 10/100/1000 Switches
	mBayStack410(49),       -- product BayStack 410 10/100 Switches
        mAccelar1200(50),       -- product Accelar 1200 L3 Switch
        mAccelar1250(51),       -- product Accelar 1250 L3 Switch
        mAccelar1100(52),       -- product Accelar 1100 L3 Switch
        mAccelar1150(53),       -- product Accelar 1150 L3 Switch
        mAccelar1050(54),       -- product Accelar 1050 L3 Switch
        mAccelar1051(55),       -- product Accelar 1051 L3 Switch
        mAccelar8610(56),       -- product Accelar 8610 L3 Switch
        mAccelar8606(57),       -- product Accelar 8606 L3 Switch
	mAccelar8010(58),       -- product Accelar 8010
	mAccelar8006(59),       -- product Accelar 8006
	mBayStack670(60),       -- product BayStack 670 wireless access point
        mAccelar740(61),        -- product Accelar 740 
        mAccelar750(62),        -- product Accelar 750 
	mAccelar790(63),        -- product Accelar 790
	mBayStack550(64),       -- product BayStack 550 10/100 Switches
        mAccelar8110(65),       -- product Accelar 8110 L2 Switch
        mAccelar8106(66)        -- product Accelar 8106 L2 Switch
	}
-- This type is used to specify a concentrator chassis.


-- Top Branches under "synoptics"

synoptics	OBJECT IDENTIFIER ::= { enterprises 45 }

products	OBJECT IDENTIFIER ::= { synoptics 1 }
temporary 	OBJECT IDENTIFIER ::= { synoptics 2 }
registration	OBJECT IDENTIFIER ::= { synoptics 3 }
policy		OBJECT IDENTIFIER ::= { synoptics 4 }


-- Branches under "products"

series1000	OBJECT IDENTIFIER ::= { products 1 }
s3SnmpAgent	OBJECT IDENTIFIER ::= { products 2 }
series3000	OBJECT IDENTIFIER ::= { products 3 }
superAgent	OBJECT IDENTIFIER ::= { products 4 }
specialTraps	OBJECT IDENTIFIER ::= { products 5 }
series5000	OBJECT IDENTIFIER ::= { products 6 }
lanSwitch	OBJECT IDENTIFIER ::= { products 7 }


-- Branches under "temporary"

-- ieee8023	OBJECT IDENTIFIER ::= { temporary 1 }
-- proj1(del)	OBJECT IDENTIFIER ::= { temporary 2 }
-- proj2(sa)	OBJECT IDENTIFIER ::= { temporary 3 }
-- proj3(lc)	OBJECT IDENTIFIER ::= { temporary 4 }
-- proj4(pen)	OBJECT IDENTIFIER ::= { temporary 5 }
-- proj5(phe)	OBJECT IDENTIFIER ::= { temporary 6 }
-- proj6(fddi)	OBJECT IDENTIFIER ::= { temporary 7 }
-- proj7(xo)	OBJECT IDENTIFIER ::= { temporary 8 }

-- Branches under "registration" (values for object sysObjectId)
s3reg-other	OBJECT IDENTIFIER ::= { registration 1 }


s3reg-3000	OBJECT IDENTIFIER ::= { registration 2 }
  s3reg-3000-enetNMM
		OBJECT IDENTIFIER ::= { s3reg-3000 1 }
  s3reg-3000-trNMM
		OBJECT IDENTIFIER ::= { s3reg-3000 2 }
  s3reg-3000-FDDI-NMM
		OBJECT IDENTIFIER ::= { s3reg-3000 3 }
  s3reg-3000-FastEthNMM
		OBJECT IDENTIFIER ::= { s3reg-3000 4 }
  s3reg-3000-ethSwitchNMM
		OBJECT IDENTIFIER ::= { s3reg-3000 5 }


s3reg-3030	OBJECT IDENTIFIER ::= { registration 3 }
  s3reg-3030-enetNMM
		OBJECT IDENTIFIER ::= { s3reg-3030 1 }
  s3reg-3030-trNMM
		OBJECT IDENTIFIER ::= { s3reg-3030 2 }
  s3reg-3030-FDDI-NMM
		OBJECT IDENTIFIER ::= { s3reg-3030 3 }
  s3reg-3030-ethSwitchNMM
		OBJECT IDENTIFIER ::= { s3reg-3030 4 } 


s3reg-2310	OBJECT IDENTIFIER ::= { registration 4 }
  s3reg-2310-enetNMM
		OBJECT IDENTIFIER ::= { s3reg-2310 1 }
  s3reg-2310-trNMM
		OBJECT IDENTIFIER ::= { s3reg-2310 2 }
  s3reg-2310-FDDI-NMM
		OBJECT IDENTIFIER ::= { s3reg-2310 3 }


s3reg-332X	OBJECT IDENTIFIER ::= { registration 5 }
s3reg-332XS	OBJECT IDENTIFIER ::= { registration 6 }
s3reg-3356	OBJECT IDENTIFIER ::= { registration 7 }


s3reg-2810	OBJECT IDENTIFIER ::= { registration 8 }
  s3reg-2810-enetNMM
		OBJECT IDENTIFIER ::= { s3reg-2810 1 }


s3reg-2715	OBJECT IDENTIFIER ::= { registration 9 }
  s3reg-2715-trNMM
	OBJECT IDENTIFIER ::= { s3reg-2715 1 }


s3reg-291X	OBJECT IDENTIFIER ::= { registration 10 }
  s3reg-291X-FDDI-NMM
		OBJECT IDENTIFIER ::= { s3reg-291X 1 }


s3reg-3394	OBJECT IDENTIFIER ::= { registration 11 }

s3reg-281X	OBJECT IDENTIFIER ::= { registration 12 }
  s3reg-281X-enetNMM
		OBJECT IDENTIFIER ::= { s3reg-281X 1 }


s5reg-5000	OBJECT IDENTIFIER ::= { registration 13 }
  s5reg-5000-ethNMM  -- Ethernet NMM in 5000 Chassis
		OBJECT IDENTIFIER ::= { s5reg-5000 1 }
  s5reg-5000-tokNMM  -- Token Ring NMM in 5000 Chassis
		OBJECT IDENTIFIER ::= { s5reg-5000 2 }
  s5reg-5000-fddNMM  -- FDDI NMM in 5000 Chassis
		OBJECT IDENTIFIER ::= { s5reg-5000 3 }
  s5reg-5000-atmNMM  -- ATM NMM in 5000 Chassis
		OBJECT IDENTIFIER ::= { s5reg-5000 4 }
  s5reg-5000-ethSwitchNMM  -- Ethernet Switch NMM in 5000 Chassis
		OBJECT IDENTIFIER ::= {s5reg-5000 5}
  s5reg-5000-ethFastEthNMM  -- 10/100 Ethernet NMM in 5000 Chassis
		OBJECT IDENTIFIER ::= { s5reg-5000 6 }
  s5reg-5000-eth10-100SwitchNMM  -- 10/100 Ethernet Switch NMM in 5000 Chassis
		OBJECT IDENTIFIER ::= { s5reg-5000 7 }


s3reg-281XSA	OBJECT IDENTIFIER ::= { registration 14 }
  s3reg-281XSA-enetNMM
		OBJECT IDENTIFIER ::= { s3reg-281XSA 1 }


lsreg-28xxx	OBJECT IDENTIFIER ::= { registration 15 }
  lsreg-28xxx-NMM
		OBJECT IDENTIFIER ::= { lsreg-28xxx 1 }


s3reg-8xx	OBJECT IDENTIFIER ::= { registration 16 }
  s3reg-810M-enetNMM
		OBJECT IDENTIFIER ::= { s3reg-8xx 1 }


s5reg-5005	OBJECT IDENTIFIER ::= { registration 17 }
  s5reg-5005-ethNMM  -- Ethernet NMM in 5005 Chassis
		OBJECT IDENTIFIER ::= { s5reg-5005 1 }
  s5reg-5005-tokNMM  -- Token Ring NMM in 5005 Chassis
		OBJECT IDENTIFIER ::= { s5reg-5005 2 }
  s5reg-5005-ethSwitchNMM -- Ethernet Switch NMM in 5005 Chassis
	        OBJECT IDENTIFIER ::= { s5reg-5005 3 }
  s5reg-5005-fddNMM  -- FDDI NMM in 5005 Chassis
		OBJECT IDENTIFIER ::= { s5reg-5005 4 }
  s5reg-5005-ethFastEthNMM  -- 10/100 Ethernet NMM in 5005 Chassis
		OBJECT IDENTIFIER ::= { s5reg-5005 5 }
  s5reg-5005-eth10-100SwitchNMM -- 10/100 Ethernet Switch NMM in 5005 Chassis
		OBJECT IDENTIFIER ::= { s5reg-5005 7 }

s3reg-AlcatelConc	OBJECT IDENTIFIER ::= { registration 18 }
  s3reg-AlcatelEthConc-enetNMM
		OBJECT IDENTIFIER ::= { s3reg-AlcatelConc 1 }


s3reg-271XSA	OBJECT IDENTIFIER ::= { registration 19 }
  s3reg-271XSA-trNMM	OBJECT IDENTIFIER ::= { s3reg-271XSA 1 }


ecreg-1032x	OBJECT IDENTIFIER ::= { registration 20 }
  s3reg-1032x-NMM	OBJECT IDENTIFIER ::= { ecreg-1032x 1 }


sreg-5DN00x	OBJECT IDENTIFIER ::= { registration 21 }
  sreg-5DN00x-EthNMM	OBJECT IDENTIFIER ::= { sreg-5DN00x 1 } 


sreg-BayStackEth	OBJECT IDENTIFIER ::= { registration 22 }
  sreg-BayStackEth-ethNMM   OBJECT IDENTIFIER ::= { sreg-BayStackEth 1 }


sreg-2300x	OBJECT IDENTIFIER ::= { registration 23 }
  sreg-2300x-NMM	OBJECT IDENTIFIER ::= { sreg-2300x 1 }


sreg-2310x	OBJECT IDENTIFIER ::= { registration 24 }
  sreg-2310x-NMM	OBJECT IDENTIFIER ::= { sreg-2310x 1 }

sreg-Orion	OBJECT IDENTIFIER ::= { registration 25 }
  sreg-Orion-ethNMM	OBJECT IDENTIFIER ::= { sreg-Orion 1 }

sreg-BayStack100Hub     OBJECT IDENTIFIER ::= { registration 26 }
  sreg-BayStack100Unit-12Port
                OBJECT IDENTIFIER ::= { sreg-BayStack100Hub 1 }

sreg-BayStackTr  OBJECT IDENTIFIER ::= { registration 27 }
   sreg-BayStackTr-trNMM -- BayStackTr NMM in a virtual Chassis
		 OBJECT IDENTIFIER ::= { sreg-BayStackTr 1 }

lsreg-28200   OBJECT IDENTIFIER ::= { registration 28 }
   lsreg-28200-ethSwitchNMM -- 28200 Ethernet Switch
                 OBJECT IDENTIFIER ::= { lsreg-28200 1 }

sreg-BayStack302   OBJECT IDENTIFIER ::= { registration 29 }
   sreg-BayStack302-9port -- BayStack302 8+1Tx/Fx 10 Mb/s Ethernet Switch 
                 OBJECT IDENTIFIER ::= { sreg-BayStack302 1 }

sreg-BayStack350   OBJECT IDENTIFIER ::= { registration 30 }
   sreg-BayStack350-ethSwitchNMM  -- BayStack350 Family 10/100 Adaptive Switches
                 OBJECT IDENTIFIER ::= { sreg-BayStack350 1 }
   sreg-BayStack350-24T-ethSwitchNMM  -- BayStack 350-24T and -12T 10/100/1000 Adaptive Switches
		 OBJECT IDENTIFIER ::= { sreg-BayStack350 2 }

sreg-BayStack150Eth        OBJECT IDENTIFIER ::= { registration 31 }
  sreg-BayStack150Eth-ethNMM
		OBJECT IDENTIFIER ::= { sreg-BayStack150Eth 1 }
   
sreg-BayStack303-304	OBJECT IDENTIFIER ::= { registration 32 }
  sreg-BayStack303-304-Sw   -- 12-24 10mb 1 100mb with MDA Switch
                 OBJECT IDENTIFIER ::= { sreg-BayStack303-304 1 }
  sreg-BayStack303-24T-Sw   -- 24 10mb 1 100mb with 2 MDA Switch
                 OBJECT IDENTIFIER ::= { sreg-BayStack303-304 2 }

sreg-BayStack200Eth        OBJECT IDENTIFIER ::= { registration 33 }
  sreg-BayStack200Eth-ethNMM  --BayStack200 Ethernet Hub
		OBJECT IDENTIFIER ::= { sreg-BayStack200Eth 1 }

sreg-BayStack250Eth        OBJECT IDENTIFIER ::= { registration 34 }
  sreg-BayStack250Eth-ethNMM  --BayStack250 10/100 Ethernet Hub
              OBJECT IDENTIFIER ::= { sreg-BayStack250Eth 1 }

sreg-BayStack450           OBJECT IDENTIFIER ::= { registration 35 }
  sreg-BayStack450-ethSwitchNMM  --BayStack450 10/100/1000 Ethernet Switch
              OBJECT IDENTIFIER ::= { sreg-BayStack450 1 }

sreg-BayStack410           OBJECT IDENTIFIER ::= { registration 36 }
  sreg-BayStack410-24T-ethSwitchNMM  --BayStack 410-24T 10/100 Adaptive Switches
	      OBJECT IDENTIFIER ::= { sreg-BayStack410 1 }

sreg-BayStackICS           OBJECT IDENTIFIER ::= { registration 37 }
  sreg-BayStackICS-NMM  --BayStack Integrated Communication Server
	      OBJECT IDENTIFIER ::= { sreg-BayStackICS 1 }

s5reg-Accelar8010          OBJECT IDENTIFIER ::= { registration 38 }
  s5reg-Accelar8132TX    --Ethernet Switch 32 port in 8010 Chassis
	      OBJECT IDENTIFIER ::= { s5reg-Accelar8010 1 }
  s5reg-Accelar8148TX   --Ethernet Switch 48 port in 8010 Chassis
 	      OBJECT IDENTIFIER ::= { s5reg-Accelar8010 2 }

sreg-BayStack670           OBJECT IDENTIFIER ::= { registration 39 }
   sreg-BayStack670-wirelessLAN  -- BayStack 670 11Mb/s wireless access point
		    OBJECT IDENTIFIER ::= { sreg-BayStack670 1 }

sreg-BayStack550           OBJECT IDENTIFIER ::= { registration 40 }
  sreg-BayStack550-24T-ethSwitchNMM  --BayStack 550-24T 10/100 Switches
	      OBJECT IDENTIFIER ::= { sreg-BayStack550 1 }
END
-- SECTION 1: Top Level Definitions

S5-ETH-MULTISEG-TOPOLOGY-MIB DEFINITIONS ::= BEGIN

-- 5000 Ethernet Multi-segment MIB Release 1.0.3
-- Revision 04/08/97 

-- Copyright 1995, 96, 97 Bay Networks, Inc.
-- All rights reserved.
-- This Bay Networks SNMP Management Information Base Specification
-- (Specification) embodies Bay Networks' confidential and
-- proprietary intellectual property. Bay Networks retains all
-- title and ownership in the Specification, including any
-- revisions.

-- This Specification is supplied "AS IS," and Bay Networks makes
-- no warranty, either express or implied, as to the use,
-- operation, condition, or performance of the Specification.


-- Imports

IMPORTS
	IpAddress, TimeTicks
		FROM RFC1155-SMI
	OBJECT-TYPE
		FROM RFC-1212
	SnpxChassisType, SnpxBackplaneType
		FROM SYNOPTICS-ROOT-MIB
	s5EnMsTop
		FROM S5-ROOT-MIB
	MacAddress
		FROM S5-TCS-MIB;


-- Groups

s5EnMsTopInfo		OBJECT IDENTIFIER ::= { s5EnMsTop 1 }

s5EnMsTopNmm		OBJECT IDENTIFIER ::= { s5EnMsTop 2 }

s5EnMsTopBdg		OBJECT IDENTIFIER ::= { s5EnMsTop 3 }

s5EnMsTopSrcMac		OBJECT IDENTIFIER ::= { s5EnMsTop 4 }

-- SECTION 2: MIB Objects

-- Topology Status and Configuration Information

s5EnMsTopIpAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"An IP address of the agent. This is used to fill
		in the IP address field of transmitted SONMP packets.
		The agent should be reachable through this IP address."
	::= { s5EnMsTopInfo 1 }

s5EnMsTopStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		  topOn(1),
		  topOff(2)
		}
	ACCESS	read-write
	STATUS	mandatory
	DESCRIPTION
		"Indicates if the agent is participating in
		multi-segment topology. The values are:
		  topOn(1)....topology is on
		  topOff(2)...topology is off
		When the value is topOff(2) the status of 	
		topology table entries is undefined.  However, the
		agent should make its best attempt when the value is
		changed to topOff(2) to remove all existing instances
		of topology MIB objects. The agent must save the
		setting of this object in nonvolatile memory (i.e.,
		save across reboots)."
	::= { s5EnMsTopInfo 2 }

s5EnMsTopNmmLstChg OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of sysUpTime the last time an entry in the
		NMM topology table was added, deleted, or modified.  If
		the NMM topology table has not changed since cold/warm
		start of the agent, then the value is zero."
	::= { s5EnMsTopInfo 3 }

s5EnMsTopBdgLstChg OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of sysUpTime the last time an entry in the
		bridge topology table was added, deleted, or modified.
		If the bridge topology table has not changed since
		cold/warm start of the agent, then the value is zero."
	::= { s5EnMsTopInfo 4 }

s5EnMsTopNmmMaxNum OBJECT-TYPE
	SYNTAX	INTEGER (0..65535)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of entries in the NMM topology
		table."
	::= { s5EnMsTopInfo 5 }

s5EnMsTopNmmCurNum OBJECT-TYPE
	SYNTAX	INTEGER (0..65535)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current number of entries in the NMM topology
		table."
	::= { s5EnMsTopInfo 6 }

s5EnMsTopBdgMaxNum OBJECT-TYPE
	SYNTAX	INTEGER (0..65535)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The maximum number of entries in the bridge topology
		table."
	::= { s5EnMsTopInfo 7 }

s5EnMsTopBdgCurNum OBJECT-TYPE
	SYNTAX	INTEGER (0..65535)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current number of entries in the bridge topology
		table."
	::= { s5EnMsTopInfo 8 }

-- Network Management Module (NMM) Topology Table

s5EnMsTopNmmTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF S5EnMsTopNmmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of topology information from each topology
		agent that sends out NMM topology messages, and that
		has been heard by the reporting topology agent.  The
		number of entries is determined by the number of
		distinct topology messages received.  A topology
		message is identified by a combination of the IP
		address and segment-identifier contained in the
		message, and the slot-port on which it is received.
		Entries in the table are created by reception of a
		'new' NMM topology message.  An entry is removed from
		the table after no messages are received from the
		corresponding topology agent in the required time
		interval.

		NOTE: there is an entry for the reporting agent with
		the values of slot and port set to zero."
	::= { s5EnMsTopNmm 1 }

s5EnMsTopNmmEntry OBJECT-TYPE
	SYNTAX	S5EnMsTopNmmEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the NMM topology table. Entries in the table
		can not be created or deleted via SNMP."
	INDEX	{ s5EnMsTopNmmSlot,
		  s5EnMsTopNmmPort,
		  s5EnMsTopNmmIpAddr,
		  s5EnMsTopNmmSegId }
	::= { s5EnMsTopNmmTable 1 }

S5EnMsTopNmmEntry ::= SEQUENCE {
	s5EnMsTopNmmSlot INTEGER,
	s5EnMsTopNmmPort INTEGER,
	s5EnMsTopNmmIpAddr IpAddress,
	s5EnMsTopNmmSegId INTEGER,
	s5EnMsTopNmmMacAddr  MacAddress, 
	s5EnMsTopNmmChassisType SnpxChassisType,
	s5EnMsTopNmmBkplType SnpxBackplaneType,
	s5EnMsTopNmmLocalSeg INTEGER,
	s5EnMsTopNmmCurState INTEGER
	}

s5EnMsTopNmmSlot OBJECT-TYPE
	SYNTAX	INTEGER (0..255)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The slot on which the topology message
		was received.

		NOTE: There is an artificial 'row' for the reporting
		agent with slot and port equal to zero.

		NOTE: Non-modular devices that do not have multiple
		slots should set this value to 1."
	::= { s5EnMsTopNmmEntry 1 }

s5EnMsTopNmmPort OBJECT-TYPE
	SYNTAX	INTEGER (0..255)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The port on which the topology message 
		was received.

		NOTE: there is an artificial 'row' for the reporting
		agent with slot and port equal to zero."
	::= { s5EnMsTopNmmEntry 2 }

s5EnMsTopNmmIpAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The IP address of the sender of the topology message."
	::= { s5EnMsTopNmmEntry 3 }

s5EnMsTopNmmSegId OBJECT-TYPE
	SYNTAX	INTEGER (0..'FFFFFF'H)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The 'segment identifier' of the segment from which
		the remote agent sent the topology message.  The value
		is extracted from the received topology message.
		Different devices may use different methods for
		representing the segment identifier.  For example,
		system 5000 NMMs that run multi-segment autotopology use
		the SrcIndx of the segment as the segment identifier;
                switches use a computed a value equal to '(256 * s) + p'
                where 's' is the board, card or slot number and 'p' is
                the port number on and as seen by the switch sending the 
                topology message;
		system 3000 NMMs use the lower three bytes of the MAC
		address of the NMM as the segment identifier.  In any
		case, the 'segment identifier' uniquely identifies the
		network segment in the remote device from which
		the topology message was sent."
	::= { s5EnMsTopNmmEntry 4 }

s5EnMsTopNmmMacAddr OBJECT-TYPE
	SYNTAX	MacAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The MAC address of the sender of the topology message."
	::= { s5EnMsTopNmmEntry 5 }

s5EnMsTopNmmChassisType OBJECT-TYPE
	SYNTAX	SnpxChassisType
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The chassis type of the device that sent the topology
		message."
	::= { s5EnMsTopNmmEntry 6 }

s5EnMsTopNmmBkplType OBJECT-TYPE
	SYNTAX	SnpxBackplaneType
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The backplane type of the device that sent the
		topology message."
	::= { s5EnMsTopNmmEntry 7 }

s5EnMsTopNmmLocalSeg OBJECT-TYPE
	SYNTAX	INTEGER {
		true(1),
		false(2)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"Indicates if the sender of the topology message is on
		the same Ethernet segment (i.e., NOT across a bridge)
		as the reporting agent."
	::= { s5EnMsTopNmmEntry 8 }

s5EnMsTopNmmCurState OBJECT-TYPE
	SYNTAX	INTEGER {
		topChanged(1),
		heartbeat(2),
		new(3)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current state of sender of the
		topology message. The values are:
		  topChanged(1)...topology information has
		                    recently changed
		  heartbeat(2)....topology information unchanged
		  new(3)..........sending agent is in new state."
	::= { s5EnMsTopNmmEntry 9 }

-- Encoded Octet Strings for NMM Topology Table

s5EnMsTopNmmEosSize OBJECT-TYPE
	SYNTAX	INTEGER (0..1440)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current size of a 'row' in the table
		s5EnMsTopNmmEosTable.  This allows applications
		to be able to break apart 'rows' in the table."
	::= { s5EnMsTopNmm 2 }

s5EnMsTopNmmEosTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF S5EnMsTopNmmEosEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of encoded octet strings of
		entries in table s5EnMsTopNmmTable.
		The number of entries is determined by
		packing of 'rows' from s5EnMsTopNmmTable."
	::= { s5EnMsTopNmm 3 }

s5EnMsTopNmmEosEntry OBJECT-TYPE
	SYNTAX	S5EnMsTopNmmEosEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the table of encoded octet
		strings for table s5EnMsTopNmmTable.
		Instance returned in Response PDU:
		  On GETs: instance specified is the
		           instance returned.
		  On GET-NEXTs: instance returned is the
		                instance of the last record
		                contained in the octet string.

		Entries in the table can not be created
		or deleted via SNMP."
	INDEX	{ s5EnMsTopNmmSlot,
		  s5EnMsTopNmmPort,
		  s5EnMsTopNmmIpAddr,
		  s5EnMsTopNmmSegId }
	::= { s5EnMsTopNmmEosTable 1 }

S5EnMsTopNmmEosEntry ::= SEQUENCE {
	s5EnMsTopNmmEos OCTET STRING
	}

s5EnMsTopNmmEos OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(0..1400))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"An encoded octet string. On reads it contains
		an integral number of 'rows' from table
		s5EnMsTopNmmTable. All 'rows' are the same size
		which is defined by object s5EnMsTopNmmEosSize."
	::= { s5EnMsTopNmmEosEntry 1 }

-- Bridge Topology Table

s5EnMsTopBdgTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF S5EnMsTopBdgEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of topology information from each Bridge in
		the network that is sending bridge topology messages
		that have been heard by the reporting agent.  The
		number of entries is determined by the number of
		detected (and active) bridges.  Entries in the table
		are created by reception of a topology message from a
		'new' bridge.  An entry is removed from the table
		after no messages are received from the corresponding
		bridge in the required time interval."
	::= { s5EnMsTopBdg 1 }

s5EnMsTopBdgEntry OBJECT-TYPE
	SYNTAX	S5EnMsTopBdgEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the bridge topology table.  Entries in the
		table can not be created or deleted via SNMP."
	INDEX	{ s5EnMsTopBdgSlotNum,
		  s5EnMsTopBdgPortNum,
		  s5EnMsTopBdgIpAddr }
	::= { s5EnMsTopBdgTable 1 }

S5EnMsTopBdgEntry ::= SEQUENCE {
	s5EnMsTopBdgSlotNum INTEGER,
	s5EnMsTopBdgPortNum INTEGER,
	s5EnMsTopBdgIpAddr IpAddress,
	s5EnMsTopBdgNumber INTEGER,
	s5EnMsTopBdgMacAddr MacAddress,
	s5EnMsTopBdgType INTEGER,
	s5EnMsTopBdgStatus INTEGER,
	s5EnMsTopBdgNumPorts INTEGER,
	s5EnMsTopBdgHelloPortNum INTEGER,
	s5EnMsTopBdgHelloPortType INTEGER,
	s5EnMsTopBdgHelloPortStatus INTEGER,
	s5EnMsTopBdgCompBdgMac1 MacAddress,
	s5EnMsTopBdgCompBdgMac2 MacAddress
	}

s5EnMsTopBdgSlotNum OBJECT-TYPE
	SYNTAX	INTEGER (0..255)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The slot on which the topology message was
		received.

		NOTE: Non-modular devices that do not have multiple
		slots should set this value to 1."
	::= { s5EnMsTopBdgEntry 1 }

s5EnMsTopBdgPortNum OBJECT-TYPE
	SYNTAX	INTEGER (0..255)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The port on which the topology message was received."
	::= { s5EnMsTopBdgEntry 2 }

s5EnMsTopBdgIpAddr OBJECT-TYPE
	SYNTAX	IpAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The IP address of the bridge that sent the
		topology message."
	::= { s5EnMsTopBdgEntry 3 }

s5EnMsTopBdgNumber OBJECT-TYPE
	SYNTAX	INTEGER (0..65535)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The 'Bridge Number' of the bridge that sent
		the topology message.  This is the IEEE 802.1
		bridge number."
	::= { s5EnMsTopBdgEntry 4 }

s5EnMsTopBdgMacAddr OBJECT-TYPE
	SYNTAX	MacAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The MAC Address of the bridge that sent the
		topology message."
	::= { s5EnMsTopBdgEntry 5 }

s5EnMsTopBdgType OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		localSyn(2),
		remoteSyn(3),
		kalpana(4)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The 'kind of bridge' that sent the topology
		message. The values are:
		  other(1).....unknown or other type
		  locSyn(2)....local SynOptics bridge
		  remSyn(3)....remote SynOptics bridge
		  kalpana(4)...Kalpana bridge(switch)
		"
	::= { s5EnMsTopBdgEntry 6 }

s5EnMsTopBdgNumPorts OBJECT-TYPE
	SYNTAX	INTEGER
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The number of ports on the bridge."
	::= { s5EnMsTopBdgEntry 7 }

s5EnMsTopBdgStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		active(2),
		standby(3)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current operational status from the bridge
		that sent the topology message.  The values are:
		  other(1).....unknown or other
		  active(2)....bridge is active
		  standby(3)...bridge is in standby

		A value of standby(3) means that at least ONE port
		is in standby mode.  A value of active(2) means NO
		port is in standby mode."
	::= { s5EnMsTopBdgEntry 8 }

s5EnMsTopBdgHelloPortNum OBJECT-TYPE
	SYNTAX	INTEGER (0..255)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The port number used by the bridge to
		send the topology message.  This port may
		or may not be in standby mode."
	::= { s5EnMsTopBdgEntry 9 }

s5EnMsTopBdgHelloPortType OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		eth(2),
		tok4(3),
		tok16(4),
		fddi(5),
		t1(6)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The type of the port used by the bridge to
		send the topology message.  The values are:
		  other(1)...other or unknown type
		  eth(2).....ethernet
		  tok4(3)....4 Mbit token ring
		  tok16(4)...16 Mbit token ring
		  fddi(5)....fddi
		  t1(6)......t1

		Note: These enumerations were done for
		'completeness'. No other value than eth(2)
		should ever be received by an ethernet agent."
	::= { s5EnMsTopBdgEntry 10 }

s5EnMsTopBdgHelloPortStatus OBJECT-TYPE
	SYNTAX	INTEGER {
		other(1),
		active(2),
		standby(3)
		}
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The status of the port used by the bridge
		to send the topology message. The values are:
		  other(1).....unknown or other
		  active(2)....port is active
		  standby(3)...port is in standby"
	::= { s5EnMsTopBdgEntry 11 }

s5EnMsTopBdgCompBdgMac1 OBJECT-TYPE
	SYNTAX	MacAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The first MAC address of a companion bridge
		of the bridge that sent the topology message.
		The value is 00:00:00:00:00:00 for local
		bridges (since there is no companion bridge)
		and also when the companion MAC address
		is unknown for remote bridges."
	::= { s5EnMsTopBdgEntry 12 }

s5EnMsTopBdgCompBdgMac2 OBJECT-TYPE
	SYNTAX	MacAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The second MAC address of a companion bridge
		of the bridge that sent the topology message.
		The value is 00:00:00:00:00:00 for local
		bridges (since there is no companion bridge)
		and also when the companion MAC address
		is unknown for remote bridges."
	::= { s5EnMsTopBdgEntry 13 }

-- Encoded Octet Strings for Bridge Topology Table

s5EnMsTopBdgEosSize OBJECT-TYPE
	SYNTAX	INTEGER (0..1440)
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The current size of a 'row' in the table
		s5EnMsTopBdgEosTable.  This allows applications
		to be able to break apart 'rows' in the table."
	::= { s5EnMsTopBdg 2 }

s5EnMsTopBdgEosTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF S5EnMsTopBdgEosEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table of encoded octet strings of
		entries in table s5EnMsTopBdgTable.
		The number of entries is determined by
		packing of 'rows' from s5EnMsTopBdgTable."
	::= { s5EnMsTopBdg 3 }

s5EnMsTopBdgEosEntry OBJECT-TYPE
	SYNTAX	S5EnMsTopBdgEosEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the table of encoded octet
		strings for table s5EnMsTopBdgTable.
		Instance returned in Response PDU:
		  On GETs: instance specified is the
		             instance returned.
		  On GET-NEXTs: instance returned is the
		                  instance of the last record
		                  contained in the octet string.

		Entries in the table can not be created
		or deleted via SNMP."
	INDEX	{ s5EnMsTopBdgSlotNum,
		  s5EnMsTopBdgPortNum,
		  s5EnMsTopBdgIpAddr }
	::= { s5EnMsTopBdgEosTable 1 }

S5EnMsTopBdgEosEntry ::= SEQUENCE {
	s5EnMsTopBdgEos OCTET STRING
	}

s5EnMsTopBdgEos OBJECT-TYPE
	SYNTAX	OCTET STRING (SIZE(0..1400))
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"An encoded octet string. On reads it contains
		an integral number of 'rows' from table
		s5EnMsTopBdgTable.  All 'rows' are the same size
		which is defined by object s5EnMsTopBdgEosSize."
	::= { s5EnMsTopBdgEosEntry 1 }

-- MAC Address-to-Segment Mapping Table

-- Implementation of this group is optional. It is supported by those
-- devices that use different source MAC addresses to transmit
-- topology messages on different segments.

s5EnMsTopSrcMacAddrTable OBJECT-TYPE
	SYNTAX	SEQUENCE OF S5EnMsTopSrcMacAddrEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A table describing the source MAC addresses that the
		agent uses to transmit topology messages on different
		segments in the device.  The MAC addresses are
		preallocated and remain unchanged for the agent.
		However, the mapping between a MAC address and segment
		may change, since it can depend on the current
		physical and/or logical configuration of the device.

		Implementation of this group is required for those
		devices that use different source MAC addresses to
		transmit topology messages on different segments.
		Implementation of this group is optional otherwise."
	::= { s5EnMsTopSrcMac 1 }

s5EnMsTopSrcMacAddrEntry OBJECT-TYPE
	SYNTAX	S5EnMsTopSrcMacAddrEntry
	ACCESS	not-accessible
	STATUS	mandatory
	DESCRIPTION
		"A row in the table of MAC address-to-segment mappings. 
		Entries in the table can not be created or deleted
		via SNMP."
	INDEX	{ s5EnMsTopSrcMacAddr }
	::= { s5EnMsTopSrcMacAddrTable 1 }

S5EnMsTopSrcMacAddrEntry ::= SEQUENCE {
	s5EnMsTopSrcMacAddr   MacAddress,
	s5EnMsTopSrcMacSegId  INTEGER
	}

s5EnMsTopSrcMacAddr OBJECT-TYPE
	SYNTAX	MacAddress
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The MAC address used to transmit topology messages."
	::= { s5EnMsTopSrcMacAddrEntry 1 }

s5EnMsTopSrcMacSegId OBJECT-TYPE
	SYNTAX	INTEGER (0..16777215) 
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The 'segment-identifier' of the segment 
		on which topology messages were transmitted."
	::= { s5EnMsTopSrcMacAddrEntry 2 }

s5EnMsTopSrcMacAddrLstChg OBJECT-TYPE
	SYNTAX	TimeTicks
	ACCESS	read-only
	STATUS	mandatory
	DESCRIPTION
		"The value of sysUpTime when an entry in the 
		table s5EnMsTopSrcMacAddrTable was last changed.
		If no changes have been done since cold/warm start
		of the agent, then the value is zero."
	::= { s5EnMsTopSrcMac 2 }

END
-- SECTION 1: Top Level Definitions

S5-ROOT-MIB DEFINITIONS ::= BEGIN


-- 5000 Root MIB Release 1.1.4
-- Revision 01/07/98

-- Copyright 1998 Bay Networks, Inc.
-- All rights reserved.
-- This Bay Networks SNMP Management Information Base Specification
-- (Specification) embodies Bay Networks' confidential and
-- proprietary intellectual property. Bay Networks retains all
-- title and ownership in the Specification, including any
-- revisions.

-- This Specification is supplied "AS IS," and Bay Networks makes
-- no warranty, either express or implied, as to the use,
-- operation, condition, or performance of the Specification.

-- Imports

IMPORTS
	series5000
		FROM SYNOPTICS-ROOT-MIB;

-- Branches under "series5000"

-- branch for registration of values for objects
--   with syntax of OBJECT IDENTIFIER
  s5reg		OBJECT IDENTIFIER ::= { series5000 1 }

-- Branch for 'Enterprise' field values in traps
  s5Traps	OBJECT IDENTIFIER ::= { series5000 2 }
    s5EthTrap	-- Ethernet
		OBJECT IDENTIFIER ::= { s5Traps 1 }
    s5TokTrap	-- Token Ring
		OBJECT IDENTIFIER ::= { s5Traps 2 }
    s5FddTrap	-- FDDI
		OBJECT IDENTIFIER ::= { s5Traps 3 }
    s5ChaTrap	-- Chassis
		OBJECT IDENTIFIER ::= { s5Traps 4 }
    s5ComTrap	-- Common
		OBJECT IDENTIFIER ::= { s5Traps 5 }
    s5EcellTrap	-- EtherCell
		OBJECT IDENTIFIER ::= { s5Traps 6 }
    atmTraps  -- Atm
                OBJECT IDENTIFIER ::= { s5Traps 7 }
     
-- Major 5000 MIB branches
  s5Chassis	OBJECT IDENTIFIER ::= { series5000 3 }
  s5Agent	OBJECT IDENTIFIER ::= { series5000 4 }
  s5Com		OBJECT IDENTIFIER ::= { series5000 5 }
  s5Eth		OBJECT IDENTIFIER ::= { series5000 6 }
  s5Tok		OBJECT IDENTIFIER ::= { series5000 7 }
  s5Fddi	OBJECT IDENTIFIER ::= { series5000 8 }
  s5EnTop	OBJECT IDENTIFIER ::= { series5000 9 }
  s5TrTop	OBJECT IDENTIFIER ::= { series5000 10 }
  s5FdTop	OBJECT IDENTIFIER ::= { series5000 11 }
  s5EnMsTop	OBJECT IDENTIFIER ::= { series5000 13 }
  s5AtmTop	OBJECT IDENTIFIER ::= { series5000 14 }
  s5IfExt	OBJECT IDENTIFIER ::= { series5000 15 }
END
-- SECTION 1: MIB Definition

S5-TCS-MIB DEFINITIONS ::= BEGIN


-- 5000 Common Textual Conventions MIB Release 1.1.2
-- Revision 07/28/94

-- Copyright 1993-94 SynOptics Communications, Inc.
-- All rights reserved.
-- This SynOptics SNMP Management Information Base Specification
-- (Specification) embodies SynOptics' confidential and
-- proprietary intellectual property. SynOptics retains all
-- title and ownership in the Specification, including any
-- revisions.

-- This Specification is supplied "AS IS," and SynOptics makes
-- no warranty, either express or implied, as to the use,
-- operation, condition, or performance of the Specification.


-- Textual Convention Definitions


-- A textual conventions for MAC addresses.
-- This is a 6 octet address in the "canonical" order
-- defined by IEEE 802.1a, i.e., as if it were transmitted
-- least significant bit first, even though 802.5 (in contrast
-- to other 802.x protocols) requires MAC addresses to be
-- transmitted most significant bit first.
MacAddress ::= OCTET STRING (SIZE (6))


-- A textual convention for IPX addresses. The first four bytes
-- are the network number in 'network order'. The last 6 bytes
-- are the MAC address.
IpxAddress ::= OCTET STRING (SIZE (10))


-- A textual convention for a period of time measured
-- in units of 0.01 seconds.
TimeIntervalHrd ::= INTEGER


-- A textual convention for a period of time measured
-- in units of seconds.
TimeIntervalSec ::= INTEGER



-- A textual convention for an Index of a "source".
-- The values are encoded so that the same MIB object
-- can be used to describe the same type of data, but
-- from different sources.
-- For the 5000 Chassis, this is encoded in the
-- following base 10 fields:
--   1bbiii - identifies an interface on an NMM
--              where 'bb' is the board index and
--              'iii' is the interface number.
--
--   2bbppp - identifies a connectivity port on
--              a board where 'bb' is the board INDEX
--              and 'ppp' is the port INDEX.
--
--   3bblll - identifies a local channel on a
--              board where 'bb' is the board INDEX
--              and 'll' is the local channel INDEX.
--
--   4bbccc - identifies a cluster on a board
--              where 'bb' is the board INDEX and
--              'cc' is the cluster INDEX.
--
--   5bbfff - identifies a FPU on a board where
--              'bb' is the board INDEX, and 'fff' is
--              the FPU INDEX.
--
--   6bbnnn - identifies host board backplane counters
--              where 'bb' is the board INDEX, and
--              'nnn' is the segment INDEX.
--
--   7bbccc - identifies a NULL segment on a board
--              where 'bb' is the board INDEX, and
--              'ccc' is the cluster INDEX.
--
--   8mmnnn - identifies a sum across all host board(s)
--              connected to a given backplane segment
--              where 'mm' is media type, and 'nnn' is
--              the segment INDEX. (NOTE: This is currently
--              only valid for Ethernet.)
SrcIndx ::= INTEGER (1..999999)



-- A textual convention for Media types
MediaType ::= INTEGER {
	other(1),	-- unknown or other type
	eth(2),		-- ethernet
	tok(3),		-- token ring
	fddi(4)		-- FDDI
	}		-- ATM later


-- The FDDI backplane mode.
FddiBkNetMode ::= INTEGER {
	other(1),	-- other or unknown
	thruLow(2),
	thruHigh(3),
	thruLowThruHigh(4)
	}

-- The backplane network ID. This is a numeric assignment
-- made to a backplane channel, a piece of a divided
-- backplane channel, or a grouping of several backplane
-- channels (which is done for FDDI). The number (and values)
-- of the backplane networks is determined by the setting
-- of the channel divider(s) which split some or all
-- the backplane channels into networks, and by
-- grouping when allowed by the media (such as FDDI).
-- Different media and backplane implementations may
-- have a divider or not. Also, there may be different
-- mappings of backplane network IDs to a divided (or
-- undivided) backplane channel.
--
-- Note to agent implementors - you must map the divided
-- (or undivided) backplane channel to the numbering here
-- based on the setting of the backplane channel divider(s),
-- and/or the grouping of the channels for FDDI.
BkNetId ::= INTEGER (1..255)


-- The physical backplane channel identification.
-- This does not change when a backplane is divided.
-- A value of zero means no channel. Otherwise, the
-- channels are numbered starting at one.
BkChan ::= INTEGER (0..255)

-- The physical local channel identification.
-- A value of zero means no channel. Otherwise, the
-- channels are numbered starting at one.
LocChan ::= INTEGER (0..255)

-- The attachment ID. This is either a backplane
-- network ID, a local channel, or as an indication
-- of no backplane network attachment. Negative numbers
-- are used to identify local channels on a board.
-- Where used, the board must also be specified
-- (or implied). A value of zero is used to indicate
-- no (or null) attachment. Positive numbers are the
-- backplane network IDs. The number (and values) of
-- the backplane networks is determined by the setting
-- of the channel divider(s) which split some or all
-- the backplane channels into backplane networks,
-- and by grouping when allowed by the media (such as
-- FDDI). Different media and implementations may have
-- a divider or not. Also, there may be different
-- mappings of backplane network IDs to a divided
-- (or undivided) backplane channel.
--
-- Note to agent implementors - you must map the divided
-- (or undivided) backplane channel to the numbering here
-- based on the setting of the backplane channel divider(s),
-- and/or the grouping of the channels for FDDI.
AttId ::= INTEGER (-255..255)


END

IGMP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, experimental, Counter32,               
    Integer32, IpAddress, TimeTicks  FROM SNMPv2-SMI
    RowStatus, TruthValue            FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF;


igmpMIB MODULE-IDENTITY
    LAST-UPDATED "9504281659Z"
    ORGANIZATION "IETF IDMR Working Group."
    CONTACT-INFO
            " Keith McCloghrie
              Cisco Systems, Inc.
              170 West Tasman Drive
              San Jose, CA  95134-1706
              US

              Phone: +1 408 526 5260
              EMail: kzm@cisco.com"
    DESCRIPTION
            "The MIB module for IGMP Management."
    ::= { experimental 59 }


igmpMIBObjects     OBJECT IDENTIFIER ::= { igmpMIB 1 }

igmp      OBJECT IDENTIFIER ::= { igmpMIBObjects 1 }

--
--  The IGMP Interface Table
--

igmpInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF IgmpInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the interfaces on which IGMP
            is enabled."
    ::= { igmp 1 }

igmpInterfaceEntry OBJECT-TYPE
    SYNTAX     IgmpInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) representing an interface on
            which IGMP is enabled."
    INDEX      { igmpInterfaceIfIndex }
    ::= { igmpInterfaceTable 1 }

IgmpInterfaceEntry ::= SEQUENCE {
    igmpInterfaceIfIndex               Integer32,
    igmpInterfaceQueryInterval         Integer32,
    igmpInterfaceStatus                RowStatus,
    igmpInterfaceVersion               INTEGER,
    igmpInterfaceQuerier               IpAddress,
    igmpInterfaceQueryMaxResponseTime  Integer32,
    igmpInterfaceQuerierPresentTimeout Integer32,
    igmpInterfaceLeaveEnabled          TruthValue,
    igmpInterfaceVersion1QuerierTimer  Integer32,                        
    igmpInterfaceWrongVersionQueries   Counter32,                        
    igmpInterfaceJoins                 Counter32,                       
    igmpInterfaceLeaves                Counter32,
    igmpInterfaceRobustness            Integer32,
    igmpInterfaceLastMembQueryIntvl    Integer32
}

igmpInterfaceIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The interface for which IGMP is enabled."
    ::= { igmpInterfaceEntry 1 }

igmpInterfaceQueryInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The frequency at which IGMP Host-Query packets are
            transmitted on this interface."
    DEFVAL     { 125 }
    ::= { igmpInterfaceEntry 2 }

igmpInterfaceStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The activation of a row enables IGMP on the interface.  The
            destruction of a row disables IGMP on the interface."
    ::= { igmpInterfaceEntry 3 }

igmpInterfaceVersion OBJECT-TYPE
    SYNTAX     INTEGER { version1(1), version2(2) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The version of IGMP which is running on this interface.
            This object can be used to configure a router capable of
            running either value.  For IGMP to function correctly, all   
            routers on a LAN must be configured to run the same version  
            of IGMP on that LAN."                                        
    DEFVAL     { version2 }
    ::= { igmpInterfaceEntry 4 }

igmpInterfaceQuerier OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address of the IGMP Querier on the IP subnet to which
            this interface is attached."
    ::= { igmpInterfaceEntry 5 }

igmpInterfaceQueryMaxResponseTime OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The maximum query response time advertised in IGMPv2
            queries on this interface.  Smaller values allow a router to
            prune groups faster."
    DEFVAL     { 10 }                                                    
    ::= { igmpInterfaceEntry 6 }

igmpInterfaceQuerierPresentTimeout OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "A timeout interval.  If no IGMPv2 queries are heard on this
            interface within this timeout interval, the local router
            will take over the Querier on the IP subnet to which this
            interface is attached."
    DEFVAL     { 255 }                                                   
    ::= { igmpInterfaceEntry 7 }

igmpInterfaceLeaveEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "An indication of whether the processing of IGMPv2 Leave
            messages is enabled on this interface."
    DEFVAL    { true }
    ::= { igmpInterfaceEntry 8 }

igmpInterfaceVersion1QuerierTimer OBJECT-TYPE                            
    SYNTAX     Integer32                                                 
    MAX-ACCESS read-only                                                 
    STATUS     current                                                   
    DESCRIPTION                                                          
            "The time remaining until the host assumes that there are no 
            IGMPv1 routers present on the interface.  While this is      
            non-zero, the host will reply to all queries with version 1  
            membership reports."                                         
    ::= { igmpInterfaceEntry 9 }                                         

igmpInterfaceWrongVersionQueries OBJECT-TYPE                             
    SYNTAX     Counter32                                                 
    MAX-ACCESS read-only                                                 
    STATUS     current                                                   
    DESCRIPTION                                                          
            "The number of queries received whose IGMP version does not 
            match igmpInterfaceVersion.   IGMP requires that all routers 
            on a LAN be configured to run the same version of IGMP.      
            Thus, if any queries are received with the wrong version,    
            this indicates a configuration error."                      
    ::= { igmpInterfaceEntry 10 }                                      

igmpInterfaceJoins OBJECT-TYPE                                           
    SYNTAX     Counter32                                                 
    MAX-ACCESS read-only                                                 
    STATUS     current                                                   
    DESCRIPTION                                                          
            "The number of times a group membership has been added on    
            this interface; that is, the number of times an entry for    
            this interface has been added to the Cache Table.  This     
            object gives an indication of the amount of IGMP activity   
            over time."                                                
    ::= { igmpInterfaceEntry 11 }                                     

igmpInterfaceLeaves OBJECT-TYPE                                          
    SYNTAX     Counter32                                                 
    MAX-ACCESS read-only                                                 
    STATUS     current                                                   
    DESCRIPTION                                                          
            "The number of times a group membership has been removed     
            from this interface; that is, the number of times an entry   
            for this interface has been deleted from the Cache Table.    
            The difference between this and igmpInterfaceJoins indicates 
            the current number of entries in the Cache Table."           
    ::= { igmpInterfaceEntry 12 }                                        

igmpInterfaceRobustness OBJECT-TYPE
    SYNTAX     Integer32 (2..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The robustness variable allows tuning for the expected packet
             loss on a subnet.  If a subnet is expected to be lossy, the
             robustness Variable may be increased. IGMP is robust to
             (Robustness Variable-1) packet losses."
    DEFVAL     { 2 }
    ::= { igmpInterfaceEntry 14 }

igmpInterfaceLastMembQueryIntvl OBJECT-TYPE
    SYNTAX     Integer32 (2..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            ""
    DEFVAL     { 10 }
    ::= { igmpInterfaceEntry 15 }

--
--  The IGMP Cache Table
--

igmpCacheTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF IgmpCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the IP multicast groups for
            which there are members on a particular interface."
    ::= { igmp 2 }

igmpCacheEntry OBJECT-TYPE
    SYNTAX     IgmpCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the igmpCacheTable."
    INDEX      { igmpCacheAddress, igmpCacheIfIndex }
    ::= { igmpCacheTable 1 }

IgmpCacheEntry ::= SEQUENCE {
    igmpCacheAddress            IpAddress,
    igmpCacheIfIndex            Integer32,
    igmpCacheSelf               TruthValue,	-- excluded
    igmpCacheLastReporter       IpAddress,
    igmpCacheUpTime             TimeTicks,	-- excluded
    igmpCacheExpiryTime         TimeTicks,
    igmpCacheStatus             RowStatus,
    igmpCacheVersion1HostTimer  Integer32                                
}

igmpCacheAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information."
    ::= { igmpCacheEntry 1 }

igmpCacheIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The interface for which this entry contains information for
            an IP multicast group address."
    ::= { igmpCacheEntry 2 }

igmpCacheSelf OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "An indication of whether the local system is a member of
            this group address on this interface."
    DEFVAL     { true }
    ::= { igmpCacheEntry 3 }

igmpCacheLastReporter OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP address of the source of the last membership report
            received for this IP Multicast group address on this
            interface.  If no membership report has been received, this
            object has the value 0.0.0.0."
    ::= { igmpCacheEntry 4 }

igmpCacheUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time since the system joined this group address, or
            zero if the system is not currently a member."
    ::= { igmpCacheEntry 5 }

igmpCacheExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum amount of time remaining before this entry will
            be aged out."
    ::= { igmpCacheEntry 6 }

igmpCacheStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The status of this entry."
    ::= { igmpCacheEntry 7 }

igmpCacheVersion1HostTimer OBJECT-TYPE                                   
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time remaining until the local router will assume that
            there are no longer any IGMP version 1 members on the IP     
            subnet attached to this interface.  Upon hearing any IGMPv1
            Membership Report, this value is reset to the group
            membership timer.  While this time remaining is non-zero,
            the local router ignores any IGMPv2 Leave messages for this  
            group that it receives on this interface."                   
    ::= { igmpCacheEntry 8 }

-- conformance information

igmpMIBConformance
               OBJECT IDENTIFIER ::= { igmpMIB 2 }
igmpMIBCompliances
               OBJECT IDENTIFIER ::= { igmpMIBConformance 1 }
igmpMIBGroups  OBJECT IDENTIFIER ::= { igmpMIBConformance 2 }


-- compliance statements

igmpHostMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for hosts implementing the IGMP
            MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { igmpBaseMIBGroup }

    ::= { igmpMIBCompliances 1 }


igmpRouterMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for routers implementing the IGMP
            MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { igmpBaseMIBGroup,
                           igmpRouterMIBGroup
                         }
    ::= { igmpMIBCompliances 2 }


-- units of conformance

igmpBaseMIBGroup OBJECT-GROUP
    OBJECTS { igmpCacheSelf, igmpCacheLastReporter,
              igmpCacheStatus, igmpInterfaceStatus
            }
    STATUS  current
    DESCRIPTION
            "The basic collection of objects providing management of
            IGMP version 1 or 2."
    ::= { igmpMIBGroups 1 }

igmpRouterMIBGroup OBJECT-GROUP
    OBJECTS { igmpCacheUpTime, igmpCacheExpiryTime,
              igmpInterfaceQueryInterval
            }
    STATUS  current
    DESCRIPTION
            "A collection of additional objects for management of IGMP
            version 1 or 2 in routers."
    ::= { igmpMIBGroups 2 }


igmpBaseVersion2MIBGroup OBJECT-GROUP
    OBJECTS { igmpInterfaceQuerier,
              igmpInterfaceVersion1QuerierTimer                         
            }
    STATUS  current
    DESCRIPTION
            "A collection of additional objects for management of IGMP
            version 2."
    ::= { igmpMIBGroups 3 }

igmpRouterVersion2MIBGroup OBJECT-GROUP
    OBJECTS { igmpInterfaceVersion,                                      
              igmpInterfaceQueryMaxResponseTime,
              igmpInterfaceQuerierPresentTimeout,
              igmpInterfaceLeaveEnabled,
              igmpInterfaceWrongVersionQueries,                          
              igmpInterfaceJoins, igmpInterfaceLeaves,                   
              igmpCacheVersion1HostTimer                                 
            }
    STATUS  current
    DESCRIPTION
            "A collection of additional objects for management of IGMP
            version 2 in routers."
    ::= { igmpMIBGroups 4 }

END

IPX DEFINITIONS ::= BEGIN

-- This MIB defines the management information for a system using the IPX
-- protocol.  The MIB consists of four groups:
--
--    1.  System Group - contains general information about all instances
--                       of IPX on the system
--
--    2.  Circuit Group - contains information about all circuits used by
--                        IPX on the system
--
--    3.  Forwarding Group - contains generic routing information that
--                           must be provided by any IPX routing protocol.
--
--    4.  Services Group - contains information about all known services.
--
-- The MIB is designed to support multiple instances of the IPX
-- protocol on one system via a system instance identifier which is the
-- primary index for every table in this MIB.
--
-- This MIB is designed to provide a basic framework for the management
-- of systems implementing the IPX protocol.  Additional MIBs may be
-- created (especially in the area of IPX routing protocols) to contain
-- more specific information.  Whenever possible, these additional MIBs
-- should follow the format of this IPX MIB.  Information in these MIBs
-- should be linked to this MIB via the use of the system instance
-- identifier mentioned above.
--
--
-- Changes:
--
--    4/15/94:  Cleanup of some typographical errors
--
--    4/21/94:  Change ipxCircNetNumber acces to read-write

IMPORTS
        enterprises, Counter
                FROM RFC1155-SMI
        OBJECT-TYPE
                FROM RFC-1212
        TRAP-TYPE
                FROM RFC-1215
        PhysAddress, DisplayString
                FROM RFC1213-MIB;

novell  OBJECT IDENTIFIER ::= { enterprises 23 }
mibDoc  OBJECT IDENTIFIER ::= { novell 2 }
ipx     OBJECT IDENTIFIER ::= { mibDoc 5 }

-- Groups

ipxSystem OBJECT IDENTIFIER ::= {ipx 1}
ipxCircuit OBJECT IDENTIFIER ::= {ipx 2}
ipxForwarding OBJECT IDENTIFIER ::= {ipx 3}
ipxServices OBJECT IDENTIFIER ::= {ipx 4}
ipxTraps OBJECT IDENTIFIER ::= {ipx 5}

-- Types

NetNumber ::= OCTET STRING (SIZE(4))

-- System Group
--   This group contains global information about each instance of IPX
--   running on one system.

-- Basic System Table
--   This table contains one entry for each instance of IPX running on
--   the system.  It contains the management information that should
--   be made available by all implementations of the IPX protocol.

ipxBasicSysTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF IPXBasicSysEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "The IPX System table - basic information."
   ::= {ipxSystem 1}

ipxBasicSysEntry OBJECT-TYPE
   SYNTAX      IPXBasicSysEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "Each entry corresponds to one instance of IPX running
                on the system."
   INDEX       {ipxBasicSysInstance}
   ::= {ipxBasicSysTable 1}

IPXBasicSysEntry ::= SEQUENCE {
                        ipxBasicSysInstance
                           INTEGER,
                        ipxBasicSysExistState
                           INTEGER,
                        ipxBasicSysNetNumber
                           NetNumber,
                        ipxBasicSysNode
                           OCTET STRING,
                        ipxBasicSysName
                           OCTET STRING,
                        ipxBasicSysInReceives
                           Counter,
                        ipxBasicSysInHdrErrors
                           Counter,
                        ipxBasicSysInUnknownSockets
                           Counter,
                        ipxBasicSysInDiscards
                           Counter,
                        ipxBasicSysInBadChecksums
                           Counter,
                        ipxBasicSysInDelivers
                           Counter,
                        ipxBasicSysNoRoutes
                           Counter,
                        ipxBasicSysOutRequests
                           Counter,
                        ipxBasicSysOutMalformedRequests
                           Counter,
                        ipxBasicSysOutDiscards
                           Counter,
                        ipxBasicSysOutPackets
                           Counter,
                        ipxBasicSysConfigSockets
                           INTEGER,
                        ipxBasicSysOpenSocketFails
                           Counter
                    }

ipxBasicSysInstance OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the instance of IPX to which this
                row corresponds.  This value may be written only when
                creating a new entry in the table."
   ::= {ipxBasicSysEntry 1}

ipxBasicSysExistState OBJECT-TYPE
   SYNTAX      INTEGER {
                        off(1),
                        on(2)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The validity of this entry in the IPX system table.
                Setting this field to off indicates that this entry may be
                deleted from the system table at the IPX implementation's
                discretion."
   ::= {ipxBasicSysEntry 2}

ipxBasicSysNetNumber OBJECT-TYPE
   SYNTAX      NetNumber
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The network number portion of the IPX address of this
                system."
   ::= {ipxBasicSysEntry 3}

ipxBasicSysNode OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(6))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The node number portion of the IPX address of this
                system."
   ::= {ipxBasicSysEntry 4}

ipxBasicSysName OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(0..48))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The readable name for this system."
   ::= {ipxBasicSysEntry 5}

ipxBasicSysInReceives OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The total number of IPX packets received, including
                those received in error."
   ::= {ipxBasicSysEntry 6}

ipxBasicSysInHdrErrors OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of IPX packets discarded due to errors in
                their headers, including any IPX packet with a size less
                than the minimum of 30 bytes."
   ::= {ipxBasicSysEntry 7}

ipxBasicSysInUnknownSockets OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of IPX packets discarded because the
                destination socket was not open."
   ::= {ipxBasicSysEntry 8}

ipxBasicSysInDiscards OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of IPX packets received but discarded due to
                reasons other than those accounted for by
                ipxBasicSysInHdrErrors, ipxBasicSysInUnknownSockets,
                ipxAdvSysInDiscards, and ipxAdvSysInCompressDiscards."
   ::= {ipxBasicSysEntry 9}

ipxBasicSysInBadChecksums OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of IPX packets received with incorrect
                checksums."
   ::= {ipxBasicSysEntry 10}

ipxBasicSysInDelivers OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The total number of IPX packets delivered locally,
                including packets from local applications."
   ::= {ipxBasicSysEntry 11}

ipxBasicSysNoRoutes OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of times no route to a destination was
                found."
   ::= {ipxBasicSysEntry 12}

ipxBasicSysOutRequests OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of IPX packets supplied locally for
                transmission, not including any packets counted in
                ipxAdvForwPackets."
   ::= {ipxBasicSysEntry 13}

ipxBasicSysOutMalformedRequests OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of IPX packets supplied locally that contained
                errors in their structure."
   ::= {ipxBasicSysEntry 14}

ipxBasicSysOutDiscards OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of outgoing IPX packets discarded due to
                reasons other than those accounted for in
                ipxBasicSysOutMalformedRequests, ipxAdvSysOutFiltered,
                and ipxAdvSysOutCompressDiscards."
   ::= {ipxBasicSysEntry 15}

ipxBasicSysOutPackets OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The total number of IPX packets transmitted."
   ::= {ipxBasicSysEntry 16}

ipxBasicSysConfigSockets OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The configured maximum number of IPX sockets that may be
                open at one time."
   ::= {ipxBasicSysEntry 17}

ipxBasicSysOpenSocketFails OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of IPX socket open calls which failed."
   ::= {ipxBasicSysEntry 18}

-- Advanced System Table
--   This table contains one entry for each instance of IPX running on
--   the system.  It contains the advanced management information that
--   may not be available from all implementations of the IPX protocol.

ipxAdvSysTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF IPXAdvSysEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "The IPX System table - advanced information."
   ::= {ipxSystem 2}

ipxAdvSysEntry OBJECT-TYPE
   SYNTAX      IPXAdvSysEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "Each entry corresponds to one instance of IPX running
                on the system."
   INDEX       {ipxAdvSysInstance}
   ::= {ipxAdvSysTable 1}

IPXAdvSysEntry ::= SEQUENCE {
                     ipxAdvSysInstance
                        INTEGER,
                     ipxAdvSysMaxPathSplits
                        INTEGER,
                     ipxAdvSysMaxHops
                        INTEGER,
                     ipxAdvSysInTooManyHops
                        Counter,
                     ipxAdvSysInFiltered
                        Counter,
                     ipxAdvSysInCompressDiscards
                        Counter,
                     ipxAdvSysNETBIOSPackets
                        Counter,
                     ipxAdvSysForwPackets
                        Counter,
                     ipxAdvSysOutFiltered
                        Counter,
                     ipxAdvSysOutCompressDiscards
                        Counter,
                     ipxAdvSysCircCount
                        INTEGER,
                     ipxAdvSysDestCount
                        INTEGER,
                     ipxAdvSysServCount
                        INTEGER
                    }

ipxAdvSysInstance OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the instance of IPX to which this
                row corresponds.  This value may be written only when
                creating a new entry in the table."
   ::= {ipxAdvSysEntry 1}

ipxAdvSysMaxPathSplits OBJECT-TYPE
   SYNTAX      INTEGER (1..32)
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The maximum number of paths with equal routing metric
                value which this instance of the IPX may split
                between when forwarding packets."
   DEFVAL      { 1 }
   ::= {ipxAdvSysEntry 2}

ipxAdvSysMaxHops OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The maximum number of hops a packet may take."
   DEFVAL      { 64 }
   ::= {ipxAdvSysEntry 3}

ipxAdvSysInTooManyHops OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of IPX packets discarded due to exceeding the
                maximum hop count."
   ::= {ipxAdvSysEntry 4}

ipxAdvSysInFiltered OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of incoming IPX packets discarded due to
                filtering."
   ::= {ipxAdvSysEntry 5}

ipxAdvSysInCompressDiscards OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of incoming IPX packets discarded due to
                decompression errors."
   ::= {ipxAdvSysEntry 6}

ipxAdvSysNETBIOSPackets OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of NETBIOS packets received."
   ::= {ipxAdvSysEntry 7}

ipxAdvSysForwPackets OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of IPX packets forwarded."
   ::= {ipxAdvSysEntry 8}

ipxAdvSysOutFiltered OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of outgoing IPX packets discarded due to
                filtering."
   ::= {ipxAdvSysEntry 9}

ipxAdvSysOutCompressDiscards OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of outgoing IPX packets discarded due to
                compression errors."
   ::= {ipxAdvSysEntry 10}

ipxAdvSysCircCount OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of circuits known to this instance of IPX."
   ::= {ipxAdvSysEntry 11}

ipxAdvSysDestCount OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of currently reachable destinations known to
                this instance of IPX."
   ::= {ipxAdvSysEntry 12}

ipxAdvSysServCount OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of services known to this instance of IPX."
   ::= {ipxAdvSysEntry 13}

-- Circuit Group
--   This group contains management information for each circuit known
--   to this system.

-- Circuit Table
--   The Circuit table contains an entry for each circuit known to the
--   system.

ipxCircTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF IPXCircEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "The Circuit table."
   ::= {ipxCircuit 1}

ipxCircEntry OBJECT-TYPE
   SYNTAX      IPXCircEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "Each entry corresponds to one circuit known to the
                system."
   INDEX       {
                ipxCircSysInstance,
                ipxCircIndex
               }
   ::= {ipxCircTable 1}

IPXCircEntry ::= SEQUENCE {
                     ipxCircSysInstance
                        INTEGER,
                     ipxCircIndex
                        INTEGER,
                     ipxCircExistState
                        INTEGER,
                     ipxCircOperState
                        INTEGER,
                     ipxCircIfIndex
                        INTEGER,
                     ipxCircName
                        OCTET STRING,
                     ipxCircType
                        INTEGER,
                     ipxCircDialName
                        OCTET STRING,
                     ipxCircLocalMaxPacketSize
                        INTEGER,
                     ipxCircCompressState
                        INTEGER,
                     ipxCircCompressSlots
                        INTEGER,
                     ipxCircStaticStatus
                        INTEGER,
                     ipxCircCompressedSent
                        Counter,
                     ipxCircCompressedInitSent
                        Counter,
                     ipxCircCompressedRejectsSent
                        Counter,
                     ipxCircUncompressedSent
                        Counter,
                     ipxCircCompressedReceived
                        Counter,
                     ipxCircCompressedInitReceived
                        Counter,
                     ipxCircCompressedRejectsReceived
                        Counter,
                     ipxCircUncompressedReceived
                        Counter,
                     ipxCircMediaType
                        OCTET STRING,
                     ipxCircNetNumber
                        NetNumber,
                     ipxCircStateChanges
                        Counter,
                     ipxCircInitFails
                        Counter,
                     ipxCircDelay
                        INTEGER,
                     ipxCircThroughput
                        INTEGER,
                     ipxCircNeighRouterName
                        OCTET STRING,
                     ipxCircNeighInternalNetNum
                        NetNumber
                    }

ipxCircSysInstance OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the instance of IPX
                to which this entry corresponds.  This value may be
                written only when creating a new entry in the table."
   ::= {ipxCircEntry 1}

ipxCircIndex OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The identifier of this circuit, unique within the
                instance of IPX.  This value may be written
                only when creating a new entry in the table."
   ::= {ipxCircEntry 2}

ipxCircExistState OBJECT-TYPE
   SYNTAX      INTEGER {
                        off(1),
                        on(2)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The validity of this circuit entry.  A circuit with this
                value set to off may be deleted from the table at the
                IPX implementation's discretion."
   ::= {ipxCircEntry 3}

ipxCircOperState OBJECT-TYPE
   SYNTAX      INTEGER {
                        down(1),
                        up(2),
                        sleeping(3)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The operational state of the circuit."
   ::= {ipxCircEntry 4}

ipxCircIfIndex OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The value of ifIndex for the interface used by this
                circuit.  This value may be written only when creating
                a new entry in the table."
   ::= {ipxCircEntry 5}

ipxCircName OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(0..48))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The readable name for the circuit."
   ::= {ipxCircEntry 6}

ipxCircType OBJECT-TYPE
   SYNTAX      INTEGER {
                        other(1),
                        broadcast(2),
                        ptToPt(3),
                        wanRIP(4),
                        unnumberedRIP(5),
                        dynamic(6),
                        wanWS(7)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The type of the circuit."
   ::= {ipxCircEntry 7}

ipxCircDialName OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(0..48))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The symbolic name used to refernce the dialing information
                used to create this circuit.  This value may be written
                only when creating a new entry in the table."
   ::= {ipxCircEntry 8}

ipxCircLocalMaxPacketSize OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The maximum size (including header), in bytes, that the
                system supports locally on this circuit."
   ::= {ipxCircEntry 9}

ipxCircCompressState OBJECT-TYPE
   SYNTAX      INTEGER {
                        off(1),
                        on(2)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The compression state on this circuit.  This value may
                be written only when creating a new entry in the table."
   DEFVAL      { off }
   ::= {ipxCircEntry 10}

ipxCircCompressSlots OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The number of compression slots available on this
                circuit.  This value may be written only when creating a
                new entry in the table."
   DEFVAL      { 16 }
   ::= {ipxCircEntry 11}

ipxCircStaticStatus OBJECT-TYPE
   SYNTAX      INTEGER {
                        unknown(1),
                        currentStatus(2), -- fixed due mib compiler error (was just 'current')
                        changed(3),
                        read(4),
                        reading(5),
                        write(6),
                        writing(7)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "Indicates whether the information about static routes
                and services reached via this circuit matches that
                saved in permanent storage (current).  Setting the
                value to write when it had the value changed will write
                the currently in use information to permanent storage,
                if supported.  Setting the value to read when it had
                the value changed will replace any routes and services
                currently defined for the circuit with those read from
                permanent storage, if supported."
   ::= {ipxCircEntry 12}

ipxCircCompressedSent OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of compressed packets sent."
   ::= {ipxCircEntry 13}

ipxCircCompressedInitSent OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of compression initialization packets sent."
   ::= {ipxCircEntry 14}

ipxCircCompressedRejectsSent OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of compressed packet rejected packets sent."
   ::= {ipxCircEntry 15}

ipxCircUncompressedSent OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of packets sent without being compressed
                even though compression was turned on for this circuit."
   ::= {ipxCircEntry 16}

ipxCircCompressedReceived OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of compressed packets received."
   ::= {ipxCircEntry 17}

ipxCircCompressedInitReceived OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of compression initialization packets received."
   ::= {ipxCircEntry 18}

ipxCircCompressedRejectsReceived OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of compressed packet rejected packets received."
   ::= {ipxCircEntry 19}

ipxCircUncompressedReceived OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of packets received without having been
                compressed even though compression was turned on for
                this circuit."
   ::= {ipxCircEntry 20}

ipxCircMediaType OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(2))
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The media type used on this circuit."
   ::= {ipxCircEntry 21}

ipxCircNetNumber OBJECT-TYPE
   SYNTAX      NetNumber
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The IPX network number of this circuit.  This value may
                be written only when creating a new entry in the table."
   ::= {ipxCircEntry 22}

ipxCircStateChanges OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of times the circuit has changed state."
   ::= {ipxCircEntry 23}

ipxCircInitFails OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of times that initialization of this
                circuit has failed."
   ::= {ipxCircEntry 24}

ipxCircDelay OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The period of time, in milliseconds, that it takes to
                transmit one byte of data, excluding protocol headers,
                to a destination on the other end of the circuit, if
                the circuit is free of other traffic."
   ::= {ipxCircEntry 25}

ipxCircThroughput OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The amount of data, in bits per second, that may flow
                through the circuit if there is no other traffic."
   ::= {ipxCircEntry 26}

ipxCircNeighRouterName OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(0..48))
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The name of the neighboring router on a WAN circuit."
   ::= {ipxCircEntry 27}

ipxCircNeighInternalNetNum OBJECT-TYPE
   SYNTAX      NetNumber
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The internal network number of the neighboring router
                on a WAN circuit."
   ::= {ipxCircEntry 28}

-- Forwarding Group
--   This group provides a representation of the forwarding database used
--   by all instances of IPX on the system.

-- Destination Table
--   The Destination table contains information about all known
--   destinations.  The routing information shown in this table represents
--   the path currently being used to reach the destination.

ipxDestTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF IPXDestEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "The Destination table contains information about all
                known destinations."
   ::= {ipxForwarding 1}

ipxDestEntry OBJECT-TYPE
   SYNTAX      IPXDestEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "Each entry corresponds to one destination."
   INDEX       {
                ipxDestSysInstance,
                ipxDestNetNum
               }
   ::= {ipxDestTable 1}

IPXDestEntry ::= SEQUENCE {
                     ipxDestSysInstance
                        INTEGER,
                     ipxDestNetNum
                        NetNumber,
                     ipxDestProtocol
                        INTEGER,
                     ipxDestTicks
                        INTEGER,
                     ipxDestHopCount
                        INTEGER,
                     ipxDestNextHopCircIndex
                        INTEGER,
                     ipxDestNextHopNICAddress
                        PhysAddress,
                     ipxDestNextHopNetNum
                        NetNumber
                    }

ipxDestSysInstance OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the instance of IPX
                to which this row corresponds."
   ::= {ipxDestEntry 1}

ipxDestNetNum OBJECT-TYPE
   SYNTAX      NetNumber
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The IPX network number of the destination."
   ::= {ipxDestEntry 2}

ipxDestProtocol OBJECT-TYPE
   SYNTAX      INTEGER {
                        other(1),
                        local(2),
                        rip(3),
                        nlsp(4),
                        static(5)
                       }
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The routing protocol from which knowledge of this
                destination was obtained."
   ::= {ipxDestEntry 3}

ipxDestTicks OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The delay in ticks to reach this destination."
   ::= {ipxDestEntry 4}

ipxDestHopCount OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of hops necessary to reach the destination."
   ::= {ipxDestEntry 5}

ipxDestNextHopCircIndex OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the circuit used to reach the
                next hop."
   ::= {ipxDestEntry 6}

ipxDestNextHopNICAddress OBJECT-TYPE
   SYNTAX      PhysAddress
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The NIC address of the next hop."
   ::= {ipxDestEntry 7}

ipxDestNextHopNetNum OBJECT-TYPE
   SYNTAX      NetNumber
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The IPX network number of the next hop."
   ::= {ipxDestEntry 8}

-- Static Routes Table
--   This table contains the information about all the static routes
--   defined.  There may be more than one static route to any given
--   destination.  Only the route currently being used will also be
--   present in the Destination Table defined above.

ipxStaticRouteTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF IPXStaticRouteEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "The Static Routes table contains information about all
                destinations reached via statically configured routes."
   ::= {ipxForwarding 2}

ipxStaticRouteEntry OBJECT-TYPE
   SYNTAX      IPXStaticRouteEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "Each entry corresponds to one static route."
   INDEX       {
                ipxStaticRouteSysInstance,
                ipxStaticRouteCircIndex,
                ipxStaticRouteNetNum
               }
   ::= {ipxStaticRouteTable 1}

IPXStaticRouteEntry ::= SEQUENCE {
                           ipxStaticRouteSysInstance
                              INTEGER,
                           ipxStaticRouteCircIndex
                              INTEGER,
                           ipxStaticRouteNetNum
                              NetNumber,
                           ipxStaticRouteExistState
                              INTEGER,
                           ipxStaticRouteTicks
                              INTEGER,
                           ipxStaticRouteHopCount
                              INTEGER,
                           ipxStaticRouteNextHop
                              OCTET STRING
                          }

ipxStaticRouteSysInstance OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the instance of IPX to
                which this row corresponds."
   ::= {ipxStaticRouteEntry 1}

ipxStaticRouteCircIndex OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the circuit used to
                reach the first hop in the static route."
   ::= {ipxStaticRouteEntry 2}

ipxStaticRouteNetNum OBJECT-TYPE
   SYNTAX      NetNumber
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The IPX network number of the route's destination."
   ::= {ipxStaticRouteEntry 3}

ipxStaticRouteExistState OBJECT-TYPE
   SYNTAX      INTEGER {
                        off(1),
                        on(2)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The validity of this static route.  Entries with the
                value set to off may be deleted from the table at the
                implementation's discretion."
   ::= {ipxStaticRouteEntry 4}

ipxStaticRouteTicks OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The delay, in ticks, to reach the route's destination."
   ::= {ipxStaticRouteEntry 5}

ipxStaticRouteHopCount OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The number of hops necessary to reach the destination."
   ::= {ipxStaticRouteEntry 6}

ipxStaticRouteNextHop OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(6))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "Next hop node address."
   ::= {ipxStaticRouteEntry 7}

-- Services Group
--   The Services group contains management information for all known
--   services.

-- Services Table
--    This table contains the services information indexed by service
--    name and type.

ipxServTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF IPXServEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "The table of services, indexed by name and type."
   ::= {ipxServices 1}

ipxServEntry OBJECT-TYPE
   SYNTAX      IPXServEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "Each entry corresponds to one service."
   INDEX       {
                ipxServSysInstance,
                ipxServType,
                ipxServName
               }
   ::= {ipxServTable 1}

IPXServEntry ::= SEQUENCE {
                     ipxServSysInstance
                        INTEGER,
                     ipxServType
                        OCTET STRING,
                     ipxServName
                        DisplayString,
                     ipxServProtocol
                        INTEGER,
                     ipxServNetNum
                        NetNumber,
                     ipxServNode
                        OCTET STRING,
                     ipxServSocket
                        OCTET STRING,
                     ipxServHopCount
                        INTEGER
                    }

ipxServSysInstance OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the instance of IPX
                to which this entry corresponds."
   ::= {ipxServEntry 1}

ipxServType OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(2))
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The service type."
   ::= {ipxServEntry 2}

ipxServName OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(1..48))
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The service name."
   ::= {ipxServEntry 3}

ipxServProtocol OBJECT-TYPE
   SYNTAX      INTEGER {
                        other(1),
                        local(2),
                        nlsp(4),
                        static(5),
                        sap(6)
                       }
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The protocol from which knowledge of this service was
                obtained."
   ::= {ipxServEntry 4}

ipxServNetNum OBJECT-TYPE
   SYNTAX      NetNumber
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The IPX network number portion of the IPX address of the
                service."
   ::= {ipxServEntry 5}

ipxServNode OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(6))
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The node portion of the IPX address of the service."
   ::= {ipxServEntry 6}

ipxServSocket OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(2))
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The socket portion of the IPX address of the service."
   ::= {ipxServEntry 7}

ipxServHopCount OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of hops to the service."
   ::= {ipxServEntry 8}

-- Destination Services Table
--   This table contains the services information indexed by address,
--   name, and type.

ipxDestServTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF IPXDestServEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "The table of services, indexed by address, name,
                and type."
   ::= {ipxServices 2}

ipxDestServEntry OBJECT-TYPE
   SYNTAX      IPXDestServEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "Each entry corresponds to one service."
   INDEX       {
                ipxDestServSysInstance,
                ipxDestServNetNum,
                ipxDestServNode,
                ipxDestServSocket,
                ipxDestServName,
                ipxDestServType
               }
   ::= {ipxDestServTable 1}

IPXDestServEntry ::= SEQUENCE {
                        ipxDestServSysInstance
                           INTEGER,
                        ipxDestServNetNum
                           NetNumber,
                        ipxDestServNode
                           OCTET STRING,
                        ipxDestServSocket
                           OCTET STRING,
                        ipxDestServName
                           DisplayString, 
                        ipxDestServType
                           OCTET STRING,
                        ipxDestServProtocol
                           INTEGER,
                        ipxDestServHopCount
                           INTEGER
                       }

ipxDestServSysInstance OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the instance of IPX
                to which this entry corresponds."
   ::= {ipxDestServEntry 1}

ipxDestServNetNum OBJECT-TYPE
   SYNTAX      NetNumber
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The IPX network number portion of the IPX address of the
                service."
   ::= {ipxDestServEntry 2}

ipxDestServNode OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(6))
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The node portion of the IPX address of the service."
   ::= {ipxDestServEntry 3}

ipxDestServSocket OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(2))
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The socket portion of the IPX address of the service."
   ::= {ipxDestServEntry 4}

ipxDestServName OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(1..48))
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The service name."
   ::= {ipxDestServEntry 5}

ipxDestServType OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(2))
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The service type."
   ::= {ipxDestServEntry 6}

ipxDestServProtocol OBJECT-TYPE
   SYNTAX      INTEGER {
                        other(1),
                        local(2),
                        nlsp(4),
                        static(5),
                        sap(6)
                       }
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The protocol from which knowledge of this service was
                obtained."
   ::= {ipxDestServEntry 7}

ipxDestServHopCount OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of hops to the service."
   ::= {ipxDestServEntry 8}

-- Static Services Table
--   This table contains information for all services reached via a
--   static route.

ipxStaticServTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF IPXStaticServEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "The Static Services table contains information about
                all services reached via statically configured routes."
   ::= {ipxServices 3}

ipxStaticServEntry OBJECT-TYPE
   SYNTAX      IPXStaticServEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "Each entry corresponds to one service."
   INDEX       {
                ipxStaticServSysInstance,
                ipxStaticServCircIndex,
                ipxStaticServName,
                ipxStaticServType
               }
   ::= {ipxStaticServTable 1}

IPXStaticServEntry ::= SEQUENCE {
                           ipxStaticServSysInstance
                              INTEGER,
                           ipxStaticServCircIndex
                              INTEGER,
                           ipxStaticServName
                              DisplayString,
                           ipxStaticServType
                              OCTET STRING,
                           ipxStaticServExistState
                              INTEGER,
                           ipxStaticServNetNum
                              NetNumber,
                           ipxStaticServNode
                              OCTET STRING,
                           ipxStaticServSocket
                              OCTET STRING,
                           ipxStaticServHopCount
                              INTEGER
                          }

ipxStaticServSysInstance OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the instance of IPX to which
                this entry corresponds."
   ::= {ipxStaticServEntry 1}

ipxStaticServCircIndex OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The circuit used to reach this service."
   ::= {ipxStaticServEntry 2}

ipxStaticServName OBJECT-TYPE
   SYNTAX      DisplayString (SIZE(1..48))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The service name."
   ::= {ipxStaticServEntry 3}

ipxStaticServType OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(2))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The service type."
   ::= {ipxStaticServEntry 4}

ipxStaticServExistState OBJECT-TYPE
   SYNTAX      INTEGER {
                        off(1),
                        on(2)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The validity of this static service.  Entries with the
                value set to off may be deleted from the table at the
                implementation's discretion."
   ::= {ipxStaticServEntry 5}

ipxStaticServNetNum OBJECT-TYPE
   SYNTAX      NetNumber
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The IPX network number portion of the IPX address of the
                service."
   ::= {ipxStaticServEntry 6}

ipxStaticServNode OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(6))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The node portion of the IPX address of the service."
   ::= {ipxStaticServEntry 7}

ipxStaticServSocket OBJECT-TYPE
   SYNTAX      OCTET STRING (SIZE(2))
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The socket portion of the IPX address of the service."
   ::= {ipxStaticServEntry 8}

ipxStaticServHopCount OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The number of hops to the service."
   ::= {ipxStaticServEntry 9}

-- Traps
--   The section describes the traps defined for IPX.

ipxTrapCircuitDown TRAP-TYPE
   ENTERPRISE    ipxTraps
   VARIABLES     {
                  ipxCircSysInstance,
                  ipxCircIndex
                 }
   DESCRIPTION   "This trap signifies that the specified circuit has
                  gone down."
   ::= 1

ipxTrapCircuitUp TRAP-TYPE
   ENTERPRISE    ipxTraps
   VARIABLES     {
                  ipxCircSysInstance,
                  ipxCircIndex
                 }
   DESCRIPTION   "This trap signifies that the specified circuit has
                  come up."
   ::= 2

END
-- *****************************************************************
-- NOVELL-RIPSAP-MIB.my:  Novell IPX RIP/SAP MIB
--
-- October 1994, Jeffrey T. Johnson
--
-- Copyright (c) 1994-1996 by cisco Systems, Inc.
-- All rights reserved.
-- 
-- *****************************************************************
--
-- This MIB is virtually identical to the RIPSAP MIB distributed as a part
-- of the Novell NetWare Link Services Protocol (NLSP) Specification 1.0,
-- Novell Part Number 100-001708-002, 2nd Edition Feb '94.  All changes
-- are syntactic in nature, and do not affect the semantics of the MIB.

NOVELL-RIPSAP-MIB DEFINITIONS ::= BEGIN

-- This MIB defines the management information for the RIP and SAP
-- protocols running in an IPX environment.  It provides information in 
-- addition to that contained in the IPX MIB itself.  All tables in this
-- MIB are linked to an instance of IPX via the system instance
-- identifier as defined in the IPX MIB.


IMPORTS 
   Counter
            FROM RFC1155-SMI
   OBJECT-TYPE
            FROM RFC-1212
   mibDoc
            FROM IPX;

ripsap  OBJECT IDENTIFIER ::= {mibDoc 20}


-- Groups

ripsapSystem  OBJECT IDENTIFIER ::= {ripsap 1}
ripsapCircuit OBJECT IDENTIFIER ::= {ripsap 2}


-- System Group
--   This group contains global information about each instance of
--   RIP/SAP running on one system.

-- RIP System Table
--   This table contains an entry for each instance of RIP
--   running on the system.

ripSysTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF RIPSysEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "The RIP system table."
   ::= {ripsapSystem 1}

ripSysEntry OBJECT-TYPE
   SYNTAX      RIPSysEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "Each entry corresponds to one instance of RIP
                running on the system."
   INDEX       {ripSysInstance}
   ::= {ripSysTable 1}

RIPSysEntry ::= SEQUENCE {
                        ripSysInstance
                           INTEGER,
                        ripSysState
                           INTEGER,
                        ripSysIncorrectPackets
                           Counter
                       }
                           
ripSysInstance OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the instance of RIP to
                which this row corresponds.  This value links the
                instance of RIP to an instance of IPX running on the
                system  (i.e. the value of ripSysInstance should be the
                same as a value of ipxSysInstance).  This value may be
                written only when creating a new entry in the table."
   ::= {ripSysEntry 1}

ripSysState OBJECT-TYPE
   SYNTAX      INTEGER {
                        off(1),
                        on(2)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "Indicates the operational state of this instance of RIP."
   ::= {ripSysEntry 2}

ripSysIncorrectPackets OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of times that an incorrectly formatted RIP
                packet was received."
   ::= {ripSysEntry 3}


-- SAP System Table
--   This table contains an entry for each instance of SAP
--   running on the system.

sapSysTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SAPSysEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "The SAP system table."
   ::= {ripsapSystem 2}

sapSysEntry OBJECT-TYPE
   SYNTAX      SAPSysEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "Each entry corresponds to one instance of SAP
                running on the system."
   INDEX       {sapSysInstance}
   ::= {sapSysTable 1}

SAPSysEntry ::= SEQUENCE {
                        sapSysInstance
                           INTEGER,
                        sapSysState
                           INTEGER,
                        sapSysIncorrectPackets
                           Counter
                       }
                           
sapSysInstance OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the instance of SAP to
                which this row corresponds.  This value links the
                instance of SAP to an instance of IPX running on the
                system  (i.e. the value of SApSysInstance should be the
                same as a value of ipxSysInstance).  This value may be
                written only when creating a new entry in the table."
   ::= {sapSysEntry 1}

sapSysState OBJECT-TYPE
   SYNTAX      INTEGER {
                        off(1),
                        on(2)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "Indicates the operational state of this instance of SAP."
   ::= {sapSysEntry 2}

sapSysIncorrectPackets OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of times that an incorrectly formatted SAP
                packet was received."
   ::= {sapSysEntry 3}


-- Circuit Group
--   This group contains RIP and SAP management information for each
--   circuit known to this system.

-- RIP Circuit Table
--   The RIP Circuit table contains an entry for the RIP information for
--   each circuit known to the system.

ripCircTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF RIPCircEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "The RIP Circuit table."
   ::= {ripsapCircuit 1}

ripCircEntry OBJECT-TYPE
   SYNTAX      RIPCircEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "Each entry corresponds to one circuit known to the
                system."
   INDEX       {
                ripCircSysInstance,
                ripCircIndex
               }
   ::= {ripCircTable 1}

RIPCircEntry ::= SEQUENCE {
                        ripCircSysInstance
                           INTEGER,
                        ripCircIndex
                           INTEGER,
                        ripCircState
                           INTEGER,
                        ripCircPace
                           INTEGER,
                        ripCircUpdate
                           INTEGER,
                        ripCircAgeMultiplier
                           INTEGER,
                        ripCircPacketSize
                           INTEGER,
                        ripCircOutPackets
                           Counter,
                        ripCircInPackets
                           Counter
                       }

ripCircSysInstance OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the instance of RIP and IPX
                (via ipxSysInstance) to which this entry corresponds.
                This value may be written only when creating a new entry in
                the table."
   ::= {ripCircEntry 1}

ripCircIndex OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The identifier of this circuit, unique within the
                instance of RIP.  This value corresponds to the circuit
                identifier found in ipxCircIndex.   This value may be
                written only when creating a new entry in the table."
   ::= {ripCircEntry 2}

ripCircState OBJECT-TYPE
   SYNTAX      INTEGER {
                        off(1),
                        on(2),
                        auto-on(3),
                        auto-off(4)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "Indicates whether RIP information may be sent/received
                over this circuit."
   DEFVAL      { auto-off }
   ::= {ripCircEntry 3}

ripCircPace OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The maximum pace, in packets per second, at which RIP
                packets may be sent on this circuit."
   ::= {ripCircEntry 4}

ripCircUpdate OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The RIP periodic update interval, in seconds."
   DEFVAL      { 60 }
   ::= {ripCircEntry 5}

ripCircAgeMultiplier OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The holding multiplier for information received in RIP
                periodic updates."
   DEFVAL      { 4 }
   ::= {ripCircEntry 6}

ripCircPacketSize OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The RIP packet size used on this circuit."
   ::= {ripCircEntry 7}

ripCircOutPackets OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of RIP packets sent on this circuit."
   ::= {ripCircEntry 8}

ripCircInPackets OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of RIP packets received on this circuit."
   ::= {ripCircEntry 9}


-- SAP Circuit Table
--   The SAP Circuit table contains an entry for the SAP information for
--   each circuit known to the system.

sapCircTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF SAPCircEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "The SAP Circuit table."
   ::= {ripsapCircuit 2}

sapCircEntry OBJECT-TYPE
   SYNTAX      SAPCircEntry
   ACCESS      not-accessible
   STATUS      mandatory
   DESCRIPTION "Each entry corresponds to one circuit known to the
                system."
   INDEX       {
                sapCircSysInstance,
                sapCircIndex
               }
   ::= {sapCircTable 1}

SAPCircEntry ::= SEQUENCE {
                        sapCircSysInstance
                           INTEGER,
                        sapCircIndex
                           INTEGER,
                        sapCircState
                           INTEGER,
                        sapCircPace
                           INTEGER,
                        sapCircUpdate
                           INTEGER,
                        sapCircAgeMultiplier
                           INTEGER,
                        sapCircPacketSize
                           INTEGER,
                        sapCircGetNearestServerReply
                           INTEGER,
                        sapCircOutPackets
                           Counter,
                        sapCircInPackets
                           Counter
                       }

sapCircSysInstance OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The unique identifier of the instance of SAP and IPX
                (via ipxSysInstance) to which this entry corresponds.
                This value may be written only when creating a new entry in
                the table."
   ::= {sapCircEntry 1}

sapCircIndex OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The identifier of this circuit, unique within the
                instance of SAP.  This value corresponds to the circuit
                identifier found in ipxCircIndex.   This value may be
                written only when creating a new entry in the table."
   ::= {sapCircEntry 2}

sapCircState OBJECT-TYPE
   SYNTAX      INTEGER {
                        off(1),
                        on(2),
                        auto-on(3),
                        auto-off(4)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "Indicates whether SAP information may be sent/received
                over this circuit."
   DEFVAL      { auto-off }
   ::= {sapCircEntry 3}

sapCircPace OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The maximum pace, in packets per second, at which SAP
                packets may be sent on this circuit."
   ::= {sapCircEntry 4}

sapCircUpdate OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The SAP periodic update interval, in seconds."
   DEFVAL      { 60 }
   ::= {sapCircEntry 5}

sapCircAgeMultiplier OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The holding multiplier for information received in SAP
                periodic updates."
   DEFVAL      { 4 }
   ::= {sapCircEntry 6}

sapCircPacketSize OBJECT-TYPE
   SYNTAX      INTEGER
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "The SAP packet size used on this circuit."
   ::= {sapCircEntry 7}

sapCircGetNearestServerReply OBJECT-TYPE
   SYNTAX      INTEGER {
                        no(1),
                        yes(2)
                       }
   ACCESS      read-write
   STATUS      mandatory
   DESCRIPTION "Indicates whether to respond to SAP get nearest server
                requests received on this circuit."
   DEFVAL      { yes }
   ::= {sapCircEntry 8}

sapCircOutPackets OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of SAP packets sent on this circuit."
   ::= {sapCircEntry 9}

sapCircInPackets OBJECT-TYPE
   SYNTAX      Counter
   ACCESS      read-only
   STATUS      mandatory
   DESCRIPTION "The number of SAP packets received on this circuit."
   ::= {sapCircEntry 10}

END
   VRRP-MIB DEFINITIONS ::= BEGIN
 
    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, 
        NOTIFICATION-TYPE, Counter32, 
        Integer32, TimeTicks, IpAddress     FROM SNMPv2-SMI    -- RFC1442
        TEXTUAL-CONVENTION, RowStatus,
        TruthValue, MacAddress              FROM SNMPv2-TC     -- RFC1443
        MODULE-COMPLIANCE, OBJECT-GROUP     FROM SNMPv2-CONF   -- RFC1444
        mib-2, ifIndex                      FROM RFC1213-MIB;
 
 
    vrrp  MODULE-IDENTITY
          LAST-UPDATED "9606040900Z"    -- Dummy value
          ORGANIZATION "IETF VRRP Working Group"
          CONTACT-INFO
                 "Brian R. Jewell
          Postal: 3Com Corporation
                  5400 BayFront Plaza
                  Santa Clara, California 95052
          Tel:    +1 408 764 6173
          E-Mail: bjewell@3com.com"
 
        DESCRIPTION
            "The MIB module to describe the VRRP Version 2 Protocol."
        ::= { mib-2 46 }


    vrrpMIB         OBJECT IDENTIFIER ::= { vrrp 1 }


-- *******************************************************************
--  Textual Conventions 
-- *******************************************************************

    VrId ::= TEXTUAL-CONVENTION
        STATUS       current
        DESCRIPTION
            "A number which, along with an interface index (ifIndex),
            serves to uniquely identify a virtual router on a given VRRP
            router. A set of one or more associated addresses is assigned
            to a VRID."
        SYNTAX      Integer32 (1..255)


-- *******************************************************************
--  VRRP MIB Groups
-- *******************************************************************

    vrrpOperations      OBJECT IDENTIFIER ::= { vrrpMIB 1 }
    vrrpStatistics      OBJECT IDENTIFIER ::= { vrrpMIB 2 }
    vrrpNotifications   OBJECT IDENTIFIER ::= { vrrpMIB 3 }
    vrrpConformance     OBJECT IDENTIFIER ::= { vrrpMIB 4 }


-- *******************************************************************
--  Start of MIB objects
-- *******************************************************************

    vrrpEnable  OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "Enable feature."
        ::= { vrrpOperations 1 }

    vrrpNodeVersion  OBJECT-TYPE
        SYNTAX       OCTET STRING (SIZE (2))
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
           "This value identifies the particular version of the VRRP
            supported by this node. The current value is '02'."
        REFERENCE
           "Virtual Router Redundancy Protocol, RFC XXXX"
        DEFVAL { '0200'H }
        ::= { vrrpOperations 2 }

    vrrpTrapCntl  OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "Indicates whether the VRRP-enabled router will generate
            SNMP traps for events defined in this MIB. Enabled
            results in SNMP traps; disabled, no traps are sent."
        DEFVAL { true }
        ::= { vrrpOperations 3 }


-- *******************************************************************
--  VRRP Operations Table
-- *******************************************************************

    vrrpOperTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF VrrpOperEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "Operations table for a VRRP router which consists of a
             sequence (i.e., one or more conceptual rows) of 
             'vrrpOperEntry' items."
        ::= { vrrpOperations 10 }

    vrrpOperEntry OBJECT-TYPE
        SYNTAX       VrrpOperEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "An entry in the vrrpOperTable containing the operational
             characteristics of a virtual router. On a VRRP router,
             a given virtual router is identified by a combination
             of the IF index and VRID."
        INDEX    { vrrpOperIfIndex, vrrpOperVrId }
        ::= { vrrpOperTable 1 }

    VrrpOperEntry ::=
        SEQUENCE {
            vrrpOperIfIndex
                INTEGER,
            vrrpOperVrId
                VrId,
            vrrpOperIpAddr
		IpAddress,
            vrrpOperVirtualMacAddr
                MacAddress,
            vrrpOperState
                INTEGER,
            vrrpOperControl
                INTEGER,
            vrrpOperPriority
                Integer32,
            vrrpOperIpAddrCount
                Integer32,
            vrrpOperMasterIpAddr
                IpAddress,
            vrrpOperAuthType
                INTEGER,
            vrrpOperHMACMD5Key
                OCTET STRING,
            vrrpOperAuthKey
                OCTET STRING,
            vrrpOperAdvertisementInterval
                Integer32,
            vrrpOperPreemptMode
                INTEGER,
            vrrpOperVirtualRouterUpTime
                TimeTicks,
            vrrpOperRowStatus
                RowStatus,
            vrrpOperCriticalIpAddr
                IpAddress
    }

    vrrpOperIfIndex OBJECT-TYPE
        SYNTAX       INTEGER
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "port interface index."
        ::= { vrrpOperEntry 1 }

    vrrpOperVrId OBJECT-TYPE
        SYNTAX       VrId
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "This object contains the Virtual Router Identifier (VRID)."
        ::= { vrrpOperEntry 2 }

    vrrpOperIpAddr OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "The assigned IP addresses that a virtual router is responsible
            for backing up."
        ::= { vrrpOperEntry 3 }

    vrrpOperVirtualMacAddr OBJECT-TYPE
        SYNTAX       MacAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The virtual MAC address of the virtual router. This is derived
            as follows: 00-00-5E-00-01-<VRID>.

            Where the first three octets consist of the IANA's OUI; The
            next two octets indicate the address block of the VRRP protocol; 
            and the remaining octets consist of the VRID.

            Although this object can be derived from the 'vrrpOperVrId'
            object, it is included here, for completeness, so that it
            is easily obtainable by a management application and can be
            included in VRRP-related SNMP traps."
        REFERENCE
            "rfc1903 - MacAddress"
        ::= { vrrpOperEntry 4 }

    vrrpOperState OBJECT-TYPE
        SYNTAX       INTEGER {
            initialize(1),  -- Waiting for a startup event
            backup(2),      -- Monitoring the state/availability of
                            -- master router
            master(3)       -- Forwarding IP addresses associated with
                            -- this virtual router.
        } 
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The current state of the virtual router."
        ::= { vrrpOperEntry 5 }

    vrrpOperControl OBJECT-TYPE
        SYNTAX       INTEGER {
            enabled(1),
            disabled(2)
        }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "This object will enable/disable the virtual router
            function. Setting the value to 'enabled', will transition
            the state of the router from 'initialize to 'backup';
            Setting the value to 'disabled', will tranisition the
            router from 'master' or 'backup' to 'initialize'."
        DEFVAL    { enabled }
        ::= { vrrpOperEntry 6 }

    vrrpOperPriority OBJECT-TYPE
        SYNTAX       Integer32 (1..255)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "This object specifies the priority for the virtual 
            router (e.g., master election) with respect to other 
            virtual routers that are backing up a one or more 
            associated IP addresses. Higher values imply higher 
            priority. 

            A priority of '0', although not settable, is used 
            to indicate that this router has ceased to particpate 
            in VRRP and a backup virtual router should transition \
            to become a new master.

            A priority of 255 is used for the router that owns the
            associated IP address(es)."
        DEFVAL       { 100 }
        ::= { vrrpOperEntry 7 }

    vrrpOperIpAddrCount OBJECT-TYPE
        SYNTAX       Integer32 (1..65535)
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The number of IP addresses that are associated with this 
            virtual router. This number is equal to the number of rows 
            in the vrrpAssoIpAddrTable that correspond to a given IF 
            index/VRID pair."
        ::= { vrrpOperEntry 8 }

    vrrpOperMasterIpAddr OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The master router's real (primary) IP address. This is
            the IP address listed as the source in VRRP advertisement
            last received by this virtual router"
        ::= { vrrpOperEntry 9 }

    vrrpOperAuthType OBJECT-TYPE
        SYNTAX       INTEGER {
            noAuthentication(1),       -- VRRP protocol exchanges are not
                                       -- authenticated.
            simpleTextPassword(2),     -- Exchanges are authenticated by a 
                                       -- clear text password.
            ipAuthenticationHeader(3)  -- Exchanges are authenticated using
                                       -- the IP authentication header [x].
        }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Authentication type used for VRRP protocol exchanges between
            virtual routers."
	DEFVAL	 { noAuthentication }
        ::= { vrrpOperEntry 10 }

    vrrpOperAuthKey OBJECT-TYPE
        SYNTAX       OCTET STRING (SIZE (8))
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "The Authentication Key.  If the virtual router's Authorization
            Type is 'simpleTextPassword', and the key length is shorter
            than 8 octets, the agent will left adjust and zero fill
            to 8 octets.

            When read, vrrpOperAuthKey always returns an Octet String
            of length zero."
         DEFVAL   { '0000000000000000'H }    -- 0.0.0.0.0.0.0.0
        ::= { vrrpOperEntry 11 }

    vrrpOperHMACMD5Key OBJECT-TYPE
        SYNTAX       OCTET STRING (SIZE (16))
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "The Authentication Key.  If the virtual router's 'Authorization
            Type' is 'ipAuthenticationHeader', and the key length is shorter
            than 16 octets, the agent will left adjust and zero fill
            to 16 octets.
 
            When read, vrrpOperHMACMD5Key always returns an Octet String
            of length zero."
        DEFVAL   { '00000000000000000000000000000000'H }    
        -- 0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0
        ::= { vrrpOperEntry 12 }

    vrrpOperAdvertisementInterval OBJECT-TYPE
        SYNTAX       Integer32 (1..255)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "This is the time interval, in seconds, between sending 
            advertisement messages. Only the master router sends 
            VRRP advertisements."
        DEFVAL       { 1 }
        ::= { vrrpOperEntry 13 }

    vrrpOperPreemptMode OBJECT-TYPE
        SYNTAX       INTEGER {
            true(1),   -- Preempt
            false(2)   -- Do not preempt
        }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Controls whether a higher priority virtual router will
            preempt a lower priority master."
        DEFVAL       { true }
        ::= { vrrpOperEntry 14 }

    vrrpOperVirtualRouterUpTime OBJECT-TYPE
        SYNTAX       TimeTicks
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "This is the time interval (in hundredths of a second)  
            since this virtual router was initialized."
        ::= { vrrpOperEntry 15 }

    vrrpOperRowStatus OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "The row status variable, used according to installation 
            and removal conventions for conceptual rows. Setting this
            object to 'createAndGo' results in enabling the VRRP
            protocol for this virtual router. The information required
            to actually create the conceptual row may be included in 
            the SET primitive or may be initialized by the agent on 
            the virtual router. Destroying the entry or setting it to 
            'notInService' disables VRRP on this virtual router."
        ::= { vrrpOperEntry 16 }

    vrrpOperCriticalIpAddr OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION  "IP address of the interface that will cause a
		     shutdown event."
        ::= { vrrpOperEntry 17 }



-- *******************************************************************
--  VRRP Associated IP Address Table
-- *******************************************************************

    vrrpAssoIpAddrTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF VrrpAssoIpAddrEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "The table of addresses associated with this virtual router."
        ::= { vrrpOperations 11 }

    vrrpAssoIpAddrEntry OBJECT-TYPE
        SYNTAX       VrrpAssoIpAddrEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "An entry in the table contains an IP address that is 
            associated with a virtual router. The number of rows for 
            a given IF Index and VRID will equal the number of IP 
            addresses associated (e.g., backed up by the virtual
            router)."
        INDEX    { vrrpAssoIpAddrIfIndex, vrrpAssoIpAddrVrId, vrrpAssoIpAddr }
        ::= { vrrpAssoIpAddrTable 1 }

    VrrpAssoIpAddrEntry ::=
        SEQUENCE {
            vrrpAssoIpAddrIfIndex
                INTEGER,
            vrrpAssoIpAddrVrId
                VrId,
            vrrpAssoIpAddr
                IpAddress,
            vrrpAssoIpAddrRowStatus
                RowStatus
    }

    vrrpAssoIpAddrIfIndex OBJECT-TYPE
        SYNTAX       INTEGER
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "port interface index."
        ::= { vrrpAssoIpAddrEntry 1 }

    vrrpAssoIpAddrVrId OBJECT-TYPE
        SYNTAX       VrId
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "This object contains the Virtual Router Identifier (VRID)."
        ::= { vrrpAssoIpAddrEntry 2 }

    vrrpAssoIpAddr OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
            "The assigned IP addresses that a virtual router is responsible
            for backing up."
        ::= { vrrpAssoIpAddrEntry 3 }

    vrrpAssoIpAddrRowStatus OBJECT-TYPE
        SYNTAX       RowStatus
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "The row status variable, used according to installation 
            and removal conventions for conceptual rows. Setting this
            object to 'createAndGo' results in the addition of an
            associated address for a virtual router. The information 
            required to actually create the conceptual may be included 
            in the SET primitive or may be initialized by the agent on 
            the VRRP router. Destroying the entry or setting it to 
            'notInService' removes the associated address from the
            virtual router."
        ::= { vrrpAssoIpAddrEntry 4 }


-- *******************************************************************
--  VRRP Router Statistics Table
-- *******************************************************************

    vrrpRouterStatsTable OBJECT-TYPE
        SYNTAX       SEQUENCE OF VrrpRouterStatsEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "Table of virtual router statistics."
        ::= { vrrpStatistics 1 }

    vrrpRouterStatsEntry OBJECT-TYPE
        SYNTAX       VrrpRouterStatsEntry
        MAX-ACCESS   not-accessible
        STATUS       current
        DESCRIPTION
            "An entry in the table, containing statistics information
            about a given virtual router."
        INDEX    { vrrpStatsIfIndex, vrrpStatsVrId }
        ::= { vrrpRouterStatsTable 1 }

    VrrpRouterStatsEntry ::=
        SEQUENCE {
            vrrpStatsIfIndex
                INTEGER,
            vrrpStatsVrId
                VrId,
            vrrpStatsBecomeMaster
                Counter32,
            vrrpStatsAdvertiseRcvd
                Counter32,
            vrrpStatsChecksumErrors
                Counter32,
            vrrpStatsVersionErrors
                Counter32,
            vrrpStatsVrIdErrors
                Counter32,
            vrrpStatsAdvertiseIntervalErrors
                Counter32,
            vrrpStatsPasswdSecurityViolations
                Counter32,
            vrrpStatsHmacSecurityViolations
                Counter32,
            vrrpStatsIpTtlErrors
                Counter32,
            vrrpStatsPriorityZeroPktsRcvd
                Counter32,
            vrrpStatsPriorityZeroPktsSent
                Counter32,
            vrrpStatsInvalidTypePktsRcvd
                Counter32,
            vrrpStatsAddressListErrors
                Counter32,
            vrrpStatsUnknownAuthType
                Counter32,
            vrrpStatsAuthTypeErrors
                Counter32
    }

    vrrpStatsIfIndex OBJECT-TYPE
        SYNTAX       INTEGER
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION  "port interface index."
        ::= { vrrpRouterStatsEntry 1 }

    vrrpStatsVrId OBJECT-TYPE
        SYNTAX       VrId
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "This object contains the Virtual Router Identifier (VRID)."
        ::= { vrrpRouterStatsEntry 2 }

    vrrpStatsBecomeMaster OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of times that this virtual router's state
            has transitioned from BACKUP to MASTER."
        ::= { vrrpRouterStatsEntry 3 }

    vrrpStatsAdvertiseRcvd OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP advertisements received by this
            virtual router."
        ::= { vrrpRouterStatsEntry 4 }

    vrrpStatsChecksumErrors OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets received with an invalid
            checksum value."
        ::= { vrrpRouterStatsEntry 5 }

    vrrpStatsVersionErrors OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets received with an invalid 
            version number."
        ::= { vrrpRouterStatsEntry 6 }

    vrrpStatsVrIdErrors OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets received with an invalid
            VRID for this virtual router."
        ::= { vrrpRouterStatsEntry 7 }

    vrrpStatsAdvertiseIntervalErrors OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP advertisement packets received
            for which the advertisement interval is different than the
            one configured for the local virtual router."
        ::= { vrrpRouterStatsEntry 8 }

    vrrpStatsPasswdSecurityViolations OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets received that do not pass 
            the simple text password authentification check."
        ::= { vrrpRouterStatsEntry 9 }

    vrrpStatsHmacSecurityViolations OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets received that do not pass 
            the HMAC-MD5-96 authentification check."
        ::= { vrrpRouterStatsEntry 10 }

    vrrpStatsIpTtlErrors OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets received by the virtual 
            router with IP TTL (Time-To-Live) not equal to 255."
        ::= { vrrpRouterStatsEntry 11 }

    vrrpStatsPriorityZeroPktsRcvd OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets received by the virtual 
            router with a priority of '0'."
        ::= { vrrpRouterStatsEntry 12 }

    vrrpStatsPriorityZeroPktsSent OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The total number of VRRP packets sent by the virtual router
            with a priority of '0'."
        ::= { vrrpRouterStatsEntry 13 }

    vrrpStatsInvalidTypePktsRcvd OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The number of VRRP packets received by the virtual router
            with an invalid value in the 'type' field."
        ::= { vrrpRouterStatsEntry 14 }

    vrrpStatsAddressListErrors OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Packets received address list the address list does not    
            match the locally configured list for the virtual router."
        ::= { vrrpRouterStatsEntry 15 }

    vrrpStatsUnknownAuthType OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Packets received with an unknown authentication type."
        ::= { vrrpRouterStatsEntry 16 }

    vrrpStatsAuthTypeErrors OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Packets received with 'Auth Type' not equal to the locally
             configured authentication method ('vrrpOperAuthType')."
        ::= { vrrpRouterStatsEntry 17 }


-- *******************************************************************
--   Trap Definitions
-- *******************************************************************

    vrrpTraps       OBJECT IDENTIFIER ::= { vrrpNotifications 0 }

    vrrpTrapPacketSrc OBJECT-TYPE
        SYNTAX       IpAddress
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION 
            "The IP address of an inbound VRRP packet. Used by 
             vrrpTrapAuthFailure trap."
        ::= { vrrpOperations 12 }

    vrrpTrapConfigErrorType OBJECT-TYPE
        SYNTAX        INTEGER {
            authTypeMismatch (1),
            authFailure (2)
        }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Potential types of configuration conflicts.
            Used by vrrpAuthFailure trap."
        ::= { vrrpOperations 13  }

    vrrpTrapNewMaster NOTIFICATION-TYPE
        OBJECTS      { ifIndex, 
                       vrrpOperVrId, 
                       vrrpOperVirtualMacAddr 
                     }
        STATUS       current
        DESCRIPTION
            "The newMaster trap indicates that the sending agent
            has transitioned from 'Backup' state to 'Master' state."
        ::= { vrrpTraps 2 }

    vrrpTrapAuthFailure NOTIFICATION-TYPE
        OBJECTS      { ifIndex,
                       vrrpOperVrId,
                       vrrpTrapPacketSrc,
                       vrrpTrapConfigErrorType
        	     }
        STATUS       current
        DESCRIPTION
            "A vrrpAuthFailure trap signifies that a packet has
            been received from a router whose authentication key
            or authentication type conflicts with this router's
            authentication key or authentication type. Implementation
            of this trap is optional."
        ::= { vrrpTraps 3 } 


-- *******************************************************************
--  Conformance Information
-- *******************************************************************

    vrrpMIBCompliances  OBJECT IDENTIFIER ::= { vrrpConformance 1 }
    vrrpMIBGroups       OBJECT IDENTIFIER ::= { vrrpConformance 2 }

-- ...................................................................
-- Compliance Statements
-- ...................................................................
 
    vrrpMIBCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
           "The core compliance statement for all VRRP implementations."
        MODULE -- this module
            MANDATORY-GROUPS  {
                vrrpOperGroup ,
                vrrpStatsGroup 
            }
        ::= { vrrpMIBCompliances 1 } 

-- ...................................................................
-- Conformance Groups
-- ...................................................................

    vrrpOperGroup  OBJECT-GROUP
        OBJECTS  {
            vrrpNodeVersion,
            vrrpTrapCntl,
            vrrpOperVrId,
            vrrpOperVirtualMacAddr,
            vrrpOperState,
            vrrpOperControl,
            vrrpOperPriority,
            vrrpOperIpAddrCount,
            vrrpOperMasterIpAddr,
            vrrpOperAuthType,
            vrrpOperHMACMD5Key,
            vrrpOperAuthKey,
            vrrpOperAdvertisementInterval,
            vrrpOperPreemptMode,
            vrrpOperVirtualRouterUpTime,
            vrrpOperRowStatus,
            vrrpTrapPacketSrc,
            vrrpTrapConfigErrorType,
            vrrpAssoIpAddr,
            vrrpAssoIpAddrRowStatus
            }
        STATUS current
        DESCRIPTION
           "Conformance group for VRRP operations."
        ::= { vrrpMIBGroups 1 }

    vrrpStatsGroup  OBJECT-GROUP
        OBJECTS  {
            vrrpStatsBecomeMaster,
            vrrpStatsAdvertiseRcvd,
            vrrpStatsChecksumErrors,
            vrrpStatsVersionErrors,
            vrrpStatsVrIdErrors,
            vrrpStatsAdvertiseIntervalErrors,
            vrrpStatsPasswdSecurityViolations,
            vrrpStatsHmacSecurityViolations,
            vrrpStatsIpTtlErrors,
            vrrpStatsPriorityZeroPktsRcvd,
            vrrpStatsPriorityZeroPktsSent,
            vrrpStatsInvalidTypePktsRcvd,
            vrrpStatsAddressListErrors,
            vrrpStatsUnknownAuthType,
            vrrpStatsAuthTypeErrors
            }
        STATUS current
        DESCRIPTION
           "Conformance group for VRRP statistics."
        ::= { vrrpMIBGroups 2 }

END
--
-- Distance-Vector Multicast Routing Protocol MIB
-- <draft-thaler-dvmrp-mib-09.txt>
--

DVMRP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, experimental,
    Integer32, Counter32, Gauge32, NOTIFICATION-TYPE,
    IpAddress, TimeTicks             FROM SNMPv2-SMI
    DisplayString, RowStatus         FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF;

dvmrpMIB MODULE-IDENTITY
    LAST-UPDATED "9804221900Z"
    ORGANIZATION "IETF IDMR Working Group."
    CONTACT-INFO
            " Dave Thaler
              Microsoft
              One Microsoft Way
              Redmond, WA 98052-6399
              EMail: dthalerd@microsoft.com"
    DESCRIPTION
            "The MIB module for management of DVMRP routers."
    ::= { experimental 62 }

dvmrpMIBObjects OBJECT IDENTIFIER ::= { dvmrpMIB 1 }

dvmrp           OBJECT IDENTIFIER ::= { dvmrpMIBObjects 1 }

dvmrpVersionString OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The router's DVMRP version information."
    ::= { dvmrp 1 }

dvmrpGenerationId OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The generation identifier for the routing process.  This is
            used by neighboring routers to detect whether the DVMRP
            routing table should be resent."
    ::= { dvmrp 2 }

dvmrpNumRoutes OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of entries in the routing table.  This can be
            used to monitor the routing table size to detect illegal
            advertisements of unicast routes."
    ::= { dvmrp 9 }

dvmrpReachableRoutes OBJECT-TYPE
    SYNTAX     Gauge32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of entries in the routing table with non
            infinite metrics.  This can be used to detect network
            partitions by observing the ratio of reachable routes to
            total routes."
    ::= { dvmrp 10 }

-- The DVMRP Interface Table

dvmrpInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF DvmrpInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the router's multicast-
            capable interfaces."
    ::= { dvmrp 3 }

dvmrpInterfaceEntry OBJECT-TYPE
    SYNTAX     DvmrpInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the dvmrpInterfaceTable.  This
            row augments ipMRouteInterfaceEntry in the IP Multicast MIB,
            where the threshold object resides."
    INDEX      { dvmrpInterfaceIfIndex }
    ::= { dvmrpInterfaceTable 1 }

DvmrpInterfaceEntry ::= SEQUENCE {
    dvmrpInterfaceIfIndex                     Integer32,
    dvmrpInterfaceType                        INTEGER,        -- deprecated
    dvmrpInterfaceOperState                   INTEGER,
    dvmrpInterfaceLocalAddress                IpAddress,
    dvmrpInterfaceRemoteAddress               IpAddress,      -- deprecated
    dvmrpInterfaceRemoteSubnetMask            IpAddress,      -- deprecated
    dvmrpInterfaceMetric                      Integer32,
    dvmrpInterfaceRateLimit                   Integer32,      -- deprecated
    dvmrpInterfaceInPkts                      Counter32,      -- deprecated
    dvmrpInterfaceOutPkts                     Counter32,      -- deprecated
    dvmrpInterfaceInOctets                    Counter32,      -- deprecated
    dvmrpInterfaceOutOctets                   Counter32,      -- deprecated
    dvmrpInterfaceStatus                      RowStatus,
    dvmrpInterfaceRcvBadPkts                  Counter32,      -- excluded
    dvmrpInterfaceRcvBadRoutes                Counter32,      -- excluded
    dvmrpInterfaceSentRoutes                  Counter32,      -- excluded
    dvmrpInterfaceMasterKey                   DisplayString,  -- excluded
    dvmrpInterfaceMasterKeyVersion            Integer32       -- excluded
}

dvmrpInterfaceIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
            "The ifIndex value of the interface for which DVMRP is
            enabled."
    ::= { dvmrpInterfaceEntry 1 }

dvmrpInterfaceType OBJECT-TYPE
    SYNTAX     INTEGER { tunnel(1), srcrt(2), querier(3), subnet(4) }
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The type of this DVMRP interface, whether it uses a tunnel,
            source routing, a physical interface for which we are a
            querier, or a physical interface for which we are not a
            querier.  This object is deprecated in favor of ifType."
    DEFVAL     { tunnel }
    ::= { dvmrpInterfaceEntry 2 }

dvmrpInterfaceOperState OBJECT-TYPE
    SYNTAX     INTEGER { up(1), down(2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The current operational state of this DVMRP interface. This
            object is deprecated in favor of ifOperStatus."
    ::= { dvmrpInterfaceEntry 3 }

dvmrpInterfaceLocalAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The IP address this system will use as a source address on
            this interface.  On unnumbered interfaces, it must be the
            same value as dvmrpInterfaceLocalAddress for some interface
            on the system."
    ::= { dvmrpInterfaceEntry 4 }

dvmrpInterfaceRemoteAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-create
    STATUS     deprecated
    DESCRIPTION
            "The IP address of the remote end of this DVMRP virtual
            interface.  For a tunnel (including source routed), this is
            the IP address of the neighboring router.  For a subnet,
            this is the subnet address.  This object is deprecated in
            favor of address information associated with the underlying
            ifEntry."
    ::= { dvmrpInterfaceEntry 5 }

dvmrpInterfaceRemoteSubnetMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The subnet mask for a directly connected subnet.  For a
            tunnel, this should be 0.0.0.0.  This object is deprecated
            in favor of address information associated with the
            underlying ifEntry."
    ::= { dvmrpInterfaceEntry 6 }

dvmrpInterfaceMetric OBJECT-TYPE
    SYNTAX     Integer32 (1..31)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The distance metric for this interface which is used to
            calculate distance vectors."
    DEFVAL     { 1 }
    ::= { dvmrpInterfaceEntry 7 }

dvmrpInterfaceRateLimit OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-create
    STATUS     deprecated
    DESCRIPTION
            "The rate-limit, in kilobits per second, of forwarded
            multicast traffic on the interface.  A rate-limit of 0
            indicates that no rate limiting is done.  This object has
            been moved to the IP Multicast MIB."
    DEFVAL     { 0 }
    ::= { dvmrpInterfaceEntry 8 }

dvmrpInterfaceInPkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The number of multicast packets that have arrived on the
            interface.  This object is deprecated in favor of
            ifInMulticastPkts in the Interfaces MIB [8]."
    ::= { dvmrpInterfaceEntry 9 }

dvmrpInterfaceOutPkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The number of multicast packets that have been sent on the
            interface.  This object is deprecated in favor of
            ifOutMulticastPkts in the Interfaces MIB [8]."
    ::= { dvmrpInterfaceEntry 10 }

dvmrpInterfaceInOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The number of octets in multicast packets that have arrived
            on the interface.  This object has been moved to the IP
            Multicast MIB."
    ::= { dvmrpInterfaceEntry 11 }

dvmrpInterfaceOutOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The number of octets in multicast packets that have been
            sent on the interface.  This object has been moved to the IP
            Multicast MIB."
    ::= { dvmrpInterfaceEntry 12 }

dvmrpInterfaceStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The status of this entry.  Creating the entry enables DVMRP
            on the virtual interface; destroying the entry or setting it
            to notInService disables DVMRP on the virtual interface."
    ::= { dvmrpInterfaceEntry 13 }

dvmrpInterfaceRcvBadPkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of DVMRP packets received on the interface by
            the DVMRP process which were subsequently discarded as
            invalid (e.g. invalid packet format, or a route report from
            an unknown neighbor)."
    ::= { dvmrpInterfaceEntry 14 }

dvmrpInterfaceRcvBadRoutes OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of routes, in valid DVMRP packets, which were
            ignored because the entry was invalid."
    ::= { dvmrpInterfaceEntry 15 }

dvmrpInterfaceSentRoutes OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of routes, in DVMRP Report packets, which have
            been sent on this interface.  Together with
            dvmrpNeighborRcvRoutes at a peer, this object is useful for
            detecting routes being lost."
    ::= { dvmrpInterfaceEntry 16 }

dvmrpInterfaceMasterKey OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The master (shared) key for authenticating neighbors on
            this interface.  This object is intended solely for the
            purpose of setting the master key, and MUST be accessible
            only via requests using both authentication and privacy.
            The agent MAY report an empty string in response to get,
            get-next, get-bulk requests."
    ::= { dvmrpInterfaceEntry 17 }

dvmrpInterfaceMasterKeyVersion OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
            "The highest version number of all known master keys used
            for authenticating neighbors on this interface."
    ::= { dvmrpInterfaceEntry 18 }


-- The DVMRP Neighbor Table

dvmrpNeighborTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF DvmrpNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the router's DVMRP
            neighbors, as discovered by receiving DVMRP messages."
    ::= { dvmrp 4 }

dvmrpNeighborEntry OBJECT-TYPE
    SYNTAX     DvmrpNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the dvmrpNeighborTable."
    INDEX      { dvmrpNeighborIfIndex, dvmrpNeighborAddress }
    ::= { dvmrpNeighborTable 1 }

DvmrpNeighborEntry ::= SEQUENCE {
    dvmrpNeighborIfIndex         Integer32,
    dvmrpNeighborAddress         IpAddress,
    dvmrpNeighborUpTime          TimeTicks,
    dvmrpNeighborExpiryTime      TimeTicks,
    dvmrpNeighborGenerationId    Integer32,
    dvmrpNeighborMajorVersion    Integer32,
    dvmrpNeighborMinorVersion    Integer32,
    dvmrpNeighborCapabilities    INTEGER,
    dvmrpNeighborRcvRoutes       Counter32,
    dvmrpNeighborRcvBadPkts      Counter32,
    dvmrpNeighborRcvBadRoutes    Counter32,
    dvmrpNeighborState           INTEGER
}

dvmrpNeighborIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of ifIndex for the virtual interface used to
            reach this DVMRP neighbor."
    ::= { dvmrpNeighborEntry 1 }

dvmrpNeighborAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP address of the DVMRP neighbor for which this entry
            contains information."
    ::= { dvmrpNeighborEntry 2 }

dvmrpNeighborUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time since this DVMRP neighbor (last) became a neighbor
            of the local router."
    ::= { dvmrpNeighborEntry 3 }

dvmrpNeighborExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum time remaining before this DVMRP neighbor will
            be aged out."
    ::= { dvmrpNeighborEntry 4 }

dvmrpNeighborGenerationId OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The neighboring router's generation identifier."
    ::= { dvmrpNeighborEntry 6 }

dvmrpNeighborMajorVersion OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The neighboring router's major DVMRP version number."
    ::= { dvmrpNeighborEntry 7 }

dvmrpNeighborMinorVersion OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The neighboring router's minor DVMRP version number."
    ::= { dvmrpNeighborEntry 8 }

dvmrpNeighborCapabilities OBJECT-TYPE
    SYNTAX     INTEGER {
                   leaf(1),
                   prune(2),
                   generationID(4),
                   mtrace(8)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "This object describes the neighboring router's
            capabilities.  The leaf bit indicates that the neighbor has
            only one interface with neighbors.  The prune bit indicates
            that the neighbor supports pruning.  The generationID bit
            indicates that the neighbor sends its generationID in Probe
            messages.  The mtrace bit indicates that the neighbor can
            handle mtrace requests."
    ::= { dvmrpNeighborEntry 9 }

dvmrpNeighborRcvRoutes OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The total number of routes received in valid DVMRP packets
            received from this neighbor.  This can be used to diagnose
            problems such as unicast route injection, as well as giving
            an indication of the level of DVMRP route exchange
            activity."
    ::= { dvmrpNeighborEntry 10 }

dvmrpNeighborRcvBadPkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of packet received from this neighbor which were
            discarded as invalid."
    ::= { dvmrpNeighborEntry 11 }

dvmrpNeighborRcvBadRoutes OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of routes, in valid DVMRP packets received from
            this neighbor, which were ignored because the entry was
            invalid."
    ::= { dvmrpNeighborEntry 12 }

dvmrpNeighborState OBJECT-TYPE
    SYNTAX     INTEGER {
                   oneway(1),
                   active(2),
                   ignoring(3),
                   down(4)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "State of the neighbor adjacency."
    ::= { dvmrpNeighborEntry 13 }


-- The DVMRP Route Table

dvmrpRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF DvmrpRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The table of routes learned through DVMRP route exchange."
    ::= { dvmrp 5 }

dvmrpRouteEntry OBJECT-TYPE
    SYNTAX     DvmrpRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) containing the multicast routing
            information used by DVMRP in place of the unicast routing
            information."
    INDEX      { dvmrpRouteSource, dvmrpRouteSourceMask }
    ::= { dvmrpRouteTable 1 }

DvmrpRouteEntry ::= SEQUENCE {
    dvmrpRouteSource             IpAddress,
    dvmrpRouteSourceMask         IpAddress,
    dvmrpRouteUpstreamNeighbor   IpAddress,
    dvmrpRouteIfIndex            Integer32,
    dvmrpRouteMetric             Integer32,
    dvmrpRouteExpiryTime         TimeTicks,
    dvmrpRouteUpTime             TimeTicks
}

dvmrpRouteSource OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
            "The network address which when combined with the
            corresponding value of dvmrpRouteSourceMask identifies the
            sources for which this entry contains multicast routing
            information."
    ::= { dvmrpRouteEntry 1 }

dvmrpRouteSourceMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
            "The network mask which when combined with the corresponding
            value of dvmrpRouteSource identifies the sources for which
            this entry contains multicast routing information."
    ::= { dvmrpRouteEntry 2 }

dvmrpRouteUpstreamNeighbor OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address of the upstream neighbor (e.g., RPF neighbor)
            from which IP datagrams from these sources are received."
    ::= { dvmrpRouteEntry 3 }

dvmrpRouteIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of ifIndex for the interface on which IP
            datagrams sent by these sources are received."
    ::= { dvmrpRouteEntry 4 }

dvmrpRouteMetric OBJECT-TYPE
    SYNTAX     Integer32 (1..31)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The distance in hops to the source subnet."
    ::= { dvmrpRouteEntry 5 }

dvmrpRouteExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum amount of time remaining before this entry will
            be aged out."
    ::= { dvmrpRouteEntry 6 }

dvmrpRouteUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time since the route represented by this entry was
            learned by the router."
    ::= { dvmrpRouteEntry 7 }

-- The DVMRP Routing Next Hop Table

dvmrpRouteNextHopTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF DvmrpRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table containing information on the next
            hops on outgoing interfaces for routing IP multicast
            datagrams."
    ::= { dvmrp 6 }

dvmrpRouteNextHopEntry OBJECT-TYPE
    SYNTAX     DvmrpRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the list of next hops on
            outgoing interfaces to which IP multicast datagrams from
            particular sources are routed."
    INDEX      { dvmrpRouteNextHopSource, dvmrpRouteNextHopSourceMask,
                 dvmrpRouteNextHopIfIndex }
    ::= { dvmrpRouteNextHopTable 1 }

DvmrpRouteNextHopEntry ::= SEQUENCE {
    dvmrpRouteNextHopSource             IpAddress,
    dvmrpRouteNextHopSourceMask         IpAddress,
    dvmrpRouteNextHopIfIndex            Integer32,
    dvmrpRouteNextHopType               INTEGER
}

dvmrpRouteNextHopSource OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
            "The network address which when combined with the
            corresponding value of dvmrpRouteNextHopSourceMask
            identifies the sources for which this entry specifies a next
            hop on an outgoing interface."
    ::= { dvmrpRouteNextHopEntry 1 }

dvmrpRouteNextHopSourceMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
            "The network mask which when combined with the corresponding
            value of dvmrpRouteNextHopSource identifies the sources for
            which this entry specifies a next hop on an outgoing
            interface."
    ::= { dvmrpRouteNextHopEntry 2 }

dvmrpRouteNextHopIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only 
    STATUS     current
    DESCRIPTION
            "The ifIndex value of the interface for the outgoing
            interface for this next hop."
    ::= { dvmrpRouteNextHopEntry 3 }

dvmrpRouteNextHopType OBJECT-TYPE
    SYNTAX     INTEGER { leaf(1), branch(2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "Type is leaf if no downstream dependent neighbors exist on
            the outgoing virtual interface.  Otherwise, type is branch."
    ::= { dvmrpRouteNextHopEntry 4 }

-- The DVMRP Alternate Subnet Table

dvmrpAltNetTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF DvmrpAltNetEntry
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
            "The (conceptual) table listing the router's alternate
            subnets on physical interfaces for use in constructing the
            routing tables."
    ::= { dvmrp 8 }

dvmrpAltNetEntry OBJECT-TYPE
    SYNTAX     DvmrpAltNetEntry
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
            "An entry (conceptual row) in the dvmrpAltNetTable."
    INDEX      { dvmrpAltNetIfIndex, dvmrpAltNetAddress,
                 dvmrpAltNetMask }
    ::= { dvmrpAltNetTable 1 }

DvmrpAltNetEntry ::= SEQUENCE {
    dvmrpAltNetIfIndex            Integer32,  -- deprecated
    dvmrpAltNetAddress            IpAddress,  -- deprecated
    dvmrpAltNetMask               IpAddress,  -- deprecated
    dvmrpAltNetStatus             RowStatus   -- deprecated
}

dvmrpAltNetIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
            "The ifIndex value of the interface to which this alternate
            subnet applies."
    ::= { dvmrpAltNetEntry 1 }

dvmrpAltNetAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
            "The subnet address of the alternate subnet."
    ::= { dvmrpAltNetEntry 2 }

dvmrpAltNetMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
            "The subnet mask of the alternate subnet."
    ::= { dvmrpAltNetEntry 3 }

dvmrpAltNetStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     deprecated
    DESCRIPTION
            "The status of this row, by which new entries may be
            created, or old entries deleted from this table."
    ::= { dvmrpAltNetEntry 4 }

-- DVMRP Traps

dvmrpTraps      OBJECT IDENTIFIER ::= { dvmrp 11 }

dvmrpNeighborLoss NOTIFICATION-TYPE
    OBJECTS {
       dvmrpInterfaceLocalAddress, -- The originator of the trap
       dvmrpNeighborIfIndex,
       dvmrpNeighborAddress,
       dvmrpNeighborState  -- The new state
    }
    STATUS             current
    DESCRIPTION
            "A dvmrpNeighborLoss trap signifies the loss of a 2-way
            adjacency with a neighbor.  This trap should be generated
            when the neighbor state changes from active to one-way,
            ignoring, or down.  The trap should be generated only if the
            router has no other neighbors on the same interface with a
            lower IP address than itself."
    ::= { dvmrpTraps 1 }

dvmrpNeighborNotPruning NOTIFICATION-TYPE
    OBJECTS {
       dvmrpInterfaceLocalAddress, -- The originator of the trap
       dvmrpNeighborIfIndex,
       dvmrpNeighborAddress
    }
    STATUS             current
    DESCRIPTION
            "A dvmrpNeighborNotPruning trap signifies that a non-pruning
            neighbor has been detected.  This trap should be generated
            at most once per generation ID of the neighbor.  For
            example, it may be generated at the time a neighbor is first
            heard from if the prune bit is not set in its capabilities.
            The trap should be generated only if the router has no other
            neighbors on the same interface with a lower IP address than
            itself."
    ::= { dvmrpTraps 2 }


-- conformance information

dvmrpMIBConformance OBJECT IDENTIFIER ::= { dvmrpMIB 2 }

dvmrpMIBCompliances OBJECT IDENTIFIER ::= { dvmrpMIBConformance 1 }

dvmrpMIBGroups      OBJECT IDENTIFIER ::= { dvmrpMIBConformance 2 }


-- compliance statements

dvmrpMIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for the DVMRP MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { dvmrpGeneralGroup, dvmrpInterfaceGroup,
            dvmrpNeighborGroup, dvmrpRoutingGroup
        }

        GROUP   dvmrpSecurityGroup
        DESCRIPTION
            "This group is mandatory for agents which support both
            authentication and privacy of SNMP messages, and only for
            those network interfaces for which DVMRP is authenticating
            neighbors."
    ::= { dvmrpMIBCompliances 1 }


-- units of conformance

dvmrpMIBGroup OBJECT-GROUP
    OBJECTS { dvmrpVersionString, dvmrpGenerationId,
              dvmrpNumRoutes, dvmrpReachableRoutes,
              dvmrpInterfaceType, dvmrpInterfaceOperState,
              dvmrpInterfaceLocalAddress, dvmrpInterfaceRemoteAddress,
              dvmrpInterfaceRemoteSubnetMask,
              dvmrpInterfaceMetric, dvmrpInterfaceRateLimit,
              dvmrpInterfaceInPkts, dvmrpInterfaceOutPkts,
              dvmrpInterfaceInOctets, dvmrpInterfaceOutOctets,
              dvmrpInterfaceStatus,
              dvmrpNeighborUpTime, dvmrpNeighborExpiryTime,
              dvmrpNeighborGenerationId, dvmrpNeighborMajorVersion,
              dvmrpNeighborMinorVersion, dvmrpNeighborCapabilities,
              dvmrpRouteUpstreamNeighbor, dvmrpRouteIfIndex,
              dvmrpRouteMetric, dvmrpRouteExpiryTime,
              dvmrpRouteNextHopType, dvmrpAltNetStatus
            }
    STATUS  deprecated
    DESCRIPTION
            "A collection of objects to support management of DVMRP
            routers."
    ::= { dvmrpMIBGroups 1 }

dvmrpGeneralGroup OBJECT-GROUP
    OBJECTS { dvmrpVersionString, dvmrpGenerationId,
              dvmrpNumRoutes, dvmrpReachableRoutes
            }
    STATUS  current
    DESCRIPTION
            "A collection of objects used to describe general DVMRP
            configuration information."
    ::= { dvmrpMIBGroups 2 }

dvmrpInterfaceGroup OBJECT-GROUP
    OBJECTS { dvmrpInterfaceLocalAddress, dvmrpInterfaceMetric,
              dvmrpInterfaceStatus,
              dvmrpInterfaceRcvBadPkts, dvmrpInterfaceRcvBadRoutes,
              dvmrpInterfaceSentRoutes
            }
    STATUS  current
    DESCRIPTION
            "A collection of objects used to describe DVMRP interface
            configuration and statistics."
    ::= { dvmrpMIBGroups 3 }

dvmrpNeighborGroup OBJECT-GROUP
    OBJECTS { dvmrpNeighborUpTime, dvmrpNeighborExpiryTime,
              dvmrpNeighborGenerationId,
              dvmrpNeighborMajorVersion, dvmrpNeighborMinorVersion,
              dvmrpNeighborCapabilities, dvmrpNeighborRcvRoutes,
              dvmrpNeighborRcvBadPkts, dvmrpNeighborRcvBadRoutes,
              dvmrpNeighborState
            }
    STATUS  current
    DESCRIPTION
            "A collection of objects used to describe DVMRP peer
            configuration and statistics."
    ::= { dvmrpMIBGroups 4 }

dvmrpRoutingGroup OBJECT-GROUP
    OBJECTS { dvmrpRouteUpstreamNeighbor, dvmrpRouteIfIndex,
              dvmrpRouteMetric, dvmrpRouteExpiryTime,
              dvmrpRouteUpTime, dvmrpRouteNextHopType
            }
    STATUS  current
    DESCRIPTION
            "A collection of objects used to store the DVMRP routing
            table."
    ::= { dvmrpMIBGroups 5 }

dvmrpSecurityGroup OBJECT-GROUP
    OBJECTS { dvmrpInterfaceMasterKey,
              dvmrpInterfaceMasterKeyVersion }
    STATUS  current
    DESCRIPTION
            "A collection of objects used to store information related
            to DVMRP security."
    ::= { dvmrpMIBGroups 6 }

END
--
-- IP Multicast Routing MIB
-- <draft-ietf-idmr-multicast-routmib-06.txt>
--

IPMROUTE-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, experimental,
    Integer32, Counter32, Counter64,
    IpAddress, TimeTicks             FROM SNMPv2-SMI
    RowStatus                        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF;

ipMRouteMIB MODULE-IDENTITY
    LAST-UPDATED "9711201700Z"
    ORGANIZATION "IETF IDMR Working Group."
    CONTACT-INFO
            " Keith McCloghrie
              Cisco Systems, Inc.
              170 West Tasman Drive
              San Jose, CA  95134-1706
              US

              Phone: +1 408 526 5260
              EMail: kzm@cisco.com"
    DESCRIPTION
            "The MIB module for management of IP Multicast routing, but
            independent of the specific multicast routing protocol in
            use."
    ::= { experimental 60 }


ipMRouteMIBObjects OBJECT IDENTIFIER ::= { ipMRouteMIB 1 }

ipMRoute           OBJECT IDENTIFIER ::= { ipMRouteMIBObjects 1 }

-- the IP Multicast Routing MIB-Group
--
-- a collection of objects providing information about
-- IP Multicast Groups

ipMRouteEnable OBJECT-TYPE
    SYNTAX     INTEGER { enabled(1), disabled(2) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The enabled status of IP Multicast routing on this router."
    ::= { ipMRoute 1 }


ipMRouteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF IpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table containing multicast routing
            information for IP datagrams sent by particular sources to
            the IP multicast groups known to this router."
    ::= { ipMRoute 2 }

ipMRouteEntry OBJECT-TYPE
    SYNTAX     IpMRouteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) containing the multicast routing
            information for IP datagrams from a particular source and
            addressed to a particular IP multicast group address."
    INDEX      { ipMRouteGroup,
                 ipMRouteSource,
                 ipMRouteSourceMask }
    ::= { ipMRouteTable 1 }

IpMRouteEntry ::= SEQUENCE {
    ipMRouteGroup                 IpAddress,
    ipMRouteSource                IpAddress,
    ipMRouteSourceMask            IpAddress,
    ipMRouteUpstreamNeighbor      IpAddress,
    ipMRouteInIfIndex             Integer32,
    ipMRouteUpTime                TimeTicks,
    ipMRouteExpiryTime            TimeTicks,
    ipMRoutePkts                  Counter32,
    ipMRouteDifferentInIfPackets  Counter32,
    ipMRouteOctets                Counter32,
    ipMRouteProtocol              INTEGER
}

ipMRouteGroup OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains multicast routing information."
    ::= { ipMRouteEntry 1 }

ipMRouteSource OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The network address which when combined with the
            corresponding value of ipMRouteSourceMask identifies the
            sources for which this entry contains multicast routing
            information."
    ::= { ipMRouteEntry 2 }

ipMRouteSourceMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The network mask which when combined with the corresponding
            value of ipMRouteSource identifies the sources for which
            this entry contains multicast routing information."
    ::= { ipMRouteEntry 3 }

ipMRouteUpstreamNeighbor OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address of the upstream neighbor (e.g., RPF neighbor)
            from which IP datagrams from these sources to this multicast
            address are received, or 0.0.0.0 if the upstream neighbor is
            unknown (e.g., in CBT)."
    ::= { ipMRouteEntry 4 }

ipMRouteInIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of ifIndex for the interface on which IP
            datagrams sent by these sources to this multicast address
            are received.  A value of 0 indicates that datagrams are not
            subject to an incoming interface check, but may be accepted
            on multiple interfaces (e.g., in CBT)."
    ::= { ipMRouteEntry 5 }

ipMRouteUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time since the multicast routing information
            represented by this entry was learned by the router."
    ::= { ipMRouteEntry 6 }

ipMRouteExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum amount of time remaining before this entry will
            be aged out.  The value 0 indicates that the entry is not
            subject to aging."
    ::= { ipMRouteEntry 7 }

ipMRoutePkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of packets which this router has received from
            these sources and addressed to this multicast group
            address."
    ::= { ipMRouteEntry 8 }

ipMRouteDifferentInIfPackets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of packets which this router has received from
            these sources and addressed to this multicast group address,
            which were not received from the interface indicated by
            ipMRouteInIfIndex."
    ::= { ipMRouteEntry 9 }

ipMRouteOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets contained in IP datagrams which were
            received from these sources and addressed to this multicast
            group address, and which were forwarded by this router."
    ::= { ipMRouteEntry 10 }

ipMRouteProtocol OBJECT-TYPE
    SYNTAX     INTEGER {
                   other(1),          -- none of the following
                   local(2),          -- e.g., manually configured
                   netmgmt(3),        -- set via net.mgmt protocol
                   dvmrp(4),
                   mospf(5),
                   pimSparseDense(6), -- PIMv1, both DM and SM
                   cbt(7),
                   pimSparseMode(8),  -- PIM-SMv2
                   pimDenseMode(9),   -- PIM-DMv2
                   igmpOnly(10)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The routing mechanism via which this route was learned."
    ::= { ipMRouteEntry 11 }


--
--  The IP Multicast Routing Next Hop Table
--

ipMRouteNextHopTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF IpMRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table containing information on the next
            hops on outgoing interfaces for routing IP multicast
            datagrams.  Each entry is one of a list of next hops on
            outgoing interfaces for particular sources sending to a
            particular multicast group address."
    ::= { ipMRoute 3 }

ipMRouteNextHopEntry OBJECT-TYPE
    SYNTAX     IpMRouteNextHopEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the list of next hops on
            outgoing interfaces to which IP multicast datagrams from
            particular sources to a IP multicast group address are
            routed."
    INDEX      { ipMRouteNextHopGroup, ipMRouteNextHopSource,
                 ipMRouteNextHopSourceMask, ipMRouteNextHopIfIndex,
                 ipMRouteNextHopAddress }
    ::= { ipMRouteNextHopTable 1 }

IpMRouteNextHopEntry ::= SEQUENCE {
    ipMRouteNextHopGroup              IpAddress,
    ipMRouteNextHopSource             IpAddress,
    ipMRouteNextHopSourceMask         IpAddress,
    ipMRouteNextHopIfIndex            Integer32,
    ipMRouteNextHopAddress            IpAddress,
    ipMRouteNextHopState              INTEGER,
    ipMRouteNextHopUpTime             TimeTicks,
    ipMRouteNextHopExpiryTime         TimeTicks,
    ipMRouteNextHopClosestMemberHops  Integer32,
    ipMRouteNextHopProtocol           INTEGER,
    ipMRouteNextHopPkts               Counter32
}

ipMRouteNextHopGroup OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP multicast group for which this entry specifies a
            next hop on an outgoing interface."
    ::= { ipMRouteNextHopEntry 1 }

ipMRouteNextHopSource OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The network address which when combined with the
            corresponding value of ipMRouteNextHopSourceMask identifies
            the sources for which this entry specifies a next hop on an
            outgoing interface."
    ::= { ipMRouteNextHopEntry 2 }

ipMRouteNextHopSourceMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The network mask which when combined with the corresponding
            value of ipMRouteNextHopSource identifies the sources for
            which this entry specifies a next hop on an outgoing
            interface."
    ::= { ipMRouteNextHopEntry 3 }

ipMRouteNextHopIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The ifIndex value of the interface for the outgoing
            interface for this next hop."
    ::= { ipMRouteNextHopEntry 4 }

ipMRouteNextHopAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The address of the next hop specific to this entry.  For
            most interfaces, this is identical to ipMRouteNextHopGroup.
            NBMA interfaces, however, may have multiple next hop
            addresses out a single outgoing interface."
    ::= { ipMRouteNextHopEntry 5 }

ipMRouteNextHopState OBJECT-TYPE
    SYNTAX     INTEGER { pruned(1), forwarding(2) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "An indication of whether the outgoing interface and next
            hop represented by this entry is currently being used to
            forward IP datagrams.  The value 'forwarding' indicates it
            is currently being used; the value 'pruned' indicates it is
            not."
    ::= { ipMRouteNextHopEntry 6 }

ipMRouteNextHopUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time since the multicast routing information
            represented by this entry was learned by the router."
    ::= { ipMRouteNextHopEntry 7 }

ipMRouteNextHopExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum amount of time remaining before this entry will
            be aged out.  The value 0 indicates that the entry is not
            subject to aging."
    ::= { ipMRouteNextHopEntry 8 }

ipMRouteNextHopClosestMemberHops OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum number of hops between this router and any
            member of this IP multicast group reached via this next hop
            on this outgoing interface.  Any IP multicast datagrams for
            the group which have a TTL less than this number of hops
            will not be forwarded to this next hop."
    ::= { ipMRouteNextHopEntry 9 }

ipMRouteNextHopProtocol OBJECT-TYPE
    SYNTAX     INTEGER {
                   other(1),          -- none of the following
                   local(2),          -- e.g., manually configured
                   netmgmt(3),        -- set via net.mgmt protocol
                   dvmrp(4),
                   mospf(5),
                   pimSparseDense(6), -- PIMv1, both DM and SM
                   cbt(7),
                   pimSparseMode(8),  -- PIM-SMv2
                   pimDenseMode(9),   -- PIM-DMv2
                   igmpOnly(10)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The routing mechanism via which this next-hop was learned."
    ::= { ipMRouteNextHopEntry 10 }

ipMRouteNextHopPkts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of packets which have been forwarded using this
            route."
    ::= { ipMRouteNextHopEntry 11 }


--
--  The Multicast Routing Interface Table
--

ipMRouteInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF IpMRouteInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table containg multicast routing
            information specific to interfaces."
    ::= { ipMRoute 4 }

ipMRouteInterfaceEntry OBJECT-TYPE
    SYNTAX     IpMRouteInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) containing the multicast routing
            information for a particular interface."
    INDEX      { ipMRouteInterfaceIfIndex }
    ::= { ipMRouteInterfaceTable 1 }

IpMRouteInterfaceEntry ::= SEQUENCE {
    ipMRouteInterfaceIfIndex          Integer32,
    ipMRouteInterfaceTtl              Integer32,
    ipMRouteInterfaceProtocol         INTEGER,
    ipMRouteInterfaceRateLimit        Integer32,
    ipMRouteInterfaceInMcastOctets    Counter32,
    ipMRouteInterfaceOutMcastOctets   Counter32,
    ipMRouteInterfaceHCInMcastOctets  Counter64,
    ipMRouteInterfaceHCOutMcastOctets Counter64
}

ipMRouteInterfaceIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The ifIndex value of the interface for which this entry
            contains information."
    ::= { ipMRouteInterfaceEntry 1 }

ipMRouteInterfaceTtl OBJECT-TYPE
    SYNTAX     Integer32 (1..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The datagram TTL threshold for the interface. Any IP
            multicast datagrams with a TTL less than this threshold will
            not be forwarded out the interface. The default value of 0
            means all multicast packets are forwarded out the
            interface."
    ::= { ipMRouteInterfaceEntry 2 }

ipMRouteInterfaceProtocol OBJECT-TYPE
    SYNTAX     INTEGER {
                   other(1),          -- none of the following
                   local(2),          -- e.g., static routing
                   netmgmt(3),        -- set via net.mgmt protocol
                   dvmrp(4),
                   mospf(5),
                   pimSparseDense(6), -- PIMv1, both DM and SM
                   cbt(7),
                   pimSparseMode(8),  -- PIM-SMv2
                   pimDenseMode(9),   -- PIM-DMv2
                   igmpOnly(10)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The routing protocol running on this interface."
    ::= { ipMRouteInterfaceEntry 3 }

ipMRouteInterfaceRateLimit OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The rate-limit, in kilobits per second, of forwarded
            multicast traffic on the interface.  A rate-limit of 0
            indicates that no rate limiting is done."
    DEFVAL     { 0 }
    ::= { ipMRouteInterfaceEntry 4 }

ipMRouteInterfaceInMcastOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets of multicast packets that have arrived
            on the interface."
    ::= { ipMRouteInterfaceEntry 5 }

ipMRouteInterfaceOutMcastOctets OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets of multicast packets that have been
            sent on the interface."
    ::= { ipMRouteInterfaceEntry 6 }

ipMRouteInterfaceHCInMcastOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets of multicast packets that have arrived
            on the interface.  This object is a 64-bit version of
            ipMRouteInterfaceInMcastOctets."
    ::= { ipMRouteInterfaceEntry 7 }

ipMRouteInterfaceHCOutMcastOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The number of octets of multicast packets that have been
            sent on the interface.  This object is a 64-bit version of
            ipMRouteInterfaceOutMcastOctets."
    ::= { ipMRouteInterfaceEntry 8 }


--
--  The IP Multicast Scoped Boundary Table
--

ipMRouteBoundaryTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF IpMRouteBoundaryEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the router's scoped
            multicast address boundaries."
                ::= { ipMRoute 5 }

ipMRouteBoundaryEntry OBJECT-TYPE
    SYNTAX     IpMRouteBoundaryEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the
            ipMRouteBoundaryTable representing a scoped
            boundary."
    INDEX      { ipMRouteBoundaryIfIndex, ipMRouteBoundaryAddress,
                 ipMRouteBoundaryAddressMask }
    ::= { ipMRouteBoundaryTable 1 }

IpMRouteBoundaryEntry ::= SEQUENCE {
    ipMRouteBoundaryIfIndex            Integer32,
    ipMRouteBoundaryAddress            IpAddress,
    ipMRouteBoundaryAddressMask        IpAddress,
    ipMRouteBoundaryStatus             RowStatus
}

ipMRouteBoundaryIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The IfIndex value for the interface to which
            this boundary applies.  Packets with a
            destination address in the associated
            address/mask range will not be forwarded out this
            interface."
    ::= { ipMRouteBoundaryEntry 1 }

 ipMRouteBoundaryAddress OBJECT-TYPE
     SYNTAX     IpAddress
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "The group address which when combined with the
             corresponding value of ipMRouteBoundaryAddressMask
             identifies the group range for which the scoped
             boundary exists.  Scoped addresses must come from
             the range 239.x.x.x."
    ::= { ipMRouteBoundaryEntry 2 }

 ipMRouteBoundaryAddressMask OBJECT-TYPE
     SYNTAX     IpAddress
     MAX-ACCESS not-accessible
     STATUS     current
     DESCRIPTION
             "The group address mask which when combined with
             the corresponding value of ipMRouteBoundaryAddress
             identifies the group range for which the scoped
             boundary exists."
    ::= { ipMRouteBoundaryEntry 3 }

 ipMRouteBoundaryStatus OBJECT-TYPE
     SYNTAX     RowStatus
     MAX-ACCESS read-create
     STATUS     current
     DESCRIPTION
             "The status of this row, by which new entries may be
             created, or old entries deleted from this table."
    ::= { ipMRouteBoundaryEntry 4 }


 -- conformance information

 ipMRouteMIBConformance OBJECT IDENTIFIER ::= { ipMRouteMIB 2 }
 ipMRouteMIBCompliances OBJECT IDENTIFIER ::= { ipMRouteMIBConformance 1 }
 ipMRouteMIBGroups      OBJECT IDENTIFIER ::= { ipMRouteMIBConformance 2 }


 -- compliance statements

 ipMRouteMIBCompliance MODULE-COMPLIANCE
     STATUS  current
     DESCRIPTION
             "The compliance statement for the IP Multicast MIB."
     MODULE  -- this module
     MANDATORY-GROUPS { ipMRouteMIBBasicGroup }

     GROUP   ipMRouteMIBBoundaryGroup
     DESCRIPTION
             "This group is only required to support management of
             scoped multicast address boundaries."

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

     GROUP   ipMRouteMIBHCInterfaceGroup
     DESCRIPTION
             "This group is mandatory only for those network
             interfaces for which the value of the corresponding
             instance of ifSpeed is greater than 20,000,000
             bits/second."

     ::= { ipMRouteMIBCompliances 1 }


 -- units of conformance

ipMRouteMIBBasicGroup OBJECT-GROUP
     OBJECTS { ipMRouteEnable, ipMRouteUpstreamNeighbor,
               ipMRouteInIfIndex,
               ipMRouteUpTime, ipMRouteExpiryTime,
               ipMRoutePkts, ipMRouteDifferentInIfPackets,
               ipMRouteOctets,
               ipMRouteNextHopState,
               ipMRouteNextHopUpTime,
               ipMRouteNextHopExpiryTime,
               ipMRouteNextHopProtocol,
               ipMRouteNextHopPkts,
               ipMRouteInterfaceTtl,
               ipMRouteInterfaceProtocol, ipMRouteInterfaceRateLimit,
               ipMRouteInterfaceInMcastOctets,
               ipMRouteInterfaceOutMcastOctets,
               ipMRouteProtocol
             }
     STATUS  current
     DESCRIPTION
             "A collection of objects to support basic management of
             IP Multicast routing."
     ::= { ipMRouteMIBGroups 1 }

ipMRouteMIBHopCountGroup OBJECT-GROUP
     OBJECTS { ipMRouteNextHopClosestMemberHops }
     STATUS  current
     DESCRIPTION
             "A collection of objects to support management of the use
             of hop counts in IP Multicast routing."
     ::= { ipMRouteMIBGroups 2 }

ipMRouteMIBBoundaryGroup OBJECT-GROUP
     OBJECTS { ipMRouteBoundaryStatus }
     STATUS  current
     DESCRIPTION
             "A collection of objects to support management of scoped
             multicast address boundaries."
     ::= { ipMRouteMIBGroups 3 }

ipMRouteMIBPktsOutGroup OBJECT-GROUP
     OBJECTS { ipMRouteNextHopPkts }
     STATUS  current
     DESCRIPTION
             "A collection of objects to support management of packet
             counters for each outgoing interface entry of a route."
     ::= { ipMRouteMIBGroups 4 }

ipMRouteMIBHCInterfaceGroup OBJECT-GROUP
     OBJECTS { ipMRouteInterfaceHCInMcastOctets,
               ipMRouteInterfaceHCOutMcastOctets }
     STATUS  current
     DESCRIPTION
             "A collection of objects providing information specific to
             high speed (greater than 20,000,000 bits/second) network
             interfaces."
     ::= { ipMRouteMIBGroups 5 }


END
-- CELL-ACE SW-REV 2.65 RELEASE DATE 1998.06.03

               ATM-TC-MIB DEFINITIONS ::= BEGIN

               IMPORTS
                  MODULE-IDENTITY, OBJECT-IDENTITY,
                  Integer32, TimeTicks, mib-2
                      FROM SNMPv2-SMI
                  TEXTUAL-CONVENTION
                      FROM SNMPv2-TC;

               atmMIB  OBJECT IDENTIFIER ::= { mib-2 37 } 
               atmMIBObjects  OBJECT IDENTIFIER ::= {atmMIB 1}

               atmTCMIB MODULE-IDENTITY
                    LAST-UPDATED "9701080200Z"
                    ORGANIZATION "IETF AToMMIB Working Group"
                    CONTACT-INFO
                      "          Michael Noto
                        Postal:  Network Equipment Technologies
                                 800 Saginaw Drive RM 21.1.111
                                 Redwood City, CA 94063
                                 USA
                        Tel:     +1 415 569-7134
                        E-mail:  mike_noto@net.com

                                 Ethan Mickey Spiegel
                        Postal:  Cisco Systems
                                 170 W. Tasman Dr.
                                 San Jose, CA 95134
                                 USA
                        Tel:     +1 408 526 6408
                        E-mail:  mspiegel@cisco.com

                                 Kaj Tesink
                        Postal:  Bell Communications Research
                                 331 Newman Springs Road
                                 Red Bank, NJ 07701
                                 USA
                        Tel:     +1 908 758 5254
                        Fax:     +1 908 758 4177
                        E-mail:  kaj@cc.bellcore.com"
                    DESCRIPTION
                     "This MIB Module provides Textuanl Coventions
                     and OBJECT-IDENTITY Objects to be used by
                     ATM systems."
                    ::= { atmMIB 3 }
                    -- ::= { mib-2 37 3 }
                    -- atmMIB 3
                                       -- See [14].


               -- The Textual Conventions defined below are organized
               -- alphabetically


               AtmAddr ::= TEXTUAL-CONVENTION
                       DISPLAY-HINT "1x"
                       STATUS  current
                       DESCRIPTION
                           "The ATM address used by the network entity.
                           The address types are: no address (0 octets),
                           E.164 (8 octets), and NSAP (20 octets).
                           Note: The E.164 address is encoded in BCD
                           format."
                      SYNTAX   OCTET STRING (SIZE(0|8|20))


              AtmConnCastType ::= TEXTUAL-CONVENTION
                      STATUS  current
                      DESCRIPTION
                        "The type of topology of a connection (point-
                        to-point, point-to-multipoint). In the case
                        of point-to-multipoint, the orientation of
                        this VPL or VCL in the connection.
                        On a host:
                        - p2mpRoot indicates that the host
                          is the root of the p2mp connection.
                        - p2mpLeaf indicates that the host
                          is a leaf of the p2mp connection.
                        On a switch:
                        - p2mpRoot indicates that cells received
                          by the switching fabric from the interface
                          are from the root of the p2mp connection.
                        - p2mpLeaf indicates that cells transmitted
                          to the interface from the switching fabric
                          are to the leaf of the p2mp connection."
                      SYNTAX   INTEGER {
                         p2p(1),
                         p2mpRoot(2),
                         p2mpLeaf(3)
                         }

              AtmConnKind ::= TEXTUAL-CONVENTION
                      STATUS  current
                      DESCRIPTION
                          "The use of call control. The use is as
                          follows:
                             pvc(1)
                                Virtual link of a PVC. Should not be
                                used in an PVC/SVC (i.e., SPVC)
                                crossconnect.
                             svcIncoming(2)
                                Virtual link established after a
                                received signaling request to setup
                                an SVC.
                             svcOutgoing(3)
                                Virtual link established after a
                                transmitted or forwarded signaling
                                request to setup an SVC.
                             spvcInitiator(4)
                                Virtual link at the PVC side of an
                                SVC/PVC crossconnect, where the
                                switch is the initiator of the SPVC
                                setup.
                             spvcTarget(5)
                                Virtual link at the PVC side of an
                                SVC/PVC crossconnect, where the
                                switch is the target of the SPVC
                                setup.

                          An spvcInitiator is always cross-connected to
                          an svcOutgoing, and an spvcTarget is always
                          cross-connected to an svcIncoming."
                     SYNTAX   INTEGER {
                        pvc(1),
                        svcIncoming(2),
                        svcOutgoing(3),
                        spvcInitiator(4),
                        spvcTarget(5)
                        }

                 AtmIlmiNetworkPrefix ::= TEXTUAL-CONVENTION
                     STATUS   current
                     DESCRIPTION
                         "A network prefix used for ILMI address
                         registration.  In the case of ATM endsystem
                         addresses (AESAs), the network prefix is the first
                         13 octets of the address which includes the AFI,
                         IDI, and HO-DSP fields.  In the case of native
                         E.164 addresses, the network prefix is the entire
                         E.164 address encoded in 8 octets, as if it were
                         an E.164 IDP in an ATM endsystem address
                         structure."
                     REFERENCE
                         "ATM Forum ILMI 4.0 Section 9,
                          ATM Forum UNI Signalling 4.0 Section 3"
                     SYNTAX   OCTET STRING (SIZE(8|13))

             AtmInterfaceType ::= TEXTUAL-CONVENTION
                     STATUS       current
                     DESCRIPTION
                         "The connection setup procedures used for the
                         identified interface.

                         Other: Connection setup procedures other than
                            those listed below.

                         Auto-configuration:
                            Indicates that the connection setup
                            procedures are to be determined dynamically,
                            or that determination has not yet been
                            completed. One such mechanism is via ATM
                            Forum ILMI auto-configuration procedures.

                         ITU-T DSS2:
                         -  ITU-T Recommendation Q.2931, Broadband
                            Integrated Service Digital Network (B-ISDN)
                            Digital Subscriber Signalling System No.2
                            (DSS2) User-Network Interface (UNI) Layer 3
                            Specification for Basic Call/Connection
                            Control (September 1994) [5]
                         -  ITU-T Draft Recommendation Q.2961,
                            B-ISDN DSS 2 Support of Additional Traffic
                            Parameters (May 1995) [8]

                         -  ITU-T Draft Recommendation Q.2971,
                            B-ISDN DSS 2 User Network Interface Layer 3
                            Specification for Point-to-multipoint
                            Call/connection Control (May 1995) [9]

                         ATM Forum UNI 3.0:
                            ATM Forum, ATM User-Network Interface,
                            Version 3.0 (UNI 3.0) Specification,
                            (1994) [3].

                         ATM Forum UNI 3.1:
                            ATM Forum, ATM User-Network Interface,
                            Version 3.1 (UNI 3.1) Specification,
                            (November 1994) [4].

                         ATM Forum UNI Signalling 4.0:
                            ATM Forum, ATM User-Network Interface (UNI)
                            Signalling Specification Version 4.0,
                            af-sig-0061.000 (June 1996) [7].

                         ATM Forum IISP (based on UNI 3.0 or UNI 3.1) :
                            Interim Inter-switch Signaling Protocol
                            (IISP) Specification, Version 1.0,
                            af-pnni-0026.000, (December 1994) [10].

                         ATM Forum PNNI 1.0 :
                            ATM Forum, Private Network-Network Interface
                            Specification, Version 1.0, af-pnni-0055.000,
                            (March 1996) [6].

                         ATM Forum B-ICI:
                            ATM Forum, B-ICI Specification, Version 2.0,
                            af-bici-0013.002, (November 1995) [11].

                         ATM Forum UNI PVC Only:
                            An ATM Forum compliant UNI with the
                            signalling disabled.

                         ATM Forum NNI PVC Only:
                            An ATM Forum compliant NNI with the
                            signalling disabled."
                    SYNTAX  INTEGER  {
                              other(1),
                              autoConfig(2),
                              ituDss2(3),
                              atmfUni3Dot0(4),
                              atmfUni3Dot1(5),
                              atmfUni4Dot0(6),
                              atmfIispUni3Dot0(7),
                              atmfIispUni3Dot1(8),
                              atmfIispUni4Dot0(9),
                              atmfPnni1Dot0(10),
                              atmfBici2Dot0(11),
                              atmfUniPvcOnly(12),
                              atmfNniPvcOnly(13)  }

            AtmServiceCategory ::= TEXTUAL-CONVENTION
                    STATUS  current
                    DESCRIPTION
                        "The service category for a connection."
                   REFERENCE
                       "ATM Forum Traffic Management 4.0."
                  SYNTAX   INTEGER {
                     other(1),   -- none of the following
                     cbr(2),     -- constant bit rate
                     rtVbr(3),   -- real-time variable bit rate
                     nrtVbr(4),  -- non real-time variable bit rate
                     abr(5),     -- available bit rate
                     ubr(6)      -- unspecified bit rate
                     }

          AtmSigDescrParamIndex ::= TEXTUAL-CONVENTION
                  STATUS  current
                  DESCRIPTION
                      "The value of this object identifies a row in the
                      atmSigDescrParamTable. The value 0 signifies that
                      none of the signalling parameters defined in the
                      atmSigDescrParamTable are applicable."
                  SYNTAX  INTEGER (0..2147483647)

          AtmTrafficDescrParamIndex ::= TEXTUAL-CONVENTION
                  STATUS  current
                  DESCRIPTION
                      "The value of this object identifies a row in the
                      atmTrafficDescrParamTable. The value 0 signifies
                      that no row has been identified."
                  SYNTAX  INTEGER (0..2147483647)

          AtmVcIdentifier ::= TEXTUAL-CONVENTION
                  STATUS  current
                  DESCRIPTION
                      "The VCI value for a VCL. The maximum VCI value
                      cannot exceed the value allowable by
                      atmInterfaceMaxVciBits defined in ATM-MIB."
                  SYNTAX   INTEGER (0..65535)

          AtmVpIdentifier ::= TEXTUAL-CONVENTION
                  STATUS  current
                  DESCRIPTION
                      "The VPI value for a VPL or VCL. The value VPI=0
                      is only allowed for a VCL. For ATM UNIs supporting
                      VPCs the VPI value ranges from 1 to 255. For ATM
                      UNIs supporting VCCs the VPI value ranges from 0
                      to 255.  For ATM NNIs the VPI value ranges from 0
                      to 4095.  The maximum VPI value cannot exceed the
                      value allowable by atmInterfaceMaxVpiBits defined
                      in ATM-MIB."
                  SYNTAX    INTEGER (0..4095)

          AtmVorXAdminStatus ::= TEXTUAL-CONVENTION
                  STATUS  current
                  DESCRIPTION
                      "The value determines the desired administrative
                      status of a virtual link or cross-connect. The up
                      and down states indicate that the traffic flow is
                      enabled or disabled respectively on the virtual
                      link or cross-connect."
                  SYNTAX   INTEGER {
                     up(1),
                     down(2)
                      }

          AtmVorXLastChange ::= TEXTUAL-CONVENTION
                  STATUS  current
                  DESCRIPTION
                      "The value of MIB II's sysUpTime at the time this
                      virtual link or cross-connect entered its current
                      operational state. If the current state was
                      entered prior to the last re-initialization of the
                      agent then this object contains a zero value."
                  SYNTAX   TimeTicks

          AtmVorXOperStatus ::= TEXTUAL-CONVENTION
                  STATUS  current
                  DESCRIPTION
                      "The value determines the operational status of a
                      virtual link or cross-connect. The up and down
                      states indicate that the traffic flow is enabled
                      or disabled respectively on the virtual link or
                      cross-connect. The unknown state indicates that
                      the state of it cannot be determined. The state
                      will be down or unknown if the supporting ATM
                      interface(s) is down or unknown respectively."
                  SYNTAX   INTEGER {
                     up(1),
                     down(2),
                     unknown(3)
                     }




          -- OBJECT-IDENTITIES:

          -- The following atmTrafficDescriptorTypes has been moved
          -- from [14].

          atmTrafficDescriptorTypes OBJECT IDENTIFIER ::= {atmMIBObjects 1}
          --atmTrafficDescriptorTypes OBJECT IDENTIFIER ::= {mib-2 37 1 1}
                                                      -- atmMIBObjects
                                                      -- See [14].

          -- All other and new OBJECT IDENTITIES go here:

              atmObjectIdentities OBJECT IDENTIFIER ::= {atmTCMIB 1}

          -- The following values are defined for use as
          -- possible values of the ATM traffic descriptor type.

          atmNoTrafficDescriptor  OBJECT-IDENTITY
              STATUS  deprecated
              DESCRIPTION
                  "This identifies the no ATM traffic
                  descriptor type.  Parameters 1, 2, 3, 4,
                  and 5 are not used.  This traffic descriptor
                  type can be used for best effort traffic."
              ::= {atmTrafficDescriptorTypes 1}

          atmNoClpNoScr  OBJECT-IDENTITY
              STATUS  current
              DESCRIPTION
                  "This traffic descriptor type is for no CLP
                  and no Sustained Cell Rate.  The use of the
                  parameter vector for this type:
                  Parameter 1: peak cell rate in cells/second
                               for CLP=0+1 traffic
                  Parameter 2: CDVT in tenths of microseconds
                  Parameter 3: not used
                  Parameter 4: not used
                  Parameter 5: not used.

                  This traffic descriptor type is applicable to
                  CBR connections following the UNI 3.0/3.1
                  conformance definition for PCR CLP=0+1 [3,4].
                  These CBR connections differ from CBR.1
                  connections [13] in that the CLR objective
                  applies only to the CLP=0 cell flow.

                  This traffic descriptor type is also
                  applicable to connections following the UBR.1
                  conformance definition [13]."
              ::= {atmTrafficDescriptorTypes 2}

          atmClpNoTaggingNoScr  OBJECT-IDENTITY
              STATUS  deprecated
              DESCRIPTION
                  "This traffic descriptor is for CLP without
                  tagging and no Sustained Cell Rate.  The use
                  of the parameter vector for this type:
                  Parameter 1: peak cell rate in cells/second
                               for CLP=0+1 traffic
                  Parameter 2: peak cell rate in cells/second
                               for CLP=0 traffic
                  Parameter 3: not used
                  Parameter 4: not used
                  Parameter 5: not used."
              ::= {atmTrafficDescriptorTypes 3}

          atmClpTaggingNoScr  OBJECT-IDENTITY
              STATUS  deprecated
              DESCRIPTION
                  "This traffic descriptor is for CLP with
                  tagging and no Sustained Cell Rate.  The use
                  of the parameter vector for this type:
                  Parameter 1: peak cell rate in cells/second
                               for CLP=0+1 traffic
                  Parameter 2: peak cell rate in cells/second
                               for CLP=0 traffic, excess
                               tagged as CLP=1
                  Parameter 3: not used
                  Parameter 4: not used
                  Parameter 5: not used."
              ::= {atmTrafficDescriptorTypes 4}






          atmNoClpScr  OBJECT-IDENTITY
              STATUS  current
              DESCRIPTION
                  "This traffic descriptor type is for no CLP
                  with Sustained Cell Rate.  The use of the
                  parameter vector for this type:
                  Parameter 1: peak cell rate in cells/second
                               for CLP=0+1 traffic
                  Parameter 2: sustainable cell rate in cells/second
                               for CLP=0+1 traffic
                  Parameter 3: maximum burst size in cells
                  Parameter 4: CDVT in tenths of microseconds
                  Parameter 5: not used.

                  This traffic descriptor type is applicable
                  to VBR connections following the UNI 3.0/3.1
                  conformance definition for PCR CLP=0+1 and
                  SCR CLP=0+1 [3,4].  These VBR connections
                  differ from VBR.1 connections [13] in that
                  the CLR objective applies only to the CLP=0
                  cell flow."
              ::= {atmTrafficDescriptorTypes 5}

          atmClpNoTaggingScr  OBJECT-IDENTITY
              STATUS  current
              DESCRIPTION
                  "This traffic descriptor type is for CLP with
                  Sustained Cell Rate and no tagging.  The use
                  of the parameter vector for this type:
                  Parameter 1: peak cell rate in cells/second
                               for CLP=0+1 traffic
                  Parameter 2: sustainable cell rate in cells/second
                               for CLP=0 traffic
                  Parameter 3: maximum burst size in cells
                  Parameter 4: CDVT in tenths of microseconds
                  Parameter 5: not used.

                  This traffic descriptor type is applicable to
                  connections following the VBR.2 conformance
                  definition [13]."
              ::= {atmTrafficDescriptorTypes 6}

          atmClpTaggingScr  OBJECT-IDENTITY
              STATUS  current
              DESCRIPTION
                  "This traffic descriptor type is for CLP with
                  tagging and Sustained Cell Rate.  The use of
                  the parameter vector for this type:
                  Parameter 1: peak cell rate in cells/second
                               for CLP=0+1 traffic
                  Parameter 2: sustainable cell rate in cells/second
                               for CLP=0 traffic, excess tagged as
                               CLP=1
                  Parameter 3: maximum burst size in cells
                  Parameter 4: CDVT in tenths of microseconds
                  Parameter 5: not used.

                  This traffic descriptor type is applicable to
                  connections following the VBR.3 conformance
                  definition [13]."
              ::= {atmTrafficDescriptorTypes 7}

          atmClpNoTaggingMcr  OBJECT-IDENTITY
              STATUS  current
              DESCRIPTION
                  "This traffic descriptor type is for CLP with
                  Minimum Cell Rate and no tagging.  The use of
                  the parameter vector for this type:
                  Parameter 1: peak cell rate in cells/second
                               for CLP=0+1 traffic
                  Parameter 2: CDVT in tenths of microseconds
                  Parameter 3: minimum cell rate in cells/second
                  Parameter 4: unused
                  Parameter 5: unused.

                  This traffic descriptor type is applicable to
                  connections following the ABR conformance
                  definition [13]."
              ::= {atmTrafficDescriptorTypes 8}

          atmClpTransparentNoScr  OBJECT-IDENTITY
              STATUS  current
              DESCRIPTION
                  "This traffic descriptor type is for the CLP-
                  transparent model [13] and no Sustained Cell Rate.
                  The use of the parameter vector for this type:
                  Parameter 1: peak cell rate in cells/second
                               for CLP=0+1 traffic
                  Parameter 2: CDVT in tenths of microseconds
                  Parameter 3: not used
                  Parameter 4: not used
                  Parameter 5: not used.

                  This traffic descriptor type is applicable to
                  connections following the CBR.1 conformance
                  definition [13].

                  Connections specifying this traffic descriptor
                  type will be rejected at UNI 3.0 or UNI 3.1
                  interfaces.  For a similar traffic descriptor
                  type that can be accepted at UNI 3.0 and
                  UNI 3.1 interfaces, see atmNoClpNoScr."
              ::= {atmTrafficDescriptorTypes 9}

          atmClpTransparentScr  OBJECT-IDENTITY
              STATUS  current
              DESCRIPTION
                  "This traffic descriptor type is for the CLP-
                  transparent model [13] with Sustained Cell Rate.
                  The use of the parameter vector for this type:
                  Parameter 1: peak cell rate in cells/second
                               for CLP=0+1 traffic
                  Parameter 2: sustainable cell rate in cells/second
                               for CLP=0+1 traffic
                  Parameter 3: maximum burst size in cells
                  Parameter 4: CDVT in tenths of microseconds
                  Parameter 5: not used.

                  This traffic descriptor type is applicable to
                  connections following the VBR.1 conformance
                  definition [13].

                  Connections specifying this traffic descriptor
                  type will be rejected at UNI 3.0 or UNI 3.1
                  interfaces.  For a similar traffic descriptor
                  type that can be accepted at UNI 3.0 and
                  UNI 3.1 interfaces, see atmNoClpScr."
              ::= {atmTrafficDescriptorTypes 10}

          atmNoClpTaggingNoScr  OBJECT-IDENTITY
              STATUS  current
              DESCRIPTION
                  "This traffic descriptor type is for no CLP
                  with tagging and no Sustained Cell Rate.  The
                  use of the parameter vector for this type:

                  Parameter 1: peak cell rate in cells/second
                               for CLP=0+1 traffic
                  Parameter 2: CDVT in tenths of microseconds
                  Parameter 3: not used
                  Parameter 4: not used
                  Parameter 5: not used.

                  This traffic descriptor type is applicable to
                  connections following the UBR.2 conformance
                  definition [13]."
              ::= {atmTrafficDescriptorTypes 11}

          END
RAPID-CITY DEFINITIONS ::= BEGIN

-- Title:       Rapid-City Communications Enterprise MIB
-- Date:        December 4, 1996
-- By:         	Edwin Tsang 
-- Revision:	
--        v1  : 05/28/96 - Initial version from Ian Wallis.
--        v2  : 06/23/96 - VLAN table now has port memberships
--        v3  : 06/27/96 - Added Port table        
--        v4  : 07/03/96 - Rearranged rcSystem group so scalars
--                         are grouped together
--        v5  : 07/29/96 - Modified rcVlan and rcCard groups.
--                         Added rcMirror and rcDipSwitch groups. 
--        v6  : 08/09/96 - Cleaned up rcVlanPortTable and rcTftp 
--                         groups.
--        v7  : 08/21/96 - Added rcTraps group, rcVlanColorCode,
--                         rcSysLastVlanChange, rcError group.
--	  v9  : 09/10/96 - Added rcTblSize group.  
--		           Added rc16x100BaseTX(7) to rcCardType variable. 
--			   Added rcVlanStpTrapEnable to rcVlanEntry.
--			   Added rcStpNewRoot and rcStpTopologyChange traps.
--			   Added rcPortOperation to rcPortEntry.
--			   Added rcSysCpuUtil and rcSysSwitchFabricUtil to
--			   rcSystem.
--			   Added rcVlanHighPriority and rcPortHighPriority.
--	  v10 : 09/23/96 - Changed rcSysNvRam to rcSysNvRamSize.
--			   Added rcVlanRoutingEnable and rcVlanIfIndex.
--			   Added rcIp group.
--	  v11 : 10/01/96 - Added rcSysRmonEnable, rcSysRmonMemSize, and
--                         rcSysLastSaveToNVRam.
-- 	  v12 : 10/16/96 - Added rcSysRmonSaveConfig.
--                         Changed rcIpAdEntBcastAddr to 
--                         rcIpAdEntBcastAddrFormat
--        v13 : 11/1/96  - Added rcTestTypes, rcTestCodesAdded, 
--                         and rcQos.
--	  v14 : 11/12/96 - Added saveToSlaveNVRAM and switchOver to
--			   rcSysAction variable.
--			   Changed range of rcVlanColorCode.
--			   Removed rcPortPerformBridging.
--			   Removed rcPortOperation.
--			   Added rcSysResult.
--			   Added rcSysLastSaveToSlaveNVRam.
--			   Added rcVlanAction and rcVlanResult.
-- 			   Added rcPortAction and rcPortResult.
--	  v15 : 12/04/96 - Added rcSysSupportRouting. 
--			   Changed rcVlanPortMembers.
--			   Added rcVlanMemberType, rcVlanAllowToJoin
--			   	 rcVlanType, rcVlanProtocolId, 
--			         rcVlanSubnetAddr, rcVlanSubnetMask.
--			   Added rcVlanPortType. 
--			   Added rcVlanMacTable.
--			   Added rcChasNumPorts.
--			   Added rcCardPCMCIAType. 
--			   Added rcIpConfTable.
--			   Removed loadFromNVRAM from rcSysAction.
--	  v16 : 12/09/96 - Changed rcVlanProtocolId to an enumeration.
--			   Added rcErrorText.
--			   Maded rcQosProtocol an index in rcQosEntry.
--	  v17 : 12/12/96 - Added rcStgTable and rcStgPortTable.
--			   Changed rcStpNewRoot and rcStpTopologyChange
--			   traps to use rcStgId instead of rcVlanId.
--	  v18 : 12/18/96 - Added rcVlanStgId.
--			   Removed rcVlanStpEnable, rcVlanStpTrapEnable.
--		           Shifted rVlanPortMembers, rcVlanMemberType,
--			   rcVlanNotAllowToJoin.
--		           Added fail(14) to rcPortAction.
--			   Added rcPortDefaultConnector.
--			   Added rcPortActiveConnector.
--			   Renamed all(5) to flushAll(5) to rcPortAction.
--			   Added switchConnector(6) to rcPortAction.
--			   Added types to rcCardType.
--			   Added rcVlanMemberType to rcVlanStaticMembers.
--			   Removed rcVlanPortTrunk
--			   Added rcErrorReturnCode
--			   Added rcTblArVlanByPortAdded
--			   Added rcTblArVlanByPortDeleted
--			   Added rcTblArVlanByProtocolAdded
--			   Added rcTblArVlanByProtocolDeleted
--			   Added rcTblArVlanByIpSubnetAdded
--			   Added rcTblArVlanByIpSubnetDeleted
--			   Added rcTblArIpSubnetsAdded
--			   Added rcTblArIpSubnetsDeleted
--			   Added rcTblArRsvpsAdded
--			   Added rcTblArRsvpsDeleted
--			   Added rcTblArIpMcastAdded
--			   Added rcTblArIpMcastDeleted
--			   Added rcTblArFree
--			   Added rcTblArTblSize
--			   Added rcTblArMcastTblSize
--			   Added rcTblArFreeMcastGroups
--			   Added rcTblBrdgFdbSize
--			   Added rcStgPortMembers
--			   Added rcQosPriority
--			   Added rcStgUnassignedPorts
--	  v19 : 1/6/97  -  Added rcSysTrapRecvVersion
--        v20 : 1/7/97  -  Removed switchConnector(6) from rcPortAction
--                         Added write access to rcPortActiveConnector
--                         Added rcPortStandbyConnectorStatus to 
--                         rcPortTable.
--	  v21 : 1/9/97  -  Renamed rcPortDefaultConnector to
--                         rcPortPrimaryConnector.
--			   Removed write access to rcPortActiveConnector.
--			   Renamed rcPortStandbyConnectorStatus to
--                         rcPortBackupConnectorStatus.
--	                   Renamed rcVlanColorCode to rcVlanColor
--                         Renamed switchOver to cpuSwitchOver.
--                         Changed Access of rcStgId to read-only.
--	  v22 : 1/17/97  - Added rcBoot group
--                         Added rcPing group
--                         Added rcTraceTable
--                         Added rcTrace trap
--                         Added rcBridge Tables
--	  v23 : 1/20/97  - Added rcTraceFeatureId and rcTraceLevel 
--                         objects to rcTraceNotification trap.
--                         Removed rcPingPort from rcPing group.
--                         Added rcBridgeFdbTblSize 
--                         Added rcBridgeStaticTblSize 
--                         Added rcBridgeFilterTblSize 
--                         Removed rcStgPortEnable from 
--                         rcStgPortTable 
--                         Added rcStgPortEnableStg to
--                         rcStgPortTable 
--                         Added rcStgPortInConfigBpdus,
--                         Added rcStgPortInTcnBpdus, 
--                         Added rcStgPortInBadBpdus 
--                         Added rcStgPortOutConfigBpdus,
--                         Added rcStgPortOutTcnBpdus 
--                         Removed ipxAny and snaAny from 
--                         rcVlanProtocolId 
--                         Renamed byMacAddr to bySrcMac in
--                         rcVlanType
--                         Added byDstMcast value to rcVlanType
--	  v24 : 1/23/97  - Added rcSysRmonTrapOption.
--                         Added agent, port, chassis, bridge, ip
--                         to rcTraceFeatureId.
--	  v25 : 1/25/97  - Removed rcTraceRowStatus.
--                         Changed Access of rcTraceFeatureId to Read-only
--                         Added more error codes to rcErrorReturnCode. 
--                         Rearranged the objects in the rcMirrorGroup.
--                         Renamed rcMirrorByPort to rcMirrorByPortEnable
--                         Added rcMirrorSaveConfig to rcMirror.
--                         Added rcWebEnableServer.
--                         Added rcWebAccessTable.
--                         Added rcWebAccessTblSize scalar object.
--                         Added rcVlanAgingTime in rcVlanTable.
--                         Added rcStgPortFastStart in rcStgPortTable.
--                         Added flushDynMemb to rcVlanAction. 
--        v26 : 2/13/97  - Rename downloadSw to downloadSwToFlash 
--                         and added downloadSwToPcmcia to rcTftpAction.
--                         Modified rcIpAdEtReasmMaxSize to be read-only.
--                         Added  "removed" to rcCardOperStatus. 
--                         Added  more featureIds to rcTraceFeatureId. 
--        v27 : 2/19/97  - Added checkSwInFlash and 
--                         checkSwInPcmcia  to rcTftpAction.
--                         Added more result codes to rcTftpResult.
--        v27 : 2/19/97  - Added checkSwInFlash and 
--                         checkSwInPcmcia  to rcSysAction.
--                         Added more result codes to rcSysResult.
--                         Added more result codes to rcTftpResult.
--	  v28 : 2/28/97  - Expanded rcWeb and removed rcWebAccessTbl.
--	  v29 : 3/20/97  - Changed rcCardSerialNum and rcChassisSerialNum
--			   to a DisplayString.
--	  v30 : 3/26/97  - Added rcSysSupportWebServer to rcSystem Group.
--                         Removed rcStgName from rcStgTable.
--                         Changed rcStgId range from 1..50 to 1..25.
--                         Added rcVlanPotentialMembers to rcVlanTable.  
--                         Added rcChasType to rcChassisGroup.
--                         Removed rcChasFanOperStatus from rcChassisGroup.
--                         Added rcChasFanTable.
--                         Modified rcChasPowerSupplyId range.
--                         Added rcErrorSendTrap to rcError group.
--                         Added rcPortType, rcPortAutoNegotiate, rcPortDuplex,
--                         rcPortSetDuplex, rcPortSetSpeed to rcPortTable.
--			   Changed enterprise mib oid from
--			   1024 to 2272.
--	  v31 : 3/31/97  - changed enums for rcChasType.
--                         changed rcF1200 and rcF600 OID. 
--	  v32 : 4/01/97  - renamed rcPortSetSpeed to rcPortAdminSpeed 
--	                 - renamed rcPortSetDuplex to rcPortAdminDuplex 
--	                 - renamed rcPortDuplex to rcPortOperDuplex 
--	                 - Added rcPortOperSpeed to rcPortTable. 
--	                 - Added rcIpFlowTable.
--			 - Removed "both" from trap version.
--			 - Added rcStatGigTable.
--        v33 : 4/21/97  - Added default value for rcStgTaggedBpduAddress.
--                         Removed rcStgTagAccessPortBpdus.
--			   Added rcVlanMacAddress.
--			   Added additional enums to rcErrorReturnCode.
--			   Removed rcStatGigRxFlowControlFrames and
--			   rcStatGigRxRuntFrames.
--                         Added rcStatTbl.
--	  v34 : 5/08/97  - Added a bunch of bridging and routing
--                         counters to the rcStat group.
--	  v35 : 6/09/97  - Added a bunch of bridging and routing
--                         Added rcPortRipEnable, rcPortOspfEnable,
--                         rcPortOspfRtrPriority, rcPortOspfMetric,
--                         rcPortOpsfAuthKey to rcPortTable.
--                         Added additional error codes for ospf.
--                         Added rcStatOspf group.
--                         Added rcStatOspfIfTable.
--                         Added error codes for Ospf.
--                         Added rcIpRoutingRedistributeRipToOspf group.
--                         Added rcIpRoutingRedistributeOspfToRip group.
--                         Added rcIpRoutingRedistributeRipToOspfRouteTable
--                         Added rcIpRoutingRedistributeOspfToRipRouteTable.
--                         Added counters for mismatches in rcStatOspfIfTable.
--                         Added rcIpConfAddrAssigned in rcIpConfTable.
--                         Added rcSysOspfTrapEnable in rcSystem group.
--                         Added rcIpConfOspfTable.
--                         Moved rcIpConfOspfMetric, rcIpConfOspfRtrPriority,
--                         and rcIpOspfAuthKey to rcIpConfOspfTable.
--	  v36 : 6/16/97  - Added rc2x1000BaseFF200, rc8x100BaseTXF200, 
--			   rc16x100BaseTXF200 to rcCardType.
--                         Misc. syntax changes to rcStatEntry group.
--			   Changed all variables that are used as
--			   ifIndex to the InterfaceIndex variable
-- 			   type.
--	  v37 : 6/30/97  - changed range for FanId values.
--			   added additional error codes.
--			   renamed the following variables:
--			   rcMirrorDstPort to rcMirrorByPortMirrorPort
--			   rcMirrorEnableSrcPortOne to rcMirrorByPortEnableMirroredPortOne
--		 	   rcMirrorSrcPortOne to rcMirrorByPortMirroredPortOne.
--			   rcMirrorEnableSrcPortTwo to rcMirrorByPortEnableMirroredPortTwo
--		 	   rcMirrorSrcPortTwo to rcMirrorByPortMirroredPortTwo.
--			   removed rcPing group
--			   removed rcTrace group
--        v38 : 7/09/97  - added new error codes
--			   added new enums to rcTftpResult
--			   added rcStgFastStart to rcStgTable.
--        v39 : 7/15/97  - added InFlowCtrlPkts, OutFlowCtrlPkts to
--                         rcStatGigTable.
--                         removed enum "removed" from rcCardOperStatus.
--                         Added enum "mbps1000" to  rcPortAdminSpeed.
--                         Added new error codes.
--	  v40 : 7/10/97  - added rcIpConfOspfCost group.
--                         added rcIpRoutingRedistributeRipToOspfRouteMetric
--                         and rcIpRoutingRedistributeOspfToRipRouteMetric
--                         removed LeakAllSubnets from 
--                         rcIpRoutingRedistributeRipToOspfTable.
--                         removed Internal, External1 and External2 
--                         from rcIpRoutingRedistributeRipToOspfTable.
--                         Added rcIpRoutingRedistributeOspfToRipUseDefaultMetric
--                         Added rcIpRoutingRedistributeRipToOspfUseDefaultMetric
--                         Added ospf error codes.
--                         Added rcCardPartNumber in rcCardEntry.
--			   Changed saveToSlaveNVRAM to saveToStandbyNVRAM.
--        		   Added rc2x1000BaseDualFF200 to rcCardType. 
--	  v41 : 8/28/97  - Changed rcCardType to new format.
--                         Changed rcChasType to new format.
--			   Removed mbps1000 enumeration.
--			   Removed rcStgFastStart variable.
--	  vigmp : 6/07/97  - Added rcIpConfIgmpTable, rcIgmpGroupTable.
--                         Added rcStatIgmp group.
--                         Added new card types for rcCardType.
--	  v42 : 09/09/97 - Made rcIpAdEntBcastAddrFormat read-only.
--	  v43 : 9/15/97  - added rcIpConfOspfHelloInterval and 
--                         rcIpConfOspfRtrDeadInterval to rcIpConfOspfTable
--                         added rcIpConfOspf group.
--                         moved rcSysOspfTrapEnable to rcIpConfOspf group.
--                         added LsdbTblSize to rcStatOspf group.
--	  v44 : 09/16/97 - Added rcPortIndex to rcStpTopologyChange trap.
--			   Added additional error codes.
--	  v45 : 09/18/97 - Added rcChasPowerSupplyDown rcChasFanDown
--                         traps.
--	  v46 : 09/26/97 - Changed rcSysIpAddr, rcSysNetMask, and rcSysBroadcast
--			   from read-write to read-only.
--	  v47 : 10/28/97 - Added rcSysTrapRecvSrcAddress to rcSysTrapRecvTable. 
--			 - Added enums to rcTftpResult.
--			 - Added "other(n)" enum to rcPortPrimaryConnector,
--		           rcPortActiveConnector, rcPortBackupConnectorStatus,
--                         rcPortAdminSpeed.
--	  v48 : 10/24/97 - Removed rcIpConfOspfExternalMetricType.
--                         Renamed UseDefaultMetric to UseExplicitMetric
--                         and DefaultMetric to ExplicitMetric in
--                         RedistributeRipToOspf and RedistributeOspfToRip
--                         Added ExternalMetricType to RedistributeRipToOspf 
--                         Added rcIpRoutingRedistributeDirectToOspf
--                         and rcIpRoutingRedistributeStaticToOspf grps
--                         removed un used error codes (148, 153, 158).
--                         Added rcIpRoutingRedistributeDirectToRip
--                         and rcIpRoutingRedistributeStaticToRip grps.
--                         Added new error codes for ip addr.
--        v49 : 11/24/97 - Added rcIpRouteTable group. 
--	  v50 : 11/24/97 - Modified the value of rcIpConfOspfMetric 
--	                   Modified the default value of 
--                         rcIpRoutingRedistributeDirectToOspfExplicitMetric. 
--        v51 : 12/01/97 - Changed rcSysTrapRecvVersion to v1.
--                         Added enums to rcTftpAction and rcTftpResult.
--        v52 : 12/03/97 - Added rcHighPriorityMode.  
--	  v53 : 12/18/97 - Added rcIpConfDhcpTable and rcIpDhcpForwardTable.
--        v54 : 12/29/97 - Changed rcVlanPotentialMembers to rcVlanActiveMembers.
--                         Added rcVlanPortDiscardTaggedFrames, 
--                               rcVlanPortDiscardUntaggedFrames, 
--                               rcVlanPortDefaultVlanId.
--                         Added rcSysLastIpAddrChange.
--        v55 : 12/31/97 - Added rcDevice group.
--	  v56 : 01/09/97 - Fixed compiler warning messages and added
--                         default values to some DHCP variables.
--	  v57 : 01/12/97 - Added enums to rcErrorReturnCode.
--			   Changed Max VLAN IDs from 4095 to 4094.
--        v58 : 01/21/98 - Obsoleted rcBoot.
--                         Took rcDeviceLastBootSourceFileNum off from rcDevice.
--                         Added rcDeviceFlashNumFiles, rcDevicePcmciaNumFiles
--                         into rcDevice.
--                         For rcDevice, added invalidDeviceFileNumber(179),
--                         notExecutableDeviceFile(180), deletedDeviceFile(181)
--                         into rcError.
--                         Changed rcDeviceFlashFileMod to rcDeviceFlashFileMode.
--                         For rcDeviceAction, changed squeezePcmica(3) to
--                         squeezePcmcia(3).
--	  v59 : 01/28/98 - Added enums to rcCardType.  
--			   Added vines(13) to rcVlanProtocolId.
--	  v60 : 01/26/98 - Modified enum for rcPortAdminSpeed.
--			   Added enums to rcCardType.
--	  v61 : 02/02/98 - Added rcTestTypesExtLoopBack.
--	  v62 : 02/06/98 - Changed IpDhcpForwardMode enum value.
--		           Added rcDeviceConfigSource and rcDeviceConfigSourceFileNum.
--	  v63 : 02/09/98 - Changed FileNum variables in rcDevice to be FileNames.
--	  v64 : 02/19/97 - Added rcIpFilter group and rcMlt group.
--      v64.1 : 04/09/98 - Modify the two "FIXME" field in rcIpFilter group.
--	  v65 : 02/27/98 - Added more error codes.
--			   Added rcPortLock group.
--			   Added rcPortLocked.
--        v66 : 02/25/98 - Added recoverFlash and recoverPcmcia to rcDeviceAction.
--        v66 : 04/16/98 - Added snoopIpMcastAddrExist, error code 215.
--	v66.1 : 04/02/98 - Added rc2x1000BaseXDWG and rc2x1000BaseXDBB card types.
--      v66.2 : 04/16/98 - Changed snoopIpMcastAddrExist to snoopStaticGroupExist.
--	  v67 : 03/05/98 - Added rcCli group.
--	  v68 : 03/09/98 - Changed all read-write variables that have none(1)
--			   to none(0). 
--			   Added IdList data type.
--			   Added rcSysCommReadWriteLayer3 and rcSysCommReadWriteLayer2. 
--	  v69 : 03/18/98 - Added rcSysAccessPolicyEnable and 
--			   rcSysAccessPolicyTable.
--        v70 : 03/18/98 - Added error code invalidDeviceFileLength
--	  v71 : 03/23/98 - Backed out changes to xxxAction variables that made
--			   none(1) to none(0).
--			 - Added flushSnoopMembers to rcVlanAction.
--	  v72 : 04/21/98 - Added rcIpPolicyAddrTable, 
--                         rcIpPolicyNetTable, rcIpPolicyListTable,
--                         rcIpPolicyRipAnnounceTable, rcIpPolicyOspfAnnounceTable,
--                         rcIpPolicyRipAcceptTable, rcIpPolicyOspfAcceptTable
--	  v73 : 04/29/98 - obsoleted rcIpRoutingRedistribute groups.
--                         added additional error codes.
--	  v74 : 04/30/98 - added "none" to rcIpFilterPortMode. 
--	v74.1 : 05/01/98 - changed the choice order of rcIpFilterPortMode. 
--	  v75 : 05/08/98 - added "resetConsole" and "resetModem" to rcSysAction.
--	  v76 : 05/08/98 - added "rcMltPortType" to rcMltTable. 
--	  v77 : 05/11/98 - Added rcVlanUserDefinedPid. 
--			   Added new enums for rcVlanProtocolId.
--			   Added rcIpConfGlobal group.
--	  v78 : 05/19/98 - Added error codes for rcip accept policies and filters.
--	  v79 : 05/20/98 - Added rcPortAutoNegotiationSupported.
--			   Added rcIpConfGlobalRipHoldDownTime
--	  v80 : 05/11/98 - modified ospfIfAuthKey SYNTAX in rcIpConfOsptTable.
--                         added rcIpConfOspfSpfHoldDownTime to rcIpConfOspf grp
--                         added rcIpConfOspfIfAreaId to rcIpConfOspfTable.
--	  v81 : 05/27/98 - Added rcChasAruMode.
--			   Added rcPortSingleRoutablePort.
-- 			   Deprecated rcPortPerformRouting.
-- 			   Deprecated rcVlanRoutingEnable.
--	  v82 : 05/29/98 - Added error codes for mlt.
--                         Added Default values in rcRipExtEntry & rcArpExtEntry.
--	  v83 : 06/01/98 - Added rcIpConfDhcpAlwaysBroadcast.
--	  v84 : 06/03/98 - Added rcIpVrrp group.
--	  v85 : 06/03/98 - Added rcIpConfOspfAreaTable.
--	  v86 : 06/04/98 - Enhancement in rcVlanTable and
--                         rcVlanIgmpSnoopStaticTable.
-- 	  v87 : 06/05/98 - Removed rcIpVrrp group.
--        v88 : 06/12/98 - Added rcVlanSnoopActiveQuerier,
--                         rcVlanSnoopMRouterExpiration in rcVlan table.
--                         Added rcMltEnable, rcMltLoadBalance,
--                         rcMltDistributionAlgorithm in rcMlt table.
--        v89 : 06/17/98 - Changed rcVlanSnoopActiveMRouterPorts,
--                         rcVlanSnoopActiveQuerier, and
--                         rcVlanSnoopMRouterExpiration to
--                         rcVlanIgmpSnoopActiveMRouterPorts,
--                         rcVlanIgmpSnoopActiveMRouterPorts, and
--                         rcVlanIgmpSnoopMRouterExpiration respectively.
--        v90 : 06/12/98 - Added rcIpConfRipAutoAggrerateEnable,
--                         added additional error codes for route aggregation.
--        v91 : 06/29/98 - Added new trap rcLinkOscillation.
--        v92 : 07/01/98 - Added rcSyslog.
--        v93 : 07/08/98 - Added rcVlanIgmpSnoopAccessTable.
--	  v94 : 07/09/98 - Added rcChasPowerSupplyDetailTable. 
--	  v95 : 07/14/98 - Added rcVlanIgmpSnoopQuerierPort.
--	  v96 : 07/17/98 - Added additional error codes.
--	  v97 : 07/20/98 - Added rcIpFilterMode and rcIpFilterPortDefaultAction.
--			   Added rcMltIfIndex.
--			   Obsoleted rcIpFilterPortMode. 
--			   Added rcDiag group.
--	  v98 : 07/21/98 - Modified the rcIpPolicy group.
--	  v99 : 07/24/98 - Added description for Syslog group.
--	 v100 : 07/24/98 - Added a new card type rc8x10BaseFBB.
--       v101 : 07/29/98 - Added rcIpConfRipGenerateDefaultRoute.
--		         - Added triggerRipUpdate to rcVlanAction.
--	 v102 : 07/30/98 - Changed rcSysAccessPolicyActive to
--                         rcSysAccessPolicyPolicyEnable.
--	 v103 : 07/30/98 - modified the policy table index variable ACCESS
--                         to read-only.
--	 v104 : 08/04/98 - Added rc10BaseF to rcPortType.
--	 v105 : 08/11/98 - Changed range of rcMltId.
--	 v106 : 08/24/98 - Changed the option definition of rcSyslogHostModuleId
--                         in hexdecimal.
--       v107 : 08/28/98 - Added flushSnoopMRtr to rcVlanAction.
--       v108 : 08/28/98 - Backed out changes made in v106.
--	 v109 : 08/25/98 - Changed name size in policy & ip filter tables.
--       v110 : 09/01/98 - Added rcStgNotAllowedPorts to rcStg group.
--	 v111 : 09/28/98 - Changed rcVlanIgmpSnoopAccessMode options.
--                         Added rcPortPerformMacLearning for rcPortTable.
--       v112 : 10/01/98 - Add rcIpxAddrTbl
--       v113 : 10/06/98 - Added rcIpDvmrp.  Added rcIpConfIgmpRobustness 
--                         and rcIpConfIgmpLastMemberQueryInterval
--	 v114 : 10/06/98 - Added rc4xOC3, rc1xOC12, and rcRMON card types.
--	 v115 : 10/06/98 - Changed rcIpDvmrp table to rcIpConfDvmrpTable.
--       v116 : 09/29/98 - Added new items to rcIpFilter group.
--       v117 : 10/01/98 - Changed rcPortPerformMacLearning to read-write.
--       v118 : 10/07/98 - Changed rcPortPerformMacLearning to
--                         rcPortUnknownMacDiscard.
--       v119 : 09/29/98 - Merged rcIpFilter group from rel1.3.
--                         Added more rcError items.
--	 v120 : 10/15/98 - Added to "rarp" to rcVlanProtocolId.
--       v121 : 10/15/98 - Add rcIpDvmrpEnable into rcIpDvmrp.
--       v122 : 10/15/98 - Changed the range of rcIpConfIgmpRobustness.
--       v123 : 10/20/98 - Added rcStatMlt group.
--       v124 : 10/21/98 - Removed rcIpConfIgmp group.
--       v125 : 10/27/98 - Added rcChasEnableEOCMode, rcPortPerformMacLearning
--                         and rcError 323.
--       v126 : 10/12/98 - added rcIpUdpProtocolTable,  rcIpUdpPortFwdTable,
--                         rcIpUdpPortFwdListTable, rcIpUdpConfBroadcastIntfTable.
--       v127 : 10/30/98 - Added rcVlanIgmpSnoopSenderTable.
--       v128 : 11/02/98 - Added AuthType field to rcIpConfOspfTable.
--       v129 : 11/03/98 - Changed the index keys of rcipIgmpGroupTable.
--       v130 : 11/05/98 - Added enum none(0) to rcVlanIgmpSnoopSenderAction.
--       v131 : 11/05/98 - Added rcChasEocModeAdminStatus and
--                         rcChasEocModeOperStatus. Deleted rcChasEnableEOCMode.
--       v132 : 11/10/98 - Changed rcChasEocModeAdminStatus to read-write and
--                         rcChasEocModeOperStatus to read-only.
--                         Changed aruMixed of rcChasAruMode to aruThree.
--       v133 : 11/11/98 - Added PerformTagging into rcVlanPortTable.
--       v134 : 11/12/98 - Added range limit for rcIpConfigDvmrpTableMetric.
--       v135 : 11/16/98 - Added rcPortNumStateTransition in rcPort.
--       v136 : 11/20/98 - added rcIpConfAdvertiseWhenDown to rcIpConfTable.
--                         added additional error codes.
--       v137 : 11/23/98 - Added new items in rcIpDvmrp and rcIpConfIgmpTable.
--       v138 : 11/24/98 - Added interger range for UpdateInterval, 
--                         TriggeredUpdateInterval, LeafTimeout, NbrTimeout,
--                         and NbrProbeInterval in rcIpConfIgmpTable.
--       v139 : 12/03/98 - Re-built rcIpDvmrp, rcIpDvmrpGlobal & rcIpDvmrpTable.
--       v140 : 12/08/98 - Added IpTosRule under rcIpFilterTable. Added 
--                         rcIpRosRule group with AndMask, OrRule1, OrRule2, 
--                         OrRule3. 
--       v141 : 01/13/99 - Added return code 345 to 364 into rcErrorReturnCode.
--       v142 : 02/01/99 - modified udp protocol port number range.
--       v143 : 03/02/99 - Added static routing group.
--       v144 : 03/04/99 - Added rcPos group.
--       v145 : 03/04/99 - Fixed access error for rcPosPppIpxIfIndex.
--       v146 : 03/08/99 - New return error message for rcDiag.
--       v147 : 03/08/99 - New return error message for static routing.
--       v148 : 03/09/99 - Added rcHprm group.
--       v149 : 03/16/99 - Added rcIpPim group.
--       v150 : 03/16/99 - Removed rcIpPimGlobalJoinPruneInterval.
--       v151 : 04/12/99 - modified rcHprm group.
--       v152 : 04/13/99 - Added Accelar740 and Accelar750 devices.
--       v153 : 04/14/99 - Added rmon history utilization ccalculation ontrol.
--       v154 : 04/20/99 - Added rcLinkFlapDetect, rcPortAllowOverSizeFrame,
--                         rcIpTosRule, rcBridgeUnknownMacDiscard,
--                         rcBridgeManualEdit and rcBridgeAutoLearn.
--       v155 : 04/26/99 - Added Accelar790.
--       v156 : 04/27/99 - Modified rcHprm.
--       v157 : 05/17/99 - Added rcIpConfDirectBroadcastEnable.
--                         Added rcMacViolation trap.
--       v158 : 05/17/99 - Added rcAgentTable.
--       v159 : 05/17/99 - Added rcBridgeStaticMulticastTable.
--       v160 : 05/19/99 - Added rcSysCommReadWriteLayer1.
--       v161 : 06/17/99 - Changed rcBridgeStaticMulticastForwardingPorts
--                         to writable.
--       v162 : 06/29/99 - Added OC3 and OC12 card types to A1200.
--       v163 : 06/30/99 - Added rcIpMulticastArpTable. Removed
--                         rcBridgeStaticMulticastForwardingPorts from
--                         rcBridgeStaticMulticastTable index.
--       v164 : 07/08/99 - Added rcSysDiagnosticsEnable.
--       v165 : 07/12/99 - Added Mib descriptions for the unknown mac discard table, the Auto
--                         Learn table, and the Manual Edit table.
--
--       ******************************************************************
--       Accelar 1000 Product Family : Rel2.2.0
--       ******************************************************************
--
--       v166 : 08/29/99 - Added rcV1Traps group (for BayStack).
--       v167 : 08/30/99 - Added rcSysDramSize, DramUsed, DramFree,
--                         DramMaxBlockFree.
--       v168 : 08/30/99 - Added Radius Global group and Radius Server Table.
--       v169 : 08/30/99 - Added rcPos group.
--                         Added rcIpConfV2Table, rcIpConfOspfV2Table,
--                         rcArpExtV2Table, rcRipExtV2Table,
--                         rcStatOspfIfV2Table, and rcIpMulticastTable.
--
--       ******************************************************************
--       Accelar 8000 Product Family : Rel3.0.0
--       ******************************************************************
-- 
--       v260 : 11/03/98 - Added changes to support Raptillion (Accelar2k)
--                         Added rc2k24x100BaseTX and rc2k24x100BaseFX cards.
--                         Added rcAccelar2kChasPortOperStatus.
--       v261 : 12/09/98 - Updated rcCardType to use Accelar2k card encoding
--                         scheme.
--       v262 : 12/11/98 - Updated rcChasType to use Accelar2k encoding.
--       v263 : 01/05/99 - Renamed rcAccelar2k group to rc2k.
--       v264 : 01/28/99 - Added rc2kCpuEthernetPortTable,
--                         rc2kCpuSerialPortTable, rc2kDevice,
--                         rc2kBootConfig, and rc2kCardTable.
--	 v265 : 02/01/99 - Added more items in rc2kBootConfig.
--	 v266 : 02/25/99 - Changed the value range of rcChasPowerSupplyId.
--	 v267 : 03/03/99 - Added rc2kDevicePcmciaPresent.
--	 v268 : 03/05/99 - Added static route table.
--	                   Modified rcIpUpdPortFwdListId range.
--	 v269 : 03/15/99 - Changed rcStgPortMembers to allow more ports.
--	 v270 : 03/18/99 - Added more variables in rc2kCardBackType.
--	 v271 : 03/25/99 - Added rc2kChassisAmbientLowerTemperature and
--			   rc2kChassisAmbientUpperTemperature.
--	 v272 : 03/26/99 - Added rc2kTemperature trap. 
--	 v273 : 04/07/99 - Added error return messages for static routing
--                         and 2k copy file. 
--	 v274 : 04/07/99 - Added err rtrn msg copyFileInvalidMultipleCopying
--	 v275 : 04/08/99 - Changed QosLevel to UserPriority.
--	 v276 : 04/30/99 - Changed UserPriority back to QosLeve.  
--                         Added more items in rcIpFilterTable.
--                         Added rc2kQos group.
--	 v277 : 05/13/99 - Updated rc2k mibs to support multiple CPUs.
--			   Updated all QosLevel variables to be (1..8).
--			   Added rcVlanTosValue to rcVlan group.
--	 v278 : 05/14/99 - Merged the rcLinkFlapDetect group from accelar1k.
--	 v279 : 05/26/99 - Added rc2kMdaCardTable.
--	 v280 : 05/26/99 - Changed rcVlanPortVlanIds and rcMltVlanIds to 4096.
--	 v281 : 06/07/99 - Changed in rc2kQosQosTable.
--	 v282 : 07/13/99 - Removed resetWebCounters from rcSysAction.
--                         Modified rcWeb group.
--	 v283 : 07/15/99 - Added default values for rcIpFilterTable and
--			   rc2kQosTrafficProfileTable.
--			   Changed rcVlanPortDefaultVlanId to (0..4094).
--			   Added rcIpFilterStopOnMatch.
--			   Deprecated rcVlanHighPriority, rcVlanRoutingEnable,
--			   rcPortHighPriority, rcPortUserPriority,
--			   rcBridgeFdbPriority, rcBridgeStaticPriority,
--			   rcIpTosRule, rcIpFilterHighPriority
--			   rcIpFilterCopyToCpu, rcIpFilterUsePktLimit
--			   rcIpFilterPktLimit, rcIpFilterIpTosRule. 
--       v284 : 07/16/99   Added rcDiagDiagnosticsEnable in rcDiag group.
--       v285 : 07/16/99   Made DisplayString range and integer range for
--			   rcWeb objects.
--                         Excluded rc2kCardFrontMacAddr. 
--	 v286 : 07/29/99   Increased rcMltId from 8 to 32.
--	 v287 : 08/02/99   Changed number for rcMdaCardType.
--			   Changed chassis type from 2400/2450 to 8010/8006.
--	 v288 : 08/10/99   Added rc2kMGSFM.
--	 v289 : 08/20/99   Added rcChasGlobalFilterEnable, rcChasVlanBySrcMacEnable.
--	   		   Added rc2kBootConfigSwVersion. 
--	 v290 : 09/07/99   Added rc2k8x1000BaseIC, rc2k8x1000BaseTX,
--                         rc2k16x1000BaseSXBB in rc2kCardFrontType.
--	 v291 : 09/10/99   Added rc2k8xATM in rc2kCardFrontType.
--	 v292 : 09/22/99   Added rcPortVendorDescr, and rcGbicLx, rcGbicSx,
--                         rcGbicXd, rcGbicCu, rcGbicOther to rcPortType.
--	 v293 : 09/23/99   Changed trap numbering.
--	 v294 : 09/23/99   Added rcA8600, rcA8650, rcA8100, rcA8150. 
--			   Added rcChasFanAmbientTemperature.
--	 v295 : 10/11/99   Increased rcStatMltxxx ranges from (1..8) to (1..32).
--	 v296 : 10/15/99   Added rc2kQosQosName in rc2kQosTable.
--                         Changed rcIpFilterId ranges fr (1..1024) to (1..4096).
--	 v297 : 10/11/99   Changed rc2kQosQosName to read-only.
--       v298 : 10/06/99   Removed rcDiagDiagnosticsEnable and rcDiagSaveConfig
--                         from rcDiag group.
--	 v299 : 10/20/99   Changed QosLevel to (0..7) from (1..8). Added QosRow
--                         to QOS tables as index.  Changed rcVlanQosLevel,
--                         rcPortQosLevel, rcBridgeFdbQosLevel, and
--                         rcBridgeStaticQosLevel to (0..7). Added new Enable
--                         variables for rcIpFilterDiffServMatch and
--                         rcIpFilterDiffServModify variables.  Changed range of
--                         rcIpFilterDiffServMatch and rcIpFilterDiffServModify
--                         to (0..7).
--	 v300 : 10/22/99   Added new rcErrorReturnCode from 397 to 404. 
--	 v301 : 11/05/99   Added rcStatBridgeOutFrames. 
--	 v302 : 11/10/99   Added rcA750S sysObjectID. 
--			   Changed all default values for QosLevel from
--			   'level2' to 'level1'. 
--	 v303 : 11/07/99   Added more rcPortType for oc3c, oc12c, ds3, and e3. 
--	 v304 : 12/02/99   Changed group name rcHprm to rcOrna. 
--	 v305 : 12/15/99   Added rc2kChassisMgmtMacAddr. 
--	 v306 : 12/17/99   Added rcGbicNone(22) to the rcPortType. 
--	 v307 : 12/20/99   Changed rc2kChassisMgmtMacAddr to
--                         rc2kCpuEthernetPortMgmtMacAddr. 
--	 v308 : 12/21/99   Removed  rcSysGlobalFilterEnable and
--                         rcSysVlanBySrcMacEnable.
--                         Added nre error return code 405 and 406.
--	                   Added rc2kMg8x1000BaseIC in rc2kCardFrontType.
--	 v309 : 12/24/99   Added mltMoreThan4PortsInMgMlt(408),
--                         protocolRulesForThePortHasExceeded16(409) in
--                         rcErrorReturnCode.
--	 v310 : 12/26/99   Added 9 more variables in rc2kAtm1483ElanTable.
--	 v311 : 12/28/99   Added rc2kCardASICDescr.
--	 v312 : 12/29/99   Added ATM MDA card types.
--			   Added rc2kCardFrontMasterIO.
--	 v313 : 01/10/00   Added rcStgPortStpState.
--	 v314 : 01/21/00   Added rc1000BaseTx in rcPortType.
--                         Changed rc2kMg16x100BaseTX to rc2kMg16x100BaseFX.
--	 v315 : 01/26/00   Added rc2k16x1000BaseIC.
--	 v316 : 02/01/00   Added 4 rc2kMdaCardType for POS.
--	 v317 : 02/02/00   Added rcIpConfIgmpAdminVersion.
--	 v318 : 02/08/00   Added rc2k6xPOS in rc2kCardFrontType.
--	 v319 : 02/28/00   Changed rc2k8x1000BaseTX to rc2k8x1000BaseT.
--	 v320 : 03/01/00   Added rcStatMulticast Group.
--
--       ******************************************************************
--       Accelar 8000 Product Family : Rel3.1.0
--       ******************************************************************
--
--	 v400 : 03/22/00   Changed lay-out of rc2kAtmSvcTable. 
--       v401 : 04/05/00   Updated rcErrorReturnCode with newest values.
--       v402 : 04/14/00   Merged additions from REL3_POS_BRANCH branch.
--			   Added rcStatPos, rcSonetTrap.
--                         Updated rcPos group.
--	 v403 : 04/14/00   Merged additions from REL3_ATM2_BRANCH branch.
--			   Changed lay-out of rc2kAtmSvcTable. 
--


-- ISSUES
--
-- None outstanding

IMPORTS
	MODULE-IDENTITY				FROM SNMPv2-SMI
--	TEXTUAL-CONVENTION                  	FROM SNMPv2-TC
	enterprises,  IpAddress, TimeTicks	FROM RFC1155-SMI
	Counter					FROM RFC1155-SMI
	OBJECT-TYPE 				FROM RFC-1212
	DisplayString		 		FROM RFC1213-MIB
	RowStatus, TruthValue, MacAddress 	FROM SNMPv2-TC
	Gauge32, NOTIFICATION-TYPE		FROM SNMPv2-SMI
	Counter32, Counter64			FROM SNMPv2-SMI
	AtmAddr             			FROM ATM-TC-MIB; 

rapidCity MODULE-IDENTITY
       LAST-UPDATED 	"9701010000Z"
       ORGANIZATION 	"Bay Networks, Rapid-City Group"
       CONTACT-INFO 	"
				 	Edwin Tsang
                	 Postal: 	Bay Networks, Inc. 
                       			4401 Great America Parkway 
                       			Santa Clara, CA 95052-8185 

                   	 Tel: 		408-495-6159
                   	 Fax: 		408-495-5215 
                	 E-mail:	edwin_tsang@baynetworks.com 
			"
       DESCRIPTION 	"Enterprise MIB for the Accelar product family."
       ::= { enterprises 2272 }

-- 
-- Local defines to avoid having to pull-in other RFC's.
--
BridgeId	::= OCTET STRING (SIZE (8))
Timeout		::= INTEGER
EnableValue     ::= INTEGER { enable(1), disable(2) }

--
-- This variable type is used through out the Rapid-City enterprise
-- MIB to denote the standard ifIndex in mib-2. 
--
InterfaceIndex	::= INTEGER

--
-- The string is 88 octets long, for a total of 704 bits. Each bit
-- corresponds to a port, as represented by its ifIndex value . When a
-- bit has the value one(1), the corresponding port is a member of the
-- set. When a bit has the value zero(0), the corresponding port is not
-- a member of the set. The encoding is such that the most significant
-- bit of octet #1 corresponds to ifIndex 0, while the least significant
-- bit of octet #88 corresponds to ifIndex 703."
--
PortSet 	::= OCTET STRING (SIZE (88))
IdList 		::= OCTET STRING


--
-- Additions to resolve some SNMP V2 dependencies so we don't
-- have to pull-in a lot of mib modules.
--                  
internet  	OBJECT IDENTIFIER ::= { iso org(3) dod(6) 1 }
snmpV2 		OBJECT IDENTIFIER ::= { internet 6 }
snmpModules 	OBJECT IDENTIFIER ::= { snmpV2 3 }
snmpMIB 	OBJECT IDENTIFIER ::= { snmpModules 1 }
snmpMIBObjects 	OBJECT IDENTIFIER ::= { snmpMIB 1 }
snmpTraps 	OBJECT IDENTIFIER ::= { snmpMIBObjects 5 }


--
-- Enterprise specific MIB groups
--
rcMgmt 			OBJECT IDENTIFIER ::= { rapidCity 1 }
rcA1100			OBJECT IDENTIFIER ::= { rapidCity 2 }
rcA1250    		OBJECT IDENTIFIER ::= { rapidCity 6 }
rcA1150    		OBJECT IDENTIFIER ::= { rapidCity 7 }
rcA1200    		OBJECT IDENTIFIER ::= { rapidCity 8 }
rcA1050    		OBJECT IDENTIFIER ::= { rapidCity 9 }
rcA740                  OBJECT IDENTIFIER ::= { rapidCity 20 }
rcA750                  OBJECT IDENTIFIER ::= { rapidCity 21 }
rcA790                  OBJECT IDENTIFIER ::= { rapidCity 22 }
rcA750S                 OBJECT IDENTIFIER ::= { rapidCity 23 }
rcA8006    		OBJECT IDENTIFIER ::= { rapidCity 280887558 }
rcA8010    		OBJECT IDENTIFIER ::= { rapidCity 280887562 }
rcA8610    		OBJECT IDENTIFIER ::= { rapidCity 30 }
rcA8606    		OBJECT IDENTIFIER ::= { rapidCity 31 }
rcA8110    		OBJECT IDENTIFIER ::= { rapidCity 32 }
rcA8106    		OBJECT IDENTIFIER ::= { rapidCity 33 }


rcSystem  		OBJECT IDENTIFIER ::= { rcMgmt 1 }
rcTftp 	  		OBJECT IDENTIFIER ::= { rcMgmt 2 }
rcVlan 	  		OBJECT IDENTIFIER ::= { rcMgmt 3 }
rcChassis 		OBJECT IDENTIFIER ::= { rcMgmt 4 }
rcMirror		OBJECT IDENTIFIER ::= { rcMgmt 5 }
rcDipSwitch		OBJECT IDENTIFIER ::= { rcMgmt 6 }
rcTblSize		OBJECT IDENTIFIER ::= { rcMgmt 7 }
rcIp			OBJECT IDENTIFIER ::= { rcMgmt 8 }
rcArp			OBJECT IDENTIFIER ::= { rcMgmt 9 }
rcRip			OBJECT IDENTIFIER ::= { rcMgmt 10 }
rcTest			OBJECT IDENTIFIER ::= { rcMgmt 11 }
rcStat			OBJECT IDENTIFIER ::= { rcMgmt 12 }
rcStg			OBJECT IDENTIFIER ::= { rcMgmt 13 }
rcBridge		OBJECT IDENTIFIER ::= { rcMgmt 14 }
rcBoot			OBJECT IDENTIFIER ::= { rcMgmt 15 }
rcDevice		OBJECT IDENTIFIER ::= { rcMgmt 16 }
rcMlt			OBJECT IDENTIFIER ::= { rcMgmt 17 }
rcWeb			OBJECT IDENTIFIER ::= { rcMgmt 18 }
rcCli			OBJECT IDENTIFIER ::= { rcMgmt 19 }
rcError			OBJECT IDENTIFIER ::= { rcMgmt 20 }
rcTraps			OBJECT IDENTIFIER ::= { rcMgmt 21 }
rcSyslog		OBJECT IDENTIFIER ::= { rcMgmt 22 }
rcDiag          	OBJECT IDENTIFIER ::= { rcMgmt 23 }
rcIpx 			OBJECT IDENTIFIER ::= { rcMgmt 24 }
rcOrna                  OBJECT IDENTIFIER ::= { rcMgmt 25 }
rcPos                   OBJECT IDENTIFIER ::= { rcMgmt 26 }
rcLinkFlapDetect        OBJECT IDENTIFIER ::= { rcMgmt 27 }
rcV1Traps               OBJECT IDENTIFIER ::= { rcMgmt 28 }
rcRadius                OBJECT IDENTIFIER ::= { rcMgmt 29 }
rc2k			OBJECT IDENTIFIER ::= { rcMgmt 100 }


-- LOGICAL (System) Elements

rcSysIpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "This entity's IP address."
        ::= { rcSystem 1 }

rcSysNetMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "This entity's subnet mask."
        ::= { rcSystem 2 }

rcSysBroadcast OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "This entity's broadcast address."
        ::= { rcSystem 3 }

-- Community Strings

rcSysCommReadWriteAll OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "When an SNMP message is received by this entity, the
                      community string in the message is compared with this
                      string first.  If it matches, read-write access is
                      granted to all items in the MIB.  If it doesn't
                      match, the rcSysCommReadWrite string is compared next."
        ::= { rcSystem 4 }

rcSysCommReadWrite OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "When an SNMP message is received by this entity, the
                      community string in the message is compared with this
                      string second.  If it matches, read-write access is
                      granted to all items in the MIB except community
                      strings.  (Community strings appear empty when read
                      and return a no such name error when an attempt is
                      made to write them.)  If it doesn't match, the
                      rcSysCommReadWriteLayer3 string is compared next."
        ::= { rcSystem 5 }

rcSysCommReadOnly OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "When an SNMP message is received by this entity, the
                      community string in the message is compared with this
                      string third.  If it matches, read-only access is
                      granted to all items in the MIB except community
                      strings.  (Community strings appear empty when read.)
                      If it doesn't match, no access is granted, no
                      response is sent back to the SNMP requester, and
                      SNMP traps are sent to the SNMP trap receiver(s) if
                      configured."
        ::= { rcSystem 6 }

-- Other

rcSysVersion OBJECT-TYPE
	SYNTAX 		DisplayString (SIZE (0..20))
	ACCESS 		read-only
	STATUS 		mandatory
	DESCRIPTION	"Software version running on device"
	::= { rcSystem 7 }

rcSysAction OBJECT-TYPE
        SYNTAX       INTEGER {
                         none(1),               -- none of the following
                         hardReset(2),          -- power on tests
                         softReset(3),          -- reset w/o power on tests
                         saveToNVRAM(4),        -- save current config to NVRAM
                         resetCounters(5),      -- reset all statistic counters
                         saveToStandbyNVRAM(6), -- save config to slave NVRAM
                         cpuSwitchOver(7),      -- CPU board switch-over
		         checkSwInFlash(8),       
		         checkSwInPcmcia(9),
			 resetConsole(10),
			 resetModem(11),
			 flushIpRouteTbl(12),
			 saveRuntimeConfig(13),		-- 8k only
			 saveRuntimeConfigToSlave(14),	-- 8k only
			 saveBootConfig(15),		-- 8k only
			 saveSlaveBootConfig(16) 	-- 8k only
--			 reserve(17)
--			 reserve(18)
--			 reserve(19)
--			 reserve(20)
--			 reserve(21)
 	              }
        ACCESS        read-write
        STATUS        mandatory
	DESCRIPTION   "Initiate a system action."
	DEFVAL 	      { none }
        ::= { rcSystem 8 }

rcSysResult OBJECT-TYPE
	SYNTAX       INTEGER {
		         none(1),		-- none of the following
		         inProgress(2),		-- in progress
		         success(3),		-- success
		         fail(4),		-- failure
		         flashReadFailed(5),	-- could not read from flash
		         pcmciaReadFailed(6),	-- could not read from pcmcia
		         crcCheckFailed(7),
                         noStandbyCpu(8)
	              }
        ACCESS        read-only
        STATUS        mandatory
	DESCRIPTION   "Result from the last system action."
	DEFVAL 	      { none }
        ::= { rcSystem 9 }

rcSysLastChange OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Last management initiated configuration 
		      change since sysUpTime."
        ::= { rcSystem 10 }

rcSysLastVlanChange OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Last management initiated VLAN configuration 
		      change since sysUpTime."
        ::= { rcSystem 11 }

rcSysLastStatisticsReset OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Last management initiated statistics reset 
		      since sysUpTime."
        ::= { rcSystem 12 }

-- Global Statistics

rcSysBufferUtil OBJECT-TYPE
	SYNTAX        INTEGER (0..100)
	ACCESS        read-only
	STATUS        mandatory
	DESCRIPTION   "Buffer utilization as a percentage of the
                      total amount of buffer space in the system.  
                      A high value indicates congestion."
	::= { rcSystem 13 }

rcSysBufferUtilPeak OBJECT-TYPE
	SYNTAX        INTEGER (0..100)
	ACCESS        read-only
	STATUS        mandatory
	DESCRIPTION   "The largest buffer utilization since sysUpTime"
	::= { rcSystem 14 }

rcSysBufferUtilPeakTime OBJECT-TYPE
	SYNTAX        TimeTicks
	ACCESS        read-only
	STATUS        mandatory
	DESCRIPTION   "Timestamp for rcSysPeakBandwidth"
	::= { rcSystem 15 }

rcSysNVRamSize OBJECT-TYPE
	SYNTAX        Gauge32
	ACCESS        read-only
	STATUS        mandatory
	DESCRIPTION   "Total Non-volatile RAM in Kbytes"
	::= { rcSystem 16 }

rcSysNVRamUsed OBJECT-TYPE
	SYNTAX        Gauge32
	ACCESS        read-only
	STATUS        mandatory
	DESCRIPTION   "Non-volatile RAM in use in Kbytes"
	::= { rcSystem 17 }

rcSysLastSaveToNVRam    OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "SysUpTime of the last time when NVRAM was
                      written to.  This could be a save of the system
                      configuration or via a file transfer of a
                      configuration file."
        ::= { rcSystem 18 }

rcSysLastSaveToStandbyNVRam OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "SysUpTime of the last time when the standby NVRAM
                      (on the back-up CPU board) was written to."
        ::= { rcSystem 19 }

rcSysCpuUtil OBJECT-TYPE
        SYNTAX        Gauge32
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Percentage of CPU utilization"
        ::= { rcSystem 20 }

rcSysSwitchFabricUtil OBJECT-TYPE
        SYNTAX        Gauge32
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Percentage of Switching Fabric utilization"
        ::= { rcSystem 21 }

rcSysRmonMemSize OBJECT-TYPE
        SYNTAX        INTEGER (250000..4000000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Amount of RAM in bytes to allocate for RMON
                      to use when rcSysRmonEnable is TRUE."
        ::= { rcSystem 22 }

rcSysRmonEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Control whether the RMON feature should be
                      enabled.

		      To enable the RMON feature, set this variable to
		      true.  The RMON agent in the device will get 
                      started immediately if the amount of memory
		      specified by rcSysRmonMemSize is currently
		      available in the device.

		      To disable the RMON feature, set this variable to
		      false, save the new setting to NVRAM, and reboot
		      the device.  After the device is rebooted the
		      RMON agent will not be operational." 
        ::= { rcSystem 23 }

rcSysRmonSaveConfig OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Control whether RMON configuration information 
                      should be saved to NVRAM so RMON settings can 
                      be automatically reinstalled after a system
                      reboot. 

		      Setting rcSysRmonSaveConfig to true does not 
		      immediately save the configuration information.
		      The save happens when the rcSysAction variable 
		      is set to 'saveToNVRAM(4)'.

                      This option is only meaningful when the 
                      rcSysRmonEnable variable is set to true."
        ::= { rcSystem 24 }

rcSysRmonTrapOption OBJECT-TYPE
        SYNTAX        INTEGER {
		 	 toOwner(1),
			 toAll(2)
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether RMON traps should be
		      sent to only the owner of the RMON alarm (i.e.,
		      the manager that created the alarm entry) or 
		      all trap recipients in the system trap receiver
		      table."
	DEFVAL	      { toOwner }
        ::= { rcSystem 25 }

rcSysSupportRouting OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether routing is supported
                      in this product."
        ::= { rcSystem 26 }

rcSysSupportWebServer OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether WebServer is supported
                      in this product."
        ::= { rcSystem 27 }

rcSysLastIpAddrChange OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Last management initiated IP address change 
                       since sysUpTime.  Any addition or deletion of
                       an IP address to a single routable port or
                       a VLAN is time-stamped by this variable."
        ::= { rcSystem 28 }

rcSysCommReadWriteLayer3 OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "When an SNMP message is received by this entity, the
                      community string in the message is compared with this
                      string third.  If it matches, read-write access is 
		      granted to all Layer-3 items in the MIB except community
                      strings.  (Community strings appear empty when read
                      and return a no such name error when an attempt is
                      made to write them.)  If it doesn't match, the
                      rcSysCommReadWriteLayer2 string is compared next."
        ::= { rcSystem 29 }

rcSysCommReadWriteLayer2 OBJECT-TYPE 
        SYNTAX        DisplayString (SIZE (0..20)) 
        ACCESS        read-write 
        STATUS        mandatory 
        DESCRIPTION   "When an SNMP message is received by this entity, the 
                      community string in the message is compared with this 
                      string fourth.  If it matches, read-write access is 
                      granted to all Layer-2 items in the MIB except community
                      strings.  (Community strings appear empty when read 
                      and return a no such name error when an attempt is
                      made to write them.)  If it doesn't match, the
                      rcSysCommReadOnly string is compared next." 
        ::= { rcSystem 30 }

rcSysAccessPolicyEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to configure the system access policy feature.
		      if 'true', the rcSysAccessPolicyTable is examined to
		      determine which packets should be allowed or denied
                      access to this device." 
	DEFVAL	      { false }
        ::= { rcSystem 31 }

rcSysDefaultRuntimeConfigFileName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "default config."
        ::= { rcSystem 32 }
 
rcSysDefaultBootConfigFileName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "default boot config."
        ::= { rcSystem 33 }
 
rcSysConfigFileName OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(0..64))
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"File name used in conjunction with rcSysAction.

			If rcSysAction is set to 'saveRuntimeConfig' or
			'saveRuntimeConfigToSlave' then this file name
			will be used instead of the file name specified
			in rcSysDefaultRuntimeConfigFileName.  

			If rcSysAction is set to 'saveBootConfig' or
			'saveBootConfigToSlave' then this file name will
			be used insteaad of the file name specified in
			rcSysDefaultBootConfigFileName.

			If the file name is blank (i.e., nothing is
			entered) then the default file name will be
			used."
        ::= { rcSystem 34 }
 
rcSysLastRunTimeConfigSave OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "SysUpTime of the last time when the run time
                      configuration was written to."
        ::= { rcSystem 35 }

rcSysLastRunTimeConfigSaveToSlave OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "SysUpTime of the last time when the run time
                      configuration was written to slave NVRAM."
        ::= { rcSystem 36 }

rcSysLastBootConfigSave OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "SysUpTime of the last time when the boot
                      configuration was written to."
        ::= { rcSystem 37 }

rcSysLastBootConfigSaveOnSlave OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "SysUpTime of the last time when the boot
                      configuration was written on the slave NVRAM."
        ::= { rcSystem 38 }

rcSysRmonUtilizationMethod OBJECT-TYPE
        SYNTAX        INTEGER {
                         halfDuplex(1),
                         fullDuplex(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to control whether RMON should use a half-duplex
                       or full-duplex formula to calculate port utilization.
                       When set to 'halfDuplex', RMON will use InOctets and
                       the port's speed to calculate port utilization (this
                       is the standard RMON rfc1271 convention).
                       When set to 'fullDuplex', RMON will use InOctets and
                       OutOctets and 2X the port's speed to calculate port
                       utilization. Furthermore, if this variable is set to
                       'fullDuplex', but the port is operating in a
                       half-duplex mode, the calculation defaults back to
                       the rfc1271 convention."
        DEFVAL        { halfDuplex }
        ::= { rcSystem 39 }
 
rcSysCommReadWriteLayer1 OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "read-write L1 access"
        ::= { rcSystem 40 }

rcSysOtherBufferUtil OBJECT-TYPE
        SYNTAX        Gauge32
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "bw currently consumed"
        ::= { rcSystem 41 }
 
rcSysOtherBufferUtilPeak OBJECT-TYPE
        SYNTAX        Gauge32
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "peak bw since reset"
        ::= { rcSystem 42 }

rcSysOtherBufferUtilPeakTime OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "timestamp for rcSysPeakBw"
        ::= { rcSystem 43 }
 
rcSysOtherCpuUtil OBJECT-TYPE
        SYNTAX        Gauge32
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "% cpu utilization"
        ::= { rcSystem 44 }

rcSysOtherSwitchFabricUtil OBJECT-TYPE
        SYNTAX        Gauge32
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "% switch fabric util"
        ::= { rcSystem 45 }

rcSysDramSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Dram size in mega-bytes"
        ::= { rcSystem 46 }
 
rcSysDramUsed OBJECT-TYPE
        SYNTAX        Gauge32
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Dram used in percentage"
        ::= { rcSystem 47 }
 
rcSysDramFree OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Dram free size in kilo-bytes"
        ::= { rcSystem 48 }
 
rcSysDramMaxBlockFree OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Dram max block free size in kilo-bytes"
        ::= { rcSystem 49 }
 

-- Trap Receiver Table
 
rcSysTrapRecvTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcSysTrapRecvEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "The trap receiver table (0 to 25 entries).  This
                      table lists the addresses of Network Management
                      Stations that should receive trap messages from 
                      this entity when an exception condition occurs."
        ::= { rcSystem 60 }

rcSysTrapRecvEntry OBJECT-TYPE
        SYNTAX        RcSysTrapRecvEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A trap receiver table entry."
        INDEX         { rcSysTrapRecvAddress }
        ::= { rcSysTrapRecvTable 1 }
 
RcSysTrapRecvEntry ::=
        SEQUENCE {
                rcSysTrapRecvAddress IpAddress,
                rcSysTrapRecvVersion INTEGER,
                rcSysTrapRecvCommunity DisplayString,
                rcSysTrapRecvSrcAddress IpAddress,
                rcSysTrapRecvRowStatus RowStatus
        }
 
rcSysTrapRecvAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "IP address for trap receiver."
        ::= { rcSysTrapRecvEntry 1 }
 
rcSysTrapRecvVersion OBJECT-TYPE
        SYNTAX        INTEGER {
		         v1(1),          
		         v2c(2)
	              }
        ACCESS        read-write
        STATUS	      mandatory
	DEFVAL 	      { v1 }
	::= { rcSysTrapRecvEntry 2 }

rcSysTrapRecvCommunity OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Community string used for trap messages to this
                       trap receiver."
        ::= { rcSysTrapRecvEntry 3 }

rcSysTrapRecvSrcAddress OBJECT-TYPE 
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Source IP address to use when sending traps.
		       This IP address will be inserted into the
		       source IP address field in the UDP trap packet."
        ::= { rcSysTrapRecvEntry 4 } 
 
rcSysTrapRecvRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries"
        ::= { rcSysTrapRecvEntry 5 }


-- Access Policy Table
 
rcSysAccessPolicyTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcSysAccesspolicyEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Management access policy table.  This table is 
		       used to permit or deny access to this device via
		       the specified source Id."
        ::= { rcSystem 61 }

rcSysAccessPolicyEntry OBJECT-TYPE
        SYNTAX        RcSysAccesspolicyEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "An access policy table entry."
        INDEX         { rcSysAccessPolicyId }
        ::= { rcSysAccessPolicyTable 1 }
 
RcSysAccesspolicyEntry ::=
        SEQUENCE {
                rcSysAccessPolicyId INTEGER,
                rcSysAccessPolicyName DisplayString,
                rcSysAccessPolicyPolicyEnable TruthValue,
                rcSysAccessPolicyMode INTEGER,
                rcSysAccessPolicyService INTEGER,
                rcSysAccessPolicyPrecedence INTEGER,
                rcSysAccessPolicyNetAddr IpAddress,
                rcSysAccessPolicyNetMask IpAddress,
                rcSysAccessPolicyTrustedHostAddr IpAddress,
                rcSysAccessPolicyTrustedHostUserName DisplayString,
                rcSysAccessPolicyAccessLevel INTEGER,
                rcSysAccessPolicyLog TruthValue,
                rcSysAccessPolicyUsage Counter,
                rcSysAccessPolicyRowStatus RowStatus
        }
 
rcSysAccessPolicyId OBJECT-TYPE 
        SYNTAX        INTEGER (1..65535)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Policy Id."
        ::= { rcSysAccessPolicyEntry 1 } 

rcSysAccessPolicyName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Name of this policy."
        ::= { rcSysAccessPolicyEntry 2 }

rcSysAccessPolicyPolicyEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Indicate whether this policy is currently 
                       active."
	DEFVAL	      { true }
        ::= { rcSysAccessPolicyEntry 3 }

rcSysAccessPolicyMode OBJECT-TYPE
        SYNTAX        INTEGER {
                        allow(1), 
                        deny(2)
                      }          
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether a packet having a
		       source IP address that matches this entry
		       should be permitted to enter the device or
 		       denied access." 
	DEFVAL	      { allow }
        ::= { rcSysAccessPolicyEntry 4 }

rcSysAccessPolicyService OBJECT-TYPE
        SYNTAX        INTEGER {
			telnet(1),
			snmp(2),
			tftp(4),
			ftp(8),
			http(16),
			rlogin(32)
	    	      }		
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Is represented as bitset to indicate which protocol
                      this entry should be applied to."
	DEFVAL	      { snmp }
        ::= { rcSysAccessPolicyEntry 5 }

rcSysAccessPolicyPrecedence OBJECT-TYPE
        SYNTAX        INTEGER (1..128)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the precedence of this policy.
		       The Lower the number the higher the precedence."
	DEFVAL	      { 10 }
        ::= { rcSysAccessPolicyEntry 6 }

rcSysAccessPolicyNetAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Source network IP address."
        ::= { rcSysAccessPolicyEntry 7 }
 
rcSysAccessPolicyNetMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Source network mask."
        ::= { rcSysAccessPolicyEntry 8 }
 
rcSysAccessPolicyTrustedHostAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Trusted IP address of host performing a rlogin
		       into the device."
        ::= { rcSysAccessPolicyEntry 9 }
 
rcSysAccessPolicyTrustedHostUserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..30))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "User name on the trusted host performing a rlogin
                       into the device."
        ::= { rcSysAccessPolicyEntry 10 }

rcSysAccessPolicyAccessLevel OBJECT-TYPE
        SYNTAX        INTEGER {
                        readOnly(1), 
                        readWrite(2),
                        readWriteAll(3)
                      }          
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Access level of trusted host." 
	DEFVAL	      { readWrite }
        ::= { rcSysAccessPolicyEntry 11 }

rcSysAccessPolicyLog OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether logging should be 
		       performed if this policy was applied."
	DEFVAL	      { false }
        ::= { rcSysAccessPolicyEntry 12 }

rcSysAccessPolicyUsage OBJECT-TYPE
        SYNTAX  	Counter
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"Usage counter"
        ::= { rcSysAccessPolicyEntry 13 }

rcSysAccessPolicyRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete an entry"
        ::= { rcSysAccessPolicyEntry 14 }


-- TFTP Upload/Download

rcTftpHost OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Name of source/destination host for the TFTP
                      transfer."
        ::= { rcTftp 1 }

rcTftpFile OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Name of file for the TFTP transfer."
        ::= { rcTftp 2 }

rcTftpAction OBJECT-TYPE
        SYNTAX        INTEGER {
		         none(1),          -- none of the following
		         downloadConfig(2),
		         uploadConfig(3),
		         downloadSwToFlash(4),
                         downloadSwToPcmcia(5),
                         uploadSw(6),
                         downloadSwToDram(7)
	              }
        ACCESS	      read-write
        STATUS	      mandatory
	DEFVAL 	      { none }
	::= { rcTftp 3 }

rcTftpResult OBJECT-TYPE
        SYNTAX        INTEGER {
		         none(1),
		         inProgress(2),
		         noResponse(3),
		         fileAccessError(4),
		         badFlash(5),
		         flashEraseFailed(6),
		         pcmciaEraseFailed(7),
		         success(8),
		         fail(9),
                         writeToNvramFailed(10),
		         flashWriteFailed(11),
		         pcmciaWriteFailed(12),
                         configFileTooBig(13),
                         imageFileTooBig(14),
			 noPcmciaDetect(15),
			 pcmciaNotSupported(16),
			 invalidFile(17),
			 noMemory(18),
			 xferError(19),
			 crcError(20),
                         readNvramFailed(21),
                         pcmciaWriteProtect(22)
	              }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Contains result of the last Tftp action request."
        ::= { rcTftp 4 }


-- VLAN Table

rcVlanNumVlans OBJECT-TYPE
        SYNTAX        INTEGER (1..128)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The number of VLANs currently defined in the switch."
        ::= { rcVlan 1 }

rcVlanTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcVlanEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A list of Virtual LAN entries. The number of entries
                      is given by rcVlanNumVlans."
        ::= { rcVlan 2 }

rcVlanEntry OBJECT-TYPE
        SYNTAX        RcVlanEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing configuration information for a 
                      particular Virtual LAN.

                      The relationship between the various port sets in a 
                      VLAN Entry are :

                      o The set of ports defined by PortMembers must be a 
                        subset of the set of ports in the underlying STG of 
                        the VLAN.

                      o The bitwise AND of PortMembers and NotAllowToJoin must 
                        be the empty set.

                      o The bitwise OR of PortMembers and NotAllowToJoin must 
                        be the set of ports in the underlying STG of the VLAN.

                      o The set of ports defined by StaticMembers must be a 
                        subset of the set of ports defined by PortMembers.

                      o The bitwise XOR of PortMembers and StaticMembers defines 
                        the set of dynamic (potential) members of the VLAN.

                      o The set of ports defined by ActiveMembers must be a subset 
                        of the set of ports defined by PortMembers.
                      "
        INDEX         { rcVlanId }
        ::= { rcVlanTable 1 }

RcVlanEntry ::= SEQUENCE {
                rcVlanId INTEGER,
                rcVlanName DisplayString,
                rcVlanColor INTEGER,
                rcVlanHighPriority TruthValue,
                rcVlanRoutingEnable TruthValue,
                rcVlanIfIndex InterfaceIndex,
                rcVlanAction INTEGER,
                rcVlanResult INTEGER,
                rcVlanStgId INTEGER,
                rcVlanType INTEGER,
                rcVlanPortMembers PortSet,
                rcVlanActiveMembers PortSet,
                rcVlanStaticMembers PortSet,
                rcVlanNotAllowToJoin PortSet,
                rcVlanProtocolId INTEGER,
                rcVlanSubnetAddr IpAddress,
                rcVlanSubnetMask IpAddress,
                rcVlanAgingTime  INTEGER,
                rcVlanMacAddress MacAddress,
                rcVlanRowStatus RowStatus,
                rcVlanIgmpSnoopEnable TruthValue,
                rcVlanIgmpSnoopReportProxyEnable TruthValue,
                rcVlanIgmpSnoopRobustness INTEGER,
                rcVlanIgmpSnoopQueryInterval INTEGER,
                rcVlanIgmpSnoopMRouterPorts PortSet,
		rcVlanUserDefinedPid INTEGER,
		rcVlanIgmpSnoopActiveMRouterPorts PortSet,
		rcVlanProtocolIds INTEGER,
		rcVlanIgmpSnoopActiveQuerier IpAddress,
		rcVlanIgmpSnoopMRouterExpiration INTEGER,
		rcVlanIgmpSnoopQuerierPort InterfaceIndex,
		rcVlanUserPriority INTEGER,
		rcVlanQosLevel INTEGER,
		rcVlanTosValue INTEGER
        }

rcVlanId OBJECT-TYPE
        SYNTAX        INTEGER (1..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A value that uniquely identifies the Virtual LAN 
                      associated with this entry. This value corresponds
                      to the lower 12 bits in the IEEE 802.1Q VLAN Tag."
        ::= { rcVlanEntry 1 }

rcVlanName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "An administratively-assigned name for this VLAN."
        ::= { rcVlanEntry 2 }

rcVlanColor OBJECT-TYPE
        SYNTAX        INTEGER (0..32)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "An administratively-assigned color code for this
                      VLAN. The value of this object is used by the VLAN
                      Manager GUI tool to select a color when it draws
                      this VLAN on the screen."
        ::= { rcVlanEntry 3 }

rcVlanHighPriority OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "A flag to note whether frames in this VLAN should 
                      be assigned a high switching priority."
        DEFVAL        { false }
        ::= { rcVlanEntry 4 }

rcVlanRoutingEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "A flag to note whether IP routing is enabled in
                      this VLAN." 
        DEFVAL        { false }
        ::= { rcVlanEntry 5 }

rcVlanIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "When rcVlanRoutingEnable is set to true(1), this 
                      value indicates the 'logical' ifIndex assigned to
                      this VLAN.  Otherwise, this value is meaningless
                      and should be set to zero."
        ::= { rcVlanEntry 6 }

rcVlanAction OBJECT-TYPE
        SYNTAX        INTEGER {
                         none(1),             -- none of the following
                         flushMacFdb(2),      -- flush MAC forwarding table
                         flushArp(3),         -- flush ARP table
                         flushIp(4),          -- flush IP route table
                         flushDynMemb(5),     -- flush Dynamic Members
                         all(6),              -- flush all tables 
			 flushSnoopMemb(7),   -- flush IGMP Snoop Members
                         triggerRipUpdate(8), -- manually trigger rip update
			 flushSnoopMRtr(9)    -- flush snoop multicast router
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "VLAN related actions."
        DEFVAL        { none }
        ::= { rcVlanEntry 7 }

rcVlanResult OBJECT-TYPE
        SYNTAX        INTEGER {
                         none(1),        -- none of the following
                         inProgress(2),  -- in progress
                         success(3),     -- success
                         fail(4)         -- failure
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The result from the last VLAN action."
        DEFVAL        { none }
        ::= { rcVlanEntry 8 }

rcVlanStgId OBJECT-TYPE
        SYNTAX        INTEGER (0..128)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Indicates the Spanning Tree Group (STG) used by
                      this VLAN to determine the state of its ports.
                      If this VLAN is not associated with any STG, this
                      value should be set to zero."
        DEFVAL        { 1 }
        ::= { rcVlanEntry 9 }

rcVlanType OBJECT-TYPE
        SYNTAX        INTEGER {
                         byPort(1),       -- VLAN by Port 
                         byIpSubnet(2),   -- VLAN by IP subnet 
                         byProtocolId(3), -- VLAN by Protocol Id
                         bySrcMac(4),     -- VLAN by Src MAC address
                         byDstMcast(5)    -- VLAN by Dst MultiCast
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The type of VLAN, distinguished according to the
                      policy used to define its port membership."
        ::= { rcVlanEntry 10 }

rcVlanPortMembers OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The set of ports that are members (static or 
                      dynamic) of this VLAN."
        ::= { rcVlanEntry 11 }
 
rcVlanActiveMembers OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The set of ports that are currently active in 
                      this VLAN. Active ports include all static ports
                      and any dynamic ports where the VLAN policy was
                      met."
        ::= { rcVlanEntry 12 }
 
rcVlanStaticMembers OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The set of ports that are static members of this
                      VLAN. A static member of a VLAN is always active 
                      and is never aged out."
        ::= { rcVlanEntry 13 }

rcVlanNotAllowToJoin OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The set of ports that are not allowed to become
                      members of this VLAN."
        ::= { rcVlanEntry 14 }

rcVlanProtocolId OBJECT-TYPE
        SYNTAX        INTEGER {
                         none(0),
                         ip(1),
                         ipx802dot3(2),
                         ipx802dot2(3),
                         ipxSnap(4),
                         ipxEthernet2(5),
                         appleTalk(6),
                         decLat(7),
                         decOther(8),
                         sna802dot2(9),
                         snaEthernet2(10),
                         netBios(11),
                         xns(12),
			 vines(13),
                         ipV6(14), 
                         usrDefined(15),
			 rarp(16)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The protocol identifier of this VLAN. This value 
                      is meaningful only if rcVlanType is equal to 
                      byProtocolId(3). For other VLAN types it should
                      have the value none(0)."
        ::= { rcVlanEntry 15 }

rcVlanSubnetAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The IP subnet address of this VLAN. This value 
                      is meaningful only if rcVlanType is equal to 
                      byIpSubnet(2). For other VLAN types it should
                      have the value 0.0.0.0."
        ::= { rcVlanEntry 16 }

rcVlanSubnetMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The IP subnet mask of this VLAN. This value
                      is meaningful only if rcVlanType is equal to 
                      byIpSubnet(2). For other VLAN types it should
                      have the value 0.0.0.0."
        ::= { rcVlanEntry 17 }

rcVlanAgingTime OBJECT-TYPE
        SYNTAX        INTEGER (10..1000000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The timeout period (in seconds) used for aging
                      out dynamic members of this VLAN. This field is
                      only relevant for policy-based VLANs."
        DEFVAL        { 600 }
        ::= { rcVlanEntry 18 }

rcVlanMacAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The MAC address assigned to the virtual router
                      interface of this VLAN. This field is meaningful 
                      only if rcVlanRoutingEnable is equal to true(1)."
        ::= { rcVlanEntry 19 }

rcVlanRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries in the rcVlanTable."
        ::= { rcVlanEntry 20 }

rcVlanIgmpSnoopEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "A flag to note whether IGMP Snooping is enabled
                      on this VLAN."
        DEFVAL        { false }
        ::= { rcVlanEntry 21 }
 
rcVlanIgmpSnoopReportProxyEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "A flag to note whether IGMP Report Proxy is
                      enabled on this VLAN."
        DEFVAL        { true }
        ::= { rcVlanEntry 22 }
 
rcVlanIgmpSnoopRobustness OBJECT-TYPE
        SYNTAX        INTEGER (2..255)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "This variable allows tuning for the expected
                      packet loss on a subnet. If a subnet is expected
                      to be lossy, the Robustness variable may be
                      increased. IGMP is robust to (Robustness - 1)
                      packet losses."
        DEFVAL        { 2 }
        ::= { rcVlanEntry 23 }
 
rcVlanIgmpSnoopQueryInterval OBJECT-TYPE
        SYNTAX        INTEGER (1..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The interval (in seconds) between IGMP Host-Query
                      packets transmitted on this interface."
        DEFVAL        { 125 }
        ::= { rcVlanEntry 24 }
 
rcVlanIgmpSnoopMRouterPorts OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The set of ports in this VLAN that provide
                      connectivity to an IP Multicast router."
        ::= { rcVlanEntry 25 }

rcVlanUserDefinedPid OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "When rcVlanProtocolId is set to usrDefined(15)
                       in a protocol-based VLAN, this field represents
                       the 16-bit user defined protocol identifier."
        ::= { rcVlanEntry 26 }
 
rcVlanIgmpSnoopActiveMRouterPorts OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Active ports."
        ::= { rcVlanEntry 27 }

rcVlanProtocolIds OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Bitfield of protocol ids."
        ::= { rcVlanEntry 28 }

rcVlanIgmpSnoopActiveQuerier OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "IP address of multicast querier router."
        ::= { rcVlanEntry 29 }

rcVlanIgmpSnoopMRouterExpiration OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Multicast querier router aging time out."
        ::= { rcVlanEntry 30 }

rcVlanIgmpSnoopQuerierPort OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The port on which the multicast querier router
		       was heard."
        ::= { rcVlanEntry 31 }

rcVlanUserPriority OBJECT-TYPE
        SYNTAX  	INTEGER {
                            level0(0),
                            level1(1),
                            level2(2),
                            level3(3),
                            level4(4),
                            level5(5),
                            level6(6),
                            level7(7)
                        }
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"User priority level."
        ::= { rcVlanEntry 32 }

rcVlanQosLevel OBJECT-TYPE
        SYNTAX  	INTEGER {
                            level0(0),
                            level1(1),
                            level2(2),
                            level3(3),
                            level4(4),
                            level5(5),
                            level6(6),
			    level7(7)
                        }
        ACCESS        	read-write
        STATUS        	mandatory
    	DESCRIPTION   	"Used to specify the Qos level packets, carried in this
			VLAN, should be processed with."
        DEFVAL        	{ level1 }
        ::= { rcVlanEntry 33 }

rcVlanTosValue OBJECT-TYPE
        SYNTAX        	INTEGER (1..64)
        ACCESS        	read-write 
        STATUS        	mandatory
        DESCRIPTION   	"Tos value."
	DEFVAL		{ 1 }
        ::= { rcVlanEntry 34 } 


-- VLAN Port Table

rcVlanPortTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcVlanPortEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to maintain VLAN port related 
                      information." 
        ::= { rcVlan 3 }

rcVlanPortEntry OBJECT-TYPE
        SYNTAX        RcVlanPortEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing VLAN information regarding a 
                      particular port."
        INDEX         { rcVlanPortIndex }
        ::= { rcVlanPortTable 1 }

RcVlanPortEntry ::= SEQUENCE {
                rcVlanPortIndex INTEGER,
                rcVlanPortNumVlanIds INTEGER,
                rcVlanPortVlanIds IdList,
                rcVlanPortType INTEGER,
                rcVlanPortDiscardTaggedFrames TruthValue,
                rcVlanPortDiscardUntaggedFrames TruthValue,
                rcVlanPortDefaultVlanId INTEGER,
                rcVlanPortPerformTagging TruthValue
        }

rcVlanPortIndex OBJECT-TYPE
        SYNTAX        INTEGER 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An unique index used to identify a particular 
                      port in the system. This index is equal to the
                      ifIndex of the port."
        ::= { rcVlanPortEntry 1 }

rcVlanPortNumVlanIds OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of VLAN IDs that
                      are stored in the rcVlanPortVlanIds variable."
        ::= { rcVlanPortEntry 2 }

rcVlanPortVlanIds OBJECT-TYPE
        SYNTAX        IdList (SIZE (4096))
        ACCESS        read-write  
        STATUS        mandatory
        DESCRIPTION   "An array used to identify which VLANs this port 
                      is assigned to.  Each VLAN ID is stored as a two
                      octet value. The first octet in the pair holds
                      bits 15-8 of the VLAN ID, while the second octet
                      holds bits 7-0 of the VLAN ID."
        ::= { rcVlanPortEntry 3 }

rcVlanPortType OBJECT-TYPE
        SYNTAX        INTEGER {
                         access(1),     -- access port type
                         trunk(2)       -- trunk port type
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The type of port: access(1) or trunk(2)."
        DEFVAL        { access }
        ::= { rcVlanPortEntry 4 }

rcVlanPortDiscardTaggedFrames OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "A flag used to determine how to process tagged
                      frames received on this access port. When the 
                      flag is set, these frames are discarded by the
                      forwarding process. When the flag is reset, these
                      frames are processed normally.

		      This field is meaningless when the port is not
		      an access port and should be set to false(2)."
        DEFVAL        { false }
        ::= { rcVlanPortEntry 5 }

rcVlanPortDiscardUntaggedFrames OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "A flag used to determine how to process untagged
                      frames received on this trunk port. When the flag 
                      is set, these frames are discarded by the 
                      forwarding process. When the flag is reset, these
                      frames are assigned to the VLAN specified by 
                      rcVlanPortDefaultVlanId.

		      This field is meaningless when the port is not
		      a trunk port and should be set to false(2)."
        DEFVAL        { false }
        ::= { rcVlanPortEntry 6 }

rcVlanPortDefaultVlanId OBJECT-TYPE
        SYNTAX        INTEGER (0..4094)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The VLAN ID assigned to untagged frames received
                      on this trunk port.

		      This field is meaningless when the port is not
		      a trunk port."
        DEFVAL        { 1 }
        ::= { rcVlanPortEntry 7 } 

rcVlanPortPerformTagging OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        DEFVAL        { false }
        ::= { rcVlanPortEntry 8 }

-- VLAN MAC Table

rcVlanMacTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcVlanMacEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to maintain MAC addresses assigned 
                      to a particular VLAN by MAC address."
        ::= { rcVlan 4 }
 
rcVlanMacEntry OBJECT-TYPE
        SYNTAX        RcVlanMacEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing VLAN information regarding a
                      particular port."
        INDEX         { rcVlanMacVlanId, rcVlanMacAddr }
        ::= { rcVlanMacTable 1 }
 
RcVlanMacEntry ::= SEQUENCE {
                rcVlanMacVlanId INTEGER,
                rcVlanMacAddr MacAddress,
                rcVlanMacRowStatus RowStatus
        }
 
rcVlanMacVlanId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An unique index used to identify a VLAN (by MAC 
                      address) in the system."
        ::= { rcVlanMacEntry 1 }

rcVlanMacAddr OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An unique index used to identify a MAC address
                      assigned to a particular VLAN."
        ::= { rcVlanMacEntry 2 }

rcVlanMacRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Row status for this entry."
        ::= { rcVlanMacEntry 3 }


-- VLAN IGMP Snoop Table

rcVlanIgmpSnoopNumGroups OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The number of entries (rows) in the
                      rcVlanIgmpSnoopTable."
        ::= { rcVlan 5 }

rcVlanIgmpSnoopTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcVlanIgmpSnoopEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "The (conceptual) table listing the IP multicast
                      groups for which there are members on a particular
                      interface on a particular VLAN (i.e., a list 
		      known multicast receivers).

		      A row is created by the system when it receives
		      an IGMP Join messages on a port."
    ::= { rcVlan 6 }
 
rcVlanIgmpSnoopEntry OBJECT-TYPE
        SYNTAX        RcVlanIgmpSnoopEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "An entry (row) in the rcVlanIgmpSnoopTable."
        INDEX         { rcVlanIgmpSnoopVlanId, rcVlanIgmpSnoopIpAddress,
                        rcVlanIgmpSnoopIfIndex, rcVlanIgmpSnoopMember }
        ::= { rcVlanIgmpSnoopTable 1 }
 
RcVlanIgmpSnoopEntry ::= SEQUENCE {
            rcVlanIgmpSnoopVlanId     INTEGER,
            rcVlanIgmpSnoopIpAddress  IpAddress,
            rcVlanIgmpSnoopIfIndex    InterfaceIndex,
            rcVlanIgmpSnoopMember     IpAddress,
            rcVlanIgmpSnoopExpiration INTEGER,
            rcVlanIgmpSnoopType       INTEGER
        }

rcVlanIgmpSnoopVlanId OBJECT-TYPE
        SYNTAX        INTEGER (1..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The VLAN for which this entry contains
                      information."
        ::= { rcVlanIgmpSnoopEntry 1 } 

rcVlanIgmpSnoopIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP multicast group address for which this 
                      entry contains information."
        ::= { rcVlanIgmpSnoopEntry 2 }
 
rcVlanIgmpSnoopIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The interface for which this entry contains 
                      information for this IP multicast group address
                      (i.e., the port the Join message was received)."
        ::= { rcVlanIgmpSnoopEntry 3 }
 
rcVlanIgmpSnoopMember OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP Address of the source of the membership
                      report received for this IP Multicast group address
                      on this interface (i.e., the address of the host
                      sending the Join message)."
        ::= { rcVlanIgmpSnoopEntry 4 }
 
rcVlanIgmpSnoopExpiration OBJECT-TYPE
         SYNTAX       INTEGER
         ACCESS       read-only
         STATUS       mandatory
         DESCRIPTION  "The minimum amount of time remaining before this 
                      entry will be aged out."
         ::= { rcVlanIgmpSnoopEntry 5 }

rcVlanIgmpSnoopType OBJECT-TYPE
         SYNTAX       INTEGER {
                         dynamic(1),    -- created via IGMP
                         static(2),     -- created via management
                         blocked(3)
                      }
         ACCESS       read-only
         STATUS       mandatory
         DESCRIPTION  "The type of entry: dynamic(1) entries are
                      created by snooping IGMP messages, static(2)
                      entries are created via management."
         ::= { rcVlanIgmpSnoopEntry 6 }


-- VLAN IGMP Snoop Static Table

rcVlanIgmpSnoopStaticTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcVlanIgmpSnoopStaticEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "The (conceptual) table listing the statically-
                      defined IP multicast groups for which there are
                      members on a particular interface on a particular
                      VLAN."
    	::= { rcVlan 7 }
 
rcVlanIgmpSnoopStaticEntry OBJECT-TYPE
        SYNTAX        RcVlanIgmpSnoopStaticEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "An entry (row) in the rcVlanIgmpSnoopStaticTable."
        INDEX         { rcVlanIgmpSnoopStaticVlanId, rcVlanIgmpSnoopStaticIpAddress }
        ::= { rcVlanIgmpSnoopStaticTable 1 }
 
RcVlanIgmpSnoopStaticEntry ::= SEQUENCE {
            rcVlanIgmpSnoopStaticVlanId           INTEGER,
            rcVlanIgmpSnoopStaticIpAddress        IpAddress,
            rcVlanIgmpSnoopStaticMemberPorts      PortSet,
            rcVlanIgmpSnoopStaticRowStatus        RowStatus,
            rcVlanIgmpSnoopStaticNotAllowedToJoin PortSet
        }

rcVlanIgmpSnoopStaticVlanId OBJECT-TYPE
        SYNTAX        INTEGER (1..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The VLAN for which this entry contains information."
        ::= { rcVlanIgmpSnoopStaticEntry 1 } 

rcVlanIgmpSnoopStaticIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP multicast group address for which this 
                      entry contains information.  The address must
		      fall within 224.0.1.0 to 239.255.255.255."
        ::= { rcVlanIgmpSnoopStaticEntry 2 }

rcVlanIgmpSnoopStaticMemberPorts OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The set of ports in this VLAN multicast traffic
		      for the rcVlanIgmpSnoopStaticIpAddress is to be
		      forwarded to."
        ::= { rcVlanIgmpSnoopStaticEntry 3 }

rcVlanIgmpSnoopStaticRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries in the 
                      rcVlanIgmpSnoopStaticTable."
        ::= { rcVlanIgmpSnoopStaticEntry 4 }

rcVlanIgmpSnoopStaticNotAllowedToJoin OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Not allowed to join"
        ::= { rcVlanIgmpSnoopStaticEntry 5 }


-- VLAN IGMP Snoop Access Table

rcVlanIgmpSnoopAccessTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcVlanIgmpSnoopAccessEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Table used to specify which host(s) can send
		      and/or receive IP Multicast traffic."
    	::= { rcVlan 8 }
 
rcVlanIgmpSnoopAccessEntry OBJECT-TYPE
        SYNTAX        RcVlanIgmpSnoopAccessEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "An entry (row) in the rcVlanIgmpSnoopAccessTable."
        INDEX         { rcVlanIgmpSnoopAccessVlanId, 
			rcVlanIgmpSnoopAccessGrpAddr, 
                        rcVlanIgmpSnoopAccessHostAddr, 
			rcVlanIgmpSnoopAccessHostMask }
        ::= { rcVlanIgmpSnoopAccessTable 1 }
 

RcVlanIgmpSnoopAccessEntry ::= SEQUENCE {
            rcVlanIgmpSnoopAccessVlanId        INTEGER,
            rcVlanIgmpSnoopAccessGrpAddr       IpAddress,
            rcVlanIgmpSnoopAccessHostAddr      IpAddress,
            rcVlanIgmpSnoopAccessHostMask      IpAddress,
            rcVlanIgmpSnoopAccessMode          INTEGER,
            rcVlanIgmpSnoopAccessRowStatus     RowStatus
        }

rcVlanIgmpSnoopAccessVlanId OBJECT-TYPE
        SYNTAX        INTEGER (1..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The VLAN for which this entry contains information."
        ::= { rcVlanIgmpSnoopAccessEntry 1 } 

rcVlanIgmpSnoopAccessGrpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP multicast group address for which this
                      entry contains information."
        ::= { rcVlanIgmpSnoopAccessEntry 2 } 

rcVlanIgmpSnoopAccessHostAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP address of a host for which this
                      entry contains information."
        ::= { rcVlanIgmpSnoopAccessEntry 3 }

rcVlanIgmpSnoopAccessHostMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP netmask of a host for which this
                      entry contains information."
        ::= { rcVlanIgmpSnoopAccessEntry 4 }

rcVlanIgmpSnoopAccessMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          denyTx(1),
                          denyRx(2),
                          denyBoth(3)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to specify whether the host identified by
		      rcVlanIgmpSnoopAccessHostAddr should be denied
		      IP multicast transmit, receive, or both." 
        ::= { rcVlanIgmpSnoopAccessEntry 5 }

rcVlanIgmpSnoopAccessRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Row status"
        ::= { rcVlanIgmpSnoopAccessEntry 6 }


-- VLAN IGMP Snoop Sender Table

rcVlanIgmpSnoopSenderTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcVlanIgmpSnoopSenderEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "The (conceptual) table listing the IP multicast 
                      groups for which there are members on a particular
                      interface on a particular VLAN (i.e., a list  
                      known multicast senders).  
  
                      A row is created by the system when it receives 
                      an IGMP Join messages on a port."
    	::= { rcVlan 9 }
 
rcVlanIgmpSnoopSenderEntry OBJECT-TYPE
        SYNTAX        RcVlanIgmpSnoopSenderEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "An entry (row) in the rcVlanIgmpSnoopSenderTable."
        INDEX         { rcVlanIgmpSnoopSenderVlanId,
                        rcVlanIgmpSnoopSenderIpAddress,
                        rcVlanIgmpSnoopSenderIfIndex,
                        rcVlanIgmpSnoopSenderMember }
        ::= { rcVlanIgmpSnoopSenderTable 1 }
 

RcVlanIgmpSnoopSenderEntry ::= SEQUENCE {
            rcVlanIgmpSnoopSenderVlanId        INTEGER,
            rcVlanIgmpSnoopSenderIpAddress     IpAddress,
            rcVlanIgmpSnoopSenderIfIndex       InterfaceIndex,
            rcVlanIgmpSnoopSenderMember        IpAddress,
            rcVlanIgmpSnoopSenderAction        INTEGER
        }

rcVlanIgmpSnoopSenderVlanId OBJECT-TYPE
        SYNTAX        INTEGER (1..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The VLAN for which this entry contains information."
        ::= { rcVlanIgmpSnoopSenderEntry 1 } 

rcVlanIgmpSnoopSenderIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP multicast group address for which this
                      entry contains information."
        ::= { rcVlanIgmpSnoopSenderEntry 2 } 

rcVlanIgmpSnoopSenderIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The interface for which this entry contains
                      information for this IP multicast group address
                      (i.e., the port the multicast traffic was received)."
        ::= { rcVlanIgmpSnoopSenderEntry 3 }
 
rcVlanIgmpSnoopSenderMember OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP Address of the host sending the multicast
		      traffic." 
        ::= { rcVlanIgmpSnoopSenderEntry 4 } 

rcVlanIgmpSnoopSenderAction OBJECT-TYPE
	SYNTAX        INTEGER {
		         none(0),
		         flushEntry(1),
	     	         flushGrp(2)
	              }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to specify an action to perform on this group."
        ::= { rcVlanIgmpSnoopSenderEntry 5 } 


-- PHYSICAL Elements

rcChasType OBJECT-TYPE
	SYNTAX	      INTEGER {
		         unknown(1),  -- unknown chassis
 		         a1100(2),    -- 3  slot chassis (1/2, 1/2, full)
 		         a1250(6),    -- 4  slot chassis (full, ... , full)
 		         a1150(7),    -- 3  slot chassis (1/2, 1/2, full)
 		         a1200(8),    -- 8  slot chassis (full, ... , full)
 			 a1050(9),    -- 2  slot chassis (seahawk)
 			 a8006(280887558), -- 6  slot chassis (raptillion)
                         a8010(280887562)  -- 10 slot chassis (raptillion)
	              }
	ACCESS 	      read-only
	STATUS 	      mandatory
	DESCRIPTION   "Chassis Type"
        ::= { rcChassis 1 }

rcChasSerialNumber OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..8))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Unique serial number for this chassis."
        ::= { rcChassis 2 }

rcChasHardwareRevision OBJECT-TYPE
	SYNTAX 	      DisplayString (SIZE (0..20))
	ACCESS 	      read-only
	STATUS 	      mandatory
	DESCRIPTION   "Device hardware revision level"
	::= { rcChassis 3 }
	
rcChasNumSlots OBJECT-TYPE
        SYNTAX        INTEGER (1..16)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The number of slots in the chassis available for
                      plug-in cards."
        ::= { rcChassis 4 }

rcChasNumPorts OBJECT-TYPE
        SYNTAX        INTEGER (0..255) 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of ports currently installed in
		      the chassis."
        ::= { rcChassis 5 }

-- TBD FIXME : We need to get the final list from Hardware
rcChasTestResult OBJECT-TYPE
	SYNTAX        INTEGER {
			 other(1),
			 ok(2),
			 crceeprom(3),
			 timer(4),
			 procdram(5),
			 led(6),
       	         	 formaccpuaccess(7),
       	         	 asiccpuaccess(8),
                	 memory(9),
                	 loopback(10)
		      }
	ACCESS 	      read-only
	STATUS 	      mandatory
	DESCRIPTION   "Chassis start-up diagnostic tests."
	::= { rcChassis 6 }

rcChasFan OBJECT IDENTIFIER ::= { rcChassis 7 }

rcChasFanTable OBJECT-TYPE
	SYNTAX        SEQUENCE OF RcChasFanEntry
	ACCESS        not-accessible
	STATUS        mandatory
	DESCRIPTION   "This table contains information about power 
		      supplies."
	::= { rcChasFan 1 }

rcChasFanEntry OBJECT-TYPE
	SYNTAX        RcChasFanEntry
	ACCESS        not-accessible
	STATUS        mandatory
	DESCRIPTION   "Contains information regarding a power supply
		      unit."
	INDEX         { rcChasFanId }
	::= { rcChasFanTable 1 }

RcChasFanEntry ::=
	SEQUENCE {
		rcChasFanId INTEGER,
		rcChasFanOperStatus INTEGER,
		rcChasFanAmbientTemperature Gauge32
	}

rcChasFanId OBJECT-TYPE
	SYNTAX        INTEGER(1..4)
	ACCESS        read-only
	STATUS        mandatory
	::= { rcChasFanEntry 1 }

rcChasFanOperStatus OBJECT-TYPE
	SYNTAX        INTEGER {
		         unknown(1),
		         up(2),
		         down(3)
	              }
	ACCESS        read-only
	STATUS        mandatory
	DESCRIPTION   "Actual status of the Fan:
	              - unknown(1) - status can not be determined.
	              - up(2) - present and supplying power.
	              - down(3) - present, but failure indicated."
	::= { rcChasFanEntry 2 }

rcChasFanAmbientTemperature OBJECT-TYPE
        SYNTAX          Gauge32
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the temperature of the air
                        entering the fan."
        ::= { rcChasFanEntry 3 }

rcChasPowerSupply OBJECT IDENTIFIER ::= { rcChassis 8 }

rcChasPowerSupplyTable OBJECT-TYPE
	SYNTAX        	SEQUENCE OF RcChasPowerSupplyEntry
	ACCESS        	not-accessible
	STATUS        	mandatory
	DESCRIPTION   	"This table contains information about power 
		      	supplies."
	::= { rcChasPowerSupply 1 }

rcChasPowerSupplyEntry OBJECT-TYPE
	SYNTAX        	RcChasPowerSupplyEntry
	ACCESS        	not-accessible
	STATUS        	mandatory
	DESCRIPTION   	"Contains information regarding a power supply
		      	unit."
	INDEX  { rcChasPowerSupplyId }
	::= { rcChasPowerSupplyTable 1 }

RcChasPowerSupplyEntry ::=
	SEQUENCE {
		rcChasPowerSupplyId INTEGER,
		rcChasPowerSupplyOperStatus INTEGER
	}

rcChasPowerSupplyId OBJECT-TYPE
	SYNTAX        	INTEGER(1..3)
	ACCESS        	read-only
	STATUS        	mandatory
	::= { rcChasPowerSupplyEntry 1 }


rcChasPowerSupplyOperStatus OBJECT-TYPE
	SYNTAX         INTEGER {
		          unknown(1),
		          empty(2),
		          up(3),
	     	          down(4)
	               }
	ACCESS         read-only
	STATUS         mandatory
	DESCRIPTION   "Actual status of the power supply:
	              - unknown(1) - status can not be determined.
	              - empty(2) - power supply not installed.
	              - up(3) - present and supplying power.
	              - down(4) - present, but failure indicated."
	::= { rcChasPowerSupplyEntry 2 }


rcChasPowerSupplyDetailTable OBJECT-TYPE
	SYNTAX        	SEQUENCE OF RcChasPowerSupplyDetailEntry
	ACCESS        	not-accessible
	STATUS        	mandatory
	DESCRIPTION   	"This table contains detailed information about
			power supplies."
	::= { rcChasPowerSupply 2 }

rcChasPowerSupplyDetailEntry OBJECT-TYPE
	SYNTAX        	RcChasPowerSupplyDetailEntry
	ACCESS        	not-accessible
	STATUS        	mandatory
	DESCRIPTION   	"Contains detailed info regarding a power supply
		      	unit."
	INDEX  { rcChasPowerSupplyDetailId }
	::= { rcChasPowerSupplyDetailTable 1 }

RcChasPowerSupplyDetailEntry ::=
	SEQUENCE {
		rcChasPowerSupplyDetailId INTEGER,
		rcChasPowerSupplyDetailType INTEGER,
		rcChasPowerSupplyDetailSerialNumber DisplayString,
		rcChasPowerSupplyDetailHardwareRevision DisplayString,
		rcChasPowerSupplyDetailPartNumber DisplayString
	}

rcChasPowerSupplyDetailId OBJECT-TYPE
	SYNTAX        	INTEGER(1..3)
	ACCESS        	read-only
	STATUS        	mandatory
	::= { rcChasPowerSupplyDetailEntry 1 }

rcChasPowerSupplyDetailType OBJECT-TYPE
        SYNTAX        	INTEGER {
				ac(1),
				dc(2)
		      	}
        ACCESS        	read-only
        STATUS        	mandatory
        ::= { rcChasPowerSupplyDetailEntry 2 }

rcChasPowerSupplyDetailSerialNumber OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..8))
        ACCESS        read-only
        STATUS        mandatory
        ::= { rcChasPowerSupplyDetailEntry 3 }

rcChasPowerSupplyDetailHardwareRevision OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..8))
        ACCESS        read-only
        STATUS        mandatory
        ::= { rcChasPowerSupplyDetailEntry 4 }

rcChasPowerSupplyDetailPartNumber OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..6))
        ACCESS        read-only
        STATUS        mandatory
        ::= { rcChasPowerSupplyDetailEntry 5 }


rcCard OBJECT IDENTIFIER ::= { rcChassis 9 }

rcCardTable OBJECT-TYPE
	SYNTAX        SEQUENCE OF RcCardEntry
	ACCESS        not-accessible
	STATUS        mandatory
	DESCRIPTION   "A table that contains information about the 
                      cards in this chassis.  For those slots that 
                      do not contain a physical card, the table may 
		      be implemented to contain a conceptual row 
                      with the type of physical module set to 
 		      'chasCardEmpty', or it may be implemented to 
		      have no conceptual row instance."
	::= { rcCard 1 }

rcCardEntry OBJECT-TYPE
	SYNTAX        RcCardEntry
	ACCESS        not-accessible
	STATUS        mandatory
	DESCRIPTION   "Card attributes"
	INDEX         { rcCardIndex }
	::= { rcCardTable 1 }

RcCardEntry ::=
	SEQUENCE {
		rcCardIndex INTEGER,
		rcCardType INTEGER,
		rcCardSerialNumber DisplayString,
		rcCardHardwareRevision DisplayString,
		rcCardAdminStatus INTEGER,
		rcCardOperStatus INTEGER,
		rcCardPCMCIAType INTEGER,
		rcCardPartNumber DisplayString
	}

rcCardIndex OBJECT-TYPE
        SYNTAX        	INTEGER (1..8)
        ACCESS        	read-only
        STATUS       	mandatory
        DESCRIPTION   	"A unique value for each module within the chassis.
                      	This value is determined by the chassis slot number
                      	where the module is inserted.  Valid entries are 1
                      	to the value of rcChasNumSlots"
        ::= { rcCardEntry 1 }

rcCardType OBJECT-TYPE
        SYNTAX INTEGER 
	{
	other(1),                        -- no card installed
        rcCPU(2),                        -- [1200] CPU Card (A1200)
        rc8x100BaseTX(3),                -- [1208TX] 8 port (cat 5) (A1200)
        rc8x100BaseT2(4),                -- [] 8 port (cat 3) (A1200)
        rc8x100BaseF(5),                 -- [1208FX] 8 port fiber (A1200)
        rc16x100BaseTX(6),               -- [1216TX] 16 port (cat 5) (A1200)
        rc8x100BaseTXWG(12),             -- [1108TX] 8 port (half width) (A1100)
        rc16x100BaseTXWG(13),            -- [1100] 16 port + CPU (A1100)
        rc4x100BaseFWG(14),              -- [1104FX] 4 port (half width) (A1100)
        rc12x100BaseTXWG(15),            -- [1050] 12 port + CPU (A1050)
        rc12x100BaseFBB(16),             -- [] 12 port (A1200)
        rc8x100BaseFWG(17),              -- [1108FX] 8 port (A1100)
        rc12x100BaseTX-2x100BaseFBB(18), -- [] 12 port + 2 port (A1200)
        rc2x155BaseFBB(19),              -- [] 2 sonet port (A1200)
        rc4x155BaseFBB(20),              -- [] 4 sonet port (A1200)
        rc16x100BaseFBB(21),             -- [1216FX] 16 port fiber (A1200)
        rc14x100BaseTX-2x100BaseFBB(22), -- [1216TF] 14 port + 2 port (A1200)
        rc8x10BaseFBB(23),               -- [1208FL] 8 port fiber low-speed (A1200)
	rc4xOC3(24),			 -- [1200xx] 4 port OC3 (A1200)
	rc1xOC12(25),			 -- [1200xx] 1 port OC12 (A1200)
        rcRMON(26),			 -- [1200xx] RMON (A1200) 
        rc1xOC12POSBaseMMF(27),          -- [1200xx] 1 port OC12 POS (A1200)
        rc1xOC12POSBaseSMF(28),          -- [1200xx] 1 port OC12 POS (A1200)
        rc4x1000BaseSXWG(1028),          -- [1150] 1 0 00 000 0100 + CPU (A1150)
        rc1x1000BaseSXWG(1025),          -- [1101SX] 1 0 00 000 0001
        rc2x1000BaseSXWG(1026),          -- [1102SX] 1 0 00 000 0010
        rc1x1000BaseSXRWG(1537),         -- [1101SR] 1 1 00 000 0001
        rc2x1000BaseSXRWG(1538),         -- [1102SR] 1 1 00 000 0010
        rc1x1000BaseLXWG(1153),          -- [1101LX] 1 0 01 000 0001
        rc2x1000BaseLXWG(1154),          -- [1102LX] 1 0 01 000 0010
        rc2x1000BaseXDWG(1282),          -- [1102XD] 1 0 10 000 0010
        rc1x1000BaseLXRWG(1665),         -- [1101LR] 1 1 01 000 0001
        rc2x1000BaseLXRWG(1666),         -- [1102LR] 1 1 01 000 0010
        rc1x1000BaseSXBB(1041),          -- [1201SX] 1 0 00 001 0001
        rc2x1000BaseSXBB(1042),          -- [1202SX] 1 0 00 001 0010
        rc1x1000BaseSXRBB(1553),         -- [1201SR] 1 1 00 001 0001
        rc2x1000BaseSXRBB(1554),         -- [1202SR] 1 1 00 001 0010
        rc1x1000BaseLXBB(1169),          -- [1201LX] 1 0 01 001 0001
        rc2x1000BaseLXBB(1170),          -- [1202LX] 1 0 01 001 0010
        rc2x1000BaseXDBB(1298),          -- [1202XD] 1 0 10 001 0010
        rc1x1000BaseLXRBB(1681),         -- [1201LR] 1 1 01 001 0001
        rc2x1000BaseLXRBB(1682)          -- [1202LR] 1 1 01 001 0010
	}
	ACCESS 	      	read-only
	STATUS 	      	mandatory
	DESCRIPTION   	"Used to indicate a card types in the Accelar
			1000 product families.  

			For Accelar 1000 devices, gigabit cards use
		      	an encoded value according to the following rule:

                                +-----+--+-+---+---+---+
                      	bits  : |31-11|10|9|8-7|6-4|3-0|
                                +-----+--+-+---+---+---+
                      	field : |  a  | b|c| d | e | f |
                                +-----+--+-+---+---+---+

                             a : not-used
                             b : 1=gigabit
                             c : 0=non-redundant, 
                                 1=redundant
                             d : 0=short-haul, 
                                 1=long-haul, 
                                 2=extra-distance,
                             e : 0=work-group(a1100 & a1150)
                                 1=back-bone(a1200 & f1250 & f2000), 
                             f : 1=1-port, 2=2-port, 4=4-port, 8=8-port
                      "
	::= { rcCardEntry 2 }

rcCardSerialNumber OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..8))
	ACCESS        read-only
	STATUS        mandatory
	DESCRIPTION   "Unique serial number for this card."
	::= { rcCardEntry 3 }

rcCardHardwareRevision OBJECT-TYPE
	SYNTAX        DisplayString (SIZE (0..8))
	ACCESS        read-only
	STATUS        mandatory
	DESCRIPTION   "Hardware Version"
	::= { rcCardEntry 4 }

rcCardAdminStatus OBJECT-TYPE
        SYNTAX       INTEGER { 
			 up(1),
         		 down(2),
			 testing(3)
                      }
        ACCESS        read-write 
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the administrative status of this
                       card"
        ::= { rcCardEntry 5 }

rcCardOperStatus OBJECT-TYPE
	SYNTAX        INTEGER { 
			 up(1),
         		 down(2),
			 testing(3),
			 unknown(4),
		 	 dormant(5)
                      }
	ACCESS        read-only
	STATUS        mandatory
	DESCRIPTION   "Used to indicate the operational status of this card."
	::= { rcCardEntry 6 }

rcCardPCMCIAType OBJECT-TYPE
        SYNTAX        INTEGER {
			 none(1),
			 modem28kbs(2),
			 flash2meg(3),
			 flash4meg(4)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the type of PCMCIA card currently
                      installed in this CPU card, if any.

                      For non-CPU cards, this variable has no meaning and
                      will always be set to none."
	DEFVAL        { none }
        ::= { rcCardEntry 7 }

rcCardPartNumber OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE (0..6))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Card Part Number"
        ::= { rcCardEntry 8 }

-- Port Table

rcPort OBJECT IDENTIFIER ::= { rcChassis 10 }

rcPortTable OBJECT-TYPE
        SYNTAX	      SEQUENCE OF RcPortEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Port table"
        ::= { rcPort 1 }

rcPortEntry OBJECT-TYPE
        SYNTAX        RcPortEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing info. for a particular port"
        INDEX         { rcPortIndex }
        ::= { rcPortTable 1 }

RcPortEntry ::= SEQUENCE {
		rcPortIndex                           InterfaceIndex,
		rcPortType                            INTEGER,
                rcPortConnectorType                   INTEGER,
		rcPortPerformRouting                  TruthValue,
		rcPortHighPriority                    TruthValue,
                rcPortAction                          INTEGER,
                rcPortResult                          INTEGER,
                rcPortPrimaryConnector                INTEGER,
                rcPortActiveConnector                 INTEGER,
                rcPortBackupConnectorStatus           INTEGER,
                rcPortAutoNegotiate                   TruthValue,
                rcPortAdminDuplex                     INTEGER,
                rcPortOperDuplex                      INTEGER,
                rcPortAdminSpeed                      INTEGER,
                rcPortOperSpeed                       INTEGER,
		rcPortMltId		              INTEGER,
		rcPortLocked		              TruthValue,
		rcPortAutoNegotiationSupported        TruthValue,
		rcPortSingleRoutablePort              TruthValue,
		rcPortUnknownMacDiscard               TruthValue,
                rcPortNumStateTransition              Counter,
                rcPortAllowOversizeFrame              TruthValue,
		rcPortUserPriority	              INTEGER,
		rcPortQosLevel	                      INTEGER,
		rcPortDiffServEnable                  TruthValue,
		rcPortDiffServType                    INTEGER,
		rcPortDiffServIeee8021POverrideEnable TruthValue,
		rcPortVendorDescr                     DisplayString
	}

rcPortIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An index value that uniquely identifies a port.
                      This value is similar to ifIndex in MIB2."
        ::= { rcPortEntry 1 }

rcPortType OBJECT-TYPE
	SYNTAX        INTEGER {
		         other(0),	     -- no port installed
		         rc100BaseTX(1),     -- (cat 5)
		         rc100BaseT2(2),     -- (cat 3)
		         rc100BaseF(3),	     -- (100 mbps fiber)
		         rc1000BaseF(4),     -- (1000 mbps fiber)
		         rc1000BaseDualF(5), -- (fiber - dual connector)
		         rc10BaseF(6),	     -- (10 mbps fiber)
                         rcPosMMF(7),        -- (multi mode fiber)
                         rcPosSMF(8),        -- (single mode fiber)
                         rcAtm(9),           -- (oc3, oc12, ds3, e3)
		         rcGbicLx(10),	     -- (gigabit long haul)
                         rcGbicSx(11),       -- (gigabit short haul)
                         rcGbicXd(12),       -- (gigabit extended distance)
                         rcGbicCu(13),       -- (gigabit copper)
                         rcGbicOther(14),    -- (gigabit other)
                         rcOc3cSM(15),       -- (OC-3c SM)
                         rcOc3cMM(16),       -- (OC-3c MM)
                         rcOc3cCOPPER(17),   -- (OC-3c COPPER)
                         rcOc12cSM(18),      -- (OC-12c SM)
                         rcOc12cMM(19),      -- (OC-12c MM)
                         rcDs3(20),          -- (Ds3)
                         rcE3(21),           -- (E3)
                         rcGbicNone(22),     -- (Gbic card feature)
                         rc1000BaseT(23)     -- (1000 base copper)
	              }
	ACCESS        read-only
	STATUS        mandatory
	DESCRIPTION   "Port type"
	::= { rcPortEntry 2 }

rcPortConnectorType OBJECT-TYPE
        SYNTAX        INTEGER {
                         nonRedundant(1), -- non-redundant connector type 
                         redundant(2) 	  -- redundant connector type 
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Type of connector installed on this port."
        DEFVAL        { nonRedundant }
        ::= { rcPortEntry 3 }

rcPortPerformRouting OBJECT-TYPE
	SYNTAX 	      TruthValue
	ACCESS 	      read-write
        STATUS 	      deprecated
	DESCRIPTION   "Indicate whether this port should perform
                      routing"
	DEFVAL	      { false }
	::= { rcPortEntry 4 }

rcPortHighPriority OBJECT-TYPE 
        SYNTAX 	      TruthValue
        ACCESS 	      read-write
        STATUS 	      deprecated
        DESCRIPTION   "Indicate whether this port should be treated with 
                      high priority"
	DEFVAL 	      { false }
        ::= { rcPortEntry 5 }

rcPortAction OBJECT-TYPE
        SYNTAX        INTEGER {
                         none(1),            -- none of the following
                         flushMacFdb(2),     -- flush MAC forwarding table
                         flushArp(3),        -- flush ARP table
                         flushIp(4),         -- flush IP route table
                         flushAll(5),        -- flush all tables
			 triggerRipUpdate(6) -- manually trigger rip update
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Port related actions."
        DEFVAL        { none }
        ::= { rcPortEntry 6 }
 
rcPortResult OBJECT-TYPE 
        SYNTAX        	INTEGER { 
                       		none(1),        -- none of the following 
                       	  	inProgress(2),  -- in progress 
                       	  	success(3),     -- success
                       	  	fail(4)         -- failure 
                      	} 
        ACCESS		read-only 
        STATUS        	mandatory 
        DESCRIPTION   	"Result from the last Vlan action." 
        DEFVAL        	{ none } 
        ::= { rcPortEntry 7 } 

rcPortPrimaryConnector OBJECT-TYPE 
        SYNTAX 		INTEGER { 
                		left(1),	-- left side connector
                		right(2),	-- right side connector 
				other(3)
        		} 
        ACCESS          read-write 
        STATUS          mandatory 
        DESCRIPTION     "For ports configured with redundant connectors,
			 this value is used to indicate which connector 
			 should be used as the 'active' connector on this 
			 port the next time the port is placed into the 
			 ifAdminStatus=Up."
	DEFVAL          { left } 
        ::= { rcPortEntry 8 }

rcPortActiveConnector OBJECT-TYPE
        SYNTAX        INTEGER {
                         	left(1),	-- left side connector
                         	right(2),       -- right side connector
				other(3)
                      }
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "For ports configured with redundant connectors,
		      this value is used to indicate which connector
		      is currently the active one.  Only one connector
		      can be active an anytime."
        DEFVAL        { left } 
        ::= { rcPortEntry 9 }

rcPortBackupConnectorStatus OBJECT-TYPE
        SYNTAX 		INTEGER {
                		up(1),            -- link Up
                		down(2),          -- link Down
				other(3)
        }
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Indicate the status of the link attached to the
		 	 back-up (non-active) connector."
        ::= { rcPortEntry 10 }

rcPortAutoNegotiate OBJECT-TYPE
	SYNTAX 	      TruthValue
	ACCESS 	      read-write
        STATUS 	      mandatory
	DESCRIPTION   "Indicate whether this port enabled for auto 
                      negotiations or not."
	DEFVAL	      { true }
	::= { rcPortEntry 11 }

rcPortAdminDuplex OBJECT-TYPE
        SYNTAX 		INTEGER { 
                		half(1),	-- half duplex
                		full(2)		-- full duplex  
        		} 
	ACCESS 		read-write
        STATUS 		mandatory
	DESCRIPTION     "Indicates the port duplex type "	
	DEFVAL		{ half }
	::= { rcPortEntry 12 }

rcPortOperDuplex OBJECT-TYPE
        SYNTAX 		INTEGER { 
                		half(1),	-- half duplex
                		full(2)		-- full duplex  
        		} 
	ACCESS 		read-only
        STATUS 		mandatory
	DESCRIPTION 	"Indicate this port's current duplex value."
	::= { rcPortEntry 13 }

rcPortAdminSpeed OBJECT-TYPE
        SYNTAX 		INTEGER { 
				none(0),
                		mbps10(1),	-- 10Mb/s
                		mbps100(2)	-- 100Mb/s
        		} 
	ACCESS 		read-write
        STATUS 		mandatory
	DESCRIPTION 	"Indicate this port's speed."
	DEFVAL		{ mbps10 }
	::= { rcPortEntry 14 }

rcPortOperSpeed OBJECT-TYPE
        SYNTAX 		INTEGER  
	ACCESS 	      	read-only
        STATUS 	      	mandatory
	DESCRIPTION   	"Indicate this port's current speed value."
	::= { rcPortEntry 15 }

rcPortMltId OBJECT-TYPE
        SYNTAX 		INTEGER  
	ACCESS 	      	read-only
        STATUS 	      	mandatory
	DESCRIPTION   	"Indicate which multi-link trunk (MLT) this port
		 	is assigned to.  If this port is not associated
			with any MLT, this value will be set to zero(0)."
	DEFVAL		{ 0 }
	::= { rcPortEntry 16 }

rcPortLocked OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Indicate whether this port is locked." 
        DEFVAL        	{ false }
        ::= { rcPortEntry 17 }

rcPortAutoNegotiationSupported OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Indicate whether this port can support 
		      	auto-negotiation." 
        DEFVAL        	{ false }
        ::= { rcPortEntry 18 }

rcPortSingleRoutablePort OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Indicate whether this port is a single routable
		      	port.  If this value is true, the port functions
			like a traditional router port."
        DEFVAL        	{ false }
        ::= { rcPortEntry 19 }

rcPortUnknownMacDiscard OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "If rcUnknownMacDiscard is set to True, 
                         then a packet with an unknown source MAC address
                         is dropped on that port, and other ports then
                         will discard any packets with this MAC address
                         in the destination field.  
                         For example, 
                         suppose 11:22:33:44:55:66 is an unknown source MAC,
                         packets with source MAC 11:22:33:44:55 coming from 
                         this port is discarded, further more, packets with
                         destination MAC 11:22:33:44:55:66 coming from
                         other ports are also discarded, unless this address
                         is later learned on another port or the restriction
                         ages out."

        DEFVAL          { false }
        ::= { rcPortEntry 20 }

rcPortNumStateTransition OBJECT-TYPE
        SYNTAX        	Counter
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"# state transitions."
        ::= { rcPortEntry 21 }

rcPortUserPriority OBJECT-TYPE
        SYNTAX  	INTEGER {
                            level0(0),
                            level1(1),
                            level2(2),
                            level3(3),
                            level4(4),
                            level5(5),
                            level6(6),
                            level7(7)
                        }
	ACCESS 	      	read-write
        STATUS 	      	deprecated
	DESCRIPTION   	"User priority level."
        DEFVAL          { level7 }
	::= { rcPortEntry 22 }

rcPortAllowOversizeFrame OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify whether over-size frames should be
			processed or dropped."
        ::= { rcPortEntry 23 }

rcPortQosLevel OBJECT-TYPE
        SYNTAX  	INTEGER {
                            level0(0),
                            level1(1),
                            level2(2),
                            level3(3),
                            level4(4),
                            level5(5),
                            level6(6),
                            level7(7)
                        }
	ACCESS 	      	read-write
        STATUS 	      	mandatory
        DESCRIPTION     "Used to specify the Qos level packets, carried on this
                        port, should be processed with."
        DEFVAL          { level1 }
	::= { rcPortEntry 30 }

rcPortDiffServEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to enable/disable the Differentiated Service
			feature on this port."
        DEFVAL        	{ false }
        ::= { rcPortEntry 31 }

rcPortDiffServType OBJECT-TYPE
        SYNTAX  	INTEGER {
                            none(0),
                            access(1),
                            core(2)
                        }
	ACCESS 	      	read-write
        STATUS 	      	mandatory
	DESCRIPTION   	"Used to specify the Differentiated Service type
			for this port."
        DEFVAL        	{ access }
	::= { rcPortEntry 32 }

rcPortDiffServIeee8021POverrideEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
	DESCRIPTION	"Used to enable/disable the Differentiated Service
			IEEE 802.1P over-ride feature."
        DEFVAL        	{ false }
        ::= { rcPortEntry 33 }

rcPortVendorDescr OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(16))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to show the name of the vendor of this port's
			connector.  Only applicable to ports on a GBIC cards."
        ::= { rcPortEntry 34 }

-- Port Lock Group

rcPortLock OBJECT IDENTIFIER ::= { rcChassis 11 }

rcPortLockEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Indicate whether the port lock feature is enabled."
        DEFVAL        	{ false }
        ::= { rcPortLock 1 }

rcPortLockLockedPorts OBJECT-TYPE
        SYNTAX        	PortSet
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"The set of ports that are administratively locked.
		      	Locked ports cannot be modified in anyway until the
		      	port is unlocked first."
        ::= { rcPortLock 2 }


-- Additional Chassis Group Variables

rcChasAruMode OBJECT-TYPE
        SYNTAX        	INTEGER 
			{
				aruOne(1),
				aruTwo(2),
				aruThree(3)
			}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The ARU mode the chassis is operating in."
        ::= { rcChassis 12 }

rcChasQuidMode OBJECT-TYPE
        SYNTAX        	INTEGER 
			{
				quidMixed(1),
				quidTwo(2),
				quidThree(3),
				quidFour(4),
				quidFive(5)
			}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The Quid mode the chassis is operating in."
        ::= { rcChassis 13 }

rcChasEocModeAdminStatus OBJECT-TYPE
        SYNTAX        	INTEGER 
			{
				default(0),
				aru1Quid4(1),
				aru2Quid4(2),
				aru2Quid5(3),
				aru3Quid4(4),
				aru3Quid5(5)
			}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION     "Used to specify the Enforce Operational
                        Configuration Mode(EOC) of the system.  When a
                        device is configured with hardware of different
                        revisions, the system will initialize in some
                        deterministic manner (e.g., the lowest common
                        denominator that makes sense based on the hardware
                        configuration).  This is the 'default(0)' mode.
                        The user can override this behavior by manually
                        specifying the EOC Mode they would like."
        ::= { rcChassis 14 }

rcChasEocModeOperStatus OBJECT-TYPE
        SYNTAX        	INTEGER 
			{
				default(0),
				aru1Quid4(1),
				aru2Quid4(2),
				aru2Quid5(3),
				aru3Quid4(4),
				aru3Quid5(5)
			}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION     "Used to indicate the Enforce Operational
                        Configuration Mode(EOC) of the system."
        ::= { rcChassis 15 }

rcChasBrouterPorts OBJECT-TYPE
        SYNTAX        	PortSet 
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate which ports in the system are
			configured as Brouter ports."
        ::= { rcChassis 17 }

rcChasGlobalFilterEnable OBJECT-TYPE
        SYNTAX        	TruthValue 
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to enable/disable global filters in the
			system.  This variable is currently not supported."
	DEFVAL		{ false }
        ::= { rcChassis 18 }

rcChasVlanBySrcMacEnable OBJECT-TYPE
        SYNTAX        	TruthValue 
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to enable/disable source MAC based VLANs
			in the system."
	DEFVAL		{ false }
        ::= { rcChassis 19 }


-- Agent Table
 
rcAgentTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcAgentEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Agents in a chassis table"
        ::= { rcChassis 16 }
 
rcAgentEntry OBJECT-TYPE
        SYNTAX        RcAgentEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing info. for a particular agent"
        INDEX         { rcAgentId }
        ::= { rcAgentTable 1 }
 
RcAgentEntry ::= SEQUENCE {
                rcAgentId       INTEGER,
                rcAgentSlot     INTEGER,
                rcAgentIpAddr   IpAddress
        }
 
rcAgentId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "entry id"
        ::= { rcAgentEntry 1 }
 
rcAgentSlot OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "slot agent is in."
        ::= { rcAgentEntry 2 }
 
rcAgentIpAddr OBJECT-TYPE
         SYNTAX        IpAddress
         ACCESS        read-only
         STATUS        mandatory
         DESCRIPTION   "agent's ip address."
         ::= { rcAgentEntry 3 }


-- Mirror Group

rcMirrorSaveConfig OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Control whether Mirror configuration information 
                       	should be saved to NVRAM so mirror settings can 
                       	be automatically reinstalled after a system
                       	reboot. 

                       	Setting rcMirrorSaveConfig to true does not 
                       	immediately save the configuration information.
                       	The save happens when the rcSysAction variable 
                       	is set to 'saveToNVRAM(4)'."
        ::= { rcMirror 1 }

rcMirrorByPort OBJECT IDENTIFIER ::= { rcMirror 2 }

rcMirrorByPortEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate whether the mirror by port
                       	feature is active.  The system can only support 
                       	mirroring on two ports.  When this feature is 
                       	active, all packets received on the port(s) 
                       	specified by rcMirrorSrcPortOne and/or 
                       	rcMirrorSrcPortTwo are copied to rcMirrorDstPort.  
                       	The mirroring operation is non-intrusive." 
	DEFVAL 		{ false }
        ::= { rcMirrorByPort 1 }

rcMirrorByPortMirrorPort OBJECT-TYPE 
        SYNTAX        	InterfaceIndex 
        ACCESS        	read-write
        STATUS       	mandatory 
        DESCRIPTION   	"The ifIndex of the port to forward mirrored frames to." 
        ::= { rcMirrorByPort 2 }

rcMirrorByPortEnableMirroredPortOne OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate whether the port specified in
                       	rcMirrorByPortMirroredPortOne should be mirrored." 
	DEFVAL 		{ false }
        ::= { rcMirrorByPort 3 }

rcMirrorByPortMirroredPortOne OBJECT-TYPE
        SYNTAX        	InterfaceIndex
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"The ifIndex of the port to be mirrored.  That
		       	is, traffic received on this port will be sent
		       	to the mirror port." 
        ::= { rcMirrorByPort 4 }

rcMirrorByPortEnableMirroredPortTwo OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate whether the port specified in
                       	rcMirrorByPortMirroredPortTwo should be mirrored." 
	DEFVAL 		{ false }
        ::= { rcMirrorByPort 5 }

rcMirrorByPortMirroredPortTwo OBJECT-TYPE
        SYNTAX        	InterfaceIndex
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"The ifIndex of the port to be mirrored.  That
		       	is, traffic received on this port will be sent
		       	to the mirror port." 
        ::= { rcMirrorByPort 6 }
 
-- Dip-Switch Group

rcIsolateUnconfigPorts OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether ports that are unconfigured
                      should be assigned to the 'isolated' VLAN.  Ports
                      assigned to the 'isolated' VLAN can only communicate
                      with the CP port.   If this option is not specified,
                      unconfigured ports will be assigned to the 'default'
                      VLAN"
        ::= { rcDipSwitch 1 }

rcUseFactorySettings OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether the system should ignore
                      the configuration information stored in NVRAM when
                      the system is booted."   
        ::= { rcDipSwitch 2 }

rcHighPriorityMode OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether the system is configured
                      to operate in a high priority mode.  The switch can  
                      operate in either a 'best effort' or 'high priority' 
                      mode.  In the 'best effort' setting, the maximum 
                      queue thresholds for the QUIDs are set to 768/768 
                      buffers.  In the 'high priority' mode the setting
                      is 512/768.  This means that in 'high priority' mode
                      the normal priority queue can't have more than 512 
                      buffers, while the high priority queue can have up 
                      to 768." 
        ::= { rcDipSwitch 3 }


-- Table Size Group

rcTblRmonStatSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the current size of the RMON
                      Statistic table."
        ::= { rcTblSize 1 }

rcTblRmonHistoryControlSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the current size of the RMON  
                      History Control table." 
        ::= { rcTblSize 2 }

rcTblRmonHistoryEnetSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the current size of the RMON  
                      History Ethernet table." 
        ::= { rcTblSize 3 }

rcTblRmonAlarmSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the current size of the RMON  
                      Alarm table." 
        ::= { rcTblSize 4 }

rcTblRmonEventSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the current size of the RMON  
                      Event table." 
        ::= { rcTblSize 5 }

rcTblRmonLogSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the current size of the RMON  
                      Log table." 
        ::= { rcTblSize 6 }

rcTblArTblSize OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the size of the Address 
                      Translation (AR) table."
        ::= { rcTblSize 7 }


rcTblArFree OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of free
                      entries that are available in the Address 
                      Translation (AR) table."
        ::= { rcTblSize 8 }

rcTblArNoSpace OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of entries that could
                      not be added to the Address Translation (AR) table
                      due to lack of space."  
        ::= { rcTblSize 9 }

rcTblArAdded OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries added to
                      the Address Translation (AR) table." 
        ::= { rcTblSize 10 }

rcTblArDeleted OBJECT-TYPE 
        SYNTAX        INTEGER 
        ACCESS        read-only 
        STATUS        mandatory 
        DESCRIPTION   "Used to indicate the number of entries deleted to
                      the Address Translation (AR) table."
        ::= { rcTblSize 11 }

rcTblArMacAdded OBJECT-TYPE 
        SYNTAX        INTEGER 
        ACCESS        read-only 
        STATUS        mandatory 
        DESCRIPTION   "Used to indicate the number of MAC entries added to
                      the Address Translation (AR) table."
        ::= { rcTblSize 12 }

rcTblArMacDeleted OBJECT-TYPE 
        SYNTAX        INTEGER 
        ACCESS        read-only 
        STATUS        mandatory 
        DESCRIPTION   "Used to indicate the number of MAC entries deleted to
                      the Address Translation (AR) table."
        ::= { rcTblSize 13 }

rcTblArMacMoved OBJECT-TYPE 
        SYNTAX        INTEGER 
        ACCESS        read-only 
        STATUS        mandatory 
        DESCRIPTION   "Used to indicate the number of MAC entries moved in 
                      the Address Translation (AR) table."
        ::= { rcTblSize 14 }

rcTblArIpAdded OBJECT-TYPE 
        SYNTAX        INTEGER 
        ACCESS        read-only 
        STATUS        mandatory 
        DESCRIPTION   "Used to indicate the number of IP entries added to
                      the Address Translation (AR) table."
        ::= { rcTblSize 15 }

rcTblArIpDeleted OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of IP entries deleted to 
                      the Address Translation (AR) table."    
        ::= { rcTblSize 16 }

rcTblArMcastTblSize OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the size of the Multicast 
                      Address Translation (AR) table."
        ::= { rcTblSize 17 }


rcTblArFreeMcastGroups OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of free multicast
                      groups availabe in the Address Translation (AR) 
                      table."
        ::= { rcTblSize 18 }

rcTblArIpMcastAdded OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of Ip multicast
                      entries that are added to the Address 
                      Translation (AR) table."
        ::= { rcTblSize 19 }

rcTblArIpMcastDeleted OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of Ip multicast
                      entries that are deleted from the Address 
                      Translation (AR) table."
        ::= { rcTblSize 20 }

rcTblArVlanByPortAdded OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of VLAN by port
                      entries that are added to the Address 
                      Translation (AR) table."
        ::= { rcTblSize 21 }

rcTblArVlanByPortDeleted OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of VLAN by port
                      entries that are deleted from the Address 
                      Translation (AR) table."
        ::= { rcTblSize 22 }

rcTblArVlanByProtocolAdded OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of Vlans by 
                      Protocol Type entries that are added to 
                      the Address Translation (AR) table."
        ::= { rcTblSize 23 }

rcTblArVlanByProtocolDeleted OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of Vlans by 
                      Protocol Type entries that are deleted from 
                      the Address Translation (AR) table."
        ::= { rcTblSize 24 }

rcTblArVlanByIpSubnetAdded OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of VLAN by Ip 
                      entries that are added to the Address 
                      Translation (AR) table."
        ::= { rcTblSize 25 }

rcTblArVlanByIpSubnetDeleted OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of VLAN by Ip 
                      entries that are deleted from the Address 
                      Translation (AR) table."
        ::= { rcTblSize 26 }

rcTblArIpSubnetsAdded OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of Ip subnet
                      entries that are added to the Address 
                      Translation (AR) table."
        ::= { rcTblSize 27 }

rcTblArIpSubnetsDeleted OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of Ip subnet 
                      entries that are deleted from the Address 
                      Translation (AR) table."
        ::= { rcTblSize 28 }

rcTblArRsvpsAdded OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of RSVP
                      entries that are added to the Address 
                      Translation (AR) table."
        ::= { rcTblSize 29 }

rcTblArRsvpsDeleted OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of RSVP
                      entries that are deleted from the Address 
                      Translation (AR) table."
        ::= { rcTblSize 30 }


rcTblBrdgFdbSize OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of entries in the 
                      dot1d forwarding database table."    
        ::= { rcTblSize 31 }

rcTblBrdgStaticSize OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of entries in the 
                      dot1d Static Address Filtering table."    
        ::= { rcTblSize 32 }

rcTblIpAddrSize OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   "Used to indicate the number of entries in the 
                      IP Address table."    
        ::= { rcTblSize 33 }

rcTblIpForwardingSize OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only   
        STATUS        mandatory   
        DESCRIPTION   "Used to indicate the number of entries in the 
                      IP Forwarding table."        
        ::= { rcTblSize 34 }

rcTblIpNetToMediaSize OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only   
        STATUS        mandatory   
        DESCRIPTION   "Used to indicate the number of entries in the 
                      IP Net-to-media table."        
        ::= { rcTblSize 35 }


-- IP Group

rcIpConf OBJECT IDENTIFIER ::= { rcIp 1 }

-- IP Configuration Table

rcIpConfTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpConfEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to maintain IP routing information 
                      for a particular interface."
        ::= { rcIpConf 1 }
 
rcIpConfEntry OBJECT-TYPE
        SYNTAX        RcIpConfEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing IP routing information.  An entry
                      is automatically created in this table when routing 
		      is enabled for an interface -or- when an ip address 
                      is configured on an interface."
        INDEX         { rcIpConfIfIndex }
        ::= { rcIpConfTable 1 }
 
RcIpConfEntry ::= SEQUENCE {
                rcIpConfIfIndex               InterfaceIndex,
                rcIpConfAdvertDefRte          TruthValue,
                rcIpConfAcceptDefRte          TruthValue,
		rcIpConfRowStatus             RowStatus,
                rcIpConfRipEnable             TruthValue,
                rcIpConfOspfEnable            TruthValue,
                rcIpConfIgmpEnable            TruthValue,
                rcIpConfAddrAssigned          TruthValue,
                rcIpConfDhcpEnable            TruthValue,
                rcIpConfTriggeredUpdateEnable TruthValue,
                rcIpConfRipAutoAggrerateEnable TruthValue,
                rcIpConfRipGenerateDefaultRoute TruthValue,
                rcIpConfAdvertiseWhenDown       TruthValue,
                rcIpConfDirectBroadcastEnable   TruthValue
        }

rcIpConfIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex (0..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An unique value to identify a physical interface 
 		      or a logical interface (VLAN)."
        ::= { rcIpConfEntry 1 }

rcIpConfAdvertDefRte OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether this interface should
		      advertize a RIP default route." 
        ::= { rcIpConfEntry 2 }

rcIpConfAcceptDefRte OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether this interface should
		      accept a RIP default route."
        ::= { rcIpConfEntry 3 }

rcIpConfRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Row status for this entry."
        ::= { rcIpConfEntry 4 }

rcIpConfRipEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable RIP routing on the specified
                      interface."
        ::= { rcIpConfEntry 5 }
 
rcIpConfOspfEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable OSPF routing on the specified
                      interface."
        ::= { rcIpConfEntry 6 }
 
rcIpConfIgmpEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable IGMP on the specified
                      interface."
        ::= { rcIpConfEntry 7 }
 
rcIpConfAddrAssigned OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Indicate whether IpAddress has been assigned 
                      for this interface."
        ::= { rcIpConfEntry 8 }

rcIpConfDhcpEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable DHCP on the specified
                      interface."
        ::= { rcIpConfEntry 9 }

rcIpConfTriggeredUpdateEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether the RIP triggered update
		      feature should be enabled on this interface." 
        ::= { rcIpConfEntry 10 }
 
rcIpConfRipAutoAggrerateEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether the auto aggregation 
		      feature should be enabled on this interface." 
        ::= { rcIpConfEntry 11 }
 
rcIpConfRipGenerateDefaultRoute OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether to generate a default
		      RIP route	on this interface." 
        ::= { rcIpConfEntry 12 }

rcIpConfAdvertiseWhenDown OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The value is used indicated whether vlan state change
                       should be notified to layer 3 or not, provided the vlan
                       is configured as routable interface. Also used for
                       single routable ports, in that case the criteria for
                       state is PortOperStatus.
                       Vlan is considered as UP if atleast one member of the
                       port based vlan has link up, or atleast one port member
                       of the policy based has an entry in the MGID or atleast
                       one static member of the policy based vlan has link up.
                       Otherwise, vlan is considered as DOWN.
                       If the value is 'true' then the interface state change 
                       will not be notified to layer 3. (i.e., it always stays 
                       up). If the value is 'false' then the vlan state change 
                       will be notified to layer 3 so that IP related status 
                       reflects routable interface state."
        DEFVAL        { false }
        ::= { rcIpConfEntry 13 }
 
rcIpConfDirectBroadcastEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether this interface should
                      forward direct broadcast traffic"
        DEFVAL        { true }
        ::= { rcIpConfEntry 14 }
 

-- Ospf Configuration Table
 
rcIpConfOspfTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpConfOspfEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to maintain OSPF information
                      for a particular interface."
        ::= { rcIpConf 2 }
 
rcIpConfOspfEntry OBJECT-TYPE
        SYNTAX        RcIpConfOspfEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing OSPF information.  An entry is
                      automatically created in this table when routing 
		      is enabled for an interface -or- when an ip address 
                      is configured on an interface." 
        INDEX         { rcIpConfOspfIfIndex }
        ::= { rcIpConfOspfTable 1 }
 
RcIpConfOspfEntry ::= SEQUENCE {
                rcIpConfOspfIfIndex           InterfaceIndex,
                rcIpConfOspfRtrPriority       INTEGER,
                rcIpConfOspfMetric            INTEGER,
                rcIpConfOspfAuthKey           DisplayString,
                rcIpConfOspfRowStatus         RowStatus,
                rcIpConfOspfHelloInterval     INTEGER,
                rcIpConfOspfRtrDeadInterval   INTEGER,
                rcIpConfOspfIfAreaId          IpAddress,
                rcIpConfOspfAuthType          INTEGER
        }
 
rcIpConfOspfIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex (0..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An unique value to identify a physical interface 
 		      or a logical interface (VLAN)."
        ::= { rcIpConfOspfEntry 1 }

rcIpConfOspfRtrPriority OBJECT-TYPE
        SYNTAX        INTEGER (0..'FF'h)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The priority of this interface.  Used in multi-
                      access networks, this field is used in the
                      designated router election algorithm.  The value 0
                      signifies that the router is not eligible to become
                      the designated router on this particular network.
                      In the event of a tie in this value, routers will
                      use their router id as a tie breaker."
        DEFVAL        { 1 }
        ::= { rcIpConfOspfEntry 2 }
 
rcIpConfOspfMetric OBJECT-TYPE
        SYNTAX        INTEGER (0..'FFFF'h)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The metric for this type of service (TOS) on this
                      interface.  The default value of the TOS 0 Metric
                      is (10^9 / ifSpeed). The value FFFF means 'no route 
		      via this TOS'. A value of 0 means the interface speed 
                      (rcIpConfOspfDefaultMetric) will be used as metric 
		      value, when the state of the interface is up." 
        DEFVAL        { 0 }
        ::= { rcIpConfOspfEntry 3 }
 
rcIpConfOspfAuthKey OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(8))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The Authentication Key.  If the Area's
                      Authorization Type is simplePassword, and the key
                      length is shorter than 8 octets, the agent will
                      left adjust and zero fill to 8 octets.  When read,
                      ospfIfAuthKey always returns an Octet String of
                      length zero."
        REFERENCE     "OSPF Version 2, Section 9 The Interface Data
                      Structure"
        ::= { rcIpConfOspfEntry 4 }

rcIpConfOspfRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Row status for this entry."
        ::= { rcIpConfOspfEntry 5 }

rcIpConfOspfHelloInterval OBJECT-TYPE
        SYNTAX        INTEGER (1..'FFFF'h)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The length of time, in seconds, between the 
                      Hello packets that the router sends on the 
                      interface. This value must be the same for all
                      routers attached to a common network."
        DEFVAL        { 10 }
        ::= { rcIpConfOspfEntry 6 }

rcIpConfOspfRtrDeadInterval OBJECT-TYPE
        SYNTAX        INTEGER (1..'7FFFFFFF'h)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The number of seconds that a router's Hello 
                      packets have not been seen before it's 
                      neighbors declare the router down. This should
                      be some multiple of the Hello interval. This 
                      value must be the same for all routers attached
                      to a common network."
        DEFVAL        { 40 }
        ::= { rcIpConfOspfEntry 7 }

rcIpConfOspfIfAreaId OBJECT-TYPE
         SYNTAX        IpAddress
         ACCESS        read-write
         STATUS        mandatory
         DESCRIPTION   "A 32-bit integer uniquely identifying the area to
                       which the interface connects.  Area ID 0.0.0.0 is used
                       for the OSPF backbone."
         DEFVAL   { '00000000'H }    -- 0.0.0.0
         ::= { rcIpConfOspfEntry 8 }

rcIpConfOspfAuthType OBJECT-TYPE
         SYNTAX        INTEGER {
                           none (0),
                           simplePassword (1),
                           md5 (2)
                           
                       }
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "The authentication type specified for  an  interface.   
                       Additional  authentication types may be assigned locally."
        REFERENCE      "OSPF Version 2, Appendix E Authentication"
        DEFVAL { 0 }        -- no authentication, by default
        ::= { rcIpConfOspfEntry 9 }

 
-- Ospf Cost Grp

rcIpConfOspfDefaultMetric   OBJECT IDENTIFIER       ::= { rcIpConf 3 }
 
rcIpConfOspfDefaultMetric10MegPort OBJECT-TYPE
        SYNTAX        INTEGER (1..'FFFF'h)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the cost associated with
                      10Meg Interface(Port)."
        ::= { rcIpConfOspfDefaultMetric 1 }
 
rcIpConfOspfDefaultMetric100MegPort OBJECT-TYPE
        SYNTAX        INTEGER (1..'FFFF'h)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the cost associated with
                      100Meg Interface(Port)."
        ::= { rcIpConfOspfDefaultMetric 2 }
 
rcIpConfOspfDefaultMetric1000MegPort OBJECT-TYPE
        SYNTAX        INTEGER (1..'FFFF'h)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the cost associated with
                      1000Meg Interface(Port)."
        ::= { rcIpConfOspfDefaultMetric 3 }

rcIpConfOspf   OBJECT IDENTIFIER       ::= { rcIpConf 4 }

 
rcIpConfOspfTrapEnable  OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether Ospf Traps should be sent."
        ::= { rcIpConfOspf 1 }

rcIpConfOspfAutoVirtLinkEnable  OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether auto virtual link 
                      creation is enabled or not. If set to true
                      OSPF will create virtual links between 
                      ABRs whether it is needed or not, but adjacency
                      will established only when one of the ABR 
                      losses connection to backbone area. If set to
                      false then it is user resposibity to create
                      virtual link whenever needed."
	DEFVAL	      { false }
        ::= { rcIpConfOspf 2 }

rcIpConfOspfSpfHoldDownTime OBJECT-TYPE
         SYNTAX   INTEGER (3..60)
         ACCESS   read-write
         STATUS   mandatory
         DESCRIPTION   "The SPF Hold Down Timer value. The SPF will run
                        at most once per hold down timer value."
         DEFVAL  { 10 }
         ::= { rcIpConfOspf 3 }


rcIpConfGlobal   OBJECT IDENTIFIER       ::= { rcIpConf 6 }

rcIpConfGlobalRipHoldDownTime OBJECT-TYPE
        SYNTAX	      INTEGER (0..360)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to set the system-wide RIP hold down time
		      in seconds."
        DEFVAL        { 180 }
        ::= { rcIpConfGlobal 1 }


-- Ospf Area Table
 
rcIpConfOspfAreaTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpConfOspfAreaEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to maintain OSPF information
                      for a particular Area."
        ::= { rcIpConf 7 }
 
rcIpConfOspfAreaEntry OBJECT-TYPE
        SYNTAX        RcIpConfOspfAreaEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing OSPF Area configuration 
                      information.  An entry is automatically created 
                      in this table when an area is configured through 
                      ospfAreaTable in (rfc1253rcc.mib)."
        INDEX         { rcIpConfOspfAreaId }
        ::= { rcIpConfOspfAreaTable 1 }
 
RcIpConfOspfAreaEntry ::= SEQUENCE {
                rcIpConfOspfAreaId              IpAddress,
                rcIpConfOspfAreaImportSummary   TruthValue,
                rcIpConfOspfAreaActiveIfCount   INTEGER
        }
 
rcIpConfOspfAreaId OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An unique value to identify an area. Area ID
 		      0.0.0.0 is used for the OSPF backbone."
        ::= { rcIpConfOspfAreaEntry 1 }

rcIpConfOspfAreaImportSummary OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The area's support for importing Summary 
                      advertisements into a stub area. This field
                      should be used only if ospfImportASExtern is
                      set to FALSE"
        DEFVAL        { true }
        ::= { rcIpConfOspfAreaEntry 2 }
 
rcIpConfOspfAreaActiveIfCount OBJECT-TYPE
        SYNTAX        INTEGER 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "This variable displays the number of active
                      interfaces configured in this area. An area
                      cannot be deleted if this value is > 0."
        ::= { rcIpConfOspfAreaEntry 3 }
 
-- IP Configuration IP Interface Table

rcIpConfV2Table OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpConfV2Entry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to maintain IP routing information 
                      for a particular interface."
        ::= { rcIpConf 8 }
 
rcIpConfV2Entry OBJECT-TYPE
        SYNTAX        RcIpConfV2Entry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing IP routing information.  An entry
                      is automatically created in this table when routing 
		      is enabled for an interface -or- when an ip address 
                      is configured on an interface."
        INDEX         { rcIpConfV2Index, rcIpConfV2Addr }
        ::= { rcIpConfV2Table 1 }
 
RcIpConfV2Entry ::= SEQUENCE {
                rcIpConfV2Index               InterfaceIndex,
                rcIpConfV2Addr                  IpAddress,
		rcIpConfV2RowStatus             RowStatus,
                rcIpConfV2AdvertDefRte          TruthValue,
                rcIpConfV2AcceptDefRte          TruthValue,
                rcIpConfV2RipEnable             TruthValue,
                rcIpConfV2OspfEnable            TruthValue,
                rcIpConfV2IgmpEnable            TruthValue,
                rcIpConfV2AddrAssigned          TruthValue,
                rcIpConfV2TriggeredUpdateEnable TruthValue,
                rcIpConfV2RipAutoAggrerateEnable TruthValue,
                rcIpConfV2RipGenerateDefaultRoute TruthValue,
                rcIpConfV2AdvertiseWhenDown       TruthValue
        }

rcIpConfV2Index OBJECT-TYPE
        SYNTAX        InterfaceIndex (0..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An unique value to identify a physical interface 
 		      or a logical interface (VLAN)."
        ::= { rcIpConfV2Entry 1 }

rcIpConfV2Addr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Ip interface address." 
        ::= { rcIpConfV2Entry 2 }

rcIpConfV2RowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Row status for this entry."
        ::= { rcIpConfV2Entry 3 }

rcIpConfV2AdvertDefRte OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether this interface should
		      advertize a RIP default route." 
        ::= { rcIpConfV2Entry 4 }

rcIpConfV2AcceptDefRte OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether this interface should
		      accept a RIP default route."
        ::= { rcIpConfV2Entry 5 }

rcIpConfV2RipEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable RIP routing on the specified
                      interface."
        ::= { rcIpConfV2Entry 6 }
 
rcIpConfV2OspfEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable OSPF routing on the specified
                      interface."
        ::= { rcIpConfV2Entry 7 }
 
rcIpConfV2IgmpEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable IGMP on the specified
                      interface."
        ::= { rcIpConfV2Entry 8 }
 
rcIpConfV2AddrAssigned OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Indicate whether IpAddress has been assigned 
                      for this interface."
        ::= { rcIpConfV2Entry 9 }

rcIpConfV2TriggeredUpdateEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether the RIP triggered update
		      feature should be enabled on this interface." 
        ::= { rcIpConfV2Entry 10 }
 
rcIpConfV2RipAutoAggrerateEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether the auto aggregation 
		      feature should be enabled on this interface." 
        ::= { rcIpConfV2Entry 11 }
 
rcIpConfV2RipGenerateDefaultRoute OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether to generate a default
		      RIP route	on this interface." 
        ::= { rcIpConfV2Entry 12 }

rcIpConfV2AdvertiseWhenDown OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The value is used indicated whether vlan state change
                       should be notified to layer 3 or not, provided the vlan
                       is configured as routable interface. Also used for
                       single routable ports, in that case the criteria for
                       state is PortOperStatus.
                       Vlan is considered as UP if atleast one member of the
                       port based vlan has link up, or atleast one port member
                       of the policy based has an entry in the MGID or atleast
                       one static member of the policy based vlan has link up.
                       Otherwise, vlan is considered as DOWN.
                       If the value is 'true' then the interface state change 
                       will not be notified to layer 3. (i.e., it always stays 
                       up). If the value is 'false' then the vlan state change 
                       will be notified to layer 3 so that IP related status 
                       reflects routable interface state."
        DEFVAL        { false }
        ::= { rcIpConfV2Entry 13 }
 
-- Ospf Configuration Ip Interface Table
 
rcIpConfOspfV2Table OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpConfOspfV2Entry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to maintain OSPF information
                      for a particular interface."
        ::= { rcIpConf 9 }
 
rcIpConfOspfV2Entry OBJECT-TYPE
        SYNTAX        RcIpConfOspfV2Entry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing OSPF information.  An entry is
                      automatically created in this table when routing 
		      is enabled for an interface -or- when an ip address 
                      is configured on an interface." 
        INDEX         { rcIpConfOspfV2IfIndex, rcIpConfOspfV2IpAddr }
        ::= { rcIpConfOspfV2Table 1 }
 
RcIpConfOspfV2Entry ::= SEQUENCE {
                rcIpConfOspfV2IfIndex           InterfaceIndex,
                rcIpConfOspfV2IpAddr            IpAddress,
                rcIpConfOspfV2RtrPriority       INTEGER,
                rcIpConfOspfV2Metric            INTEGER,
                rcIpConfOspfV2AuthKey           DisplayString,
                rcIpConfOspfV2RowStatus         RowStatus,
                rcIpConfOspfV2HelloInterval     INTEGER,
                rcIpConfOspfV2RtrDeadInterval   INTEGER,
                rcIpConfOspfV2IfAreaId          IpAddress,
                rcIpConfOspfV2AuthType          INTEGER
        }
 
rcIpConfOspfV2IfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex (0..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An unique value to identify a physical interface 
 		      or a logical interface (VLAN)."
        ::= { rcIpConfOspfV2Entry 1 }

rcIpConfOspfV2IpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "IpAddress of the IP interface."
        ::= { rcIpConfOspfV2Entry 2 }

rcIpConfOspfV2RtrPriority OBJECT-TYPE
        SYNTAX        INTEGER (0..'FF'h)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The priority of this interface.  Used in multi-
                      access networks, this field is used in the
                      designated router election algorithm.  The value 0
                      signifies that the router is not eligible to become
                      the designated router on this particular network.
                      In the event of a tie in this value, routers will
                      use their router id as a tie breaker."
        DEFVAL        { 1 }
        ::= { rcIpConfOspfV2Entry 3 }
 
rcIpConfOspfV2Metric OBJECT-TYPE
        SYNTAX        INTEGER (0..'FFFF'h)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The metric for this type of service (TOS) on this
                      interface.  The default value of the TOS 0 Metric
                      is (10^9 / ifSpeed). The value FFFF means 'no route 
		      via this TOS'. A value of 0 means the interface speed 
                      (rcIpConfOspfV2DefaultMetric) will be used as metric 
		      value, when the state of the interface is up." 
        DEFVAL        { 0 }
        ::= { rcIpConfOspfV2Entry 4 }
 
rcIpConfOspfV2AuthKey OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(8))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The Authentication Key.  If the Area's
                      Authorization Type is simplePassword, and the key
                      length is shorter than 8 octets, the agent will
                      left adjust and zero fill to 8 octets.  When read,
                      ospfIfAuthKey always returns an Octet String of
                      length zero."
        REFERENCE     "OSPF Version 2, Section 9 The Interface Data
                      Structure"
        ::= { rcIpConfOspfV2Entry 5 }

rcIpConfOspfV2RowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Row status for this entry."
        ::= { rcIpConfOspfV2Entry 6 }

rcIpConfOspfV2HelloInterval OBJECT-TYPE
        SYNTAX        INTEGER (1..'FFFF'h)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The length of time, in seconds, between the 
                      Hello packets that the router sends on the 
                      interface. This value must be the same for all
                      routers attached to a common network."
        DEFVAL        { 10 }
        ::= { rcIpConfOspfV2Entry 7 }

rcIpConfOspfV2RtrDeadInterval OBJECT-TYPE
        SYNTAX        INTEGER (1..'7FFFFFFF'h)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The number of seconds that a router's Hello 
                      packets have not been seen before it's 
                      neighbors declare the router down. This should
                      be some multiple of the Hello interval. This 
                      value must be the same for all routers attached
                      to a common network."
        DEFVAL        { 40 }
        ::= { rcIpConfOspfV2Entry 8 }

rcIpConfOspfV2IfAreaId OBJECT-TYPE
         SYNTAX        IpAddress
         ACCESS        read-write
         STATUS        mandatory
         DESCRIPTION   "A 32-bit integer uniquely identifying the area to
                       which the interface connects.  Area ID 0.0.0.0 is used
                       for the OSPF backbone."
         DEFVAL   { '00000000'H }    -- 0.0.0.0
         ::= { rcIpConfOspfV2Entry 9 }

rcIpConfOspfV2AuthType OBJECT-TYPE
         SYNTAX        INTEGER {
                           none (0),
                           simplePassword (1),
                           md5 (2)
                           
                       }
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "The authentication type specified for  an  interface.   
                       Additional  authentication types may be assigned locally."
        REFERENCE      "OSPF Version 2, Appendix E Authentication"
        DEFVAL { 0 }        -- no authentication, by default
        ::= { rcIpConfOspfV2Entry 10 }

-- IP Address Table

rcIpAddrTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpAddrEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "The table of addressing information relevant to
                      this entity's IP addresses.

                      This table is identical to the ipAddrTable in 
                      MIB2 except the columns rcIpAdEntIfIndex and 
                      rcIpAdEntAddr are reversed.  Also, the table 
                      is indexed by both these variables."
	::= { rcIp 2 }

rcIpAddrEntry OBJECT-TYPE
	SYNTAX        RcIpAddrEntry
	ACCESS 	      not-accessible
	STATUS 	      mandatory
	DESCRIPTION   "The addressing information for one of this
                      entity's IP addresses."
	INDEX         { rcIpAdEntIfIndex, rcIpAdEntAddr }
	::= { rcIpAddrTable 1 }

RcIpAddrEntry ::=
    	SEQUENCE {
        	rcIpAdEntIfIndex InterfaceIndex,
	        rcIpAdEntAddr IpAddress,
	        rcIpAdEntNetMask IpAddress,
	        rcIpAdEntBcastAddrFormat INTEGER,
	        rcIpAdEntReasmMaxSize INTEGER (0..65535),
                rcIpAdEntRowStatus RowStatus,
                rcIpAdEntVlanId INTEGER (1..4094), 
                rcIpAdEntBrouterPort TruthValue 
    	}

rcIpAdEntIfIndex OBJECT-TYPE
   	SYNTAX        InterfaceIndex
  	ACCESS        read-only
  	STATUS        mandatory
	DESCRIPTION   "The index value which uniquely identifies the
                      interface to which this entry is applicable.  The
                      interface identified by a particular value of this
                      index is the same interface as identified by the
                      same value of ifIndex."
	::= { rcIpAddrEntry 1 }

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

rcIpAdEntNetMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The subnet mask associated with the IP address of
                      this entry.  The value of the mask is an IP
                      address with all the network bits set to 1 and all
                      the hosts bits set to 0."
	::= { rcIpAddrEntry 3 }

rcIpAdEntBcastAddrFormat OBJECT-TYPE
        SYNTAX        INTEGER {
			 zeros(0),	-- use zeros
			 ones(1)	-- use ones
		      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP broadcast address format used on this 
                      interface."
	::= { rcIpAddrEntry 4 }

rcIpAdEntReasmMaxSize OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The size of the largest IP datagram which this
                      entity can re-assemble from incoming IP fragmented
                      datagrams received on this interface."
        ::= { rcIpAddrEntry 5 }

rcIpAdEntRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries"
        ::= { rcIpAddrEntry 6 }

rcIpAdEntVlanId OBJECT-TYPE
        SYNTAX        INTEGER (1..4094)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "A value that uniquely identifies the Virtual LAN
                      associated with this entry. This value corresponds
                      to the lower 12 bits in the IEEE 802.1Q VLAN Tag."
        ::= { rcIpAddrEntry 7 }

rcIpAdEntBrouterPort OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether this entry correponds
		      to a brouter port (as oppose to a routable VLAN).
 		      This value cannot be changed after the row is
		      created."
        ::= { rcIpAddrEntry 8 }


-- FlowContorl Group

rcIpFlowTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpFlowEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "IpFlow Table.  This table contain entries that
		      correspond to RSVP records in the switching
		      fabric Address Resolution table.

		      A connection that has a matching entry in this 
                      table will be processed with a higher priority 
                      than connections that do not have an entry."
        ::= { rcIp 3 }

rcIpFlowEntry OBJECT-TYPE
        SYNTAX        RcIpFlowEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Proprietary flow control variables."
        INDEX         { rcIpFlowSrcIpAddress, rcIpFlowSrcIpPort,
		        rcIpFlowDstIpAddress, rcIpFlowDstIpPort,
		        rcIpFlowProtocol }
        ::= { rcIpFlowTable 1 }

RcIpFlowEntry ::=
        SEQUENCE {
                rcIpFlowSrcIpAddress IpAddress,
                rcIpFlowSrcIpPort    INTEGER,
                rcIpFlowDstIpAddress IpAddress,
                rcIpFlowDstIpPort    INTEGER,
		rcIpFlowProtocol     INTEGER,
		rcIpFlowRowStatus    RowStatus
        }

rcIpFlowSrcIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The source IP address of an IP packet."
        ::= { rcIpFlowEntry 1 }

rcIpFlowSrcIpPort OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The source port of an IP packet.  A zero value 
                      in this field is used as a wildcard value."
        DEFVAL 	      { 0 }
        ::= { rcIpFlowEntry 2 }

rcIpFlowDstIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The destination IP address of an IP packet."
        ::= { rcIpFlowEntry 3 }

rcIpFlowDstIpPort OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The destination port of an IP packet.  A zero
                      value in this field is used as a wildcard value."
	DEFVAL	      { 0 }
        ::= { rcIpFlowEntry 4 }

rcIpFlowProtocol OBJECT-TYPE
        SYNTAX 	      INTEGER {
                         ip(4),	        -- ip
			 tcp(6),	-- tcp
			 udp(17)	-- udp
        	      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The protocol type of an IP packet.  A zero value
                      in this field is used as a wildcard value."
	DEFVAL 	      { ip }
        ::= { rcIpFlowEntry 5 }

rcIpFlowRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Status of entry."
        ::= { rcIpFlowEntry 6 }


-- Routing group

rcIpRouting OBJECT IDENTIFIER ::= { rcIp 4 }


-- rcIpRouting/rcIpRoutingRedistributeRipToOspf Group

rcIpRoutingRedistributeRipToOspf OBJECT IDENTIFIER ::= {rcIpRouting 1}

rcIpRoutingRedistributeRipToOspfEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to indicate whether or not to Redistribute
                      RIP routes to OSPF."
        DEFVAL        { false }
        ::= { rcIpRoutingRedistributeRipToOspf 1 }
 
rcIpRoutingRedistributeRipToOspfExplicitMetric OBJECT-TYPE
        SYNTAX        INTEGER (1..'FFFF'h)
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Value of metric that is used to translate the
                      RIP route to OSPF."
        DEFVAL        { 1 }
        ::= { rcIpRoutingRedistributeRipToOspf 2 }

rcIpRoutingRedistributeRipToOspfUseExplicitMetric OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to indicate whether or not to use the user
                      specified default metric for redistributing
                      RIP routes to OSPF."
        DEFVAL        { false }
        ::= { rcIpRoutingRedistributeRipToOspf 3 }
 
rcIpRoutingRedistributeRipToOspfExternalMetricType  OBJECT-TYPE
        SYNTAX        INTEGER {
                         type1(1),          -- extenal metric type1
                         type2(2)           -- extenal metric type2
                      }
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to configure the metric type of the
                      distributed routes to OSPF domain.
                      type1 means the metric is comparable directly
                      to the link state metric 
                      (cost = internal cost + external cost). 
                      type2 means the metric is considered larger 
                      than any link state metric (cost = external 
                      cost)."
        DEFVAL        { type2 }
        ::= { rcIpRoutingRedistributeRipToOspf 4 }


-- rcIpRouting/rcIpRoutingRedistributeOspfToRip Group

rcIpRoutingRedistributeOspfToRip OBJECT IDENTIFIER ::= {rcIpRouting 2}

rcIpRoutingRedistributeOspfToRipEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to indicate whether or not to redistribute 
                      OSPF routes to RIP."
        DEFVAL        { false }
        ::= { rcIpRoutingRedistributeOspfToRip 1 }

rcIpRoutingRedistributeOspfToRipExplicitMetric OBJECT-TYPE
        SYNTAX        INTEGER (1..16)
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Value of metric that is used to translate the
                      OSPF route to RIP."
        DEFVAL        { 1 }
        ::= { rcIpRoutingRedistributeOspfToRip 2 }
 
rcIpRoutingRedistributeOspfToRipUseExplicitMetric OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to indicate whether or not to use the user
                      specified default metric for redistributing
                      OSPF routes to RIP."
        DEFVAL        { true }
        ::= { rcIpRoutingRedistributeOspfToRip 3 }

-- rcIpRouting/rcIpRoutingRedistributeDirectToOspf Group

rcIpRoutingRedistributeDirectToOspf OBJECT IDENTIFIER ::= {rcIpRouting 3}

rcIpRoutingRedistributeDirectToOspfEnable  OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to indicate whether directly connected
                      networks through non-ospf interfaces are
                      distributed to OSPF database or not. If 
                      set to true all the static routes
                      will be added as external routes to OSPF
                      routing domain, provided the router is
                      configured as AS Border router. Also originates
                      asExtern link LSA."
        DEFVAL        { false }
        ::= { rcIpRoutingRedistributeDirectToOspf 1 }
 
rcIpRoutingRedistributeDirectToOspfMethod OBJECT-TYPE
        SYNTAX        INTEGER {
                         usePortSpeed(1),       
                         useExplicitMetric(2)  
                      }
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to indicate whether or not to use the user
                      specified default metric for redistributing
                      direct routes to OSPF."
        DEFVAL        { usePortSpeed }
        ::= { rcIpRoutingRedistributeDirectToOspf 2 }

rcIpRoutingRedistributeDirectToOspfExplicitMetric OBJECT-TYPE
        SYNTAX        INTEGER (1..'FFFF'h)
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Value of metric that is used to translate the
                      routes to directly connected networks to OSPF."
        DEFVAL        { 1 }
        ::= { rcIpRoutingRedistributeDirectToOspf 3 }
 
rcIpRoutingRedistributeDirectToOspfExternalMetricType  OBJECT-TYPE
        SYNTAX        INTEGER {
                         type1(1),          -- extenal metric type1
                         type2(2)           -- extenal metric type2
                      }
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to configure the metric type of the
                      distributed routes to OSPF domain.
                      type1 means the metric is comparable directly
                      to the link state metric 
                      (cost = internal cost + external cost). 
                      type2 means the metric is considered larger 
                      than any link state metric (cost = external 
                      cost)."
        DEFVAL        { type1 }
        ::= { rcIpRoutingRedistributeDirectToOspf 4 }


-- rcIpRouting/rcIpRoutingRedistributeStaticToOspf Group

rcIpRoutingRedistributeStaticToOspf OBJECT IDENTIFIER ::= {rcIpRouting 4}

rcIpRoutingRedistributeStaticToOspfEnable  OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to indicate whether static routes (that
                      are configured locally through management
                      protocol) are distributed to OSPF database
                      or not. If set to true all the static routes
                      will be added as external routes to OSPF
                      routing domain, provided the router is
                      configured as AS Border router. Also originates
                      asExtern link LSA."
        DEFVAL        { false }
        ::= { rcIpRoutingRedistributeStaticToOspf 1 }
 
rcIpRoutingRedistributeStaticToOspfExplicitMetric OBJECT-TYPE
        SYNTAX        INTEGER (1..'FFFF'h)
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Value of metric that is used to translate the
                      static routes to OSPF."
        DEFVAL        { 10 }
        ::= { rcIpRoutingRedistributeStaticToOspf 2 }
 
rcIpRoutingRedistributeStaticToOspfUseExplicitMetric OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to indicate whether or not to use the user
                      specified default metric for redistributing
                      static routes to OSPF."
        DEFVAL        { false }
        ::= { rcIpRoutingRedistributeStaticToOspf 3 }

rcIpRoutingRedistributeStaticToOspfExternalMetricType  OBJECT-TYPE
        SYNTAX        INTEGER {
                         type1(1),          -- extenal metric type1
                         type2(2)           -- extenal metric type2
                      }
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to configure the metric type of the
                      distributed routes to OSPF domain.
                      type1 means the metric is comparable directly
                      to the link state metric 
                      (cost = internal cost + external cost). 
                      type2 means the metric is considered larger 
                      than any link state metric (cost = external 
                      cost)."
        DEFVAL        { type2 }
        ::= { rcIpRoutingRedistributeStaticToOspf 4 }

rcIpRoutingRedistributeStaticToOspfAdvertDefRte  OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to indicate whether default route (that
                      are configured locally through management
                      protocol) should be distributed to OSPF database
                      or not. If set to true then the default route will 
                      be added as external route to OSPF routing domain, 
                      provided the router is configured as AS Border router. 
                      Also originates asExtern link LSA."
        DEFVAL        { false }
        ::= { rcIpRoutingRedistributeStaticToOspf 5 }

-- rcIpRouting/rcIpRoutingRedistributeDirectToRip Group

rcIpRoutingRedistributeDirectToRip OBJECT IDENTIFIER ::= {rcIpRouting 5}

rcIpRoutingRedistributeDirectToRipEnable  OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to indicate whether directly connected
                      networks through non-rip interfaces are
                      distributed to RIP or not." 
        DEFVAL        { false }
        ::= { rcIpRoutingRedistributeDirectToRip 1 }


-- rcIpRouting/rcIpRoutingRedistributeStaticToRip Group

rcIpRoutingRedistributeStaticToRip OBJECT IDENTIFIER ::= {rcIpRouting 6}

rcIpRoutingRedistributeStaticToRipEnable  OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        obsolete
        DESCRIPTION   "Used to indicate whether static routes (that
                      are configured locally through management
                      protocol) are distributed to RIP database
                      or not. If set to true all the static routes
                      will be added as external routes to RIP
                      routing domain."
        DEFVAL        { false }
        ::= { rcIpRoutingRedistributeStaticToRip 1 }


rcIpConfIgmpTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpConfIgmpEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to maintain IGMP information
                      for a particular interface."
    ::= { rcIp 5 }
 
rcIpConfIgmpEntry OBJECT-TYPE
        SYNTAX        RcIpConfIgmpEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing IGMP information.  An entry is
                      automatically created in this table when routing 
                      is enabled for an interface -or- when an ip address 
                      is configured on an interface."
        INDEX      { rcIpConfIgmpIfIndex }
        ::= { rcIpConfIgmpTable 1 }
 
RcIpConfIgmpEntry ::= SEQUENCE {
        rcIpConfIgmpIfIndex                 INTEGER,
        rcIpConfIgmpQueryInterval           INTEGER,
        rcIpConfIgmpVersion                 INTEGER,
        rcIpConfIgmpQueryMaxResponseTime    INTEGER,
        rcIpConfIgmpQuerierPresentTimeout   INTEGER,
        rcIpConfIgmpLeaveEnabled            TruthValue,
        rcIpConfIgmpRowStatus               RowStatus,
        rcIpConfIgmpRobustness              INTEGER,
        rcIpConfIgmpLastMemberQueryInterval INTEGER,
        rcIpConfIgmpAdminVersion            INTEGER
}

rcIpConfIgmpIfIndex OBJECT-TYPE
        SYNTAX          INTEGER (0..65535)
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "An unique value to identify a physical 
                        interface or a logical interface (VLAN)."
        ::= { rcIpConfIgmpEntry 1 }

rcIpConfIgmpQueryInterval OBJECT-TYPE
         SYNTAX     INTEGER (1..65535)
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION "The frequency at which IGMP Host-Query packets are
                     transmitted on this interface."
         DEFVAL     { 125 }
         ::= { rcIpConfIgmpEntry 2 }
 
rcIpConfIgmpVersion OBJECT-TYPE
         SYNTAX     INTEGER { version1(1), version2(2) }
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION "The version of IGMP which is running on this
                     interface. This object can be used to configure a
                     router capable of running either value.  For IGMP
                     to function correctly, all routers on a LAN must
                     be configured to run the same version of IGMP on
                     that LAN."
         DEFVAL     { version2 }
         ::= { rcIpConfIgmpEntry 3 }
 
rcIpConfIgmpQueryMaxResponseTime OBJECT-TYPE
         SYNTAX     INTEGER (1..255)
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION "The maximum query response time advertised in
                     IGMPv2 queries on this interface.  Smaller values
                     allow a router to prune groups faster."
         DEFVAL     { 10 }
         ::= { rcIpConfIgmpEntry 4 }
 
rcIpConfIgmpQuerierPresentTimeout OBJECT-TYPE
         SYNTAX     INTEGER
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION "A timeout interval.  If no IGMPv2 queries are
                     heard on this interface within this timeout
                     interval, the local router will take over the
                     Querier on the IP subnet to which this interface
                     is attached."
         DEFVAL     { 255 }
 
         ::= { rcIpConfIgmpEntry 5 }
 
rcIpConfIgmpLeaveEnabled OBJECT-TYPE
         SYNTAX     TruthValue
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION "An indication of whether the processing of IGMPv2
                      Leave messages is enabled on this interface."
         DEFVAL    { true }
         ::= { rcIpConfIgmpEntry 6 }
 
rcIpConfIgmpRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Status of entry."
        ::= { rcIpConfIgmpEntry 7 }

rcIpConfIgmpRobustness OBJECT-TYPE
        SYNTAX          INTEGER (2..255)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "lossiness of network."
        ::= { rcIpConfIgmpEntry 8 }

rcIpConfIgmpLastMemberQueryInterval OBJECT-TYPE
        SYNTAX          INTEGER (1..255)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "max response in GrpSpec Query."
        ::= { rcIpConfIgmpEntry 9 }

rcIpConfIgmpAdminVersion OBJECT-TYPE
         SYNTAX     INTEGER { version1(1), version2(2) }
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION "Admin Version."
         DEFVAL     { version2 }
         ::= { rcIpConfIgmpEntry 10 }
 
-- Igmp Group Table
rcIgmpGroupTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF RcIgmpGroupEntry
        ACCESS     not-accessible
        STATUS     mandatory
        DESCRIPTION "The (conceptual) table listing the multicast 
                    groups configured in the device."
    ::= { rcIp 6 }
 
rcIgmpGroupEntry OBJECT-TYPE
        SYNTAX     RcIgmpGroupEntry
        ACCESS     not-accessible
        STATUS     mandatory
        DESCRIPTION "An entry (conceptual row) representing an
                    Igmp group."
        INDEX      { rcIgmpGroupIpAddress, rcIgmpGroupMembers }
        ::= { rcIgmpGroupTable 1 }
 
RcIgmpGroupEntry ::= SEQUENCE {
        rcIgmpGroupIpAddress         IpAddress,
        rcIgmpGroupMembers           IpAddress,
        rcIgmpGroupInPort            INTEGER,
        rcIgmpGroupExpiration        INTEGER 
}

rcIgmpGroupIpAddress OBJECT-TYPE
        SYNTAX          IpAddress 
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Multicast group Address (Class D) that others
                         want to join. A group address can be the same 
                         for many incoming ports."
        ::= { rcIgmpGroupEntry 1 }

rcIgmpGroupMembers OBJECT-TYPE
        SYNTAX          IpAddress 
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "IP Address of a source that has sent group 
                         report wishing to join this group."
        ::= { rcIgmpGroupEntry 2 }
 
rcIgmpGroupInPort OBJECT-TYPE
        SYNTAX          INTEGER (0..65535)
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "An unique value to identify a physical
                        interface or a logical interface (VLAN),
                        which has received Group reports from various
                        sources."
        ::= { rcIgmpGroupEntry 3 }

rcIgmpGroupExpiration OBJECT-TYPE
         SYNTAX     INTEGER
         ACCESS     read-only
         STATUS     mandatory
         DESCRIPTION "Time left before the group report expired on this
                      port. Only one of this variable port. This 
                      variable is updated upon receiving a group report."
         ::= { rcIgmpGroupEntry 4 }

-- IP Route Table

rcIpRouteTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpRouteEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "This entity's IP Routing table."
    ::= { rcIp 7 }

rcIpRouteEntry OBJECT-TYPE
	SYNTAX  	RcIpRouteEntry
        ACCESS  	not-accessible
        STATUS  	mandatory
        DESCRIPTION	"A route to a particular destination."
        INDEX   { rcIpRouteDest, rcIpRouteMask }
    ::= { rcIpRouteTable 1 }

RcIpRouteEntry ::=
	SEQUENCE {
        	rcIpRouteDest IpAddress,
                rcIpRouteMask IpAddress,
                rcIpRouteNextHop IpAddress,
                rcIpRouteMetric  INTEGER,
                rcIpRouteIfIndex InterfaceIndex,
                rcIpRouteType INTEGER,
                rcIpRouteProto INTEGER,
                rcIpRouteAge INTEGER,
		rcIpRouteRowStatus RowStatus
              }

rcIpRouteDest OBJECT-TYPE
        SYNTAX  	IpAddress
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The destination IP address of this route.  An
                      	entry with a value of 0.0.0.0 is considered a
                      	default route.  Multiple routes to a single
                      	destination can appear in the table, but access to
                      	such multiple entries is dependent on the table-
                      	access mechanisms defined by the network
                      	management protocol in use."
    ::= { rcIpRouteEntry 1 }

rcIpRouteMask OBJECT-TYPE
        SYNTAX  	IpAddress
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION	"Indicate the mask to be logical-ANDed with the
                      	destination address before being compared to the
                      	value in the rcIpRouteDest field.  For those systems
                      	that do not support arbitrary subnet masks, an
                      	agent constructs the value of the rcIpRouteMask by
                      	determining whether the value of the correspondent
                      	rcIpRouteDest field belong to a class-A, B, or C
                      	network, and then using one of:

                           mask           network
                           255.0.0.0      class-A
                           255.255.0.0    class-B
                           255.255.255.0  class-C

                      	If the value of the rcIpRouteDest is 0.0.0.0 (a
                      	default route), then the mask value is also
                      	0.0.0.0.  It should be noted that all IP routing
                      	subsystems implicitly use this mechanism."
    ::= { rcIpRouteEntry 2 }

rcIpRouteNextHop OBJECT-TYPE
        SYNTAX  	IpAddress
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"The IP address of the next hop of this route.
                      	(In the case of a route bound to an interface
                      	which is realized via a broadcast media, the value
                      	of this field is the agent's IP address on that
                      	interface)."
    ::= { rcIpRouteEntry 3 }

rcIpRouteMetric OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"The primary routing metric for this route.  The
                      	semantics of this metric are determined by the
                      	routing-protocol specified in the route's
                      	rcIpRouteProto value.  If this metric is not used,
                      	its value should be set to -1."
    ::= { rcIpRouteEntry 4 }

rcIpRouteIfIndex OBJECT-TYPE
        SYNTAX  	InterfaceIndex
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The index value which uniquely identifies the
                      	local interface through which the next hop of this
                      	route should be reached.  The interface identified
                      	by a particular value of this index is the same
                      	interface as identified by the same value of
                      	ifIndex."
    ::= { rcIpRouteEntry 5 }

rcIpRouteType OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),        -- none of the following
                    direct(3),       -- connected (sub-)network

                                     -- route to a non-local
                    indirect(4)      -- host/network/sub-network
               }
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The type of route.  Note that the values
                      	direct(3) and indirect(4) refer to the notion of
                      	direct and indirect routing in the IP
                      	architecture."
    ::= { rcIpRouteEntry 6 }

rcIpRouteProto OBJECT-TYPE
        SYNTAX  INTEGER {
                    other(1),       -- none of the following

                                    -- non-protocol information,
                                    -- e.g., manually configured
                    local(2),       -- entries

                                    -- set via a network
                    netmgmt(3),     -- management protocol

                                    -- obtained via ICMP,
                    icmp(4),        -- e.g., Redirect

                                    -- the remaining values are
                                    -- all gateway routing
                                    -- protocols
                    egp(5),
                    ggp(6),
                    hello(7),
                    rip(8),
                    is-is(9),
                    es-is(10),
                    ciscoIgrp(11),
                    bbnSpfIgp(12),
                    ospf(13),
                    bgp(14)
                }
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION	"The routing mechanism via which this route was
                      	learned.  Inclusion of values for gateway routing
                      	protocols is not intended to imply that hosts
                      	should support those protocols."
    ::= { rcIpRouteEntry 7 }

rcIpRouteAge OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION	"The number of seconds since this route was last
                      	updated or otherwise determined to be correct.
                      	Note that no semantics of `too old' can be implied
                      	except through knowledge of the routing protocol
                      	by which the route was learned."
    ::= { rcIpRouteEntry 8 }

rcIpRouteRowStatus OBJECT-TYPE
        SYNTAX        	RowStatus
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to create/delete entries"
    ::= { rcIpRouteEntry 9 }


-- Ip Config Dhcp Table
 
rcIpConfDhcpTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpConfDhcpEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "DHCP configuration table"
    ::= { rcIp 8 }

rcIpConfDhcpEntry OBJECT-TYPE
        SYNTAX        	RcIpConfDhcpEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure DHCP on a particular port.  An
		      	entry is created automatically when the variable
		      	rcIpConfDhcpEnable is set to TRUE.  

 		      	Once created this entry will only be deleted if the 
		      	rcIpConfDhcpRowStatus is set to 'destroy(6)'.  In
		      	which case, the rcIpConfDhcpEnable is automatically
		      	reset to the FALSE setting."
        INDEX         	{ rcIpConfDhcpIfIndex }
        ::= { rcIpConfDhcpTable 1 }
 
RcIpConfDhcpEntry ::=
        SEQUENCE {
                rcIpConfDhcpIfIndex   	    InterfaceIndex,
                rcIpConfDhcpMaxHop    	    INTEGER,
                rcIpConfDhcpMinSec    	    INTEGER,
                rcIpConfDhcpMode      	    INTEGER,
                rcIpConfDhcpRowStatus 	    RowStatus,
		rcIpConfDhcpNumRequests     Counter,
		rcIpConfDhcpNumReplies	    Counter,
		rcIpConfDhcpAlwaysBroadcast TruthValue
        }
 
rcIpConfDhcpIfIndex OBJECT-TYPE
        SYNTAX        	InterfaceIndex (0..4094)
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Interface number.  The number can represent either
		      	a physical or logical(VLAN) interface."
        ::= { rcIpConfDhcpEntry 1 }
 
rcIpConfDhcpMaxHop OBJECT-TYPE
        SYNTAX        	INTEGER (1..16)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the maximum number of hops a 
		      	DHCP packet can take from the source device to 
		      	the destination device (i.e., DHCP client to 
		      	DHCP server)."
 	DEFVAL        	{ 4 }
        ::= { rcIpConfDhcpEntry 2 }
 
rcIpConfDhcpMinSec OBJECT-TYPE
        SYNTAX        	INTEGER (0..65535)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the minimum number of seconds 
		      	to wait between receiving a DHCP packet and
		      	actually forwarding the DHCP packet to the 
		      	destination device.  A value of zero(0) indicates
		      	forwarding should be done immediately without any
		      	delay."
	DEFVAL        	{ 0 }
        ::= { rcIpConfDhcpEntry 3 }
 
rcIpConfDhcpMode OBJECT-TYPE
        SYNTAX		INTEGER {
				none(0),
				bootp(2),
				dhcp(3),
				both(4)
			}
        ACCESS     	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate what type of DHCP packets this
		      	interface should support.  A value of none(1) will
		      	result in all incoming DHCP and BOOTP packets to
		      	be dropped." 
        DEFVAL        	{ both }
        ::= { rcIpConfDhcpEntry 4 }
 
rcIpConfDhcpRowStatus OBJECT-TYPE
        SYNTAX        	RowStatus
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"An entry is created automatically when the variable
                      	rcIpConfDhcpEnable is set to TRUE.

                      	Once created this entry will only be deleted if the
                      	rcIpConfDhcpRowStatus is set to 'destroy(6)'.  In
                      	which case, the rcIpConfDhcpEnable is automatically
                      	reset to the FALSE setting."
        ::= { rcIpConfDhcpEntry 5 }

rcIpConfDhcpNumRequests OBJECT-TYPE
        SYNTAX        	Counter
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of DHCP requests seen on this interface."
        ::= { rcIpConfDhcpEntry 6 }

rcIpConfDhcpNumReplies OBJECT-TYPE
        SYNTAX        	Counter
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of DHCP replies seen on this interface."
        ::= { rcIpConfDhcpEntry 7 }

rcIpConfDhcpAlwaysBroadcast OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate if DHCP Reply packets should be 
		    	broadcast to the DHCP client on this interface."
	DEFVAL		{ false }
        ::= { rcIpConfDhcpEntry 8 }


-- Ip Dhcp Forward Table
 
rcIpDhcpForwardTable OBJECT-TYPE 
        SYNTAX	      	SEQUENCE OF RcIpDhcpForwardEntry
        ACCESS        	not-accessible 
        STATUS        	mandatory 
        DESCRIPTION   	"DHCP forwarding table."
    ::= { rcIp 9 }

rcIpDhcpForwardEntry OBJECT-TYPE
        SYNTAX        	RcIpDhcpForwardEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry used represents a DHCP forwarding directive."
        INDEX         	{ rcIpDhcpForwardAgentAddr, rcIpDhcpForwardServerAddr }
        ::= { rcIpDhcpForwardTable 1 }
 
RcIpDhcpForwardEntry ::=
        SEQUENCE {
                rcIpDhcpForwardAgentAddr   IpAddress,
                rcIpDhcpForwardServerAddr  IpAddress,
                rcIpDhcpForwardEnable      TruthValue,
                rcIpDhcpForwardMode        INTEGER,
                rcIpDhcpForwardRowStatus   RowStatus
        }
 
rcIpDhcpForwardAgentAddr OBJECT-TYPE
        SYNTAX        	IpAddress
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The IP address configured on an interface
                      	(i.e., a locally configured IP address)."
        ::= { rcIpDhcpForwardEntry 1 }
 
rcIpDhcpForwardServerAddr OBJECT-TYPE
        SYNTAX        	IpAddress
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The IP address of the DHCP server.  If this
	              	IP address corresponds to a locally configured
		      	IP network, the DHCP packet is broadcasted out
	       	      	the interface the IP address is assigned to.
		      	This behavior is known as 'relay agent' mode.

 		      	If this IP address is a remote address, the DHCP
		      	packet is sent via unicast to the remote device.
		      	This behavior is known as 'preferred server' mode."
        ::= { rcIpDhcpForwardEntry 2 }
 
rcIpDhcpForwardEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate whether is entry should be used."
	DEFVAL        	{ true }
        ::= { rcIpDhcpForwardEntry 3 }
 
rcIpDhcpForwardMode OBJECT-TYPE
        SYNTAX        	INTEGER {
				none(0),
				bootp(2),
				dhcp(3),
				both(4)
			}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate whether this entry pertains to
		      	BOOTP packets, DHCP packets, or both."
	DEFVAL        	{ both }
        ::= { rcIpDhcpForwardEntry 4 }
 
rcIpDhcpForwardRowStatus OBJECT-TYPE
        SYNTAX        	RowStatus
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Row status of this entry."
        ::= { rcIpDhcpForwardEntry 5 }


-- IP Filter Group

rcIpFilter OBJECT IDENTIFIER ::= { rcIp 10 }

rcIpFilterFilterTableSize OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the number of entries in the
                      	rcIpFilterTable."
        ::= { rcIpFilter 1 }

rcIpFilterGlobalListTableSize OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the number of entries in the
                      	rcIpFilterGlobalListTable."
        ::= { rcIpFilter 2 }

rcIpFilterBaseListTableSize OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the number of entries in the
                      	rcIpFilterBaseListTable."
        ::= { rcIpFilter 3 }

rcIpFilterPortTableSize OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the number of entries in the
                      	rcIpFilterPortTable."
        ::= { rcIpFilter 4 }

rcIpFilterNextAvailFilterId OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "next available filter-id in the
                        rcIpFilterPortTable."
        ::= { rcIpFilter 5 }
 

-- IP Filter Table

rcIpFilterTable OBJECT-TYPE
        SYNTAX		SEQUENCE OF RcIpFilterEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"A table containing IP filters."
        ::= { rcIpFilter 20 }

rcIpFilterEntry OBJECT-TYPE
	SYNTAX        	RcIpFilterEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"IP filter attributes.  

			The system supports a vast array of filter options.
			Each of these options are supported in this entry.
			If a particular option is not used, the column
			should be set to zero."
        INDEX         	{ rcIpFilterType, rcIpFilterDstAddr,
			  rcIpFilterDstMask, rcIpFilterSrcAddr,
			  rcIpFilterSrcMask, rcIpFilterId }
        ::= { rcIpFilterTable 1 }

RcIpFilterEntry ::= SEQUENCE {
		rcIpFilterType INTEGER,
		rcIpFilterDstAddr IpAddress,
		rcIpFilterDstMask IpAddress,
		rcIpFilterSrcAddr IpAddress,
		rcIpFilterSrcMask IpAddress,
		rcIpFilterId INTEGER (1..4096),
		rcIpFilterName DisplayString (SIZE (0..15)),
		rcIpFilterProtocolType INTEGER,
		rcIpFilterSrcPort INTEGER (0..65535),
		rcIpFilterSrcOption INTEGER,
		rcIpFilterDstPort INTEGER (0..65535),
		rcIpFilterDstOption INTEGER,
		rcIpFilterCopyToCpu TruthValue,
		rcIpFilterMirror TruthValue,
		rcIpFilterHighPriority TruthValue,
		rcIpFilterTcpConnect TruthValue,
		rcIpFilterIeeeVlanPriority INTEGER,
		rcIpFilterUsePktLimit TruthValue,
		rcIpFilterPktLimit INTEGER,
		rcIpFilterRowStatus RowStatus,
                rcIpFilterMode INTEGER,
                rcIpFilterIpTosRule INTEGER,
		rcIpFilterStopOnMatch TruthValue,
                rcIpFilterDiffServMatchIeee8021PEnable TruthValue,
                rcIpFilterDiffServMatchIeee8021P INTEGER(0..7),
                rcIpFilterDiffServMatchDsFieldEnable TruthValue,
                rcIpFilterDiffServMatchDsField INTEGER(0..63),
                rcIpFilterDiffServModifyIeee8021PEnable TruthValue,
                rcIpFilterDiffServModifyIeee8021P INTEGER(0..7),
                rcIpFilterDiffServModifyDsFieldEnable TruthValue,
                rcIpFilterDiffServModifyDsField INTEGER(0..63),
                rcIpFilterDiffServTrafficProfileId INTEGER(0..64),
                rcIpFilterMatchIcmpRequest TruthValue,
                rcIpFilterMatchIpFragment TruthValue,
                rcIpFilterStatisticEnable TruthValue,
                rcIpFilterInOctets Counter32,
                rcIpFilterInPackets Counter32,
                rcIpFilterRateLimitDiscardPackets Counter32

		}

rcIpFilterType OBJECT-TYPE
        SYNTAX		INTEGER {
			   global(1),
			   destination(2),
			   source(3)
			}
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"Used to indicate a particular type of filter.  

                        A 'global' filter is a filter that is applied to
                        all packets irregardless of the packet's source
                        or destination IP address.
 
                        A 'destination' filter is used to match the
                        destination IP address field of incoming packets.
                        When a match is found, this filter is applied to
                        the packet.
 
                        A 'source' filter is used to match the source
                        IP address field of incoming packets.  When a
                        match is found, this filter is applied to the
                        packet."
        ::= { rcIpFilterEntry 1 }

rcIpFilterDstAddr OBJECT-TYPE
        SYNTAX		IpAddress
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"Destination IP address to filter on."
        ::= { rcIpFilterEntry 2 }

rcIpFilterDstMask OBJECT-TYPE
        SYNTAX		IpAddress
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"Destination IP subnet mask to filter on."
        ::= { rcIpFilterEntry 3 }

rcIpFilterSrcAddr OBJECT-TYPE
        SYNTAX		IpAddress
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"Source IP address to filter on."
        ::= { rcIpFilterEntry 4 }

rcIpFilterSrcMask OBJECT-TYPE
        SYNTAX		IpAddress
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"Source IP subnet mask to filter on."
        ::= { rcIpFilterEntry 5 }

rcIpFilterId OBJECT-TYPE
        SYNTAX		INTEGER (1..4096)
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"This filter's unique identifier(id).  This id
			is automatically generated by the system when
			a filter is created.  This id is used in the
			'rcIpFilterGlobalListTable' and 
			'rcIpFilterBaseListTable' when grouping one
			or more filters into a filter list."
        ::= { rcIpFilterEntry 6 }

rcIpFilterName OBJECT-TYPE
        SYNTAX		DisplayString (SIZE (0..15))
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"This filter's name."
        ::= { rcIpFilterEntry 7 }

rcIpFilterProtocolType OBJECT-TYPE
        SYNTAX		INTEGER {
			    ignore(0),
			    icmp(1),
			    tcp(6),
			    udp(17)
			}
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Type of protocol to filter on."
	DEFVAL		{ ignore }
        ::= { rcIpFilterEntry 8 }

rcIpFilterSrcPort OBJECT-TYPE
        SYNTAX		INTEGER (0..65535)
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"TCP/UDP source port to filter on."
	DEFVAL		{ 0 }
        ::= { rcIpFilterEntry 9 }

rcIpFilterSrcOption OBJECT-TYPE
        SYNTAX		INTEGER {
                            equal(0),
                            notEqual(1),
                            greater(2),
                            less(3),
                            ignore(4)
			}
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Type of matching to perform on the field
			'rcIpFilterSrcPort'.
			
			For 'source' and 'destination' filters, this
			value can only be 'equal(1)'."
	DEFVAL 		{ ignore }
        ::= { rcIpFilterEntry 10 }

rcIpFilterDstPort OBJECT-TYPE
        SYNTAX		INTEGER (0..65535)
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"TCP/UDP destination port to filter on."
	DEFVAL		{ 0 }
        ::= { rcIpFilterEntry 11 }

rcIpFilterDstOption OBJECT-TYPE
        SYNTAX		INTEGER {
                            equal(0),
                            notEqual(1),
                            greater(2),
                            less(3),
                            ignore(4)
			}
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Type of matching to perform on the field
			'rcIpFilterDstPort'.

			For 'source' and 'destination' filters, this
			value can only be 'equal(1)'."
	DEFVAL		{ ignore }
        ::= { rcIpFilterEntry 12 }

rcIpFilterCopyToCpu OBJECT-TYPE
        SYNTAX		TruthValue
        ACCESS		read-write
        STATUS		deprecated
        DESCRIPTION	"Used to specify whether a packet matching
			this filter should be copied to the CPU."
	DEFVAL		{ false }
        ::= { rcIpFilterEntry 13 }

rcIpFilterMirror OBJECT-TYPE
        SYNTAX		TruthValue
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Used to specify whether a packet matching
			this filter should be mirrored to the port
			specified by 'rcMirrorByPortMirrorPort'."
	DEFVAL		{ false }
        ::= { rcIpFilterEntry 14 }

rcIpFilterHighPriority OBJECT-TYPE
        SYNTAX		TruthValue
        ACCESS		read-write
        STATUS		deprecated
        DESCRIPTION	"Used to specify whether a packet matching
			this filter should be forwarded with high
			priority." 
	DEFVAL		{ false }
        ::= { rcIpFilterEntry 15 }

rcIpFilterTcpConnect OBJECT-TYPE
        SYNTAX		TruthValue
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Used to specify whether a TCP packet matching
                         this filter should be accepted.  Pass only 
                         those matching TCP packets with either the
                         ACK bit or RST bit set.  Apply only if the IP 
                         Protocol is set to TCP."
	DEFVAL		{ false }
        ::= { rcIpFilterEntry 16 }

rcIpFilterIeeeVlanPriority OBJECT-TYPE
        SYNTAX		INTEGER (0..7)
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Used to specify the priority bits for explicit
                         IEEE VLAN tag for a packet matching this filter.
                         If this priority bit field is greater than the
                         priority field currently in the IEEE tag in the
                         Packet Header, this priority field will be loaded
                         into the Packet Header."
        DEFVAL          { 0 }
        ::= { rcIpFilterEntry 17 }

rcIpFilterUsePktLimit OBJECT-TYPE
        SYNTAX		TruthValue
        ACCESS		read-write
        STATUS		deprecated
        DESCRIPTION	"Used to specify whether the 'rcIpFilterPktLimit'
			field in this entry should be used when applying
			this filter." 
	DEFVAL		{ false }
        ::= { rcIpFilterEntry 18 }

rcIpFilterPktLimit OBJECT-TYPE
        SYNTAX		INTEGER (0..65535)
        ACCESS		read-write
        STATUS		deprecated
        DESCRIPTION	"The maximum packet size limit to filter against."
	DEFVAL		{ 1500 }
        ::= { rcIpFilterEntry 19 }

rcIpFilterRowStatus OBJECT-TYPE
        SYNTAX		RowStatus
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpFilterEntry 20 }

rcIpFilterMode OBJECT-TYPE
        SYNTAX          INTEGER {
                            useDefaultAction(1),
                            forward(2),
                            drop(3)
                        }
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify the operation mode for this entry.
			'useDefaultAction' means use the setting specified
			in the 'rcIpFilterPortDefaultAction' variable.  

			'forward' means forward the packet if the packet 
			satisfies this policy.  

			'drop' means drop the packet if the packet satisfies 
			this policy.

			This variable setting has higher precedence than the
			setting in 'rcIpFilterPortDefaultAction'."
        DEFVAL          { useDefaultAction }
        ::= { rcIpFilterEntry 21 }

rcIpFilterIpTosRule OBJECT-TYPE
        SYNTAX          INTEGER {
			    none(0),
                            ipTosRule1(1),
                            ipTosRule2(2),
                            ipTosRule3(3)
                        }
        ACCESS          read-write
        STATUS          deprecated
        DESCRIPTION     "Used to specify the operation mode for this entry.
                        'none' means do not manupulate the Ip ToS byte.
			'ipTosRule1' means manipulate the Ip ToS byte 
			according to Quid/Gid Rule 1 which is defined in
                        rcIpTosRuleOrRule1.
			'ipTosRule2' means manipulate the Ip ToS byte 
			according to Quid/Gid Rule 2 which is defined in
			rcIpTosRuleOrRule2.
			'ipTosRule3' means manipulate the Ip ToS byte 
			according to Quid/Gid Rule 3 which is defined in
                        rcIpTosRuleOrRule3."
        DEFVAL          { none }
        ::= { rcIpFilterEntry 22 }

rcIpFilterStopOnMatch OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to stop further filtering if this filter
			is applied."
        DEFVAL          { true }
        ::= { rcIpFilterEntry 23 }

rcIpFilterDiffServMatchIeee8021PEnable OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
	DESCRIPTION	"Used to specify whether the value stored in the
			variable 'rcIpFilterDiffServMatchIeee8021P' should
			be used in this filter." 
        DEFVAL          { false }
        ::= { rcIpFilterEntry 24 }

rcIpFilterDiffServMatchIeee8021P OBJECT-TYPE
        SYNTAX          INTEGER (0..7)
        ACCESS          read-write
        STATUS          mandatory
	DESCRIPTION	"Used to specify the match value for the 802.1P
			field.  If the 802.1P field in the incoming packet
			matches this value, then this filter will be
			applied to the packet."
	DEFVAL		{ 0 }
        ::= { rcIpFilterEntry 25 }

rcIpFilterDiffServMatchDsFieldEnable OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify whether the value stored in the 
                        variable 'rcIpFilterDiffServMatchDsField' should    
                        be used in this filter."
        DEFVAL          { false }
        ::= { rcIpFilterEntry 26 }

rcIpFilterDiffServMatchDsField OBJECT-TYPE
        SYNTAX          INTEGER (0..63)
        ACCESS          read-write
        STATUS          mandatory
	DESCRIPTION	"Used to specify the match value for the DSCP
			field.  If the DSCP field in the incoming packet
			matches this value, then this filter will be
			applied to the packet."
	DEFVAL		{ 0 }
        ::= { rcIpFilterEntry 27 }

rcIpFilterDiffServModifyIeee8021PEnable OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify whether the value stored in the 
                        variable 'rcIpFilterDiffServModifyIeee8021P' should    
                        be used in this filter."
        DEFVAL          { false }
        ::= { rcIpFilterEntry 28 }

rcIpFilterDiffServModifyIeee8021P OBJECT-TYPE
        SYNTAX          INTEGER (0..7)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify the value the 802.1P field
			should be modified to if this filter is applied.
			The modification is applied at the egress point."
	DEFVAL		{ 0 }
        ::= { rcIpFilterEntry 29 }

rcIpFilterDiffServModifyDsFieldEnable OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify whether the value stored in the  
                        variable 'rcIpFilterDiffServModifyDsField' should     
                        be used in this filter."
        DEFVAL          { false }
        ::= { rcIpFilterEntry 30 }

rcIpFilterDiffServModifyDsField OBJECT-TYPE
        SYNTAX          INTEGER (0..63)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify the value the DSCP field
			should be modified to if this filter is applied.
			The modification is applied at the egress point."
	DEFVAL		{ 0 }
        ::= { rcIpFilterEntry 31 }

rcIpFilterDiffServTrafficProfileId OBJECT-TYPE
        SYNTAX          INTEGER (0..64)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION    	"Used to specify which traffic profile should
			be applied to packets matching this filter. 
			Traffic profiles are specified in the
			'rc2kQosTrafficProfileTable' table.  A '0'
			value means do not apply any traffic profile."
	DEFVAL		{ 0 }
        ::= { rcIpFilterEntry 32 }

rcIpFilterMatchIcmpRequest OBJECT-TYPE
        SYNTAX		TruthValue
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Used to specify whether matching on ICMP
			Request packets should be performed."
	DEFVAL		{ false }
        ::= { rcIpFilterEntry 33 }

rcIpFilterMatchIpFragment OBJECT-TYPE
        SYNTAX		TruthValue
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Used to specify whether matching on fragmented
			IP packets should be performed."
	DEFVAL		{ false }
        ::= { rcIpFilterEntry 34 }

rcIpFilterStatisticEnable OBJECT-TYPE
        SYNTAX		TruthValue
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Used to turn on/off counters for this filter."
	DEFVAL		{ false }
        ::= { rcIpFilterEntry 35 }

rcIpFilterInOctets OBJECT-TYPE
        SYNTAX          Counter32
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of In-Octets for this filter."
        ::= { rcIpFilterEntry 36 }

rcIpFilterInPackets OBJECT-TYPE
        SYNTAX          Counter32
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of In-Packets for this filter."
        ::= { rcIpFilterEntry 37 }

rcIpFilterRateLimitDiscardPackets OBJECT-TYPE
        SYNTAX          Counter32
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of packets discarded due to rate
			limiting."
        ::= { rcIpFilterEntry 38 }


-- IP Filter Global List Table

rcIpFilterGlobalListTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpFilterGlobalListEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "A table used to store global filter list information.
			Each row in the table contains a set of individual
			filters that make up a particular filter list."
        ::= { rcIpFilter 21 }

rcIpFilterGlobalListEntry OBJECT-TYPE
        SYNTAX          RcIpFilterGlobalListEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "Global filter list attributes."
        INDEX           { rcIpFilterGlobalListId } 
        ::= { rcIpFilterGlobalListTable 1 }

RcIpFilterGlobalListEntry ::= SEQUENCE {
		rcIpFilterGlobalListId INTEGER (1..100),
		rcIpFilterGlobalListName DisplayString (SIZE(0..15)),
		rcIpFilterGlobalListFilterIdListSize INTEGER (0..8),
		rcIpFilterGlobalListFilterIdList IdList(SIZE(16)),
		rcIpFilterGlobalListRowStatus RowStatus,
                rcIpFilterGlobalListMemberPorts PortSet
                }

rcIpFilterGlobalListId OBJECT-TYPE
        SYNTAX		INTEGER (1..100)
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"An unique value to identify a particular global
			filter list." 
        ::= { rcIpFilterGlobalListEntry 1 }

rcIpFilterGlobalListName OBJECT-TYPE
        SYNTAX		DisplayString (SIZE(0..15))	        	
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Name of this filter list."
        ::= { rcIpFilterGlobalListEntry 2 }

rcIpFilterGlobalListFilterIdListSize OBJECT-TYPE
        SYNTAX		INTEGER (0..8)
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"Used to indicate the number of filters are
			associated with this filter list."
        ::= { rcIpFilterGlobalListEntry 3 }

rcIpFilterGlobalListFilterIdList OBJECT-TYPE
        SYNTAX		IdList (SIZE(16))	
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Used to indicate zero or more filters that are
			associated with this filter list.  Each filter
			identifier is stored as two bytes in this array
			starting from offset zero.  Any unused bytes
			should be set to zero."
        ::= { rcIpFilterGlobalListEntry 4 }

rcIpFilterGlobalListRowStatus OBJECT-TYPE
        SYNTAX		RowStatus	
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpFilterGlobalListEntry 5 }

rcIpFilterGlobalListMemberPorts OBJECT-TYPE
        SYNTAX          PortSet
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Ports filter is used on."
        ::= { rcIpFilterGlobalListEntry 6 }


-- IP Filter Base Table

rcIpFilterBaseListTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpFilterBaseListEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "A table used to store base filter list information.
			Each row in the table contains a set of individual
			filters that make up a particular filter list."
        ::= { rcIpFilter 22 }

rcIpFilterBaseListEntry OBJECT-TYPE
        SYNTAX          RcIpFilterBaseListEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "Base filter list attributes."
        INDEX           { rcIpFilterBaseListId } 
        ::= { rcIpFilterBaseListTable 1 }

RcIpFilterBaseListEntry ::= SEQUENCE {
		rcIpFilterBaseListId INTEGER (300..1000),
		rcIpFilterBaseListName DisplayString (SIZE(0..15)),
		rcIpFilterBaseListFilterIdListSize INTEGER (0..128),
		rcIpFilterBaseListFilterIdList IdList (SIZE(256)),
		rcIpFilterBaseListRowStatus RowStatus,
                rcIpFilterBaseListMemberPorts PortSet
                }

rcIpFilterBaseListId OBJECT-TYPE
        SYNTAX		INTEGER (300..1000)
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION     "An unique value to identify a particular base
                        filter list."
        ::= { rcIpFilterBaseListEntry 1 }

rcIpFilterBaseListName OBJECT-TYPE
        SYNTAX		DisplayString (SIZE(0..15))	        	
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Name of this filter list."
        ::= { rcIpFilterBaseListEntry 2 }

rcIpFilterBaseListFilterIdListSize OBJECT-TYPE
        SYNTAX		INTEGER (0..128)
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION     "Used to indicate the number of filters are
                        associated with this filter list."
        ::= { rcIpFilterBaseListEntry 3 }

rcIpFilterBaseListFilterIdList OBJECT-TYPE
        SYNTAX		IdList (SIZE(256))	
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION     "Used to indicate zero or more filters that are
                        associated with this filter list.  Each filter
                        identifier is stored as two bytes in this array
                        starting from offset zero.  Any unused bytes
                        should be set to zero."
        ::= { rcIpFilterBaseListEntry 4 }

rcIpFilterBaseListRowStatus OBJECT-TYPE
        SYNTAX		RowStatus	
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpFilterBaseListEntry 5 }

rcIpFilterBaseListMemberPorts OBJECT-TYPE
        SYNTAX          PortSet
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Ports filter is used on."
        ::= { rcIpFilterBaseListEntry 6 }
 

-- IP Filter Port Table

rcIpFilterPortTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpFilterPortEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "A table used to store port filtering information."
        ::= { rcIpFilter 23 }

rcIpFilterPortEntry OBJECT-TYPE
        SYNTAX          RcIpFilterPortEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "Port entry attributes."
        INDEX           { rcIpFilterPortIfIndex } 
        ::= { rcIpFilterPortTable 1 }

RcIpFilterPortEntry ::= SEQUENCE {
			rcIpFilterPortIfIndex InterfaceIndex,
			rcIpFilterPortFilterListSize INTEGER (0..128),
			rcIpFilterPortFilterList OCTET STRING (SIZE(256)),
			rcIpFilterPortMode INTEGER,
			rcIpFilterPortEnable TruthValue,
			rcIpFilterPortRowStatus RowStatus,
			rcIpFilterPortDefaultAction INTEGER,
                        rcIpFilterPortNumGlobalFilters INTEGER,
                        rcIpFilterPortNumBaseFilters INTEGER
	                }

rcIpFilterPortIfIndex OBJECT-TYPE
        SYNTAX		InterfaceIndex
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"IfIndex value of a port where filtering is
			applied."
        ::= { rcIpFilterPortEntry 1 }

rcIpFilterPortFilterListSize OBJECT-TYPE
        SYNTAX		INTEGER (0..128)
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"Used to indicate the number of filter list(s)
			that are assigned to this port."
        ::= { rcIpFilterPortEntry 2 }

rcIpFilterPortFilterList OBJECT-TYPE
        SYNTAX		OCTET STRING (SIZE(256))	
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION     "Used to indicate zero or more filter lists that 
			are associated with this port.  Each filter list
                        identifier is stored as two bytes in this array
                        starting from offset zero.  Any unused bytes
                        should be set to zero."
        ::= { rcIpFilterPortEntry 3 }

rcIpFilterPortMode OBJECT-TYPE
        SYNTAX		INTEGER {
			    permit(1),
			    deny(2),
                            none(3)
			}	
        ACCESS		read-write
        STATUS		obsolete
        DESCRIPTION	"Used to indicate when filters applied to this
			port should be treated as 'permit' or 'deny'
			filters.
 
                        When filters are not enabled on the port the mode
                        is set to none. The port does not block any packet. 
                        Mode None cannot be used when PortEnable is true. 

			On a port configured as 'permit',  any packet
			that satisfies a filter is allowed to be 
			forwarded.

			On a port configured as 'deny', any packet that
			satisfies a filter is dropped."	
	DEFVAL		{ none }
        ::= { rcIpFilterPortEntry 4 }

rcIpFilterPortEnable OBJECT-TYPE
        SYNTAX		TruthValue	
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Used to indicate whether filtering is configured
			on this port."
	DEFVAL		{ false }
        ::= { rcIpFilterPortEntry 5 }

rcIpFilterPortRowStatus OBJECT-TYPE
        SYNTAX		RowStatus
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpFilterPortEntry 6 }

rcIpFilterPortDefaultAction OBJECT-TYPE
        SYNTAX          INTEGER {
                            forward(1),
                            drop(2),
                            none(3)
                        }
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the default action that should
			be performed when an IP filter applies to a
			particular port.   

                        When filters are not enabled on the port the action
                        is set to 'none' which means the port does not block 
			any packet.  'none' cannot be used when PortEnable is 
			true.
 
                        On a port configured as 'forward',  any packet
                        that satisfies a filter is allowed to be
                        forwarded.
 
                        On a port configured as 'drop', any packet that
                        satisfies a filter is dropped."
        DEFVAL          { none }
        ::= { rcIpFilterPortEntry 7 }

rcIpFilterPortNumGlobalFilters OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "# of global filters"
        ::= { rcIpFilterPortEntry 8 }
 
rcIpFilterPortNumBaseFilters OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "# of base filters"
        ::= { rcIpFilterPortEntry 9 }

-- IP Policy Address Table
 
rcIpPolicy OBJECT IDENTIFIER ::= { rcIp 11 }

rcIpPolicyAddrTableSize OBJECT-TYPE
        SYNTAX        INTEGER 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the 
		      rcIpPolicyAddrTable."
        ::= { rcIpPolicy 1 }

rcIpPolicyAddrTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyAddrEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store different types list entries.
                      Each row in the table contains a list entry that is
                      used by a set of announce policies."
        ::= { rcIpPolicy 2 }
 
rcIpPolicyAddrEntry OBJECT-TYPE
        SYNTAX        RcIpPolicyAddrEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Route entry attributes."
        INDEX         {rcIpPolicyAddrIpAddr}
        ::= { rcIpPolicyAddrTable 1 }
 
RcIpPolicyAddrEntry ::= SEQUENCE {
                        rcIpPolicyAddrIpAddr IpAddress,
                        rcIpPolicyAddrId   INTEGER,
                        rcIpPolicyAddrAddrListIdListSize INTEGER (0..128),
                        rcIpPolicyAddrAddrListIdList OCTET STRING (SIZE(256)),
                        rcIpPolicyAddrRowStatus RowStatus
                        }


rcIpPolicyAddrIpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The network address for this type of list entry. This 
                      value is required for all types of lists."
        ::= { rcIpPolicyAddrEntry 1 }
 
rcIpPolicyAddrId OBJECT-TYPE
        SYNTAX	      INTEGER 
        ACCESS	      read-only
        STATUS	      mandatory
        DESCRIPTION   "Identifier of this entry. Used internally to identify
		      this entry."
        ::= { rcIpPolicyAddrEntry 2 }

rcIpPolicyAddrAddrListIdListSize OBJECT-TYPE
        SYNTAX	      INTEGER (0..128)
        ACCESS	      read-only
        STATUS	      mandatory
        DESCRIPTION   "Used to indicate the number of id(s) in the
		      rcIpPolicyAddrListIdList variable."
        ::= { rcIpPolicyAddrEntry 3 }

rcIpPolicyAddrAddrListIdList OBJECT-TYPE
        SYNTAX	      OCTET STRING (SIZE(256))	
        ACCESS	      read-only
        STATUS	      mandatory
        DESCRIPTION   "Used to indicate zero or more rcIpPolicyAddrListEntry(s)
		      that are referring to this entry.  Each list-id identifier 
                      is stored as two bytes in this array starting from 
                      offset zero.  Any unused bytes should be set to zero."
        ::= { rcIpPolicyAddrEntry 4 }

rcIpPolicyAddrRowStatus OBJECT-TYPE
        SYNTAX		RowStatus
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpPolicyAddrEntry 5 }


-- Ip Policy Network Table

rcIpPolicyNetTableSize OBJECT-TYPE
        SYNTAX        INTEGER 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the 
		      rcIpPolicyNetTable."
        ::= { rcIpPolicy 3 }

rcIpPolicyNetTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyNetEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store different types list entries.
                      Each row in the table contains a list entry that is
                      used by a set of announce policies."
        ::= { rcIpPolicy 4 }
 
rcIpPolicyNetEntry OBJECT-TYPE
        SYNTAX        RcIpPolicyNetEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Route entry attributes."
        INDEX         {rcIpPolicyNetAddr, rcIpPolicyNetMask }
        ::= { rcIpPolicyNetTable 1 }
 
RcIpPolicyNetEntry ::= SEQUENCE {
                        rcIpPolicyNetAddr IpAddress,
                        rcIpPolicyNetMask IpAddress,
                        rcIpPolicyNetId   INTEGER,
                        rcIpPolicyNetNetListIdListSize INTEGER (0..128),
                        rcIpPolicyNetNetListIdList OCTET STRING (SIZE(256)),
                        rcIpPolicyNetRowStatus RowStatus
                        }

rcIpPolicyNetAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The network address for this type of list entry. This 
                      value is required for all types of lists."
        ::= { rcIpPolicyNetEntry 1 }
 
rcIpPolicyNetMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The route mask for this type of list entry. This 
                      value is meaningful only if rcIpPolicyNetEntry 
                      is equal to exactNet(1), rangeNet(2), advertiseNet(3).
                      For other types it should have the value 0.0.0.0."
        ::= { rcIpPolicyNetEntry 2 }

rcIpPolicyNetId OBJECT-TYPE
        SYNTAX	      INTEGER 
        ACCESS	      read-only
        STATUS	      mandatory
        DESCRIPTION   "Used internally to recognize this entry."
        ::= { rcIpPolicyNetEntry 3 }

rcIpPolicyNetNetListIdListSize OBJECT-TYPE
        SYNTAX	      INTEGER (0..128)
        ACCESS	      read-only
        STATUS	      mandatory
        DESCRIPTION   "Used to indicate the number of id(s) in the 
		      rcIpPolicyNetListIdList variable."
        ::= { rcIpPolicyNetEntry 4 }

rcIpPolicyNetNetListIdList OBJECT-TYPE
        SYNTAX	      OCTET STRING (SIZE(256))	
        ACCESS	      read-only
        STATUS	      mandatory
        DESCRIPTION   "Used to indicate zero or more rcIpPolicyNetListEntry(s)  
                      that are referring to this entry.  Each list-id identifier
                      is stored as two bytes in this array starting from 
                      offset zero.  Any unused bytes should be set to zero."
        ::= { rcIpPolicyNetEntry 5 }

rcIpPolicyNetRowStatus OBJECT-TYPE
        SYNTAX		RowStatus
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpPolicyNetEntry 6 }


-- IP Policy Address List Table

rcIpPolicyAddrListTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpPolicyAddrListTable."
        ::= { rcIpPolicy 5 }
 
rcIpPolicyAddrListTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyAddrListEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to group rcIpPolicyAddrEntry(s) 
                      into a list."
        ::= { rcIpPolicy 6 }

rcIpPolicyAddrListEntry OBJECT-TYPE
        SYNTAX        RcIpPolicyAddrListEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Route entry attributes."
        INDEX         { rcIpPolicyAddrListId }
        ::= { rcIpPolicyAddrListTable 1 }
 
RcIpPolicyAddrListEntry ::= SEQUENCE {
                  rcIpPolicyAddrListId INTEGER (1..1000),
                  rcIpPolicyAddrListName DisplayString (SIZE(0..15)),
                  rcIpPolicyAddrListIdListSize INTEGER (0..128),
                  rcIpPolicyAddrListIdList OCTET STRING (SIZE(256)),
                  rcIpPolicyAddrListPolicyIdListSize INTEGER (0..128),
                  rcIpPolicyAddrListPolicyIdList OCTET STRING (SIZE(256)),
                  rcIpPolicyAddrListRowStatus RowStatus
                  }

rcIpPolicyAddrListId OBJECT-TYPE
        SYNTAX        INTEGER (1..1000)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A value that uniquely identifies this list of 
                       rcIpPolicyAddrListEntry."
        ::= { rcIpPolicyAddrListEntry 1 }
 
rcIpPolicyAddrListName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "An administratively-assigned name for this list."
        ::= { rcIpPolicyAddrListEntry 3 }
 
rcIpPolicyAddrListIdListSize OBJECT-TYPE
        SYNTAX        INTEGER (0..128)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of rcIpPolicyAddrNetEntry 
                      id(s) in the rcIpPolicyAddrListIdList variable."
        ::= { rcIpPolicyAddrListEntry 4 }
 
rcIpPolicyAddrListIdList OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(256))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate zero or more AddrListId  that
                      are associated to this list.  Each AddrList identifier
                      is stored as two bytes in this array starting from
                      offset zero.  Any unused bytes should be set to zero."
        ::= { rcIpPolicyAddrListEntry 5 }

rcIpPolicyAddrListPolicyIdListSize OBJECT-TYPE
        SYNTAX        INTEGER (0..128)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of policy id(s) in the 
                      Policy Id list. That are referring to this list."
        ::= { rcIpPolicyAddrListEntry 6 }

rcIpPolicyAddrListPolicyIdList OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(256))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate zero or more policies  that
                      are referring to this entry.  Each policy identifier
                      is stored as two bytes in this array starting from
                      offset zero.  Any unused bytes should be set to zero."
        ::= { rcIpPolicyAddrListEntry 7 }


rcIpPolicyAddrListRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Row status of this entry."
        ::= { rcIpPolicyAddrListEntry 8 }
 

-- RIP Announce Policy Table

rcIpPolicyRipAnnounceTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpPolicyRipAnnounceTable."
        ::= { rcIpPolicy 7 }

rcIpPolicyRipAnnounceTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyRipAnnounceEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store set of announce policies 
		      configured for RIP routing protocol. The Number
                      of entries is given by rcIpPolicyNumRipPolicies."
        ::= { rcIpPolicy 8 }

rcIpPolicyRipAnnounceEntry OBJECT-TYPE
        SYNTAX        RcIpPolicyRipAnnounceEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing configuration information for a 
                      particular announce policy."
        INDEX         { rcIpPolicyRipAnnounceId }
        ::= { rcIpPolicyRipAnnounceTable 1 }

RcIpPolicyRipAnnounceEntry ::= SEQUENCE {
                rcIpPolicyRipAnnounceId INTEGER (1..1000),
                rcIpPolicyRipAnnounceName DisplayString (SIZE(0..15)),
                rcIpPolicyRipAnnounceEnable TruthValue,
		rcIpPolicyRipAnnounceExactNetListId INTEGER (0..1000),
		rcIpPolicyRipAnnounceRangeNetListId INTEGER (0..1000),
		rcIpPolicyRipAnnounceRipGatewayListId INTEGER (0..1000),
		rcIpPolicyRipAnnounceRipInterfaceListId INTEGER (0..1000),
		rcIpPolicyRipAnnounceOspfRouterListId INTEGER (0..1000),
		rcIpPolicyRipAnnounceAnnounceInterfaceListId INTEGER (0..1000),
                rcIpPolicyRipAnnouncePrecedence INTEGER,
                rcIpPolicyRipAnnounceRouteSource INTEGER,
		rcIpPolicyRipAnnounceAdvertiseNetListId INTEGER (0..1000),
                rcIpPolicyRipAnnounceAction INTEGER,
                rcIpPolicyRipAnnounceOspfRouteType INTEGER,
                rcIpPolicyRipAnnounceRipMetric INTEGER (0..15),
                rcIpPolicyRipAnnounceRowStatus RowStatus 
                }

rcIpPolicyRipAnnounceId OBJECT-TYPE
        SYNTAX        INTEGER (1..1000)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A value that uniquely identifies the policy
                      associated with this entry."
        ::= { rcIpPolicyRipAnnounceEntry 1 }

rcIpPolicyRipAnnounceName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "An administratively-assigned name for this policy."
        ::= { rcIpPolicyRipAnnounceEntry 2 }

rcIpPolicyRipAnnounceEnable OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "It indicates whether this policy is enabled or not.
                      The policy should be applied only if it is set to 'true'."
	DEFVAL        { true }
        ::= { rcIpPolicyRipAnnounceEntry 3 }

rcIpPolicyRipAnnounceExactNetListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of 'exact' type entries
                      that are configured for this policy.

 		      An entry with type 'exactNet' or 'rangeNet' represents
                      the network list.  This indicates which networks will
                      match a particular announce policy. 
 
                      An entry with a 'exact' type means to only match the
                      specific network advertisement (netaddr & mask).

                      An 'exact' entry with addr=0.0.0.0 and mask=0.0.0.0
                      means 'match the default route'.

                      If set to '0', this policy applies to all the routes."

        ::= { rcIpPolicyRipAnnounceEntry 4 }

rcIpPolicyRipAnnounceRangeNetListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate zero or more 'range' network entries  
                      that are associated with this policy.  

                      An entry with a 'range' type means to match any network
		      number that falls in the range indicated by the addr &
                      mask.

                      A 'range' entry with addr=0.0.0.0 and mask=0.0.0.0
                      means 'match any route'.

                      If set to '0', this policy applies to all the routes."

        ::= { rcIpPolicyRipAnnounceEntry 5 }

rcIpPolicyRipAnnounceRipGatewayListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to identify the RIP-gatewayList in the list 
                      that are associated with this policy. 

                      This field has meaning only for RIP sourced routes and 
                      if RIP is included as a RouteSource. 
                      The list contains one or more rip-routers (other side
                      of the interface) addresses that could send RIP updates 
                      to this router.  If a router 
                      address is included in this list, this policy applies to 
                      RIP advertisements from that router.
 
                      If set to '0', this policy applies to RIP updates
                      received from any rip routers/interfaces."
 
        ::= { rcIpPolicyRipAnnounceEntry 6 }

rcIpPolicyRipAnnounceRipInterfaceListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the 
                      ripInterfaceIdList that are configured for this policy.

                      This field has meaning only for RIP sourced routes and
                      if RIP is included as a RouteSource. The list contains 
                      one or more rip-interface addresses on this router.
                      If an interface address is incuded in this list, this
                      policy applies to RIP advertisements received on that
                      interface.

                      A value of '0' indicates thtat this policy applies to
                      RIP updates received on any rip-interface."

        ::= { rcIpPolicyRipAnnounceEntry 7 }

rcIpPolicyRipAnnounceOspfRouterListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000) 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the 
                      OspfRouteIds that are configured for this policy.

                      This field has meaning only for OSPF sourced routes and
                      if OSPF is included as a RouteSource. The list contains
                      one or more router IDs of OSPF routers. If a routerId 
                      is included in this list, this policy applies to
                      OSPF advertisements received from that router.

                      A value of '0' indicates that this policy applies to
                      any OPSF routes received from any router."

        ::= { rcIpPolicyRipAnnounceEntry 8 }

rcIpPolicyRipAnnounceAnnounceInterfaceListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the 
                      AnnounceInterfaceids that are configured for this policy.

                      The list contains one or more outbound interface 
                      addresses. If the outbound interface address in this
                      list, the policy applies to RIP updates/advertisements
                      sent through this  interface. 

                      A value of '0' indicates that this policy applies to
                      any outbound RIP interface on this router."

        ::= { rcIpPolicyRipAnnounceEntry 9 }

rcIpPolicyRipAnnouncePrecedence OBJECT-TYPE
        SYNTAX        INTEGER (0..65535) 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Is used while comparing this policy rule with other 
                      policy that a given route may match.  A rule with a 
                      higher precedence value will be chosen over one with 
                      a smaller value. In the case of a tie, the PolicyId is 
                      used (larger wins)."
        ::= { rcIpPolicyRipAnnounceEntry 10 }

rcIpPolicyRipAnnounceRouteSource OBJECT-TYPE
        SYNTAX        INTEGER {
			 direct(1),
			 static(2),
			 rip(4),
			 ospf(8),
			 any(15) 
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Is represented as bitset to indicate route sources. 
                      It can contain one or more route sources. If the route 
                      source is in this bit map, then a route from that source 
                      that meets the other criteria of this policy will match 
                      the policy."
        DEFVAL        { any }
        ::= { rcIpPolicyRipAnnounceEntry 11 }

rcIpPolicyRipAnnounceAdvertiseNetListId OBJECT-TYPE 
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the
                      AdvertiseNetList that are configured for this policy.

                      This has meaning only if the Action is set to 'announce'.
                      It is useful to send or advertise networks that differ 
                      from actual network in the routing table. Also allows 
                      advertisement of an aggregate or default along with the 
                      actual network.  Aggregation is useful if a number of
                      routes in the table falls in a certain range. Can save
                      space by sending aggregate route instead of the individual
                      routes. 
    
                      Actual network/route is included in the update
                      only if there is a match or there there is an entry
                      (address & mask pair) 255.255.255.255/255.255.255.255   
                      in the list."

        ::= { rcIpPolicyRipAnnounceEntry 12 }

rcIpPolicyRipAnnounceAction OBJECT-TYPE
        SYNTAX        INTEGER {
			 announce(1),
			 ignore(2)
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "It indicates whether the route should be announced 
                      or not."
        DEFVAL  { ignore }
        ::= { rcIpPolicyRipAnnounceEntry 13 }

rcIpPolicyRipAnnounceOspfRouteType OBJECT-TYPE
        SYNTAX        INTEGER {
			 type1(1),
                         type2(2),
                         external(3),
                         internal(4),
                         any(5)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Ospf Route type. It applies to OSPF sourced routes only.
		      'type1' means to apply this policy to only type1 OSPF 
                      external routes. 'type2' means to apply this policy to 
                      only type2 OSPF external routes. 'internal' means 'match 
                      ospf specfic routes'. 'any' means apply this policy to 
                      all OSPF external routes."		
         DEFVAL  { any }
        ::= { rcIpPolicyRipAnnounceEntry 14 }

rcIpPolicyRipAnnounceRipMetric OBJECT-TYPE
        SYNTAX        INTEGER (0..15)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "RIP metric. The value is meaningful only if the action 
                      is set to 'announce'. This is optional export metric 
                      to use when advertising a route that matches this policy.
                      If set to zero, the routing table metric calculated for 
                      RIP is is used."
        DEFVAL        {0}
        ::= { rcIpPolicyRipAnnounceEntry 15 }

rcIpPolicyRipAnnounceRowStatus OBJECT-TYPE
        SYNTAX		RowStatus
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpPolicyRipAnnounceEntry 16 }

-- OSPF Announce policy table.

rcIpPolicyOspfAnnounceTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpPolicyOspfAnnounceTable."
        ::= { rcIpPolicy 9 }


rcIpPolicyOspfAnnounceTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyOspfAnnounceEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store set of announce policies 
		      configured for OSPF routing protocol. The Number
                      of entries is given by rcIpPolicyNumOspfPolicies."
        ::= { rcIpPolicy 10 }

rcIpPolicyOspfAnnounceEntry OBJECT-TYPE
        SYNTAX        RcIpPolicyOspfAnnounceEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing configuration information for a 
                      particular announce policy."
        INDEX         { rcIpPolicyOspfAnnounceId }
        ::= { rcIpPolicyOspfAnnounceTable 1 }

RcIpPolicyOspfAnnounceEntry ::= SEQUENCE {
                rcIpPolicyOspfAnnounceId INTEGER (2001..3000),
                rcIpPolicyOspfAnnounceName DisplayString (SIZE (0..15)),
                rcIpPolicyOspfAnnounceEnable TruthValue,
		rcIpPolicyOspfAnnounceExactNetListId INTEGER (0..1000),
		rcIpPolicyOspfAnnounceRangeNetListId INTEGER (0..1000),
		rcIpPolicyOspfAnnounceRipGatewayListId INTEGER (0..1000),
		rcIpPolicyOspfAnnounceRipInterfaceListId INTEGER (0..1000),
                rcIpPolicyOspfAnnouncePrecedence INTEGER,
                rcIpPolicyOspfAnnounceRouteSource INTEGER,
		rcIpPolicyOspfAnnounceAdvertiseNetListId INTEGER (0..1000),
                rcIpPolicyOspfAnnounceAction INTEGER,
                rcIpPolicyOspfAnnounceExtMetricType INTEGER,
                rcIpPolicyOspfAnnounceExtMetric INTEGER (0..65535),
                rcIpPolicyOspfAnnounceRowStatus RowStatus 
                }

rcIpPolicyOspfAnnounceId OBJECT-TYPE
        SYNTAX        INTEGER (2001..3000)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A value that uniquely identifies the policy
                      associated with this entry."
        ::= { rcIpPolicyOspfAnnounceEntry 1 }

rcIpPolicyOspfAnnounceName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "An administratively-assigned name for this policy."
        ::= { rcIpPolicyOspfAnnounceEntry 2 }

rcIpPolicyOspfAnnounceEnable OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "It indicates whether this policy is enabled or not.
                      The policy should be applied only if it is set to 
		      'true'."
	DEFVAL        { true }
        ::= { rcIpPolicyOspfAnnounceEntry 3 }

rcIpPolicyOspfAnnounceExactNetListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of 'exact' type entries
                      that are configured for this policy.
 
                      An entry with type 'exactNet' or 'rangeNet' represents
                      the network list.  This indicates which networks will
                      match a particular announce policy.
 
                      An entry with a 'exact' type means to only match the
                      specific network advertisement (netaddr & mask).
 
                      An 'exact' entry with addr=0.0.0.0 and mask=0.0.0.0
                      means 'match the default route'.
 
                      If set to '0', this policy applies to all the routes."
 
        ::= { rcIpPolicyOspfAnnounceEntry 4 }

rcIpPolicyOspfAnnounceRangeNetListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate zero or more 'range' network entries
                      that are associated with this policy.
 
                      An entry with a 'range' type means to match any network
                      number that falls in the range indicated by the addr &
                      mask.
 
                      A 'range' entry with addr=0.0.0.0 and mask=0.0.0.0
                      means 'match any route'.
 
                      If set to '0', this policy applies to all the routes."

        ::= { rcIpPolicyOspfAnnounceEntry 5 }

rcIpPolicyOspfAnnounceRipGatewayListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to identify the RIP-gatewayList in the list
                      that are associated with this policy.
 
                      This field has meaning only for RIP sourced routes and
                      if RIP is included as a RouteSource.
                      The list contains one or more rip-routers (other side
                      of the interface) addresses that could send RIP updates
                      to this router.  If a router
                      address is included in this list, this policy applies to
                      RIP advertisements from that router.
 
                      If set to '0', this policy applies to RIP updates
                      received from any rip routers/interfaces."

        ::= { rcIpPolicyOspfAnnounceEntry 6 }

rcIpPolicyOspfAnnounceRipInterfaceListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the
                      ripInterfaceIdList that are configured for this policy.
 
                      This field has meaning only for RIP sourced routes and
                      if RIP is included as a RouteSource. The list contains
                      one or more rip-interface addresses on this router.
                      If an interface address is incuded in this list, this
                      policy applies to RIP advertisements received on that
                      interface.
 
                      A value of '0' indicates thtat this policy applies to
                      RIP updates received on any rip-interface."

        ::= { rcIpPolicyOspfAnnounceEntry 7 }


rcIpPolicyOspfAnnouncePrecedence OBJECT-TYPE
        SYNTAX        INTEGER (0..65535) 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Is used while comparing this policy rule with other 
                      policy that a given route may match.  A rule with a 
                      higher precedence value will be chosen over one with 
                      a smaller value. In the case of a tie, the PolicyId is 
                      used (larger wins)."
        ::= { rcIpPolicyOspfAnnounceEntry 8 }

rcIpPolicyOspfAnnounceRouteSource OBJECT-TYPE
        SYNTAX        INTEGER {
			 direct(1),
			 static(2),
			 rip(4),
			 any(7) 
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Is represented as bit map to indicate route sources. 
                      It can contain one or more route sources. If the route 
                      source is in this bit map, then a route from that source 
                      that meets the other criteria of this policy will match 
                      the policy."
        DEFVAL        { any }
        ::= { rcIpPolicyOspfAnnounceEntry 9 }

rcIpPolicyOspfAnnounceAdvertiseNetListId OBJECT-TYPE 
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the
                      AdvertiseNetList that are configured for this policy.
 
                      This has meaning only if the Action is set to 'announce'.
                      It is useful to send or advertise networks that differ
                      from actual network in the routing table. Also allows
                      advertisement of an aggregate or default along with the
                      actual network.  Aggregation is useful if a number of
                      routes in the table falls in a certain range. Can save
                      space by sending aggregate route instead of the individual
                      routes.
 
                      Actual network/route is included in the update
                      only if there is a match or there there is an entry
                      (address & mask pair) 255.255.255.255/255.255.255.255
                      in the list."

        ::= { rcIpPolicyOspfAnnounceEntry 10 }

rcIpPolicyOspfAnnounceAction OBJECT-TYPE
        SYNTAX        INTEGER {
			 announce(1),
			 ignore(2)
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "It indicates whether the route should be announced 
                      or not."
         DEFVAL  { ignore }
        ::= { rcIpPolicyOspfAnnounceEntry 11 }

rcIpPolicyOspfAnnounceExtMetricType OBJECT-TYPE
        SYNTAX        INTEGER {
			 type1(1),
                         type2(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Ospf External metric type. It is used to indicate
		      what type of the external metric it is. 'type1' means to 
                      the cost is 'internal ospf cost + ExtMetric'. 
                      'type2' means the ospf-metric is equal to 'type2'."
         DEFVAL  { type2 }
        ::= { rcIpPolicyOspfAnnounceEntry 12 }

rcIpPolicyOspfAnnounceExtMetric OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "OSPF External metric. The value is meaningful only if 
                      the action is set to 'announce'. This is optional export 
                      metric to use when advertising a route that matches this 
                      policy. Value '0' is used to indicate that route's actual
                      cost is used to announce."
        DEFVAL        { 0 }
        ::= { rcIpPolicyOspfAnnounceEntry 13 }

rcIpPolicyOspfAnnounceRowStatus OBJECT-TYPE
        SYNTAX		RowStatus
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpPolicyOspfAnnounceEntry 14 }
 
-- IP Accept Policy Groups

-- RIP Accept policy table.

rcIpPolicyRipAcceptTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpPolicyRipAcceptTable."
        ::= { rcIpPolicy 11 }

rcIpPolicyRipAcceptTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyRipAcceptEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store set of accept policies 
		      configured for RIP routing protocol. The Number
                      of entries is given by rcIpPolicyNumRipPolicies."
        ::= { rcIpPolicy 12 }

rcIpPolicyRipAcceptEntry OBJECT-TYPE
        SYNTAX        RcIpPolicyRipAcceptEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing configuration information for a 
                      particular accept policy."
        INDEX         { rcIpPolicyRipAcceptId }
        ::= { rcIpPolicyRipAcceptTable 1 }

RcIpPolicyRipAcceptEntry ::= SEQUENCE {
                rcIpPolicyRipAcceptId INTEGER (4001..5000),
                rcIpPolicyRipAcceptName DisplayString (SIZE(0..15)),
                rcIpPolicyRipAcceptEnable TruthValue,
		rcIpPolicyRipAcceptExactNetListId INTEGER (0..1000),
		rcIpPolicyRipAcceptRangeNetListId INTEGER (0..1000),
		rcIpPolicyRipAcceptRipGatewayListId INTEGER (0..1000),
		rcIpPolicyRipAcceptRipInterfaceListId INTEGER (0..1000),
                rcIpPolicyRipAcceptPrecedence INTEGER,
                rcIpPolicyRipAcceptAction INTEGER,
		rcIpPolicyRipAcceptInjectNetListId INTEGER (0..1000),
                rcIpPolicyRipAcceptApplyMask IpAddress,
                rcIpPolicyRipAcceptRowStatus RowStatus 
                }

rcIpPolicyRipAcceptId OBJECT-TYPE
        SYNTAX        INTEGER (4001..5000)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A value that uniquely identifies the policy
                      associated with this entry."
        ::= { rcIpPolicyRipAcceptEntry 1 }

rcIpPolicyRipAcceptName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "An administratively-assigned name for this policy."
        ::= { rcIpPolicyRipAcceptEntry 2 }

rcIpPolicyRipAcceptEnable OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "It indicates whether this policy is enabled or not.
                      The policy should be applied only if it is set to 'true'."
	DEFVAL        { true }
        ::= { rcIpPolicyRipAcceptEntry 3 }

rcIpPolicyRipAcceptExactNetListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of 'exact' type entries
                      that are configured for this policy.

 		      An entry with type 'exactNet' or 'rangeNet' represents
                      the network list.  This indicates which networks will
                      match a particular accept policy. 
 
                      An entry with a 'exact' type means to only match the
                      specific network advertisement (netaddr & mask).

                      An 'exact' entry with addr=0.0.0.0 and mask=0.0.0.0
                      means 'match the default route'."
        ::= { rcIpPolicyRipAcceptEntry 4 }

rcIpPolicyRipAcceptRangeNetListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate zero or more 'range' network entries  
                      that are associated with this policy.  

                      An entry with a 'range' type means to match any network
		      number that falls in the range indicated by the addr &
                      mask.

                      A 'range' entry with addr=0.0.0.0 and mask=0.0.0.0
                      means 'match any route'.

                      A null list means 'match any route'."
        ::= { rcIpPolicyRipAcceptEntry 5 }

rcIpPolicyRipAcceptRipGatewayListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to identify the RIP-gatewayList in the 
                      PolicyListTable that iares associated with this 
                      policy. The list contains the addresses of one or more 
                      routers that could send RIP updates to this router.
                      If a router address is included in this list, this
                      policy applies to RIP advertisements from that router.
 
                      If set to '0', this policy applies to RIP updates
                      from any router."

        ::= { rcIpPolicyRipAcceptEntry 6 }

rcIpPolicyRipAcceptRipInterfaceListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate ListId defined for RipInterfaceList
                      in the rcIpPolicyListTable that is assiciated 
                      with this policy. 
                      The list contains the addresses of one or more interfaces
                      on this router.  If an interface address is included in 
                      the list, this policy applies to RIP advertisements 
                      received on that interface.
 
                      If set to '0', this policy applies to RIP updates
                      received on any interface."

        ::= { rcIpPolicyRipAcceptEntry 7 }

rcIpPolicyRipAcceptPrecedence OBJECT-TYPE
        SYNTAX        INTEGER (0..65535) 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Is used while comparing this policy rule with other 
                      policy that a given route may match.  A rule with a 
                      higher precedence value will be chosen over one with 
                      a smaller value. In the case of a tie, the PolicyId is 
                      used (larger wins)."
        ::= { rcIpPolicyRipAcceptEntry 8 }

rcIpPolicyRipAcceptAction OBJECT-TYPE
        SYNTAX        INTEGER {
			 accept(1),
			 ignore(2)
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "It indicates whether the route should be acceptd 
                      or not."
         DEFVAL  { accept }
        ::= { rcIpPolicyRipAcceptEntry 9 }

rcIpPolicyRipAcceptInjectNetListId OBJECT-TYPE 
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the ListId of the InjectNetList
                      in the rcIpPolicyListTable entry that is assiciated
                      with for this policy. If teh action is 'accept' and if it
                      is desired to insert networks into the routing table that
                      differ from the actual advertised network. For instance,
                      if a number of networks in a certain range are learned
                      and an aggregate advertisement could be inserted instead
                      of the individual networks. 

                      Upon receiving a route that matches this policy, all
                      networks in this list will be considered for inclusion 
                      in the routing table. If the list is empty or if the
                      value of the ListId is '0' then the actual received
                      network is considered.

                      An encoding of 255.255.255.255/255.255.255.255 means
                      'match the actual received network.'. This allows
                      insertion of an aggregate or default along with the 
                      actual netowrk."
        ::= { rcIpPolicyRipAcceptEntry 10 }

rcIpPolicyRipAcceptApplyMask OBJECT-TYPE
        SYNTAX		IpAddress
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"If the 'action' is set to 'accept' and the actual
                        received network will be considered, this is an
                        optional IP address mask that will be applied to the 
                        network number from the RIP update.  This is used to 
                        override the interface's subnet mask in the presence 
                        of networks with variable length subnet masks."
        ::= { rcIpPolicyRipAcceptEntry 11 }

rcIpPolicyRipAcceptRowStatus OBJECT-TYPE
        SYNTAX		RowStatus
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpPolicyRipAcceptEntry 12 }

-- OSPF Accept policy table.
 
rcIpPolicyOspfAcceptTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpPolicyOspfAcceptTable."
        ::= { rcIpPolicy 13 }

rcIpPolicyOspfAcceptTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyOspfAcceptEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store set of accept policies 
		      configured for RIP routing protocol. The Number
                      of entries is given by rcIpPolicyNumRipPolicies."
        ::= { rcIpPolicy 14 }

rcIpPolicyOspfAcceptEntry OBJECT-TYPE
        SYNTAX        RcIpPolicyOspfAcceptEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing configuration information for a 
                      particular accept policy."
        INDEX         { rcIpPolicyOspfAcceptId }
        ::= { rcIpPolicyOspfAcceptTable 1 }

RcIpPolicyOspfAcceptEntry ::= SEQUENCE {
                rcIpPolicyOspfAcceptId INTEGER (6001..7000),
                rcIpPolicyOspfAcceptName DisplayString (SIZE(0..15)),
                rcIpPolicyOspfAcceptEnable TruthValue,
		rcIpPolicyOspfAcceptExactNetListId INTEGER (0..1000),
		rcIpPolicyOspfAcceptRangeNetListId INTEGER (0..1000),
                rcIpPolicyOspfAcceptPrecedence INTEGER,
                rcIpPolicyOspfAcceptAction INTEGER,
		rcIpPolicyOspfAcceptInjectNetListId INTEGER (0..1000),
                rcIpPolicyOspfAcceptExtType INTEGER,
                rcIpPolicyOspfAcceptRowStatus RowStatus 
                }

rcIpPolicyOspfAcceptId OBJECT-TYPE
        SYNTAX        INTEGER (6001..7000)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A value that uniquely identifies the policy
                      associated with this entry."
        ::= { rcIpPolicyOspfAcceptEntry 1 }

rcIpPolicyOspfAcceptName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "An administratively-assigned name for this policy."
        ::= { rcIpPolicyOspfAcceptEntry 2 }

rcIpPolicyOspfAcceptEnable OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "It indicates whether this policy is enabled or not.
                      The policy should be applied only if it is set to 'true'."
	DEFVAL        { true }
        ::= { rcIpPolicyOspfAcceptEntry 3 }

rcIpPolicyOspfAcceptExactNetListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of 'exact' type entries
                      that are configured for this policy.

 		      An entry with type 'exactNet' or 'rangeNet' represents
                      the network list.  This indicates which networks will
                      match a particular accept policy. 
 
                      An entry with a 'exact' type means to only match the
                      specific network advertisement (netaddr & mask).

                      An 'exact' entry with addr=0.0.0.0 and mask=0.0.0.0
                      means 'match the default route'."
        ::= { rcIpPolicyOspfAcceptEntry 4 }

rcIpPolicyOspfAcceptRangeNetListId OBJECT-TYPE
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate zero or more 'range' network entries  
                      that are associated with this policy.  

                      An entry with a 'range' type means to match any network
		      number that falls in the range indicated by the addr &
                      mask.

                      A 'range' entry with addr=0.0.0.0 and mask=0.0.0.0
                      means 'match any route'.

                      A null list means 'match any route'."
        ::= { rcIpPolicyOspfAcceptEntry 5 }

rcIpPolicyOspfAcceptPrecedence OBJECT-TYPE
        SYNTAX        INTEGER (0..65535) 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Is used while comparing this policy rule with other 
                      policy that a given route may match.  A rule with a 
                      higher precedence value will be chosen over one with 
                      a smaller value. In the case of a tie, the PolicyId is 
                      used (larger wins)."
        ::= { rcIpPolicyOspfAcceptEntry 6 }

rcIpPolicyOspfAcceptAction OBJECT-TYPE
        SYNTAX        INTEGER {
			 accept(1),
			 ignore(2)
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "It indicates whether the route should be acceptd 
                      or not."
         DEFVAL  { accept }
        ::= { rcIpPolicyOspfAcceptEntry 7 }

rcIpPolicyOspfAcceptInjectNetListId OBJECT-TYPE 
        SYNTAX        INTEGER (0..1000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the ListId of the InjectNetList
                      in the rcIpPolicyListTable entry that is assiciated
                      with for this policy. If teh action is 'accept' and if it
                      is desired to insert networks into the routing table that
                      differ from the actual advertised network. For instance,
                      if a number of networks in a certain range are learned
                      and an aggregate advertisement could be inserted instead
                      of the individual networks. 

                      Upon receiving a route that matches this policy, all
                      networks in this list will be considered for inclusion 
                      in the routing table. If the list is empty or if the
                      value of the ListId is '0' then the actual received
                      network is considered.

                      An encoding of 255.255.255.255/255.255.255.255 means
                      'match the actual received network.'. This allows
                      insertion of an aggregate or default along with the 
                      actual netowrk."
        ::= { rcIpPolicyOspfAcceptEntry 8 }

rcIpPolicyOspfAcceptExtType OBJECT-TYPE
        SYNTAX		INTEGER {
                           type1(1),
                           type2(2),
                           any(3)
                        }

        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION     "Used to indicate the ospf external type. This 
                        parameter describes which types of OSPF ASE routes
                        match this policy. 
                        'any' means 'match either ASE type 1 or 2'.	
                        'type1' means 'match any external type 1'.
                        'type2' means 'match any external type 2"
        ::= { rcIpPolicyOspfAcceptEntry 9 }

rcIpPolicyOspfAcceptRowStatus OBJECT-TYPE
        SYNTAX		RowStatus
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpPolicyOspfAcceptEntry 10 }


-- IP Policy Network List Table

rcIpPolicyNetListTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpPolicyNetListTable."
        ::= { rcIpPolicy 15 }
 
rcIpPolicyNetListTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyNetListEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to group rcIpPolicyAddrEntry(s) 
                      into a list."
        ::= { rcIpPolicy 16 }

rcIpPolicyNetListEntry OBJECT-TYPE
        SYNTAX        RcIpPolicyNetListEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Route entry attributes."
        INDEX         { rcIpPolicyNetListId }
        ::= { rcIpPolicyNetListTable 1 }
 
RcIpPolicyNetListEntry ::= SEQUENCE {
                  rcIpPolicyNetListId INTEGER (1..1000),
                  rcIpPolicyNetListName DisplayString (SIZE(0..15)),
                  rcIpPolicyNetListIdListSize INTEGER (0..128),
                  rcIpPolicyNetListIdList OCTET STRING (SIZE(256)),
                  rcIpPolicyNetListPolicyIdListSize INTEGER (0..128),
                  rcIpPolicyNetListPolicyIdList OCTET STRING (SIZE(256)),
                  rcIpPolicyNetListRowStatus RowStatus
                  }

rcIpPolicyNetListId OBJECT-TYPE
        SYNTAX        INTEGER (1..1000)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A value that uniquely identifies this list of 
                       rcIpPolicyNetListEntry."
        ::= { rcIpPolicyNetListEntry 1 }
 
rcIpPolicyNetListName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "An administratively-assigned name for this list."
        ::= { rcIpPolicyNetListEntry 3 }
 
rcIpPolicyNetListIdListSize OBJECT-TYPE
        SYNTAX        INTEGER (0..128)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of rcIpPolicyNetEntry 
                      id(s) in the rcIpPolicyNetListIdList variable."
        ::= { rcIpPolicyNetListEntry 4 }
 
rcIpPolicyNetListIdList OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(256))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate zero or more NetListId  that
                      are associated to this list.  Each NetList identifier
                      is stored as two bytes in this array starting from
                      offset zero.  Any unused bytes should be set to zero."
        ::= { rcIpPolicyNetListEntry 5 }

rcIpPolicyNetListPolicyIdListSize OBJECT-TYPE
        SYNTAX        INTEGER (0..128)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of policy id(s) in the 
                      Policy Id list. That are referring to this list."
        ::= { rcIpPolicyNetListEntry 6 }

rcIpPolicyNetListPolicyIdList OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(256))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate zero or more policies  that
                      are referring to this entry.  Each policy identifier
                      is stored as two bytes in this array starting from
                      offset zero.  Any unused bytes should be set to zero."
        ::= { rcIpPolicyNetListEntry 7 }

rcIpPolicyNetListRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Row status of this entry."
        ::= { rcIpPolicyNetListEntry 8 }

 
-- DVMRP Group Extension
 
rcIpDvmrp OBJECT IDENTIFIER ::= { rcIp 12 }
 
rcIpDvmrpGlobal   OBJECT IDENTIFIER       ::= { rcIpDvmrp 1 }

rcIpDvmrpGlobalEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The enabled status of IP Multicast Dvmrp routing
                      on this router."
        ::= { rcIpDvmrpGlobal 1 }

rcIpDvmrpGlobalUpdateInterval OBJECT-TYPE
        SYNTAX         INTEGER (10..2000)
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "Route upd interval"
            DEFVAL         { 60 }
        ::= { rcIpDvmrpGlobal 2 }
 
rcIpDvmrpGlobalTriggeredUpdateInterval OBJECT-TYPE
        SYNTAX         INTEGER (5..1000)
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "Trigger upd interval"
            DEFVAL         { 5 }
        ::= { rcIpDvmrpGlobal 3 }
 
rcIpDvmrpGlobalLeafTimeOut OBJECT-TYPE
        SYNTAX         INTEGER (25..4000)
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "Hold down timer for leaf"
            DEFVAL         { 200 }
        ::= { rcIpDvmrpGlobal 4 }
 
rcIpDvmrpGlobalNbrTimeOut OBJECT-TYPE
        SYNTAX         INTEGER (35..8000)
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "Time to age out nbr"
            DEFVAL         { 140 }
        ::= { rcIpDvmrpGlobal 5 }
 
rcIpDvmrpGlobalNbrProbeInterval OBJECT-TYPE
        SYNTAX         INTEGER (5..30)
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "How often to send probe"
            DEFVAL         { 10 }
        ::= { rcIpDvmrpGlobal 6 }
 
-- rcIpDvmrpTable
 
rcIpDvmrpTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpDvmrpTableEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Dvmrp Interface extension table.  This table
                      augments the standard dvmrpInterfaceTable defined
                      in <draft-thaler-dvmrp-mib-09.txt>."
        ::= { rcIpDvmrp 2 }
 
rcIpDvmrpTableEntry OBJECT-TYPE
        SYNTAX        RcIpDvmrpTableEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing Proprietary DVMRP interface
                      information.  An entry is automatically created
                      in this table when an ip address is configured on
                      an interface."
        INDEX         { rcIpDvmrpTableIfIndex }
        ::= { rcIpDvmrpTable 1 }
 
RcIpDvmrpTableEntry ::=
        SEQUENCE {
                rcIpDvmrpTableIfIndex InterfaceIndex,
                rcIpDvmrpTableEnable TruthValue,
                rcIpDvmrpTableMetric INTEGER
        }
 
rcIpDvmrpTableIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The index value which uniquely identifies the
                      interface to which this entry is applicable.
                      The interface identified by a particular value
                      of this index is the same interface as
                      identified by the same value of ifIndex."
        ::= { rcIpDvmrpTableEntry 1 }
 
rcIpDvmrpTableEnable OBJECT-TYPE
        SYNTAX         TruthValue
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION
                "The administrative status of DVMRP in the router.  The
                value 'enabled' denotes that the DVMRP is enableed on
                the interface; 'disabled' disables it on the interface."
        ::= { rcIpDvmrpTableEntry 2 }

rcIpDvmrpTableMetric OBJECT-TYPE
        SYNTAX         INTEGER (1..31)
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "Dvmrp cost on this interface."
        ::= { rcIpDvmrpTableEntry 3 }


-- Ip UDP Protocol Table
 
rcIpUdp OBJECT IDENTIFIER ::= { rcIp 13 }

rcIpUdpProtocolTableSize OBJECT-TYPE
        SYNTAX        INTEGER 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the 
		      rcIpUdpProtocolTable."
        ::= { rcIpUdp 1 }

rcIpUdpProtocolTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpUdpProtocolEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "list of UDP protocols. Used to determine whether to
                         forward the UDP broadcast packet or not."
    ::= { rcIpUdp 2 }

rcIpUdpProtocolEntry OBJECT-TYPE
        SYNTAX        	RcIpUdpProtocolEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"Used to include a particular UDP port in the table.  
		      	An entry in this table indicates that the box might do 
		      	forwarding of UDP broadcast packets if there is a 
                        matching entry for this packet in the 
                        rcIpUdpPortFwdTable."
        INDEX         	{ rcIpUdpProtocolPortNumber }
        ::= { rcIpUdpProtocolTable 1 }
 
RcIpUdpProtocolEntry ::=
        SEQUENCE {
                rcIpUdpProtocolPortNumber      INTEGER,
                rcIpUdpProtocolName    	       DisplayString,
                rcIpUdpProtocolRowStatus       RowStatus
        }
 
rcIpUdpProtocolPortNumber OBJECT-TYPE
        SYNTAX        	INTEGER (1..65535)
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"well-known UDP Port number. Pre-assigned port
                         number for this protocol. Port used by the
                         server process as its contact port. It cannot 
                         be BOOTP/DHCP port#s 67, 68."
        ::= { rcIpUdpProtocolEntry 1 }
 
rcIpUdpProtocolName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(1..15))
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the name of the protocol 
		      	that is running on top of UDP protocol. 
                        cannot change the name once created. This 
                        should be set while creating the entry."  
        ::= { rcIpUdpProtocolEntry 2 }
 
rcIpUdpProtocolRowStatus OBJECT-TYPE
        SYNTAX        	RowStatus
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Rowstatus of this entry."
        ::= { rcIpUdpProtocolEntry 3 }


-- Ip Udp Port Forward Table

rcIpUdpPortFwdTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpUdpPortFwdTable."
        ::= { rcIpUdp 3 }
 
rcIpUdpPortFwdTable OBJECT-TYPE 
        SYNTAX	      	SEQUENCE OF RcIpUdpPortFwdEntry
        ACCESS        	not-accessible 
        STATUS        	mandatory 
        DESCRIPTION   	"Udp forward entry table."
    ::= { rcIpUdp 4 }

rcIpUdpPortFwdEntry OBJECT-TYPE
        SYNTAX        	RcIpUdpPortFwdEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry is configured to specify forwarding policy
                         parameters."
        INDEX         	{ rcIpUdpPortFwdDestPort,
                          rcIpUdpPortFwdDestAddr}
        ::= { rcIpUdpPortFwdTable 1 }
 
RcIpUdpPortFwdEntry ::=
        SEQUENCE {
                rcIpUdpPortFwdDestPort      INTEGER,
                rcIpUdpPortFwdDestAddr      IpAddress,
                rcIpUdpPortFwdId            INTEGER,
                rcIpUdpPortFwdFwdListIdListSize INTEGER (0..32),
                rcIpUdpPortFwdFwdListIdList IdList(SIZE(16)),
                rcIpUdpPortFwdNumFwdPackets Counter,
                rcIpUdpPortFwdNumDropPacketsTtlExpired Counter,
                rcIpUdpPortFwdNumDropPacketsDestUnreach Counter,
                rcIpUdpPortFwdRowStatus     RowStatus
        }
 
rcIpUdpPortFwdDestPort OBJECT-TYPE
        SYNTAX        	INTEGER(1..65535)
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The well-known port number defined for UDP/TCP 
                        depending on the value of IpProtoType field in this
                        entry. This port number has to be defined in the
                        rcIpUdpProtoTable. In order to select this policy the 
                        destination port number has to match the DestPort 
                        value."
        ::= { rcIpUdpPortFwdEntry 1 }
 
rcIpUdpPortFwdDestAddr OBJECT-TYPE
        SYNTAX        	IpAddress
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Destination IP address. The IP addres to which the 
                        UDP/TCP broadcast should be forwarded. This IP address 
                        can be any IP server address or subnet broadcast 
                        address.  If the IP address is one of the routable 
                        interface's address on the router, the frame will be 
                        rebroadcast out as a limited broadcast. If the Ip 
                        address is that of a server then the received 
                        broadcast packet will be sent as a unicast packet to 
                        this address."
        ::= { rcIpUdpPortFwdEntry 2 }

rcIpUdpPortFwdId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Identifier of this entry. Used internally to identify
                      this entry."
        ::= { rcIpUdpPortFwdEntry 3 }

rcIpUdpPortFwdFwdListIdListSize OBJECT-TYPE
        SYNTAX        INTEGER (0..32)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of id(s) in the
                      rcIpUdpPortFwdListId variable."
        ::= { rcIpUdpPortFwdEntry 4 }

rcIpUdpPortFwdFwdListIdList OBJECT-TYPE
        SYNTAX        IdList(SIZE(16))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate zero or more rcIpUdpPortFwdListEntry(s)
                      that are referring to this entry.  Each list-id identifier
                      is stored as two bytes in this array starting from
                      offset zero.  Any unused bytes should be set to zero."
        ::= { rcIpUdpPortFwdEntry 5 }
 
rcIpUdpPortFwdNumFwdPackets OBJECT-TYPE
        SYNTAX        	Counter
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of UDP/TCP broadcast packets forwarded
                        using this policy."
        ::= { rcIpUdpPortFwdEntry 6 }

rcIpUdpPortFwdNumDropPacketsTtlExpired OBJECT-TYPE
        SYNTAX        	Counter
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of UDP/TCP broadcast packets dropped
                        because the TTL has expired."
        ::= { rcIpUdpPortFwdEntry 7 }

rcIpUdpPortFwdNumDropPacketsDestUnreach OBJECT-TYPE
        SYNTAX        	Counter
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of UDP/TCP broadcast packets dropped
                        because the rcIpUdpPortFwdDestAddr specified in
                        this policy was unreachable."
        ::= { rcIpUdpPortFwdEntry 8 }

rcIpUdpPortFwdRowStatus OBJECT-TYPE
        SYNTAX        	RowStatus
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Row status of this entry."
        ::= { rcIpUdpPortFwdEntry 9 }

-- Udp Port Fwd List Table 

rcIpUdpPortFwdListTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpUdpPortFwdListTable."
        ::= { rcIpUdp 5 }

rcIpUdpPortFwdListTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpUdpPortFwdListEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to group rcIpUdpPortFwdEntry(s) 
                      into a list."
        ::= { rcIpUdp 6 }

rcIpUdpPortFwdListEntry OBJECT-TYPE
        SYNTAX        RcIpUdpPortFwdListEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Route entry attributes."
        INDEX         { rcIpUdpPortFwdListId }
        ::= { rcIpUdpPortFwdListTable 1 }
 
RcIpUdpPortFwdListEntry ::= SEQUENCE {
                  rcIpUdpPortFwdListId INTEGER (1..1000),
                  rcIpUdpPortFwdListName DisplayString (SIZE(0..15)),
                  rcIpUdpPortFwdListFwdIdListSize INTEGER (0..16),
                  rcIpUdpPortFwdListFwdIdList OCTET STRING (SIZE(32)),
                  rcIpUdpPortFwdListRowStatus RowStatus
                  }

rcIpUdpPortFwdListId OBJECT-TYPE
        SYNTAX        INTEGER (1..1000)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A value that uniquely identifies this list of 
                       rcIpUdpPortFwdListEntry."
        ::= { rcIpUdpPortFwdListEntry 1 }
 
rcIpUdpPortFwdListName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "An administratively-assigned name for this list."
        ::= { rcIpUdpPortFwdListEntry 3 }
 
rcIpUdpPortFwdListFwdIdListSize OBJECT-TYPE
        SYNTAX        INTEGER (0..16)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of rcIpUdpPortFwdNetEntry 
                      id(s) in the rcIpUdpPortFwdListIdList variable."
        ::= { rcIpUdpPortFwdListEntry 4 }
 
rcIpUdpPortFwdListFwdIdList OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(32))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate zero or more UdpPortFwd entries 
                      that are associated to this list.  Each entry identifier
                      is stored as two bytes in this array starting from
                      offset zero.  Any unused bytes should be set to zero."
        ::= { rcIpUdpPortFwdListEntry 5 }

rcIpUdpPortFwdListRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Row status of this entry."
        ::= { rcIpUdpPortFwdListEntry 6 }
 

-- Ip Config Broadcast Forwarding Table

rcIpUdpConfBroadcastIntfTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpUdpBroadcastIntfTable."
        ::= { rcIpUdp 7 }
 
rcIpUdpConfBroadcastIntfTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpUdpConfBroadcastIntfEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP broadcast forward configuration table"
    ::= { rcIpUdp 8 }

rcIpUdpConfBroadcastIntfEntry OBJECT-TYPE
        SYNTAX        	RcIpUdpConfBroadcastIntfEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure UDP broadcast forward on a 
                        particular interface."
        INDEX         	{ rcIpUdpConfBroadcastIntfLocalIfAddr }
        ::= { rcIpUdpConfBroadcastIntfTable 1 }
 
RcIpUdpConfBroadcastIntfEntry ::=
        SEQUENCE {
                rcIpUdpConfBroadcastIntfLocalIfAddr   	    IpAddress,
                rcIpUdpConfBroadcastIntfUdpPortFwdListId    INTEGER (0..100),
                rcIpUdpConfBroadcastIntfMaxTtl    	    INTEGER (1..16),
                rcIpUdpConfBroadcastIntfNumRxPkts           Counter,
                rcIpUdpConfBroadcastIntfNumFwdPkts          Counter,
                rcIpUdpConfBroadcastIntfNumDropPktsMaxTtlExpired  Counter,
                rcIpUdpConfBroadcastIntfNumDropPktsDestUnreach    Counter,
                rcIpUdpConfBroadcastIntfNumDropPktsUnknownPort    Counter,
                rcIpUdpConfBroadcastIntfRowStatus 	              RowStatus
 
        }
 
rcIpUdpConfBroadcastIntfLocalIfAddr OBJECT-TYPE
        SYNTAX        	IpAddress 
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The ip address of the local interface that is
           	        partipating in the forwarding UDP broadcast packets."
        ::= { rcIpUdpConfBroadcastIntfEntry 1 }
 
rcIpUdpConfBroadcastIntfUdpPortFwdListId OBJECT-TYPE
        SYNTAX        INTEGER (0..100)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number UDP ports that this 
                      interface is configured to forward.

                      A value of '0' indicates that this interface will not
                      forward any UDP broadcast packets. This is a required
                      field to create an entry."
        ::= { rcIpUdpConfBroadcastIntfEntry 2 }

rcIpUdpConfBroadcastIntfMaxTtl OBJECT-TYPE
        SYNTAX        	INTEGER (1..16)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the maximum number of hops an 
		      	IP broadcast packet can take from the source 
                        device to the destination device."
 	    DEFVAL        	{ 4 }
        ::= { rcIpUdpConfBroadcastIntfEntry 3 }
 
rcIpUdpConfBroadcastIntfNumRxPkts OBJECT-TYPE
        SYNTAX        	Counter
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of UDP/TCP broadcast packets 
                        received by this local interface."
        ::= { rcIpUdpConfBroadcastIntfEntry 4 }

rcIpUdpConfBroadcastIntfNumFwdPkts OBJECT-TYPE
        SYNTAX        	Counter
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of UDP/TCP broadcast packets 
                        forwarded."
        ::= { rcIpUdpConfBroadcastIntfEntry 5 }

rcIpUdpConfBroadcastIntfNumDropPktsMaxTtlExpired OBJECT-TYPE
        SYNTAX        	Counter
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of UDP/TCP broadcast packets 
                        dropped because the TTL has expired."
        ::= { rcIpUdpConfBroadcastIntfEntry 6 }

rcIpUdpConfBroadcastIntfNumDropPktsDestUnreach OBJECT-TYPE
        SYNTAX        	Counter
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of UDP broadcast packets 
                        dropped because the destination was unreachable."
        ::= { rcIpUdpConfBroadcastIntfEntry 7 }

rcIpUdpConfBroadcastIntfNumDropPktsUnknownPort OBJECT-TYPE
        SYNTAX        	Counter
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of UDP/TCP broadcast packets 
                        dropped because the destination port/protocol 
                        specified has no matching forwarding policy." 
        ::= { rcIpUdpConfBroadcastIntfEntry 8 }

rcIpUdpConfBroadcastIntfRowStatus OBJECT-TYPE
        SYNTAX        	RowStatus
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Entry row status."
        ::= { rcIpUdpConfBroadcastIntfEntry 9 }

--IP ToS Rule
rcIpTosRule   OBJECT IDENTIFIER       ::= { rcIp 14}

rcIpTosRuleAndMask OBJECT-TYPE
        SYNTAX        INTEGER (0..255)
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "And Mask. The Ip ToS byte in the Ip header
                       is logically ANDed with this value, and then logically
                       ORed with the one of the OrRules below."
        ::= { rcIpTosRule 1 }

rcIpTosRuleOrRule1 OBJECT-TYPE
        SYNTAX        INTEGER (0..255)
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "Quid/Gid Or rule #1. The Ip ToS byte in the Ip header
                       is logically ORed with this value."
        ::= { rcIpTosRule 2 }

rcIpTosRuleOrRule2 OBJECT-TYPE
        SYNTAX        INTEGER (0..255)
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "Quid/Gid Or rule #2. The Ip ToS byte in the Ip header
                       is logically ORed with this value."
        ::= { rcIpTosRule 3 }

rcIpTosRuleOrRule3 OBJECT-TYPE
        SYNTAX        INTEGER (0..255)
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "Quid/Gid Or rule #3. The Ip ToS byte in the Ip header
                       is logically ORed with this value."
        ::= { rcIpTosRule 4 }

rcIpTosRuleTosPriorityEnable OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Enable Tos priority."
        ::= { rcIpTosRule 5 }
 
rcIpTosRuleTosThreshold OBJECT-TYPE
        SYNTAX        INTEGER {
                         level0(0),
                         level1(1),
                         level2(2),
                         level3(3),
                         level4(4),
                         level5(5),
                         level6(6),
                         level7(7)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "tos threshold"
        ::= { rcIpTosRule 6 }

--IP Static Route
rcIpStaticRoute OBJECT IDENTIFIER       ::= { rcIp 15}

rcIpStaticRouteTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "size of Ip Static Route Table."
        ::= { rcIpStaticRoute 1 }

rcIpStaticRouteTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpStaticRouteEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "This table is used to add static IP routes to
			the device.  Routes added into this table will
			automatically show-up in the 'rcIpRouteTable'
			when the device is actively using the route
			to forward IP traffic." 
    ::= { rcIpStaticRoute 2 }

rcIpStaticRouteEntry OBJECT-TYPE
        SYNTAX        	RcIpStaticRouteEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"A static route to a particular destination."
        INDEX         	{ rcIpStaticRouteDest,
                          rcIpStaticRouteMask,
                          rcIpStaticRouteNextHop }
        ::= { rcIpStaticRouteTable 1 }
 
RcIpStaticRouteEntry ::=
        SEQUENCE {
                rcIpStaticRouteDest   	      IpAddress,
                rcIpStaticRouteMask   	      IpAddress,
                rcIpStaticRouteNextHop	      IpAddress,
                rcIpStaticRouteMetric         INTEGER (1..'FFFF'h),
                rcIpStaticRouteIfIndex        InterfaceIndex,
                rcIpStaticRoutePreference     INTEGER (1..16),
                rcIpStaticRouteEnable         TruthValue,
                rcIpStaticRouteStatus         INTEGER,
                rcIpStaticRouteRowStatus      RowStatus
 
        }
 
rcIpStaticRouteDest OBJECT-TYPE
        SYNTAX        	IpAddress 
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The destination IP address of this route.  An
                        entry with a value of 0.0.0.0 is considered a
                        default route.  Multiple routes to a single
                        destination can appear in the table, but access to
                        such multiple entries is dependent on the table-
                        access mechanisms defined by the network
                        management protocol in use."
        ::= { rcIpStaticRouteEntry 1 }
 
rcIpStaticRouteMask OBJECT-TYPE
        SYNTAX        	IpAddress 
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Indicate the mask to be logical-ANDed with the
                        destination address before being compared to the
                        value in the rcIpRouteDest field.  For those systems
                        that do not support arbitrary subnet masks, an
                        agent constructs the value of the rcIpRouteMask by
                        determining whether the value of the correspondent
                        rcIpRouteDest field belong to a class-A, B, or C
                        network, and then using one of:
 
                           mask           network
                           255.0.0.0      class-A
                           255.255.0.0    class-B
                           255.255.255.0  class-C
 
                        If the value of the rcIpRouteDest is 0.0.0.0 (a
                        default route), then the mask value is also
                        0.0.0.0.  It should be noted that all IP routing
                        subsystems implicitly use this mechanism."
        ::= { rcIpStaticRouteEntry 2 }
 
rcIpStaticRouteNextHop OBJECT-TYPE
        SYNTAX        	IpAddress 
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The IP address of the next hop of this route.
                        (In the case of a route bound to an interface
                        which is realized via a broadcast media, the value
                        of this field is the agent's IP address on that
                        interface)."
        ::= { rcIpStaticRouteEntry 3 }
 
rcIpStaticRouteMetric OBJECT-TYPE
        SYNTAX        	INTEGER (1..'FFFF'h)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"The primary routing metric for this route.  The
                        semantics of this metric are determined by the
                        routing-protocol specified in the route's
                        rcIpRouteProto value.  If this metric is not used,
                        its value should be set to -1."
	DEFVAL        	{ 1 }
        ::= { rcIpStaticRouteEntry 4 }

rcIpStaticRouteIfIndex OBJECT-TYPE
        SYNTAX        	InterfaceIndex
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The index value which uniquely identifies the
                        local interface through which the next hop of this
                        route should be reached.  The interface identified
                        by a particular value of this index is the same
                        interface as identified by the same value of
                        ifIndex."
        ::= { rcIpStaticRouteEntry 5 }

rcIpStaticRoutePreference OBJECT-TYPE
        SYNTAX        	INTEGER (1..16)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the route preference of this
			entry.  If there are more than one route that can
			be used to forward IP traffic, the route that has
			a highest preference will be used instead of a
			lower preference one.  

			The higher the number, the higher the preference."
	DEFVAL        	{ 16 }
        ::= { rcIpStaticRouteEntry 6 }

rcIpStaticRouteEnable OBJECT-TYPE
        SYNTAX         	TruthValue
        ACCESS         	read-write
        STATUS         	mandatory
        DESCRIPTION    	"Used to enable/disable this entry."
	DEFVAL        { true }
        ::= { rcIpStaticRouteEntry 7 }

rcIpStaticRouteStatus OBJECT-TYPE
        SYNTAX        	INTEGER {
		         	inactive(0),
			 	active(1)
		      	}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the current status of
			this entry."
	DEFVAL        	{ active }
        ::= { rcIpStaticRouteEntry 8 }

rcIpStaticRouteRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to create/delete entries"
        ::= { rcIpStaticRouteEntry 9 }

--IP PIM

rcIpPim OBJECT IDENTIFIER ::= { rcIp 16 }

rcIpPimGlobal OBJECT IDENTIFIER ::= { rcIpPim 1}

rcIpPimGlobalEnable OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "enable feature"
        ::= { rcIpPimGlobal 1 }

rcIpPimTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpPimEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Pim table"
    ::= { rcIpPim 2 }

rcIpPimEntry OBJECT-TYPE
        SYNTAX        	RcIpPimEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Pim Table."
        INDEX         	{ rcIpPimIfIndex }
        ::= { rcIpPimTable 1 }
 
RcIpPimEntry ::=
        SEQUENCE {
                rcIpPimIfIndex           InterfaceIndex,
                rcIpPimEnable            TruthValue,
                rcIpPimMode              INTEGER,
                rcIpPimHelloInterval     INTEGER,
                rcIpPimJoinPruneInterval INTEGER,
                rcIpPimCBSRPreference    INTEGER
        }
 
rcIpPimIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "port"
        ::= { rcIpPimEntry 1 }

rcIpPimEnable OBJECT-TYPE
        SYNTAX         TruthValue
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "enable interface"
        ::= { rcIpPimEntry 2 }

rcIpPimMode OBJECT-TYPE
        SYNTAX        INTEGER {
		         dense(1),
			 sparse(2),
			 sparseDense(3)
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpPimEntry 3 }

rcIpPimHelloInterval OBJECT-TYPE
        SYNTAX        INTEGER (1..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "frq. at which hello sent."
        ::= { rcIpPimEntry 4 }

rcIpPimJoinPruneInterval OBJECT-TYPE
        SYNTAX        INTEGER (1..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpPimEntry 5 }

rcIpPimCBSRPreference OBJECT-TYPE
        SYNTAX        INTEGER (1..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpPimEntry 6 }

--IP Multicast Arp table

rcIpMulticastArpTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpMulticastArpEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Multicast Arp table"
        ::= { rcIp 17 }

rcIpMulticastArpEntry OBJECT-TYPE
        SYNTAX        	RcIpMulticastArpEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Multicast Arp Table."
        INDEX         	{ rcIpMulticastArpVlanId,
                          rcIpMulticastArpMacAddress,
                          rcIpMulticastArpIpAddress }
        ::= { rcIpMulticastArpTable 1 }
 
RcIpMulticastArpEntry ::=
        SEQUENCE {
                rcIpMulticastArpVlanId     INTEGER,
                rcIpMulticastArpMacAddress MacAddress,
                rcIpMulticastArpIpAddress  IpAddress,
                rcIpMulticastArpPorts      PortSet,
                rcIpMulticastArpNumMltIds  INTEGER,
                rcIpMulticastArpMltIds     IdList,
                rcIpMulticastArpRowStatus  RowStatus
        }
 
rcIpMulticastArpVlanId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "vlan id"
        ::= { rcIpMulticastArpEntry 1 }

rcIpMulticastArpMacAddress OBJECT-TYPE
        SYNTAX         MacAddress
        ACCESS         read-only
        STATUS         mandatory
        DESCRIPTION    "multicast mac address"
        ::= { rcIpMulticastArpEntry 2 }

rcIpMulticastArpIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "multicast ip address"
        ::= { rcIpMulticastArpEntry 3 }

rcIpMulticastArpPorts OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "ports within a particular vlan"
        ::= { rcIpMulticastArpEntry 4 }

rcIpMulticastArpNumMltIds OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "number of mlt ids"
        ::= { rcIpMulticastArpEntry 5 }

rcIpMulticastArpMltIds OBJECT-TYPE
        SYNTAX        IdList
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "mlt id"
        ::= { rcIpMulticastArpEntry 6 }

rcIpMulticastArpRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rcIpMulticastArpEntry 7 }

--IP Multicast Table

rcIpMulticastTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpMulticastEntry
        ACCESS        not-accessible
        STATUS        obsolete
        DESCRIPTION   "Ip multicast table."
        ::= { rcIp 18 }
 
rcIpMulticastEntry OBJECT-TYPE
        SYNTAX        RcIpMulticastEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing Proprietary Ip Multicast information."
        INDEX         { rcIpMulticastIfIndex }
        ::= { rcIpMulticastTable 1 }
 
RcIpMulticastEntry ::=
        SEQUENCE {
                rcIpMulticastIfIndex InterfaceIndex,
                rcIpMulticastMulticastIp IpAddress
        }
 
rcIpMulticastIfIndex OBJECT-TYPE
        SYNTAX          InterfaceIndex
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "IfIndex."
        ::= { rcIpMulticastEntry 1 }
 
rcIpMulticastMulticastIp OBJECT-TYPE
        SYNTAX          IpAddress
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "IP Address on this IfIndex
                         to be used for all Multicast
                         protocols running on this
                         interface."
        ::= { rcIpMulticastEntry 2 }

-- IP COPS Global
 
rcIpCops OBJECT IDENTIFIER ::= { rcIp 19 }
 
rcCopsGlobalEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Cops feature enable/disable"
        ::= { rcIpCops 1 }


--IP Gen Policy

rcIpGenPolicy OBJECT IDENTIFIER ::= { rcIp 100 }

-- Ip As Path Access List Table

rcIpAsPathAccessListTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 1 }

rcIpAsPathAccessListTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpAsPathAccessListEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP As Path Access List table"
    ::= { rcIpGenPolicy 2 }

rcIpAsPathAccessListEntry OBJECT-TYPE
        SYNTAX        	RcIpAsPathAccessListEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip As Path Access List Table."
        INDEX         	{ rcIpAsPathAccessListId,
                          rcIpAsPathAccessListMemberId }
        ::= { rcIpAsPathAccessListTable 1 }
 
RcIpAsPathAccessListEntry ::=
        SEQUENCE {
                rcIpAsPathAccessListId                  INTEGER,
                rcIpAsPathAccessListMemberId            INTEGER,
                rcIpAsPathAccessListMode                INTEGER,
                rcIpAsPathAccessListAsRegularExpression DisplayString,
                rcIpAsPathAccessListRowStatus           RowStatus
        }
 
rcIpAsPathAccessListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpAsPathAccessListEntry 1 }

rcIpAsPathAccessListMemberId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "frq. at which hello sent."
        ::= { rcIpAsPathAccessListEntry 2 }

rcIpAsPathAccessListMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          permit(1),
                          deny(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpAsPathAccessListEntry 3 }

rcIpAsPathAccessListAsRegularExpression OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpAsPathAccessListEntry 4 }

rcIpAsPathAccessListRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpAsPathAccessListEntry 5 }

-- Ip Community Access List Table

rcIpCommunityAccessListTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 3 }

rcIpCommunityAccessListTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpCommunityAccessListEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP CommunityAccess List table"
    ::= { rcIpGenPolicy 4 }

rcIpCommunityAccessListEntry OBJECT-TYPE
        SYNTAX        	RcIpCommunityAccessListEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip CommunityAccess List Table."
        INDEX         	{ rcIpCommunityAccessListId,
                          rcIpCommunityAccessListMemberId }
        ::= { rcIpCommunityAccessListTable 1 }
 
RcIpCommunityAccessListEntry ::=
        SEQUENCE {
                rcIpCommunityAccessListId        INTEGER,
                rcIpCommunityAccessListMemberId  INTEGER,
                rcIpCommunityAccessListMode      INTEGER,
                rcIpCommunityAccessListCommunity DisplayString,
                rcIpCommunityAccessListRowStatus RowStatus
        }
 
rcIpCommunityAccessListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpCommunityAccessListEntry 1 }

rcIpCommunityAccessListMemberId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "frq. at which hello sent."
        ::= { rcIpCommunityAccessListEntry 2 }

rcIpCommunityAccessListMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          permit(1),
                          deny(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpCommunityAccessListEntry 3 }

rcIpCommunityAccessListCommunity OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpCommunityAccessListEntry 4 }

rcIpCommunityAccessListRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpCommunityAccessListEntry 5 }

-- Ip Access List Table
 
rcIpAccessListTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 5 }


rcIpAccessListTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpAccessListEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Access List table"
    ::= { rcIpGenPolicy 6 }

rcIpAccessListEntry OBJECT-TYPE
        SYNTAX        	RcIpAccessListEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Access List Table."
        INDEX         	{ rcIpAccessListId,
                          rcIpAccessListMode,
                          rcIpAccessListNetwork,
                          rcIpAccessListNetworkMask }
        ::= { rcIpAccessListTable 1 }
 
RcIpAccessListEntry ::=
        SEQUENCE {
                rcIpAccessListId          INTEGER,
                rcIpAccessListMode        INTEGER,
                rcIpAccessListNetwork     IpAddress,
                rcIpAccessListNetworkMask IpAddress,
                rcIpAccessListName        DisplayString,
                rcIpAccessListRowStatus   RowStatus
        }
 
rcIpAccessListId OBJECT-TYPE
        SYNTAX        INTEGER (1..99)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpAccessListEntry 1 }

rcIpAccessListMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          permit(1),
                          deny(2)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpAccessListEntry 2 }

rcIpAccessListNetwork OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpAccessListEntry 3 }

rcIpAccessListNetworkMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpAccessListEntry 4 }

rcIpAccessListName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpAccessListEntry 5 }

rcIpAccessListRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpAccessListEntry 6 }

-- Ip Extended Access List Table
 
rcIpExtendedAccessListTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 7 }


rcIpExtendedAccessListTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpExtendedAccessListEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Extended Access List table"
        ::= { rcIpGenPolicy 8 }

rcIpExtendedAccessListEntry OBJECT-TYPE
        SYNTAX        	RcIpExtendedAccessListEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Extended Access List Table."
        INDEX         	{ rcIpExtendedAccessListId,
                          rcIpExtendedAccessListMode,
                          rcIpExtendedAccessListNetwork,
                          rcIpExtendedAccessListNetworkWildCard,
                          rcIpExtendedAccessListNetworkMask,
                          rcIpExtendedAccessListNetworkMaskWildCard }
        ::= { rcIpExtendedAccessListTable 1 }
 
RcIpExtendedAccessListEntry ::=
        SEQUENCE {
                rcIpExtendedAccessListId                  INTEGER,
                rcIpExtendedAccessListMode                INTEGER,
                rcIpExtendedAccessListNetwork             IpAddress,
                rcIpExtendedAccessListNetworkWildCard     IpAddress,
                rcIpExtendedAccessListNetworkMask         IpAddress,
                rcIpExtendedAccessListNetworkMaskWildCard IpAddress,
                rcIpExtendedAccessListName                DisplayString,
                rcIpExtendedAccessListRowStatus           RowStatus
        }
 
rcIpExtendedAccessListId OBJECT-TYPE
        SYNTAX        INTEGER (100..199)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpExtendedAccessListEntry 1 }

rcIpExtendedAccessListMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          permit(1),
                          deny(2)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpExtendedAccessListEntry 2 }

rcIpExtendedAccessListNetwork OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpExtendedAccessListEntry 3 }

rcIpExtendedAccessListNetworkWildCard OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpExtendedAccessListEntry 4 }

rcIpExtendedAccessListNetworkMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpExtendedAccessListEntry 5 }

rcIpExtendedAccessListNetworkMaskWildCard OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpExtendedAccessListEntry 6 }

rcIpExtendedAccessListName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpExtendedAccessListEntry 7 }

rcIpExtendedAccessListRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpExtendedAccessListEntry 8 }

-- Ip Prefix List Table
 
rcIpPrefixListTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 9 }


rcIpPrefixListTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpPrefixListEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Prefix List table"
        ::= { rcIpGenPolicy 10 }

rcIpPrefixListEntry OBJECT-TYPE
        SYNTAX        	RcIpPrefixListEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Prefix List Table."
        INDEX         	{ rcIpPrefixListId,
                          rcIpPrefixListSequenceNumber,
                          rcIpPrefixListPrefix,
                          rcIpPrefixListPrefixMaskLen }
        ::= { rcIpPrefixListTable 1 }
 
RcIpPrefixListEntry ::=
        SEQUENCE {
                rcIpPrefixListId               INTEGER,
                rcIpPrefixListSequenceNumber   INTEGER,
                rcIpPrefixListMode             INTEGER,
                rcIpPrefixListPrefix           IpAddress,
                rcIpPrefixListPrefixMaskLen    INTEGER,
                rcIpPrefixListGreaterThanValue INTEGER,
                rcIpPrefixListLessThanValue    INTEGER,
                rcIpPrefixListName             DisplayString,
                rcIpPrefixListRowStatus        RowStatus
        }
 
rcIpPrefixListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "ListId"
        ::= { rcIpPrefixListEntry 1 }

rcIpPrefixListSequenceNumber OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Sequence Number"
        ::= { rcIpPrefixListEntry 2 }

rcIpPrefixListMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          permit(1),
                          deny(2)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpPrefixListEntry 3 }

rcIpPrefixListPrefix OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "prefix number"
        ::= { rcIpPrefixListEntry 4 }

rcIpPrefixListPrefixMaskLen OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "prefix mask length"
        ::= { rcIpPrefixListEntry 5 }

rcIpPrefixListGreaterThanValue OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "greater than"
        ::= { rcIpPrefixListEntry 6 }

rcIpPrefixListLessThanValue OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "less than"
        ::= { rcIpPrefixListEntry 7 }

rcIpPrefixListName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "list name"
        ::= { rcIpPrefixListEntry 8 }

rcIpPrefixListRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rcIpPrefixListEntry 9 }


rcIpPrefixListSeqNumberEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable automatic seq# generation."
        ::= { rcIpGenPolicy 11 }


-- Ip Route Map Table

rcIpRouteMapTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 12 }

rcIpRouteMapTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpRouteMapEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Route Map table"
        ::= { rcIpGenPolicy 13 }

rcIpRouteMapEntry OBJECT-TYPE
        SYNTAX        	RcIpRouteMapEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Route Map Table."
        INDEX         	{ rcIpRouteMapId, rcIpRouteMapSequenceNumber }
        ::= { rcIpRouteMapTable 1 }
 
RcIpRouteMapEntry ::=
        SEQUENCE {
                rcIpRouteMapId                          INTEGER,
                rcIpRouteMapSequenceNumber              INTEGER,
                rcIpRouteMapName                        DisplayString,
                rcIpRouteMapMode                        INTEGER,
                rcIpRouteMapMatchAsPathListId           INTEGER,
                rcIpRouteMapMatchCommunityListId        INTEGER,
                rcIpRouteMapMatchCommunityExact         EnableValue,
                rcIpRouteMapMatchInterfaceNumber        INTEGER,
                rcIpRouteMapMatchIpAddress              IdList,
                rcIpRouteMapMatchIpRouteSource          IdList,
                rcIpRouteMapMatchNextHop                IdList,
                rcIpRouteMapMatchRouteType              INTEGER,
                rcIpRouteMapMatchMetric                 INTEGER,
                rcIpRouteMapMatchTag                    DisplayString,
                rcIpRouteMapSetAsPath                   DisplayString,
                rcIpRouteMapSetAsPathMode               INTEGER,
                rcIpRouteMapSetAutomaticTag             EnableValue,
                rcIpRouteMapSetCommunityNumber          INTEGER,
                rcIpRouteMapSetCommunityMode            INTEGER,
                rcIpRouteMapSetCommunityDelListId       INTEGER,
                rcIpRouteMapSetDampening                EnableValue,
                rcIpRouteMapSetDampeningHalflife        INTEGER,
                rcIpRouteMapSetDampeningReuse           INTEGER,
                rcIpRouteMapSetDampeningSuppress        INTEGER,
                rcIpRouteMapSetDampeningMaxSuppressTime INTEGER,
                rcIpRouteMapSetMetricTypeInternal       INTEGER,
                rcIpRouteMapSetMetric                   INTEGER,
                rcIpRouteMapSetMetricType               INTEGER,
                rcIpRouteMapSetNextHop                  IpAddress,
                rcIpRouteMapSetOrigin                   INTEGER,
                rcIpRouteMapSetOriginEgpAs              INTEGER,
                rcIpRouteMapSetTag                      INTEGER,
                rcIpRouteMapSetWeight                   INTEGER,
                rcIpRouteMapRowStatus                   RowStatus
        }
 
rcIpRouteMapId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Route map id"
        ::= { rcIpRouteMapEntry 1 }

rcIpRouteMapSequenceNumber OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Sequence Number"
        ::= { rcIpRouteMapEntry 2 }

rcIpRouteMapName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Route map name"
        ::= { rcIpRouteMapEntry 3 }

rcIpRouteMapMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          permit(1),
                          deny(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 4 }

rcIpRouteMapMatchAsPathListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 5 }

rcIpRouteMapMatchCommunityListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 6 }

rcIpRouteMapMatchCommunityExact OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 7 }

rcIpRouteMapMatchInterfaceNumber OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 8 }

rcIpRouteMapMatchIpAddress OBJECT-TYPE
        SYNTAX        IdList
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 9 }

rcIpRouteMapMatchIpRouteSource OBJECT-TYPE
        SYNTAX        IdList
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 10 }

rcIpRouteMapMatchNextHop OBJECT-TYPE
        SYNTAX        IdList
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 11 }

rcIpRouteMapMatchRouteType OBJECT-TYPE
        SYNTAX        INTEGER {
                          none(0),
                          local(1),
                          internal(2),
                          external(3),
                          externaltype1(4),
                          externaltype2(5)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 12 }

rcIpRouteMapMatchMetric OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Match metric of the route."
        ::= { rcIpRouteMapEntry 13 }

rcIpRouteMapMatchTag OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "contains one or more tag values.."
        ::= { rcIpRouteMapEntry 14 }

rcIpRouteMapSetAsPath OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "as-path string.."
        ::= { rcIpRouteMapEntry 15 }

rcIpRouteMapSetAsPathMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          tag(1),
                          prepend(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 16 }

rcIpRouteMapSetAutomaticTag OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 17 }

rcIpRouteMapSetCommunityNumber OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "community number."
        ::= { rcIpRouteMapEntry 18 }

rcIpRouteMapSetCommunityMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          none(0),
                          append(1)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 19 }

rcIpRouteMapSetCommunityDelListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 20 }

rcIpRouteMapSetDampening OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "enable/disable route dampening
                       for the routes that passed match
                       criteria"
        ::= { rcIpRouteMapEntry 21 }

rcIpRouteMapSetDampeningHalflife OBJECT-TYPE
        SYNTAX        INTEGER (1..45)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        DEFVAL        { 15 }
        ::= { rcIpRouteMapEntry 22 }

rcIpRouteMapSetDampeningReuse OBJECT-TYPE
        SYNTAX        INTEGER (1..20000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "penalty value"
        DEFVAL        { 750 }
        ::= { rcIpRouteMapEntry 23 }

rcIpRouteMapSetDampeningSuppress OBJECT-TYPE
        SYNTAX        INTEGER (1..20000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "penalty value"
        DEFVAL        { 2000 }
        ::= { rcIpRouteMapEntry 24 }

rcIpRouteMapSetDampeningMaxSuppressTime OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "time in minutes."
        DEFVAL        { 60 }
        ::= { rcIpRouteMapEntry 25 }

rcIpRouteMapSetMetricTypeInternal OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 26 }

rcIpRouteMapSetMetric OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 27 }

rcIpRouteMapSetMetricType OBJECT-TYPE
        SYNTAX        INTEGER {
                          type1(1),
                          type2(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 28 }

rcIpRouteMapSetNextHop OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IpAddress of the next hop router."
        ::= { rcIpRouteMapEntry 29 }

rcIpRouteMapSetOrigin OBJECT-TYPE
        SYNTAX        INTEGER {
                          igp(1),
                          egp(2),
                          incomplete(3)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 30 }

rcIpRouteMapSetOriginEgpAs OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Remote Autonomous system number."
        ::= { rcIpRouteMapEntry 31 }

rcIpRouteMapSetTag OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 32 }

rcIpRouteMapSetWeight OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRouteMapEntry 33 }

rcIpRouteMapRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rcIpRouteMapEntry 34 }


-- Ip Redistribute Table

rcIpRedistributeTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 14 }

rcIpRedistributeTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpRedistributeEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Redistribute table"
        ::= { rcIpGenPolicy 15 }

rcIpRedistributeEntry OBJECT-TYPE
        SYNTAX        	RcIpRedistributeEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Redistribute Table."
        INDEX         	{ rcIpRedistributeRouteSource,
                          rcIpRedistributeProtocol }
        ::= { rcIpRedistributeTable 1 }
 
RcIpRedistributeEntry ::=
        SEQUENCE {
                rcIpRedistributeRouteSource      INTEGER,
                rcIpRedistributeProtocol         INTEGER,
                rcIpRedistributeMetric           INTEGER,
                rcIpRedistributeMetricType       INTEGER,
                rcIpRedistributeMatchRouteType   INTEGER,
                rcIpRedistributeSetTag           INTEGER,
                rcIpRedistributeSubnets          INTEGER,
                rcIpRedistributeRouteMap         DisplayString,
                rcIpRedistributeASNumber         INTEGER,
                rcIpRedistributeWeight           INTEGER,
                rcIpRedistributeDefaultOriginate INTEGER,
                rcIpRedistributeRowStatus        RowStatus
        }
 
rcIpRedistributeRouteSource OBJECT-TYPE
        SYNTAX        INTEGER {
                          connected(1),
                          static(2),
                          rip(3),
                          ospf(4),
                          bgp(5)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Route map id"
        ::= { rcIpRedistributeEntry 1 }

rcIpRedistributeProtocol OBJECT-TYPE
        SYNTAX        INTEGER {
                          rip(1),
                          ospf(2),
                          bgp(3)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Protocol"
        ::= { rcIpRedistributeEntry 2 }

rcIpRedistributeMetric OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRedistributeEntry 3 }

rcIpRedistributeMetricType OBJECT-TYPE
        SYNTAX        INTEGER {
                          type1(1),
                          type2(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRedistributeEntry 4 }

rcIpRedistributeMatchRouteType OBJECT-TYPE
        SYNTAX        INTEGER {
                          internal(1),
                          external1(2),
                          external2(3)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRedistributeEntry 5 }

rcIpRedistributeSetTag OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRedistributeEntry 6 }

rcIpRedistributeSubnets OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "for OSPF only"
        ::= { rcIpRedistributeEntry 7 }

rcIpRedistributeRouteMap OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Route map name"
        ::= { rcIpRedistributeEntry 8 }

rcIpRedistributeASNumber OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Autonomous system number"
        ::= { rcIpRedistributeEntry 9 }

rcIpRedistributeWeight OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRedistributeEntry 10 }

rcIpRedistributeDefaultOriginate OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRedistributeEntry 11 }

rcIpRedistributeRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rcIpRedistributeEntry 12 }

-- IP Distribute In Table

rcIpDistributeInTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 16 }

rcIpDistributeInTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpDistributeInEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Distribute In table"
        ::= { rcIpGenPolicy 17 }

rcIpDistributeInEntry OBJECT-TYPE
        SYNTAX        	RcIpDistributeInEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Distribute In Table."
        INDEX         	{ rcIpDistributeInProtocol,
                          rcIpDistributeInInterfaceNumber }
        ::= { rcIpDistributeInTable 1 }
 
RcIpDistributeInEntry ::=
        SEQUENCE {
                rcIpDistributeInProtocol        INTEGER,
                rcIpDistributeInInterfaceNumber InterfaceIndex,
                rcIpDistributeInIpAccessListId  INTEGER
        }
 
rcIpDistributeInProtocol OBJECT-TYPE
        SYNTAX        INTEGER {
                          rip(1),
                          ospf(2),
                          bgp(3)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Protocol"
        ::= { rcIpDistributeInEntry 1 }

rcIpDistributeInInterfaceNumber OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IfIndex"
        ::= { rcIpDistributeInEntry 2 }

rcIpDistributeInIpAccessListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpDistributeInEntry 3 }

-- IP Distribute Out Table

rcIpDistributeOutTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 18 }

rcIpDistributeOutTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpDistributeOutEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Distribute Out table"
        ::= { rcIpGenPolicy 19 }

rcIpDistributeOutEntry OBJECT-TYPE
        SYNTAX        	RcIpDistributeOutEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Distribute In Table."
        INDEX         	{ rcIpDistributeOutProtocol,
                          rcIpDistributeOutInterfaceNumber,
                          rcIpDistributeOutRouteSource }
        ::= { rcIpDistributeOutTable 1 }
 
RcIpDistributeOutEntry ::=
        SEQUENCE {
                rcIpDistributeOutProtocol        INTEGER,
                rcIpDistributeOutInterfaceNumber InterfaceIndex,
                rcIpDistributeOutRouteSource     INTEGER,
                rcIpDistributeOutIpAccessListId  INTEGER
        }
 
rcIpDistributeOutProtocol OBJECT-TYPE
        SYNTAX        INTEGER {
                          rip(1),
                          ospf(2),
                          bgp(3)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Protocol"
        ::= { rcIpDistributeOutEntry 1 }

rcIpDistributeOutInterfaceNumber OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IfIndex"
        ::= { rcIpDistributeOutEntry 2 }

rcIpDistributeOutRouteSource OBJECT-TYPE
        SYNTAX        INTEGER {
                          static(1),
                          connected(2),
                          rip(3),
                          ospf(4),
                          bgp(5)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpDistributeOutEntry 3 }

rcIpDistributeOutIpAccessListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpDistributeOutEntry 4 }


-- Ip BGP

rcIpBgp OBJECT IDENTIFIER ::= { rcIp 101 }

rcIpBgpGeneralGroup OBJECT IDENTIFIER ::= { rcIpBgp 1 }

rcIpBgpGeneralGroupLocalAs OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Autonomous system number"
        ::= { rcIpBgpGeneralGroup 1 }

rcIpBgpGeneralGroupAdminStatus OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpGeneralGroup 2 }

rcIpBgpGeneralGroupSynchronization OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpGeneralGroup 3 }

rcIpBgpGeneralGroupAction OBJECT-TYPE
        SYNTAX        INTEGER {
                          none(0),
                          resetallpeers(1)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpGeneralGroup 4 }

rcIpBgpGeneralGroupDefaultMetric OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Set the value to MED."
        ::= { rcIpBgpGeneralGroup 5 }

rcIpBgpGeneralGroupFastExternalFallover OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Automatically reset the ebgp session
                       upon detecting link failure."
        ::= { rcIpBgpGeneralGroup 6 }

rcIpBgpGeneralGroupTableMap OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "RouteMap name to be applied while
                       updating the IP routing table with
                       bgp routes. (modify metric & tag)."
        ::= { rcIpBgpGeneralGroup 7 }

rcIpBgpGeneralGroupKeepAliveTimer OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Global KeepAlive Timer value."
        ::= { rcIpBgpGeneralGroup 8 }

rcIpBgpGeneralGroupHoldDownTimer OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Global HoldDown Timer value."
        ::= { rcIpBgpGeneralGroup 9 }

rcIpBgpGeneralGroupDefaultLocalPreference OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Local preference Attribute value."
        ::= { rcIpBgpGeneralGroup 10 }

rcIpBgpGeneralGroupDefaultInformationOriginate OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "allow the redist ri-bution of
                       default route into BGP."
        ::= { rcIpBgpGeneralGroup 11 }

rcIpBgpGeneralGroupBestPathAsPathComp OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpGeneralGroup 12 }

rcIpBgpGeneralGroupBestPathMissingAsWorst OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "enable indicates a path missing MED
                       means AsPathLenght of infinity this
                       makes the path least desirable."
        ::= { rcIpBgpGeneralGroup 13 }

rcIpBgpGeneralGroupBestPathMedConfed OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "consider MED in selecting a path."
        ::= { rcIpBgpGeneralGroup 14 }

rcIpBgpGeneralGroupAlwaysCompareMed OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpGeneralGroup 15 }

rcIpBgpGeneralGroupDeterministicMed OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpGeneralGroup 16 }


rcIpBgpAdminstrativeDistanceGroup OBJECT IDENTIFIER ::= { rcIpBgp 2 }

rcIpBgpAdminstrativeDistanceExternalDistance OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "routes learned from external bgp nbrs"
        ::= { rcIpBgpAdminstrativeDistanceGroup 1 }

rcIpBgpAdminstrativeDistanceInternalDistance OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "routes learned from internal bgp nbrs"
        ::= { rcIpBgpAdminstrativeDistanceGroup 2 }

rcIpBgpAdminstrativeDistanceLocalDistance OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "routes local bgp routes (part of localAS)"
        ::= { rcIpBgpAdminstrativeDistanceGroup 3 }


rcIpBgpAggregateAddressGroup OBJECT IDENTIFIER ::= { rcIpBgp 3 }

rcIpBgpAggregateAddressEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "True/False - aggregation"
        ::= { rcIpBgpAggregateAddressGroup 1 }

rcIpBgpAggregateAddressMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "mask value"
        ::= { rcIpBgpAggregateAddressGroup 2 }

rcIpBgpAggregateAddressAsSetGenerate OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpAggregateAddressGroup 3 }

rcIpBgpAggregateAddressSummaryOnly OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpAggregateAddressGroup 4 }

rcIpBgpAggregateAddressSuppressMap OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpAggregateAddressGroup 5 }

rcIpBgpAggregateAddressAdvertiseMap OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpAggregateAddressGroup 6 }

rcIpBgpAggregateAddressAttributeMap OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpAggregateAddressGroup 7 }


rcIpBgpConfederationGroup OBJECT IDENTIFIER ::= { rcIpBgp 4 }

rcIpBgponfederationIdentifier OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "TAutonomous system number"
        ::= { rcIpBgpConfederationGroup 1 }

rcIpBgponfederationPeerASList OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpConfederationGroup 2 }


rcIpBgpRouteReflectorGroup OBJECT IDENTIFIER ::= { rcIpBgp 5 }

rcIpBgpRouteReflectorClusterId OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "4-byte clusterID"
        ::= { rcIpBgpRouteReflectorGroup 1 }

rcIpBgpRouteReflectorClientToClientReflection OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpRouteReflectorGroup 2 }


rcIpBgpRouteDampeningGroup OBJECT IDENTIFIER ::= { rcIpBgp 6 }

rcIpBgpRouteDampeningEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpRouteDampeningGroup 1 }

rcIpBgpRouteDampeningHalfLifeValue OBJECT-TYPE
        SYNTAX        INTEGER (1..45)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Time in minutes"
	DEFVAL        { 15 }
        ::= { rcIpBgpRouteDampeningGroup 2 }

rcIpBgpRouteDampeningReUseValue OBJECT-TYPE
        SYNTAX        INTEGER (1..20000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Penalty value"
	DEFVAL        { 750 }
        ::= { rcIpBgpRouteDampeningGroup 3 }

rcIpBgpRouteDampeningSuppress OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Suppress Value"
	DEFVAL        { 2000 }
        ::= { rcIpBgpRouteDampeningGroup 4 }

rcIpBgpRouteDampeningSuppressMax OBJECT-TYPE
        SYNTAX        INTEGER (1..20000)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "time in minutes"
	DEFVAL        { 60 }
        ::= { rcIpBgpRouteDampeningGroup 5 }

rcIpBgpRouteDampeningRouteMap OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Route map name to be used to"
        ::= { rcIpBgpRouteDampeningGroup 6 }


-- IP Bdp Networks Table

rcIpBgpNetworkTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpBgp 7 }

rcIpBgpNetworkTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpBgpNetworkEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Bdp Networks table"
        ::= { rcIpBgp 8 }

rcIpBgpNetworkEntry OBJECT-TYPE
        SYNTAX        	RcIpBgpNetworkEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Bdp In Table."
        INDEX         	{ rcIpBgpNetworkNetAddr,
                          rcIpBgpNetworkMask }
        ::= { rcIpBgpNetworkTable 1 }
 
RcIpBgpNetworkEntry ::=
        SEQUENCE {
                rcIpBgpNetworkNetAddr  IpAddress,
                rcIpBgpNetworkMask     IpAddress,
                rcIpBgpNetworkWeight   INTEGER,
                rcIpBgpNetworkRouteMap DisplayString
        }
 
rcIpBgpNetworkNetAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpNetworkEntry 1 }

rcIpBgpNetworkMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpNetworkEntry 2 }

rcIpBgpNetworkWeight OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpNetworkEntry 3 }

rcIpBgpNetworkRouteMap OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "route-map name"
        ::= { rcIpBgpNetworkEntry 4 }

-- IP Bdp Peers Table

rcIpBgpPeerTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpBgp 9 }

rcIpBgpPeerTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpBgpPeerEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Bdp Peers table"
        ::= { rcIpBgp 10 }

rcIpBgpPeerEntry OBJECT-TYPE
        SYNTAX        	RcIpBgpPeerEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Bdp In Table."
        INDEX         	{ rcIpBgpPeerIpAddress }
        ::= { rcIpBgpPeerTable 1 }
 
RcIpBgpPeerEntry ::=
        SEQUENCE {
                rcIpBgpPeerIpAddress             IpAddress,
                rcIpBgpPeerRemoteAs              INTEGER,
                rcIpBgpPeerDiscription           DisplayString,
                rcIpBgpPeerPeerGroupName         DisplayString,
                rcIpBgpPeerDefaultOriginate      EnableValue,
                rcIpBgpPeerSendCommunity         EnableValue,
                rcIpBgpPeerUpdateSource          IpAddress,
                rcIpBgpPeerEbgpMultiHop          EnableValue,
                rcIpBgpPeerAdvertisementInterval INTEGER,
                rcIpBgpPeerPassword              DisplayString,
                rcIpBgpPeerWeight                INTEGER,
                rcIpBgpPeerAction                INTEGER,
                rcIpBgpPeerFilterInListId        INTEGER,
                rcIpBgpPeerFilterOutListId       INTEGER,
                rcIpBgpPeerFilterWeightListId    INTEGER,
                rcIpBgpPeerFilterWeight          INTEGER,
                rcIpBgpPeerDistributeInListId    INTEGER,
                rcIpBgpPeerDistributeOutListId   INTEGER,
                rcIpBgpPeerPrefixInListId        INTEGER,
                rcIpBgpPeerPrefixOutListId       INTEGER,
                rcIpBgpPeerNextHopSelf           EnableValue,
                rcIpBgpPeerRouteMapIn            DisplayString,
                rcIpBgpPeerRouteMapOut           DisplayString,
                rcIpBgpPeerRouteReflectorClient  TruthValue,
                rcIpBgpPeerShutDown              TruthValue,
                rcIpBgpPeerKeepAliveTimer        INTEGER,
                rcIpBgpPeerHoldDownTimer         INTEGER
        }
 
rcIpBgpPeerIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 1 }

rcIpBgpPeerRemoteAs OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Remote Autonomous system number"
        ::= { rcIpBgpPeerEntry 2 }

rcIpBgpPeerDiscription OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Neighbor discription"
        ::= { rcIpBgpPeerEntry 3 }

rcIpBgpPeerPeerGroupName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Peer group name"
        ::= { rcIpBgpPeerEntry 4 }

rcIpBgpPeerDefaultOriginate OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 5 }

rcIpBgpPeerSendCommunity OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 6 }

rcIpBgpPeerUpdateSource OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Loop back interface."
        ::= { rcIpBgpPeerEntry 7 }

rcIpBgpPeerEbgpMultiHop OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 8 }

rcIpBgpPeerAdvertisementInterval OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "min interval between advert"
        ::= { rcIpBgpPeerEntry 9 }

rcIpBgpPeerPassword OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "simple password/MD5"
        ::= { rcIpBgpPeerEntry 10 }

rcIpBgpPeerWeight OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 11 }

rcIpBgpPeerAction OBJECT-TYPE
        SYNTAX        INTEGER {
                          none(0),
                          reset(1),
                          shutdown(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 12 }

rcIpBgpPeerFilterInListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 13 }

rcIpBgpPeerFilterOutListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 14 }

rcIpBgpPeerFilterWeightListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 15 }

rcIpBgpPeerFilterWeight OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Weight to be assigned."
        ::= { rcIpBgpPeerEntry 16 }

rcIpBgpPeerDistributeInListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 17 }

rcIpBgpPeerDistributeOutListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 18 }

rcIpBgpPeerPrefixInListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 19 }

rcIpBgpPeerPrefixOutListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 20 }

rcIpBgpPeerNextHopSelf OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 21 }

rcIpBgpPeerRouteMapIn OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 22 }

rcIpBgpPeerRouteMapOut OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 23 }

rcIpBgpPeerRouteReflectorClient OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 24 }

rcIpBgpPeerShutDown OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerEntry 25 }

rcIpBgpPeerKeepAliveTimer OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "KeepAlive Timer value."
        ::= { rcIpBgpPeerEntry 26 }

rcIpBgpPeerHoldDownTimer OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "HoldDown Timer value."
        ::= { rcIpBgpPeerEntry 27 }

-- IP Bdp Peer Group Table

rcIpBgpPeerGroupTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpBgp 11 }

rcIpBgpPeerGroupTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpBgpPeerGroupEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Bdp Peer Group table"
        ::= { rcIpBgp 12 }

rcIpBgpPeerGroupEntry OBJECT-TYPE
        SYNTAX        	RcIpBgpPeerGroupEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Bdp Peer Group Table."
        INDEX         	{ rcIpBgpPeerGroupId, rcIpBgpPeerGroupMemberIpAddr }
        ::= { rcIpBgpPeerGroupTable 1 }
 
RcIpBgpPeerGroupEntry ::=
        SEQUENCE {
                rcIpBgpPeerGroupId            INTEGER,
                rcIpBgpPeerGroupMemberIpAddr  IpAddress,
                rcIpBgpPeerGroupMemberListId  INTEGER,
                rcIpBgpPeerGroupName          DisplayString
        }
 
rcIpBgpPeerGroupId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Peer Group id"
        ::= { rcIpBgpPeerGroupEntry 1 }

rcIpBgpPeerGroupMemberIpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "IpAddress of the member"
        ::= { rcIpBgpPeerGroupEntry 2 }

rcIpBgpPeerGroupMemberListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpPeerGroupEntry 3 }

rcIpBgpPeerGroupName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Name of the peer group"
        ::= { rcIpBgpPeerGroupEntry 4 }


-- IP Bdp Debug Table

rcIpBgpDebugTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpBgp 13 }

rcIpBgpDebugTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpBgpDebugEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Bdp Debug table"
        ::= { rcIpBgp 14 }

rcIpBgpDebugEntry OBJECT-TYPE
        SYNTAX        	RcIpBgpDebugEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Bdp Debug Table."
        INDEX         	{ rcIpBgpDebugLocalAddr, rcIpBgpDebugRemoteAddr }
        ::= { rcIpBgpDebugTable 1 }
 
RcIpBgpDebugEntry ::=
        SEQUENCE {
                rcIpBgpDebugLocalAddr        EnableValue,
                rcIpBgpDebugRemoteAddr       EnableValue,
                rcIpBgpDebugEvents           EnableValue,
                rcIpBgpDebugKeepAlives       EnableValue,
                rcIpBgpDebugUpdates          EnableValue,
                rcIpBgpDebugUpdatesListId    INTEGER,
                rcIpBgpDebugDampening        EnableValue,
                rcIpBgpDebugDampeningListId  INTEGER
        }
 
rcIpBgpDebugLocalAddr OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpDebugEntry 1 }

rcIpBgpDebugRemoteAddr OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpDebugEntry 2 }

rcIpBgpDebugEvents OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpDebugEntry 3 }

rcIpBgpDebugKeepAlives OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpDebugEntry 4 }

rcIpBgpDebugUpdates OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpDebugEntry 5 }

rcIpBgpDebugUpdatesListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpDebugEntry 6 }

rcIpBgpDebugDampening OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpDebugEntry 7 }

rcIpBgpDebugDampeningListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpBgpDebugEntry 8 }


-- ARP Group

rcArpExtLifeTime OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The lifetime in minutues of an ARP entry within the 
                      system."
        ::= { rcArp 1 }

rcArpExtTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcArpExtEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "ARP extension table.  This table augments the
		      standard ipNetToMediaTable defined in RFC1213."
        ::= { rcArp 2 }

rcArpExtEntry OBJECT-TYPE
        SYNTAX        RcArpExtEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing Proprietary ARP information.  
                      An entry is automatically created in this table 
                      when an ip address is configured on an interface." 
        INDEX         { rcArpExtEntIfIndex }
        ::= { rcArpExtTable 1 }

RcArpExtEntry ::=
        SEQUENCE {
                rcArpExtEntIfIndex InterfaceIndex,
                rcArpExtEntDoProxy INTEGER,
                rcArpExtEntDoResp INTEGER
        }

rcArpExtEntIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The index value which uniquely identifies the
                      interface to which this entry is applicable.
                      The interface identified by a particular value
                      of this index is the same interface as 
                      identified by the same value of ifIndex."
        ::= { rcArpExtEntry 1 }
 
rcArpExtEntDoProxy OBJECT-TYPE
        SYNTAX        INTEGER {
		         disable(1),
			 enable(2)
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable ARP proxy responses on the
		      specified interface."
	DEFVAL        { disable }
        ::= { rcArpExtEntry 2 }
 
rcArpExtEntDoResp OBJECT-TYPE
        SYNTAX        INTEGER {
			 disable(1),
			 enable(2)
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable the sending of ARP responses
		      on the specified interface."
	DEFVAL        { enable }
        ::= { rcArpExtEntry 3 }

-- rcArpExtV2Table

rcArpExtV2Table OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcArpExtV2Entry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "ARP extension table.  This table augments the
		      standard ipNetToMediaTable defined in RFC1213."
        ::= { rcArp 3 }

rcArpExtV2Entry OBJECT-TYPE
        SYNTAX        RcArpExtV2Entry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing Proprietary ARP information.  
                      An entry is automatically created in this table 
                      when an ip address is configured on an interface." 
        INDEX         { rcArpExtV2EntIfIndex, rcArpExtV2EntIpIfAddr }
        ::= { rcArpExtV2Table 1 }

RcArpExtV2Entry ::=
        SEQUENCE {
                rcArpExtV2EntIfIndex InterfaceIndex,
                rcArpExtV2EntIpIfAddr IpAddress,
                rcArpExtV2EntDoProxy INTEGER,
                rcArpExtV2EntDoResp INTEGER
        }

rcArpExtV2EntIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The index value which uniquely identifies the
                      interface to which this entry is applicable.
                      The interface identified by a particular value
                      of this index is the same interface as 
                      identified by the same value of ifIndex."
        ::= { rcArpExtV2Entry 1 }
 
rcArpExtV2EntIpIfAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Ip Address"
        ::= { rcArpExtV2Entry 2 }
 
rcArpExtV2EntDoProxy OBJECT-TYPE
        SYNTAX        INTEGER {
		         disable(1),
			 enable(2)
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable ARP proxy responses on the
		      specified interface."
	DEFVAL        { disable }
        ::= { rcArpExtV2Entry 3 }
 
rcArpExtV2EntDoResp OBJECT-TYPE
        SYNTAX        INTEGER {
			 disable(1),
			 enable(2)
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable the sending of ARP responses
		      on the specified interface."
	DEFVAL        { enable }
        ::= { rcArpExtV2Entry 4 }


-- RIP Group

rcRipExtOperation OBJECT-TYPE
        SYNTAX        INTEGER	{
                         disable(1),
                         enable(2)
	 	      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable the operation of RIP on all
		      Interfaces."
        ::= { rcRip 1 }

rcRipExtUpdateTime OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The time between transmission of RIP updates
		      on all interfaces."
        ::= { rcRip 2 }

rcRipExtTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcRipExtEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "RIP extension table.  This table augments the
		      standard IfConfTable table in RFC1389."
        ::= { rcRip 3 }

rcRipExtEntry OBJECT-TYPE
        SYNTAX        RcRipExtEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing Proprietary RIP information.  
	  	      An entry is automatically created in this table 
                      when an ip address is configured on an interface."
        INDEX         { rcRipExtEntIfIndex }
        ::= { rcRipExtTable 1 }

RcRipExtEntry ::=
        SEQUENCE {
                rcRipExtEntIfIndex InterfaceIndex,
                rcRipExtEntTalk INTEGER,
                rcRipExtEntListen INTEGER,
                rcRipExtEntPoison INTEGER
        }

rcRipExtEntIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The index value which uniquely identifies the
                      interface to which this entry is applicable.
                      The interface identified by a particular value
                      of this index is the same interface as 
                      identified by the same value of ifIndex."
        ::= { rcRipExtEntry 1 }
 
rcRipExtEntTalk OBJECT-TYPE
        SYNTAX       INTEGER {
                        disable(1),
                        enable(2)
		      }	
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable RIP transmission on the
		      specified interface."
	DEFVAL        { enable }
        ::= { rcRipExtEntry 2 }
 
rcRipExtEntListen OBJECT-TYPE
        SYNTAX        INTEGER {
                         disable(1),
                         enable(2)
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable RIP reception on the specified
		      interface."
	DEFVAL        { enable }
        ::= { rcRipExtEntry 3 }

rcRipExtEntPoison OBJECT-TYPE
        SYNTAX        INTEGER {
                         disable(1),
                         enable(2)
                      } 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable operation of poison reverse
		      on the specified interface.  If poison is
		      disabled, split-horizon operation is enabled."
	DEFVAL        { disable }
        ::= { rcRipExtEntry 4 }

-- rcRipExtV2Table

rcRipExtV2Table OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcRipExtV2Entry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "RIP extension table.  This table augments the
		      standard IfConfTable table in RFC1389."
        ::= { rcRip 4 }

rcRipExtV2Entry OBJECT-TYPE
        SYNTAX        RcRipExtV2Entry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing Proprietary RIP information.  
	  	      An entry is automatically created in this table 
                      when an ip address is configured on an interface."
        INDEX         { rcRipExtV2EntIfIndex, rcRipExtV2EntIpIfAddr }
        ::= { rcRipExtV2Table 1 }

RcRipExtV2Entry ::=
        SEQUENCE {
                rcRipExtV2EntIfIndex InterfaceIndex,
                rcRipExtV2EntIpIfAddr IpAddress,
                rcRipExtV2EntTalk INTEGER,
                rcRipExtV2EntListen INTEGER,
                rcRipExtV2EntPoison INTEGER
        }

rcRipExtV2EntIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The index value which uniquely identifies the
                      interface to which this entry is applicable.
                      The interface identified by a particular value
                      of this index is the same interface as 
                      identified by the same value of ifIndex."
        ::= { rcRipExtV2Entry 1 }
 
rcRipExtV2EntIpIfAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Ip Address."
        ::= { rcRipExtV2Entry 2 }
 
rcRipExtV2EntTalk OBJECT-TYPE
        SYNTAX       INTEGER {
                        disable(1),
                        enable(2)
		      }	
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable RIP transmission on the
		      specified interface."
	DEFVAL        { enable }
        ::= { rcRipExtV2Entry 3 }
 
rcRipExtV2EntListen OBJECT-TYPE
        SYNTAX        INTEGER {
                         disable(1),
                         enable(2)
		      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable RIP reception on the specified
		      interface."
	DEFVAL        { enable }
        ::= { rcRipExtV2Entry 4 }

rcRipExtV2EntPoison OBJECT-TYPE
        SYNTAX        INTEGER {
                         disable(1),
                         enable(2)
                      } 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable operation of poison reverse
		      on the specified interface.  If poison is
		      disabled, split-horizon operation is enabled."
	DEFVAL        { disable }
        ::= { rcRipExtV2Entry 5 }

-- Test Group

rcTestExtTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcTestEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Test extension table.  This table augments the
                      standard ifTestTable table in RFC1573."
        ::= { rcTest 1 }
 
rcTestEntry OBJECT-TYPE
        SYNTAX        RcTestEntry
        ACCESS        not-accessible
        STATUS        mandatory    
        DESCRIPTION   "Proprietary test variables."
        INDEX         { rcTestExtIfIndex }
        ::= { rcTestExtTable 1 }
 
RcTestEntry ::=
        SEQUENCE {
                rcTestExtIfIndex InterfaceIndex,
                rcTestExtPassCount INTEGER,  
                rcTestExtFailCount INTEGER
        }
 
rcTestExtIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The index value which uniquely identifies the
                      interface to which this entry is applicable.
                      The interface identified by a particular value
                      of this index is the same interface as
                      identified by the same value of ifIndex."
        ::= { rcTestEntry 1 }

rcTestExtPassCount OBJECT-TYPE
	SYNTAX	      INTEGER
	ACCESS	      read-only
	STATUS	      mandatory
	DESCRIPTION   "The number of iterations of the test case that
		      completed successfully."
	::= { rcTestEntry 2}

rcTestExtFailCount OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The number of iterations of the test case that
                      failed."
        ::= { rcTestEntry 3}


rcTestTypes		OBJECT IDENTIFIER	::= { rcTest 2}
rcTestTypesFabric	OBJECT IDENTIFIER	::= { rcTestTypes 1 }
rcTestTypesArTable	OBJECT IDENTIFIER	::= { rcTestTypes 2 }
rcTestTypesExtLoopBack	OBJECT IDENTIFIER	::= { rcTestTypes 3 }


rcTestCodes		OBJECT IDENTIFIER	::= { rcTest 3 }
rcTestCodesNoReceive	OBJECT IDENTIFIER	::= { rcTestCodes 1 }
rcTestCodesBadSeq	OBJECT IDENTIFIER	::= { rcTestCodes 2 }
rcTestCodesBadLen	OBJECT IDENTIFIER	::= { rcTestCodes 3 }
rcTestCodesBadData	OBJECT IDENTIFIER	::= { rcTestCodes 4 }


-- Statistics

rcStatTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcStatEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store port statistics."
        ::= { rcStat 1 }
 
rcStatEntry OBJECT-TYPE
        SYNTAX        RcStatEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "interface counters"
        INDEX         { rcStatPortIndex }
        ::= { rcStatTable 1 }
 
RcStatEntry ::= SEQUENCE {
                rcStatPortIndex            	InterfaceIndex,
                rcStatFrameTooShorts       	Counter,
 		rcStatBridgeInUnicastFrames	Counter,
 		rcStatBridgeInMulticastFrames	Counter,
 		rcStatBridgeInBroadcastFrames	Counter,
 		rcStatBridgeInDiscards		Counter,
 		rcStatBridgeOutUnicastFrames	Counter,
 		rcStatBridgeOutMulticastFrames	Counter,
 		rcStatBridgeOutBroadcastFrames	Counter,
 		rcStatRouteInUnicastFrames	Counter,
 		rcStatRouteInMulticastFrames	Counter,
 		rcStatRouteInDiscards		Counter,
 		rcStatRouteOutUnicastFrames	Counter,
 		rcStatRouteOutMulticastFrames 	Counter,
		rcStatStgForwardTransitions     Counter,
		rcStatStgInConfigBpdus          Counter,
		rcStatStgInTcnBpdus             Counter,
		rcStatStgInBadBpdus             Counter,
		rcStatStgOutConfigBpdus         Counter,
		rcStatStgOutTcnBpdus            Counter,
		rcStatBridgeOutFrames           Counter
        }
 
rcStatPortIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An index value that uniquely identifies a port.
                      This value is similar to ifIndex in MIB2."
        ::= { rcStatEntry 1 }
 
rcStatFrameTooShorts OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of frames that are too short 
                      that were encountered on this interface."
        ::= { rcStatEntry 2 }

rcStatBridgeInUnicastFrames OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of incoming unicast frames that 
		      were bridged."
        ::= { rcStatEntry 3 }

rcStatBridgeInMulticastFrames OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "The total number of incoming multicast frames that 
                      were bridged."
        ::= { rcStatEntry 4 }

rcStatBridgeInBroadcastFrames OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "The total number of incoming broadcast frames that 
                      were bridged."
        ::= { rcStatEntry 5 }

rcStatBridgeInDiscards OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "The total number of frames that were discarded by
		      the bridging entity."
        ::= { rcStatEntry 6 }

rcStatBridgeOutUnicastFrames OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "The total number of outgoing unicast frames that 
                      were bridged."
        ::= { rcStatEntry 7 }

rcStatBridgeOutMulticastFrames OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "The total number of outgoing multicast frames that 
                      were bridged."
        ::= { rcStatEntry 8 }

rcStatBridgeOutBroadcastFrames OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "The total number of outgoing broadcast frames that 
                      were bridged."
        ::= { rcStatEntry 9 }

rcStatRouteInUnicastFrames OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "The total number of incoming unicast frames that
                      were routed."
        ::= { rcStatEntry 10 }

rcStatRouteInMulticastFrames OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "The total number of incoming multicast frames that
                      were routed."
        ::= { rcStatEntry 11 }

rcStatRouteInDiscards OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "The total number of frames that were discarded by
		      the routing entity."
        ::= { rcStatEntry 12 }

rcStatRouteOutUnicastFrames OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "The total number of outgoing unicast frames that
                      were routed."
        ::= { rcStatEntry 13 }

rcStatRouteOutMulticastFrames OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "The total number of outgoing multicast frames that
                      were routed."
        ::= { rcStatEntry 14 }

rcStatStgForwardTransitions OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "The number of times this port has transitioned
                      from the Learning state to the Forwarding state."
        ::= { rcStatEntry 15 }

rcStatStgInConfigBpdus OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   ""
        ::= { rcStatEntry 16 }

rcStatStgInTcnBpdus OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   ""
        ::= { rcStatEntry 17 }

rcStatStgInBadBpdus OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   ""
        ::= { rcStatEntry 18 }

rcStatStgOutConfigBpdus OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   ""
        ::= { rcStatEntry 19 }

rcStatStgOutTcnBpdus OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   ""
        ::= { rcStatEntry 20 }

rcStatBridgeOutFrames OBJECT-TYPE 
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION     "Used by the Accelar 8000 product family to account
                        for all transmitted bridge unicast, broadcast, and
                        multicast packets.  The individual counters are not
                        supported."

        ::= { rcStatEntry 21 }


-- rcStatGigTable

rcStatGigTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcStatGigEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store Gigport error statistics."
        ::= { rcStat 2 } 
 
rcStatGigEntry OBJECT-TYPE  
        SYNTAX        RcStatGigEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Gigabit interface error counters"
        INDEX         { rcStatGigPortIndex }
        ::= { rcStatGigTable 1 }
 
RcStatGigEntry ::= SEQUENCE {
		rcStatGigPortIndex            InterfaceIndex,
		rcStatGigLinkFailures         Counter,
		rcStatGigPacketErrors         Counter,
		rcStatGigCarrierErrors        Counter,
		rcStatGigLinkInactiveErrors   Counter,
                rcStatGigInFlowCtrlPkts       Counter,
                rcStatGigOutFlowCtrlPkts      Counter
        }

rcStatGigPortIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An index value that uniquely identifies a port.
                      This value is similar to ifIndex in MIB2."
        ::= { rcStatGigEntry 1 }

rcStatGigLinkFailures OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of link failures encountered on 
                      this interface."
        ::= { rcStatGigEntry 2 }

rcStatGigPacketErrors OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of packet errors encountered on 
                      this interface."
        ::= { rcStatGigEntry 3 }

rcStatGigCarrierErrors OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of carrier errors encountered on 
                      this interface."
        ::= { rcStatGigEntry 4 }

rcStatGigLinkInactiveErrors OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of link inactive errors encountered 
                       on this interface."
        ::= { rcStatGigEntry 5 }

rcStatGigInFlowCtrlPkts OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of flow control packets received
                         by this interface."
        ::= { rcStatGigEntry 6 }

rcStatGigOutFlowCtrlPkts OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of flow control packets transmitted 
                       by this interface."
        ::= { rcStatGigEntry 7 }

rcStatOspf   OBJECT IDENTIFIER       ::= { rcStat 3}
 
rcStatOspfBuffersAllocated OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of buffers
                      allocated for OSPF."
        ::= { rcStatOspf 1 }
 
rcStatOspfBuffersFreed OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of buffers
                      that are freed by the OSPF."
        ::= { rcStatOspf 2 }
 
rcStatOspfBufferAllocFailures OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of times
                      that OSPF has failed to allocate buffers."
        ::= { rcStatOspf 3 }
 
rcStatOspfBufferFreeFailures OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of times
                      that OSPF has failed to free buffers."
        ::= { rcStatOspf 4 }
 
rcStatOspfTxPackets OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of packets
                      transmitted by OSPF."
        ::= { rcStatOspf 5 }
 
 
rcStatOspfRxPackets OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of packets
                      received by OSPF."
        ::= { rcStatOspf 6 }
 
rcStatOspfTxDropPackets OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of packets
                      dropped before transmitted by OSPF."
        ::= { rcStatOspf 7 }
 
 
rcStatOspfRxDropPackets OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of packets
                      dropped before received by OSPF."
        ::= { rcStatOspf 8 }
 
rcStatOspfRxBadPackets OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of packets
                      received by OSPF that are bad."
        ::= { rcStatOspf 9 }
 
rcStatOspfSpfRuns OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of SPF
                      calculatations performed by OSPF."
        ::= { rcStatOspf 10 }
 
rcStatOspfLastSpfRun OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the time(SysUpTime) since
                      the last spf calculated by OSPF."
        ::= { rcStatOspf 11 }
 
rcStatIgmp   OBJECT IDENTIFIER       ::= { rcStat 4}

rcStatIgmpInMsgs OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of Igmp packets
                         received by the device."
        ::= { rcStatIgmp 1 }

rcStatIgmpInErrors OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of Igmp packets
                         received that are with checksum errors."
        ::= { rcStatIgmp 2 }

rcStatIgmpInQueries OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of Igmp queries
                         received by the device."
        ::= { rcStatIgmp 3 }

rcStatIgmpInReports OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of Igmp reports
                         received by the device."
        ::= { rcStatIgmp 4 }


rcStatIgmpInLeaves OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of Igmp Leaves
                         received by the device."
        ::= { rcStatIgmp 5 }

rcStatIgmpInvalid OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of Igmp packets
                         received by the device that contained invalid
                         type."
        ::= { rcStatIgmp 6 }

rcStatIgmpOutMsgs OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of Igmp queries
                         sent by the device."
        ::= { rcStatIgmp 7 }

rcStatOspfLsdbTblSize OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of entries in
                      the linkstate database table."
        ::= { rcStatOspf 12 }
 
 
rcStatOspfIfTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcStatOspfIfEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store OSPF interface
                      statistics."
        ::= { rcStat 5 }
 
rcStatOspfIfEntry OBJECT-TYPE
        SYNTAX        RcStatOspfIfEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Ospf interface statistics"
        INDEX         { rcStatOspfIfIndex }
        ::= { rcStatOspfIfTable 1 }
 
RcStatOspfIfEntry ::= SEQUENCE {
                rcStatOspfIfIndex                   InterfaceIndex,
                rcStatOspfIfRxHellos                Counter,
                rcStatOspfIfRxDBDescrs              Counter,
                rcStatOspfIfRxLSUpdates             Counter,
                rcStatOspfIfRxLSReqs                Counter,
                rcStatOspfIfRxLSAcks                Counter,
                rcStatOspfIfTxHellos                Counter,
                rcStatOspfIfTxDBDescrs              Counter,
                rcStatOspfIfTxLSUpdates             Counter,
                rcStatOspfIfTxLSReqs                Counter,
                rcStatOspfIfTxLSAcks                Counter,
                rcStatOspfIfVersionMismatches       Counter,
                rcStatOspfIfAreaMismatches          Counter,
                rcStatOspfIfAuthTypeMismatches      Counter,
                rcStatOspfIfAuthFailures            Counter,
                rcStatOspfIfNetMaskMismatches       Counter,
                rcStatOspfIfHelloIntervalMismatches Counter,
                rcStatOspfIfDeadIntervalMismatches  Counter,
                rcStatOspfIfOptionMismatches        Counter
        }
 
rcStatOspfIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex (0..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An unique value that is used to identify a
                      physical interface."
        ::= { rcStatOspfIfEntry 1 }
 
rcStatOspfIfRxHellos OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number hello packets
                      received by this interface."
        ::= { rcStatOspfIfEntry 2 }

rcStatOspfIfRxDBDescrs OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number database descriptor
                      packets received by this interface."
        ::= { rcStatOspfIfEntry 3 }
 
rcStatOspfIfRxLSUpdates OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Link state update
                      packets received by this interface."
        ::= { rcStatOspfIfEntry 4 }
 
rcStatOspfIfRxLSReqs OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Link state request
                      packets received by this interface."
        ::= { rcStatOspfIfEntry 5 }
 
rcStatOspfIfRxLSAcks OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Link state acknowlege
                      packets received by this interface."
        ::= { rcStatOspfIfEntry 6 }
 
rcStatOspfIfTxHellos OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number hello packets
                      transmitted by this interface."
        ::= { rcStatOspfIfEntry 7 }
 
rcStatOspfIfTxDBDescrs OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number database descriptor
                      packets transmitted by this interface."
        ::= { rcStatOspfIfEntry 8 }
 
rcStatOspfIfTxLSUpdates OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Link state update
                      packets transmitted by this interface."
        ::= { rcStatOspfIfEntry 9 }
 
rcStatOspfIfTxLSReqs OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Link state request
                      packets transmitted by this interface."
        ::= { rcStatOspfIfEntry 10 }
 
rcStatOspfIfTxLSAcks OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Link state acknowlege
                      packets transmitted by this interface."
        ::= { rcStatOspfIfEntry 11 }

rcStatOspfIfVersionMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number version
                      mismatches received by this interface."
        ::= { rcStatOspfIfEntry 12 }

rcStatOspfIfAreaMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number area
                      mismatches received by this interface."
        ::= { rcStatOspfIfEntry 13 }

rcStatOspfIfAuthTypeMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number AuthType 
                      mismatches received by this interface."
        ::= { rcStatOspfIfEntry 14 }

rcStatOspfIfAuthFailures OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Authentication
                      failures."
        ::= { rcStatOspfIfEntry 15 }

rcStatOspfIfNetMaskMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number net mask
                      mismatches received by this interface."
        ::= { rcStatOspfIfEntry 16 }

rcStatOspfIfHelloIntervalMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number hello interval
                      mismatches received by this interface."
        ::= { rcStatOspfIfEntry 17 }

rcStatOspfIfDeadIntervalMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number dead interval
                      mismatches received by this interface."
        ::= { rcStatOspfIfEntry 18 }

rcStatOspfIfOptionMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number options
                      mismatches received by this interface."
        ::= { rcStatOspfIfEntry 19 }

-- rcStatMlt Group

rcStatMlt      OBJECT IDENTIFIER ::= { rcStat 6 }
 
rcStatMltIfExtnTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcStatMltIfExtnEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store Mlt interface
                      statistics."
        ::= { rcStatMlt 1 }
 
rcStatMltIfExtnEntry OBJECT-TYPE
        SYNTAX        RcStatMltIfExtnEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Mlt interface statistics"
        INDEX         { rcStatMltIfExtnMltId }
        ::= { rcStatMltIfExtnTable 1 }
 
RcStatMltIfExtnEntry ::= SEQUENCE {
                rcStatMltIfExtnMltId                  INTEGER,
                rcStatMltIfExtnIfInMulticastPkts      Counter32,
                rcStatMltIfExtnIfInBroadcastPkts      Counter32,
                rcStatMltIfExtnIfOutMulticastPkts     Counter32,
                rcStatMltIfExtnIfOutBroadcastPkts     Counter32,
                rcStatMltIfExtnIfHCInOctets           Counter64,
                rcStatMltIfExtnIfHCInUcastPkts        Counter64,
                rcStatMltIfExtnIfHCInMulticastPkt     Counter64,
                rcStatMltIfExtnIfHCInBroadcastPkt     Counter64,
                rcStatMltIfExtnIfHCOutOctets          Counter64,
                rcStatMltIfExtnIfHCOutUcastPkts       Counter64,
                rcStatMltIfExtnIfHCOutMulticast       Counter64,
                rcStatMltIfExtnIfHCOutBroadcast       Counter64
        }
 
rcStatMltIfExtnMltId OBJECT-TYPE
        SYNTAX        INTEGER (1..32)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Mlt Id"
        ::= { rcStatMltIfExtnEntry 1 }
 
rcStatMltIfExtnIfInMulticastPkts OBJECT-TYPE
        SYNTAX        Counter32
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "multi-pkts to upper"
        ::= { rcStatMltIfExtnEntry 2 }

rcStatMltIfExtnIfInBroadcastPkts OBJECT-TYPE
        SYNTAX        Counter32
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "broad-pkts to upper"
        ::= { rcStatMltIfExtnEntry 3 }
 
rcStatMltIfExtnIfOutMulticastPkts OBJECT-TYPE
        SYNTAX        Counter32
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "multi-pkts from upper"
        ::= { rcStatMltIfExtnEntry 4 }
 
rcStatMltIfExtnIfOutBroadcastPkts OBJECT-TYPE
        SYNTAX        Counter32
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "broad-pkts from upper"
        ::= { rcStatMltIfExtnEntry 5 }
 
rcStatMltIfExtnIfHCInOctets OBJECT-TYPE
        SYNTAX        Counter64
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of octets received 
                       on the MLT interface, including framing 
                       characters."
        ::= { rcStatMltIfExtnEntry 6 }
 
rcStatMltIfExtnIfHCInUcastPkts OBJECT-TYPE
        SYNTAX        Counter64
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The number of packets delivered by this
                       MLT to a higher MLT that were not addressed
                       to a nulticast or broadcase address at this
                       sublayer."
        ::= { rcStatMltIfExtnEntry 7 }
 
rcStatMltIfExtnIfHCInMulticastPkt OBJECT-TYPE
        SYNTAX        Counter64
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The number of packets delivered to this MLT that
                       were addressed to a nulticast address at this
                       sublayer.  For a MAC layer protocol, this number
                       includes both Group and Functional addresses."
        ::= { rcStatMltIfExtnEntry 8 }
 
rcStatMltIfExtnIfHCInBroadcastPkt OBJECT-TYPE
        SYNTAX        Counter64
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The number of packets delivered to this MLT that
 		       were addressed to a broadcast address at this
 		       sublayer."
        ::= { rcStatMltIfExtnEntry 9 }
 
rcStatMltIfExtnIfHCOutOctets OBJECT-TYPE
        SYNTAX        Counter64
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of octets transmitted 
                       out of the MLT interface, including 
                       framing characters."
        ::= { rcStatMltIfExtnEntry 10 }
 
rcStatMltIfExtnIfHCOutUcastPkts OBJECT-TYPE
        SYNTAX        Counter64
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The number of packets that hight-level protocols
                       requested be transmitted that were not addressed 
                       to a multicast address at this MLT.  This total
                       number includes those packets discarded or unsent."
        ::= { rcStatMltIfExtnEntry 11 }

rcStatMltIfExtnIfHCOutMulticast OBJECT-TYPE 
        SYNTAX        Counter64
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of packets that hight-level
                       protocols requested be transmitted, and that 
                       were addressed to a multicast address at this
                       MLT, including those that were discarded or 
                       not sent.  For a MAC layer protocol, this
                       number includes both Group and Functional
                       addresses."
        ::= { rcStatMltIfExtnEntry 12 }

rcStatMltIfExtnIfHCOutBroadcast OBJECT-TYPE 
        SYNTAX        Counter64
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The total number of packets that hight-level
		       protocols requested be transmitted, and that
		       were addressed to a broadcase address at this	
		       MLT, including those that were discarded or 
		       not sent."
        ::= { rcStatMltIfExtnEntry 13 }

-- Mlt Ether table

rcStatMltEtherTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcStatMltEtherEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store Mlt Ethernet
                      statistics."
        ::= { rcStatMlt 2 }
 
rcStatMltEtherEntry OBJECT-TYPE
        SYNTAX        RcStatMltEtherEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Mlt enternet statistics"
        INDEX         { rcStatMltEtherMltId }
        ::= { rcStatMltEtherTable 1 }
 
RcStatMltEtherEntry ::= SEQUENCE {
                rcStatMltEtherMltId              INTEGER,
                rcStatMltEtherAlignmentErrors    Counter,
                rcStatMltEtherFCSErrors          Counter,
                rcStatMltEtherSingleCollFrames   Counter,
                rcStatMltEtherMultipleCollFrames Counter,
                rcStatMltEtherSQETestError       Counter,
                rcStatMltEtherDeferredTransmiss  Counter,
                rcStatMltEtherLateCollisions     Counter,
                rcStatMltEtherExcessiveCollis    Counter,
                rcStatMltEtherIMacTransmitError  Counter,
                rcStatMltEtherCarrierSenseError  Counter,
                rcStatMltEtherFrameTooLong       Counter,
                rcStatMltEtherIMacReceiveError   Counter
        }
 
rcStatMltEtherMltId OBJECT-TYPE
        SYNTAX        INTEGER (1..32)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A value that uniquely identifies the Multi-Link 
                       Trunk associated with this entry."
        ::= { rcStatMltEtherEntry 1 }
 
rcStatMltEtherAlignmentErrors OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A count of frames received on a particular MLT
 		       that are not an integral number of octets in
		       length and do not pass the FCS check.  The count
		       represented by an instance of this object is
		       incremented when the alignmentError status is
		       returned by the MAC service to the LLC (or other
		       MAC user).  Received frames for which multiple
	 	       error conditions occur are, according to the 
		       conventions of IEEE 802.3 Layer Management, 
		       counted exclusively according to the error status
		       presented to the LLC."
        ::= { rcStatMltEtherEntry 2 }

rcStatMltEtherFCSErrors OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A count of frames received on an MLT that are an
	               integral number of octets in length but do not pass
                       the FCS check.  The count represented by an instance
                       of this object is incremented when the frameCheckError
                       status is returned by the MAC service to the LLC
                       (or other MAC user).  Received frames for which
		       multiple error conditions occur are, according to 
                       the conventions of IEEE 802.3 Layer Management, 
		       counted exclusively according to the error status
		       presented to the LLC."
        ::= { rcStatMltEtherEntry 3 }
 
rcStatMltEtherSingleCollFrames OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A count of successfully transmitted frames on 
                       a particular MLT for which transmission is 
                       inhibited by exactly one collision.  A frame 
                       that is counted by an instance of this objects 
                       is also counted by the corresponding instance 
                       of either the ifOutUcastPkts, ifOutMulticastPkts, 
                       or ifOutBroadcastPkts, and it not counted by the 
                       corresponding instance of the MultipleCollisionFrames 
                       object."
        ::= { rcStatMltEtherEntry 4 }
 
rcStatMltEtherMultipleCollFrames OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A count of successfully transmitted frames on 
                       a particular MLT for which transmission is 
                       inhibited by more than one collision.  A frame 
                       that is counted by an instance of this object 
                       is also counted by the corresponding instance 
                       of either the ifOutUcastPkts, ifOutMulticastPkts, 
                       or ifOutBroadcastPkts, and is not counted by the 
                       corresponding instance of the SingleCollisionFrames 
                       objects."
        ::= { rcStatMltEtherEntry 5 }
 
rcStatMltEtherSQETestError OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A count of times that the SQE TEST ERROR message
		       is generated by the PLS sublayer for a particular
	               MLT. SQE stands for Signal Quality Error."
        ::= { rcStatMltEtherEntry 6 }
 
rcStatMltEtherDeferredTransmiss OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A count of frames for which the first transmission
	               attempt on a particular MLT is delayed because the
                       medium is busy.  The count represented by an 
	               instance of this object does not include frames
		       involved in collisions."
        ::= { rcStatMltEtherEntry 7 }
 
rcStatMltEtherLateCollisions OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The number of times that a collision is detected 
                       on a particular MLT later than 512 bit-times 
                       (64 octets) into the transmission of a packet. 
                       Five hundred and twelve bit-times corresponds to 
                       51.2 microseconds on a 10 mb/s system.  A (late) 
                       collision included in a count represented by an 
                       instance of this object is also considered as a
                       (generic) collision for purposes of other 
                       collision-related statistics."
        ::= { rcStatMltEtherEntry 8 }
 
rcStatMltEtherExcessiveCollis OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A count of frames for which transmission on a 
	               particular MLT fails due to excessive collisions."
        ::= { rcStatMltEtherEntry 9 }
 
rcStatMltEtherIMacTransmitError OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A count of frames for which transmission on a 
	               particular MLT fails due to an internal MAC 
                       sublayer transmit error.  A frame is only counted 
                       by an instance of this object if it is not counted
                       by the corresponding instance of either the 
		       LateCollisions object, the ExcessiveCollisions
		       object, or the CarrierSenseError object."
        ::= { rcStatMltEtherEntry 10 }
 
rcStatMltEtherCarrierSenseError OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The number of times that the carrier sense 
                       condition was lost or never asserted when 
                       attempting to transmit a frame on a particular
                       MLT.  The count represented by an instance of
	               this object is incremented at most once per
		       transmission attempt, even if the carrier
		       sense condition fluctuates during a 
		       transmission attempt."
        ::= { rcStatMltEtherEntry 11 }

rcStatMltEtherFrameTooLong OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A count of frames received on a particular MLT
                       that exceed the maximum permitted size (1518 
                       octets).  The count represented by an instance
		       os this object is incremented when the frame
	               TooLong status is returned by the MAC service
		       to the LLC (or other MAC user).  Received frames
		       for which multiple error conditions occur are, 
		       according to the conventions of IEEE 802.3 
                       Layer Management, counted exclusively according
		       to the error status presented to the LLC."
        ::= { rcStatMltEtherEntry 12 }

rcStatMltEtherIMacReceiveError OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A count of frames for which reception on a 
		       particular MLT fails due to an internal MAC
		       sublayer receive error.  A frame is only
		       counted by an instance of this object if it 
		       is not counted by the corresponding instance 
		       of either the FrameTooLongs object, the
	               AlignmentErrors object, of the FCSErrors
	               objects.
                       The precise meaning of the count represented
		       by an instance of this object is implementation
	               specific.  In particular, an instance of this
	               object may represent a count of receive errors
                       on a particular interface that are not otherwise
		       counted."
        ::= { rcStatMltEtherEntry 13 }


-- Mlt Ip table

rcStatMltIpTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcStatMltIpEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store Mlt Ip statistics."
        ::= { rcStatMlt 3 }
 
rcStatMltIpEntry OBJECT-TYPE
        SYNTAX        RcStatMltIpEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Mlt enternet statistics"
        INDEX         { rcStatMltIpMltId }
        ::= { rcStatMltIpTable 1 }
 
RcStatMltIpEntry ::= SEQUENCE {
                rcStatMltIpMltId            INTEGER,
                rcStatMltIpInReceives       Counter,
                rcStatMltIpInHdrErrors      Counter,
                rcStatMltIpInAddrErrors     Counter,
                rcStatMltIpForwDatagrams    Counter,
                rcStatMltIpInUnknownProtos  Counter,
                rcStatMltIpInDiscards       Counter,
                rcStatMltIpInDelivers       Counter,
                rcStatMltIpOutRequest       Counter,
                rcStatMltIpOutDiscards      Counter,
                rcStatMltIpOutNoRoutes      Counter,
                rcStatMltIpReasmReqds       Counter,
                rcStatMltIpReasmOKs         Counter,
                rcStatMltIpReasmFails       Counter,
                rcStatMltIpFragOKs          Counter,
                rcStatMltIpFragFails        Counter,
                rcStatMltIpFragCreates      Counter,
                rcStatMltIpRoutingDiscards  Counter
        }
 
rcStatMltIpMltId OBJECT-TYPE
        SYNTAX        INTEGER (1..8)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Mlt Id"
        ::= { rcStatMltIpEntry 1 }
 
rcStatMltIpInReceives OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "all incoming packets"
        ::= { rcStatMltIpEntry 2 }

rcStatMltIpInHdrErrors OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "hdr errors detected"
        ::= { rcStatMltIpEntry 3 }
 
rcStatMltIpInAddrErrors OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "bad dest. ip addr"
        ::= { rcStatMltIpEntry 4 }
 
rcStatMltIpForwDatagrams OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "packets forwarded"
        ::= { rcStatMltIpEntry 5 }
 
rcStatMltIpInUnknownProtos OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "unsupported protocol"
        ::= { rcStatMltIpEntry 6 }
 
rcStatMltIpInDiscards OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "good, but no buffer"
        ::= { rcStatMltIpEntry 7 }
 
rcStatMltIpInDelivers OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "pkts delivered to upper"
        ::= { rcStatMltIpEntry 8 }
 
rcStatMltIpOutRequest OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "pkts received from upper"
        ::= { rcStatMltIpEntry 9 }
 
rcStatMltIpOutDiscards OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "good, but no buffer"
        ::= { rcStatMltIpEntry 10 }
 
rcStatMltIpOutNoRoutes OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "no route to destination"
        ::= { rcStatMltIpEntry 11 }

rcStatMltIpReasmReqds OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "fragments to reassem"
        ::= { rcStatMltIpEntry 12 }

rcStatMltIpReasmOKs OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "reassembled successfully"
        ::= { rcStatMltIpEntry 13 }

rcStatMltIpReasmFails OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "reassembly failures"
        ::= { rcStatMltIpEntry 14 }

rcStatMltIpFragOKs OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "fragment successfully"
        ::= { rcStatMltIpEntry 15 }

rcStatMltIpFragFails OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "fragment failure"
        ::= { rcStatMltIpEntry 16 }

rcStatMltIpFragCreates OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "pkts due to fragmenting"
        ::= { rcStatMltIpEntry 17 }

rcStatMltIpRoutingDiscards OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Route entries removed"
        ::= { rcStatMltIpEntry 18 }


-- Stat Ospf Ip Interface Table
-- replaces Stat Ospf Interface Table

rcStatOspfIfV2Table OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcStatOspfIfV2Entry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store OSPF interface
                      statistics."
        ::= { rcStat 7 }
 
rcStatOspfIfV2Entry OBJECT-TYPE
        SYNTAX        RcStatOspfIfV2Entry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Ospf interface statistics"
        INDEX         { rcStatOspfIfV2Index, rcStatOspfIfV2Addr }
        ::= { rcStatOspfIfV2Table 1 }
 
RcStatOspfIfV2Entry ::= SEQUENCE {
                rcStatOspfIfV2Index                   InterfaceIndex,
                rcStatOspfIfV2Addr                    IpAddress,
                rcStatOspfIfV2RxHellos                Counter,
                rcStatOspfIfV2RxDBDescrs              Counter,
                rcStatOspfIfV2RxLSUpdates             Counter,
                rcStatOspfIfV2RxLSReqs                Counter,
                rcStatOspfIfV2RxLSAcks                Counter,
                rcStatOspfIfV2TxHellos                Counter,
                rcStatOspfIfV2TxDBDescrs              Counter,
                rcStatOspfIfV2TxLSUpdates             Counter,
                rcStatOspfIfV2TxLSReqs                Counter,
                rcStatOspfIfV2TxLSAcks                Counter,
                rcStatOspfIfV2VersionMismatches       Counter,
                rcStatOspfIfV2AreaMismatches          Counter,
                rcStatOspfIfV2AuthTypeMismatches      Counter,
                rcStatOspfIfV2AuthFailures            Counter,
                rcStatOspfIfV2NetMaskMismatches       Counter,
                rcStatOspfIfV2HelloIntervalMismatches Counter,
                rcStatOspfIfV2DeadIntervalMismatches  Counter,
                rcStatOspfIfV2OptionMismatches        Counter
        }
 
rcStatOspfIfV2Index OBJECT-TYPE
        SYNTAX        InterfaceIndex (0..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An unique value that is used to identify a
                      physical interface."
        ::= { rcStatOspfIfV2Entry 1 }
 
rcStatOspfIfV2Addr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Ip Address"
        ::= { rcStatOspfIfV2Entry 2 }
 
rcStatOspfIfV2RxHellos OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number hello packets
                      received by this interface."
        ::= { rcStatOspfIfV2Entry 3 }

rcStatOspfIfV2RxDBDescrs OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number database descriptor
                      packets received by this interface."
        ::= { rcStatOspfIfV2Entry 4 }
 
rcStatOspfIfV2RxLSUpdates OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Link state update
                      packets received by this interface."
        ::= { rcStatOspfIfV2Entry 5 }
 
rcStatOspfIfV2RxLSReqs OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Link state request
                      packets received by this interface."
        ::= { rcStatOspfIfV2Entry 6 }
 
rcStatOspfIfV2RxLSAcks OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Link state acknowlege
                      packets received by this interface."
        ::= { rcStatOspfIfV2Entry 7 }
 
rcStatOspfIfV2TxHellos OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number hello packets
                      transmitted by this interface."
        ::= { rcStatOspfIfV2Entry 8 }
 
rcStatOspfIfV2TxDBDescrs OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number database descriptor
                      packets transmitted by this interface."
        ::= { rcStatOspfIfV2Entry 9 }
 
rcStatOspfIfV2TxLSUpdates OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Link state update
                      packets transmitted by this interface."
        ::= { rcStatOspfIfV2Entry 10 }
 
rcStatOspfIfV2TxLSReqs OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Link state request
                      packets transmitted by this interface."
        ::= { rcStatOspfIfV2Entry 11 }
 
rcStatOspfIfV2TxLSAcks OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Link state acknowlege
                      packets transmitted by this interface."
        ::= { rcStatOspfIfV2Entry 12 }

rcStatOspfIfV2VersionMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number version
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 13 }

rcStatOspfIfV2AreaMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number area
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 14 }

rcStatOspfIfV2AuthTypeMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number AuthType 
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 15 }

rcStatOspfIfV2AuthFailures OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number Authentication
                      failures."
        ::= { rcStatOspfIfV2Entry 16 }

rcStatOspfIfV2NetMaskMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number net mask
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 17 }

rcStatOspfIfV2HelloIntervalMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number hello interval
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 18 }

rcStatOspfIfV2DeadIntervalMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number dead interval
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 19 }

rcStatOspfIfV2OptionMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number options
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 20 }


-- rcStatPos Group

rcStatPos      OBJECT IDENTIFIER ::= { rcStat 8 }

-- the Statistics Pos Control table

rcStatPosControlTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF RcStatPosControlEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION ""
        ::= { rcStatPos 1 }

rcStatPosControlEntry OBJECT-TYPE
        SYNTAX  RcStatPosControlEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION ""
        INDEX   { rcStatPosControlPortIndex }
        ::= { rcStatPosControlTable 1 }

RcStatPosControlEntry ::=
        SEQUENCE {
            rcStatPosControlPortIndex          InterfaceIndex,
            rcStatPosControlInErrors           Counter,
            rcStatPosControlInUnknownProtos    Counter,
            rcStatPosControlOutErrors          Counter,
            rcStatPosControlHCInOctets         Counter64,
            rcStatPosControlHCInUcastPkts      Counter64,
            rcStatPosControlHCInMulticastPkts  Counter64,
            rcStatPosControlHCInBroadcastPkts  Counter64,
            rcStatPosControlHCInDiscards       Counter64,
            rcStatPosControlHCOutOctets        Counter64,
            rcStatPosControlHCOutUcastPkts     Counter64,
            rcStatPosControlHCOutMulticastPkts Counter64,
            rcStatPosControlHCOutBroadcastPkts Counter64,
            rcStatPosControlHCOutDiscards      Counter64
        }

rcStatPosControlPortIndex OBJECT-TYPE
        SYNTAX  InterfaceIndex
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "A unique value for each port."
        ::= { rcStatPosControlEntry 1 }

rcStatPosControlInErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The total number of error pkts received
                on the interface."
        ::= { rcStatPosControlEntry 2 }

rcStatPosControlInUnknownProtos OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The number of packets received via the interface
                which were discarded because of an unknown or
                unsupported protocol."
        ::= { rcStatPosControlEntry 3 }

rcStatPosControlOutErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The number of outbound packets that could not be
                transmitted because of errors."
        ::= { rcStatPosControlEntry 4 }

rcStatPosControlHCInOctets OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The total number of octets received of the
                interface, including framing characters."
        ::= { rcStatPosControlEntry 5 }

rcStatPosControlHCInUcastPkts OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The number of subnetwork-unicast packets
                received from a higher-layer protocol."
        ::= { rcStatPosControlEntry 6 }

rcStatPosControlHCInMulticastPkts OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The number of multicast packets
                received from a higher-layer protocol."
        ::= { rcStatPosControlEntry 7 }

rcStatPosControlHCInBroadcastPkts OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The number of broadcast packets
                received from a higher-layer protocol."
        ::= { rcStatPosControlEntry 8 }

rcStatPosControlHCInDiscards OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The number of inbound packets which were chosen to be
               discarded even though no errors had been detected to
               prevent their being deliverable to a higher-layer
               protocol."
        ::= { rcStatPosControlEntry 9 }

rcStatPosControlHCOutOctets OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The total number of octets trasmitted out of the
                interface, including framing characters."
        ::= { rcStatPosControlEntry 10 }

rcStatPosControlHCOutUcastPkts OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The total number of packets that higher-level
                protocols requested be transmitted to a
                subnetwork-unicast address, including those that
                were discarded or not sent."
        ::= { rcStatPosControlEntry 11 }

rcStatPosControlHCOutMulticastPkts OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The number of multicast packets
                delivered to a higher-layer protocol."
        ::= { rcStatPosControlEntry 12 }

rcStatPosControlHCOutBroadcastPkts OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The number of broadcast packets
                delivered to a higher-layer protocol."
        ::= { rcStatPosControlEntry 13 }

rcStatPosControlHCOutDiscards OBJECT-TYPE
        SYNTAX  Counter64
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "The number of outbound packets which were chosen to
               be discarded even though no errors had been detected
               to prevent their being transmitted."
        ::= { rcStatPosControlEntry 14 }



-- Common resource threshold exceeded counter for all multicast protocols
-- active on the chassis

rcStatMulticast      OBJECT IDENTIFIER ::= { rcStat 9 }

rcStatMulticastSourceGroupThresholdExceeded OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only 
        STATUS        mandatory
        DESCRIPTION   "The count of number of times the threshold of 
                       available IP Multicast (Source,Group) Records was 
                       reached. When this threshold is reached, a new IP 
                       Multicast stream ingressing the switch cannot be 
                       forwarded."
        ::= { rcStatMulticast 1 }

rcStatMulticastEgressStreamThresholdExceeded OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The count of number of times the threshold of 
                       available IP Multicast Egress Forwarding Records was 
                       reached. When this threshold is reached, a new IP 
                       Multicast Receiver that needs new Egress Forwarding 
                       Record (PepStrem Record) will not be programmed to 
                       receive the subscribing multicast stream."
        ::= { rcStatMulticast 2 }


-- Spanning Tree Group (STG)

rcStgMaxStgs OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The maximum number of spanning tree groups this
		      device can support concurrently."
        ::= { rcStg 1 }

rcStgNumStgs OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The number of spanning tree groups that are
		      currently defined."
        ::= { rcStg 2 }

rcStgUnassignedPorts OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A bitfield used to identify which ports in
                      the system currently not assigned to any STG.

                      The bitfield is 32 octets long representing 
                      ports 0 to 255 (inclusive)."
        ::= { rcStg 3 }


-- STG Table

rcStgTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcStgEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store Spanning Tree Group (STG)
		      information.  Each row in the table specifies
		      a different STG in the device."
        ::= { rcStg 4 } 
 
rcStgEntry OBJECT-TYPE  
        SYNTAX        RcStgEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "STG attributes"
        INDEX  { rcStgId }
        ::= { rcStgTable 1 }
 
RcStgEntry ::= SEQUENCE {
		rcStgId INTEGER,
		rcStgTaggedBpduAddress MacAddress,
		rcStgTaggedBpduVlanId INTEGER,
		rcStgBridgeAddress MacAddress,
		rcStgNumPorts INTEGER,
		rcStgProtocolSpecification INTEGER,
		rcStgPriority INTEGER,
		rcStgTimeSinceTopologyChange TimeTicks,
		rcStgTopChanges Counter,
		rcStgDesignatedRoot BridgeId,
		rcStgRootCost INTEGER,
		rcStgRootPort INTEGER,
		rcStgMaxAge Timeout,
		rcStgHelloTime Timeout,
		rcStgHoldTime INTEGER,
		rcStgForwardDelay Timeout,
		rcStgBridgeMaxAge Timeout,
		rcStgBridgeHelloTime Timeout,
		rcStgBridgeForwardDelay Timeout,
		rcStgEnableStp TruthValue,
		rcStgStpTrapEnable TruthValue,
		rcStgPortMembers OCTET STRING,
		rcStgRowStatus RowStatus,
		rcStgPortStpState OCTET STRING
        }

rcStgId OBJECT-TYPE 
        SYNTAX  	INTEGER (1..25)
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"An identifier used to identify a STG in the device."
        ::= { rcStgEntry 1 }

rcStgTaggedBpduAddress OBJECT-TYPE
        SYNTAX  	MacAddress
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"The MAC address to be assigned to the destination
      	       		mac address field in tagged BPDUs.  

	       		The default address is the well known multicast 
	       		group address 01-80-c2-00-00-00."
        DEFVAL          { "01:80:c2:00:00:00" }
  	::= { rcStgEntry 2 }

rcStgTaggedBpduVlanId OBJECT-TYPE 
        SYNTAX  	INTEGER  
        ACCESS  	read-write 
        STATUS  	mandatory  
        DESCRIPTION 	"The VLAN ID to be used for tagging BPDUs." 
        ::= { rcStgEntry 3 }

rcStgBridgeAddress OBJECT-TYPE
        SYNTAX  	MacAddress
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The MAC address used by this bridge when it must
		       	be referred to in a unique fashion.   It is
		       	recommended that this be the numerically smallest
		       	MAC address of all ports that belong to this
		       	bridge.  However it is only required to be unique.
		       	When concatenated with rcStgPriority a unique
		       	BridgeIdentifier is formed which is used in the
		       	Spanning Tree Protocol."
        REFERENCE 	"IEEE 802.1D-1990: Sections 6.4.1.1.3 and 3.12.5"
        ::= { rcStgEntry 4 }

rcStgNumPorts OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The number of ports controlled by this bridging entity."
        REFERENCE 	"IEEE 802.1D-1990: Section 6.4.1.1.3"
        ::= { rcStgEntry 5 }

rcStgProtocolSpecification OBJECT-TYPE
        SYNTAX  	INTEGER {
			      unknown(1),
			      decLb100(2),
			      ieee8021d(3)
		        }
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"An indication of what version of the Spanning
                     	Tree Protocol is being run.  The value
                     	'decLb100(2)' indicates the DEC LANbridge 100
                     	Spanning Tree protocol.  IEEE 802.1d
                     	implementations will return 'ieee8021d(3)'.  If
                     	future versions of the IEEE Spanning Tree Protocol
                     	are released that are incompatible with the
                     	current version a new value will be defined."
        ::= { rcStgEntry 6 }

rcStgPriority OBJECT-TYPE
        SYNTAX  	INTEGER (0..65535)
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"The value of the write-able portion of the Bridge
	      	       	ID, i.e., the first two octets of the (8 octet
      		       	long) Bridge ID.  The other (last) 6 octets of the
      	       		Bridge ID are given by the value of rcStgBridgeAddress."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.3.7"
        DEFVAL          { 32768 }
        ::= { rcStgEntry 7 }

rcStgTimeSinceTopologyChange OBJECT-TYPE
        SYNTAX  	TimeTicks
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The time (in hundredths of a second) since the
	       		last time a topology change was detected by the
	       		bridge entity."
        REFERENCE 	"IEEE 802.1D-1990: Section 6.8.1.1.3"
        ::= { rcStgEntry 8 }

rcStgTopChanges OBJECT-TYPE
        SYNTAX  	Counter
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The total number of topology changes detected by
	       		this bridge since the management entity was last
	       		reset or initialized."
        REFERENCE 	"IEEE 802.1D-1990: Section 6.8.1.1.3"
        ::= { rcStgEntry 9 }

rcStgDesignatedRoot OBJECT-TYPE
        SYNTAX  	BridgeId
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The bridge identifier of the root of the spanning
	       		tree as determined by the Spanning Tree Protocol
	       		as executed by this node.  This value is used as
                        the Root Identifier parameter in all Configuration
                        Bridge PDUs originated by this node."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.3.1"
        ::= { rcStgEntry 10 }

rcStgRootCost OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The cost of the path to the root as seen from
	       		this bridge."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.3.2"
        ::= { rcStgEntry 11 }

rcStgRootPort OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The port number of the port which offers the
	  		lowest cost path from this bridge to the root
               		bridge."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.3.3"
        ::= { rcStgEntry 12 }

rcStgMaxAge OBJECT-TYPE
        SYNTAX  	Timeout
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The maximum age of Spanning Tree Protocol
	       		information learned from the network on any port
	       		before it is discarded, in units of hundredths of
	       		a second.  This is the actual value that this
	       		bridge is currently using."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.3.4"
        ::= { rcStgEntry 13 }

rcStgHelloTime OBJECT-TYPE
        SYNTAX  	Timeout
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The amount of time between the transmission of
	       		Configuration bridge PDUs by this node on any port
	       		when it is the root of the spanning tree or trying
	       		to become so, in units of hundredths of a second.
	       		This is the actual value that this bridge is
                        currently using."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.3.5"
        ::= { rcStgEntry 14 }

rcStgHoldTime OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "This time value determines the interval length
	                during which no more than two Configuration bridge
	                PDUs shall be transmitted by this node, in units
	             	of hundredths of a second."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.3.14"
        ::= { rcStgEntry 15 }

rcStgForwardDelay OBJECT-TYPE
        SYNTAX  	Timeout
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"This time value, measured in units of hundredths
	             	of a second, controls how fast a port changes its
	             	spanning state when moving towards the Forwarding
	             	state.  The value determines how long the port
	             	stays in each of the Listening and Learning
	             	states, which precede the Forwarding state.  This
	             	value is also used, when a topology change has
	             	been detected and is underway, to age all dynamic
	             	entries in the Forwarding Database.  [Note that
	             	this value is the one that this bridge is
	             	currently using, in contrast to
	             	rcStgBridgeForwardDelay which is the value that
	             	this bridge and all others would start using
	             	if/when this bridge were to become the root.]"
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.3.6"
        ::= { rcStgEntry 16 }

rcStgBridgeMaxAge OBJECT-TYPE
        SYNTAX  	Timeout (600..4000)
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"The value that all bridges use for MaxAge when
	             	this bridge is acting as the root.  Note that
	             	802.1D-1990 specifies that the range for this
	             	parameter is related to the value of
	             	rcStgBridgeHelloTime. The granularity of this
	             	timer is specified by 802.1D-1990 to be 1 second.
	             	An agent may return a badValue error if a set is
	             	attempted to a value which is not a whole number
	             	of seconds."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.3.8"
        DEFVAL          { 2000 }
        ::= { rcStgEntry 17 }

rcStgBridgeHelloTime OBJECT-TYPE
        SYNTAX  	Timeout (100..1000)
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"The value that all bridges use for HelloTime when
	             	this bridge is acting as the root.  The
	             	granularity of this timer is specified by 802.1D-
	             	1990 to be 1 second.  An agent may return a
	             	badValue error if a set is attempted to a value
	             	which is not a whole number of seconds."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.3.9"
        DEFVAL          { 200 }
        ::= { rcStgEntry 18 }

rcStgBridgeForwardDelay OBJECT-TYPE
        SYNTAX  	Timeout (400..3000)
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"The value that all bridges use for ForwardDelay
	             	when this bridge is acting as the root.  Note that
	             	802.1D-1990 specifies that the range for this
	             	parameter is related to the value of
	             	rcStgBridgeMaxAge.  The granularity of this
	             	timer is specified by 802.1D-1990 to be 1 second.
	             	An agent may return a badValue error if a set is
	             	attempted to a value which is not a whole number
	             	of seconds."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.3.10"
        DEFVAL          { 1500 }
        ::= { rcStgEntry 19 }

rcStgEnableStp OBJECT-TYPE
        SYNTAX  	TruthValue
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"Indicate whether the spanning tree protocol 
	       		should be active in this STG."
        DEFVAL         { true }
        ::= { rcStgEntry 20 }

rcStgStpTrapEnable OBJECT-TYPE
        SYNTAX 	 	TruthValue
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"Indicate whether traps relating to the spanning
	       		tree protocol should be sent for this STG."
        DEFVAL         { true }
        ::= { rcStgEntry 21 }

rcStgPortMembers OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(88))
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "A bitfield used to identify which ports in
		   	the system are members this STG.

		   	The bitfield is 32 octets long representing
		   	ports 0 to 255 (inclusive)."
        ::= { rcStgEntry 22 }

rcStgRowStatus OBJECT-TYPE
        SYNTAX  	RowStatus
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"Row status."
        ::= { rcStgEntry 23 }

rcStgPortStpState OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(176))
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Every 2 bitfields used to identify a port state
                        in this STG. Port state is cataloged as non-stp(0),
                        blocking(1), learning(2), and forwarding(3)."
        ::= { rcStgEntry 24 }


-- STG Port Table

rcStgPortTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcStgPortEntry
        ACCESS        not-accessible
        STATUS        mandatory    
        DESCRIPTION   "A table used to store Spanning Tree Group (STG)
                      port related information.  If a port is 
                      associated with more than one STGs, the port  
                      will have one entry in this table for each STG 
                      it assigned to." 
        ::= { rcStg 5 }
 
rcStgPortEntry OBJECT-TYPE
        SYNTAX        RcStgPortEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "STG Port attributes" 
        INDEX         { rcStgPort, rcStgPortStgId }
        ::= { rcStgPortTable 1 }
 
RcStgPortEntry ::= SEQUENCE {
                  rcStgPort InterfaceIndex,
                  rcStgPortStgId INTEGER,
                  rcStgPortPriority INTEGER,
                  rcStgPortState INTEGER,
                  rcStgPortEnableStp TruthValue,
                  rcStgPortFastStart TruthValue,
                  rcStgPortPathCost INTEGER,
                  rcStgPortDesignatedRoot BridgeId,
                  rcStgPortDesignatedCost INTEGER,
                  rcStgPortDesignatedBridge BridgeId,
                  rcStgPortDesignatedPort OCTET STRING,
                  rcStgPortForwardTransitions Counter,
                  rcStgPortInConfigBpdus Counter,
                  rcStgPortInTcnBpdus Counter,
                  rcStgPortInBadBpdus Counter,
                  rcStgPortOutConfigBpdus Counter,
                  rcStgPortOutTcnBpdus Counter,
		  rcStgPortRowStatus RowStatus
              }

rcStgPort OBJECT-TYPE
        SYNTAX  	InterfaceIndex
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The port number of the port for which this entry
                     	contains Spanning Tree Protocol management
                     	information."
        REFERENCE 	"IEEE 802.1D-1990: Section 6.8.2.1.2"
        ::= { rcStgPortEntry 1 }

rcStgPortStgId OBJECT-TYPE
        SYNTAX  	INTEGER (1..128)
        ACCESS  	read-only
        STATUS  	mandatory
	DESCRIPTION 	"The STG identifier this port is assigned to."
        ::= { rcStgPortEntry 2 }

rcStgPortPriority OBJECT-TYPE
        SYNTAX  	INTEGER (0..255)
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"The value of the priority field which is
                     	contained in the first (in network byte order)
                     	octet of the (2 octet long) Port ID.  The other
                     	octet of the Port ID is given by the value of
                     	rcStgPort."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.5.1"
        DEFVAL          { 128 }
        ::= { rcStgPortEntry 3 }

rcStgPortState OBJECT-TYPE
        SYNTAX  	INTEGER {
	                	disabled(1),
       		         	blocking(2),
       	        		listening(3),
		                learning(4),
               		 	forwarding(5),
                		broken(6)
        		}
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The port's current state as defined by
                     	application of the Spanning Tree Protocol.  This
                     	state controls what action a port takes on
                     	reception of a frame.  If the bridge has detected
                     	a port that is malfunctioning it will place that
                     	port into the broken(6) state.  For ports which
                     	are disabled (see rcStgPortEnable), this object
                     	will have a value of disabled(1)."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.5.2"
        ::= { rcStgPortEntry 4 }


rcStgPortEnableStp OBJECT-TYPE
        SYNTAX  	TruthValue
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"The enabled/disabled status of the port."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.5.2"
        DEFVAL           { true }
        ::= { rcStgPortEntry 5 }

rcStgPortFastStart OBJECT-TYPE
        SYNTAX     	TruthValue
        ACCESS     	read-write
        STATUS     	mandatory
        DESCRIPTION 	"When this flag is set, the port is moved 
                     	straight to the forwarding(5) state upon 
                     	being enabled."
        DEFVAL          { false }
        ::= { rcStgPortEntry 6 }

rcStgPortPathCost OBJECT-TYPE
        SYNTAX  	INTEGER (1..65535)
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"The contribution of this port to the path cost of
                     	paths towards the spanning tree root which include
                     	this port.  802.1D-1990 recommends that the
                     	default value of this parameter be in inverse
                     	proportion to the speed of the attached LAN."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.5.3"
        ::= { rcStgPortEntry 7 }

rcStgPortDesignatedRoot OBJECT-TYPE
        SYNTAX  	BridgeId
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The unique Bridge Identifier of the Bridge
                     	recorded as the Root in the Configuration BPDUs
                     	transmitted by the Designated Bridge for the
                     	segment to which the port is attached."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.5.4"
        ::= { rcStgPortEntry 8 }

rcStgPortDesignatedCost OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The path cost of the Designated Port of the
                     	segment connected to this port.  This value is
                     	compared to the Root Path Cost field in received
                     	bridge PDUs."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.5.5"
        ::= { rcStgPortEntry 9 }

rcStgPortDesignatedBridge OBJECT-TYPE
        SYNTAX  	BridgeId
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The Bridge Identifier of the bridge which this
                     	port considers to be the Designated Bridge for
                     	this port's segment."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.5.6"
        ::= { rcStgPortEntry 10 }

rcStgPortDesignatedPort OBJECT-TYPE
        SYNTAX  	OCTET STRING (SIZE (2))
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The Port Identifier of the port on the Designated
                     	Bridge for this port's segment."
        REFERENCE 	"IEEE 802.1D-1990: Section 4.5.5.7"
        ::= { rcStgPortEntry 11 }

rcStgPortForwardTransitions OBJECT-TYPE
        SYNTAX  	Counter
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The number of times this port has transitioned
                     	from the Learning state to the Forwarding state."
        ::= { rcStgPortEntry 12 }

rcStgPortInConfigBpdus OBJECT-TYPE
        SYNTAX  	Counter
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The number of Config BPUDs received by
                     	this port."
        ::= { rcStgPortEntry 13 }

rcStgPortInTcnBpdus OBJECT-TYPE
        SYNTAX  	Counter
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The number of Topology Change Notification
                     	BPUDs received by this port."
        ::= { rcStgPortEntry 14 }

rcStgPortInBadBpdus OBJECT-TYPE
        SYNTAX  	Counter
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The number of Bad BPUDs received by this port."
        ::= { rcStgPortEntry 15 }

rcStgPortOutConfigBpdus OBJECT-TYPE
        SYNTAX  	Counter
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The number of Config BPUDs transmitted by this port."
        ::= { rcStgPortEntry 16 }


rcStgPortOutTcnBpdus OBJECT-TYPE
        SYNTAX  	Counter
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The number of Topology Change Notification
                     	BPUDs transmitted by this port."
        ::= { rcStgPortEntry 17 }

rcStgPortRowStatus OBJECT-TYPE
        SYNTAX  	RowStatus
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"Row status."
        ::= { rcStgPortEntry 18 }


rcStgNotAllowedPorts OBJECT-TYPE 
        SYNTAX        PortSet  
        ACCESS        read-only
        STATUS        mandatory 
        DESCRIPTION   "A bitfield used to identify which ports in 
                      the system that cannot be assigned to any STG
                      (i.e., which ports are single routable ports). 
 
                      The bitfield is 32 octets long representing 
                      ports 0 to 255 (inclusive)." 
        ::= { rcStg 6 } 


-- rcBridge Group
-- Forwarding Database for Transparent Bridges

rcBridgeFdbTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF RcBridgeFdbEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"This table is an replacement to the standard 
                     	dot1dTpFdbTable in rfc1493."
	::= { rcBridge 1 }

rcBridgeFdbEntry OBJECT-TYPE
	SYNTAX  	RcBridgeFdbEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
        DESCRIPTION 	"Information about a specific unicast MAC address
                     	for which the bridge has some forwarding information."
	INDEX { rcBridgeFdbStatus, rcBridgeFdbAddress }
	::= { rcBridgeFdbTable 1 }

RcBridgeFdbEntry ::=
	SEQUENCE {
                  rcBridgeFdbStatus INTEGER,
                  rcBridgeFdbAddress MacAddress,
                  rcBridgeFdbPort InterfaceIndex,
                  rcBridgeFdbMonitor TruthValue,
                  rcBridgeFdbPriority INTEGER,
                  rcBridgeFdbQosLevel INTEGER
                 }
 
rcBridgeFdbStatus OBJECT-TYPE
        SYNTAX  	INTEGER {
			      other(1),
			      invalid(2),
			      learned(3),
			      self(4),
			      mgmt(5)
			}
        ACCESS 	 	read-only
        STATUS 	 	mandatory
        DESCRIPTION 	"This object indicates the status of this entry."
        ::= { rcBridgeFdbEntry 1 }

rcBridgeFdbAddress OBJECT-TYPE
        SYNTAX  	MacAddress
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"A unicast MAC address for which the bridge 
	             	has forwarding and/or filtering information."
        REFERENCE "IEEE 802.1D-1990: Section 3.9.1, 3.9.2"
        ::= { rcBridgeFdbEntry 2 }

rcBridgeFdbPort OBJECT-TYPE
        SYNTAX  	InterfaceIndex
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"Either the value '0', or the port number of the
      	             	port on which a frame having a source address
		        equal to the value of the corresponding instance
		        of rcBridgeFdbAddress has been seen.  A value of
		        '0' indicates that the port number has not been
		        learned but that the bridge does have some
		        forwarding/filtering information about this
		        address (e.g. in the dot1dStaticTable).
		        Implementors are encouraged to assign the port
		        value to this object whenever it is learned even
		        for addresses for which the corresponding value of
		        rcBridgeFdbStatus is not learned(3)."
        ::= { rcBridgeFdbEntry 3 }

rcBridgeFdbMonitor OBJECT-TYPE
        SYNTAX  	TruthValue
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"Used to indicate whether monitoring should be
      	             	performed on this unicast MAC address.  If
	             	monitoring is enabled, any packet received
	             	with a matching destination MAC address
	             	will be forwarded to the port configured to
	             	receive monitor traffic."
        ::= { rcBridgeFdbEntry 4 }

rcBridgeFdbPriority OBJECT-TYPE
        SYNTAX  	INTEGER {
				low(0),
		            	high(1)
		        }
        ACCESS  	read-write
        STATUS  	deprecated
        DESCRIPTION   	"Used to indicate the priority of the incoming
                       	frames with this destination Mac Address."
        DEFVAL         { low }
        ::= { rcBridgeFdbEntry 5 }

rcBridgeFdbQosLevel OBJECT-TYPE
        SYNTAX  	INTEGER {
                            level0(0),
                            level1(1),
                            level2(2),
                            level3(3),
                            level4(4),
                            level5(5),
                            level6(6),
                            level7(7)
                        }
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION   	"Used to indicate the qos level of the incoming
                       	frames with this destination Mac Address."
	DEFVAL		{ level1 }
        ::= { rcBridgeFdbEntry 6 }

rcBridgeFdbTblSize OBJECT-TYPE  
        SYNTAX         	INTEGER  
        ACCESS         	read-only  
        STATUS        	mandatory  
        DESCRIPTION   	"Used to indicate the number of entries in 
                       	the bridge forwarding database table."    
        ::= { rcBridge 2 }


-- The Static (Destination-Address) Database
 
rcBridgeStaticTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF RcBridgeStaticEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"This table is a proprietary replacement to the standard
                     	dot1dStaticTable in rfc1493."
	::= { rcBridge 3 }
 
rcBridgeStaticEntry OBJECT-TYPE
	SYNTAX  	RcBridgeStaticEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
   	DESCRIPTION 	"A table containing forwarding information about unicast
                     	entries configured into the bridge by management. This
                     	information is used by the transparent bridging function
                     	in determining how to propagate a received frame."
	INDEX   { rcBridgeStaticAddress, rcBridgeStaticPort }
              ::= { rcBridgeStaticTable 1 }
 
RcBridgeStaticEntry ::=
SEQUENCE {
	  rcBridgeStaticAddress  MacAddress,
	  rcBridgeStaticPort     InterfaceIndex,
	  rcBridgeStaticMonitor  TruthValue,
	  rcBridgeStaticPriority INTEGER,
	  rcBridgeStaticStatus   INTEGER,
	  rcBridgeStaticQosLevel INTEGER
	 }

rcBridgeStaticAddress OBJECT-TYPE
        SYNTAX  	MacAddress
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The MAC address of this entry." 
        ::= { rcBridgeStaticEntry 1 }

rcBridgeStaticPort OBJECT-TYPE
        SYNTAX  	InterfaceIndex
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"Port on which the MAC address is found."
        ::= { rcBridgeStaticEntry 2 }
 
rcBridgeStaticMonitor OBJECT-TYPE
        SYNTAX  	TruthValue 
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"Used to indicate whether monitoring should be
		     	performed on incoming packets that match this
		     	entry."
        ::= { rcBridgeStaticEntry 3 }

rcBridgeStaticPriority OBJECT-TYPE
        SYNTAX  	INTEGER {
           			low(0),
			        high(1)
		        }
        ACCESS  	read-write
        STATUS  	deprecated
        DESCRIPTION 	"Used to indicate forwarding priority of incoming 
        	     	packets that match this entry." 
        DEFVAL         { low }
        ::= { rcBridgeStaticEntry 4 }

rcBridgeStaticStatus OBJECT-TYPE
       	SYNTAX  	INTEGER {
			    other(1),
			    invalid(2),
			    permanent(3),
			    deleteOnReset(4),
			    deleteOnTimeout(5)
       		        }
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION   	"This object indicates the status of this 
                       	entry. The default value is permanent(3)."
        ::= { rcBridgeStaticEntry 5 }

rcBridgeStaticQosLevel OBJECT-TYPE
        SYNTAX  	INTEGER {
                            level0(0),
                            level1(1),
                            level2(2),
                            level3(3),
                            level4(4),
                            level5(5),
                            level6(6),
                            level7(7)
                        }
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION   	"Used to indicate the qos level."
        DEFVAL         { level1 }
        ::= { rcBridgeStaticEntry 6 }

rcBridgeStaticTblSize OBJECT-TYPE  
        SYNTAX        	INTEGER  
        ACCESS        	read-only  
        STATUS        	mandatory  
        DESCRIPTION   	"Used to indicate the number of entries in 
                       	the bridge static table."    
        ::= { rcBridge 4 }

-- The filtering (Destination-Address) Database

rcBridgeFilterTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF RcBridgeFilterEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"This table is a proprietary replacement to the standard
                     	dot1dStaticTable (Filtering information) in rfc1493."
	::= { rcBridge 5 }
 
rcBridgeFilterEntry OBJECT-TYPE
	SYNTAX  	RcBridgeFilterEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"A table containing filtering information configured into
                     	the bridge by management specifying a destination address
                     	on a specific port and a set of incoming ports. Frames 
                     	received from one of the incoming ports and containing 
		     	the specific destination addresses are not allowed to be
		     	forwarded."
	INDEX   { rcBridgeFilterAddress, rcBridgeFilterPort }
        ::= { rcBridgeFilterTable 1 }
 
RcBridgeFilterEntry ::=
        SEQUENCE {
	     rcBridgeFilterAddress        MacAddress,
	     rcBridgeFilterPort           InterfaceIndex,
	     rcBridgeFilterNotAllowedFrom OCTET STRING,
	     rcBridgeFilterStatus         INTEGER
        }

rcBridgeFilterAddress OBJECT-TYPE
        SYNTAX  	MacAddress
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The MAC address of this entry.  This address is used
		     	to match the destination address of incoming packets."
        ::= { rcBridgeFilterEntry 1 }
 
rcBridgeFilterPort OBJECT-TYPE
        SYNTAX  	InterfaceIndex
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"Port on which this MAC address is found."
        ::= { rcBridgeFilterEntry 2 }
 
rcBridgeFilterNotAllowedFrom OBJECT-TYPE
        SYNTAX  	OCTET STRING (SIZE(88))
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"Used to indicate a set of ports.  Traffic arriving
		     	on any of the specified ports is not forwarded to this 
                     	MAC address."
        ::= { rcBridgeFilterEntry 3 }

rcBridgeFilterStatus OBJECT-TYPE
        SYNTAX  	INTEGER {
		               other(1),
       		               invalid(2),
       		               permanent(3),
       		               deleteOnReset(4),
       		               deleteOnTimeout(5)
       	         	}
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"This object indicates the status of this 
                     	entry. The default value is permanent(3)."
        ::= { rcBridgeFilterEntry 4 }

rcBridgeFilterTblSize OBJECT-TYPE  
        SYNTAX        	INTEGER  
        ACCESS        	read-only  
        STATUS        	mandatory  
        DESCRIPTION   	"Used to indicate the number of entries in 
                       	the bridge filter table."    
        ::= { rcBridge 6 }

-- The unknown mac discard config table

rcBridgeUnknownMacDiscardTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF RcBridgeUnknownMacDiscardEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"This table is used to configure the 'unknown mac discard' feature.
                        This feature applies to layer 2 and layer 3 packets coming from 
                        or going out to a specific physical port."
	::= { rcBridge 7 }
 
rcBridgeUnknownMacDiscardEntry OBJECT-TYPE
	SYNTAX  	RcBridgeUnknownMacDiscardEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"A table containing information configuring
                        the 'unknown mac discard' feature."
	INDEX   { rcBridgeUnknownMacDiscardIfIndex }
        ::= { rcBridgeUnknownMacDiscardTable 1 }
 
RcBridgeUnknownMacDiscardEntry ::=
        SEQUENCE {
	    rcBridgeUnknownMacDiscardIfIndex                  InterfaceIndex,
	    rcBridgeUnknownMacDiscardAutoLearnEnable          TruthValue,
	    rcBridgeUnknownMacDiscardAutoLearnMode            INTEGER,
	    rcBridgeUnknownMacDiscardAutoLearnTableMode       INTEGER,
	    rcBridgeUnknownMacDiscardLogViolations            INTEGER,
	    rcBridgeUnknownMacDiscardSendTrap                 INTEGER,
	    rcBridgeUnknownMacDiscardDisablePort              INTEGER,
	    rcBridgeUnknownMacDiscardDefaultAutoLearnMonitor  INTEGER,
	    rcBridgeUnknownMacDiscardDefaultAutoLearnPriority INTEGER
        }

rcBridgeUnknownMacDiscardIfIndex OBJECT-TYPE
        SYNTAX  	InterfaceIndex
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"Port on which this 'unknown mac discard' configuration applied to."
        ::= { rcBridgeUnknownMacDiscardEntry 1 }
 
rcBridgeUnknownMacDiscardAutoLearnEnable OBJECT-TYPE  
        SYNTAX        	TruthValue  
        ACCESS        	read-write  
        STATUS        	mandatory  
        DESCRIPTION   	"This variable is used to enable/disable the auto-learn capability 
                         of a specific port. The default value is auto-learn disabled."
        ::= { rcBridgeUnknownMacDiscardEntry 2 }

rcBridgeUnknownMacDiscardAutoLearnMode OBJECT-TYPE  
        SYNTAX        	INTEGER {
                               oneShot(1),
                               continuous(2)
                        }
        ACCESS        	read-write  
        STATUS        	mandatory  
        DESCRIPTION   	"This variable is used to control the auot-learn mode to either 
                         one-shot or continuous. In one-shot mode, the first n MAC addresses 
                         will be learned. The number n is dependents on the system's 
                         available resource. In continuous mode, MAC address is continuous 
                         learned until the resource limit is reached. After that the 
                         subsequent MAC will be disallowed until one of the original 
                         learned MAC is aged out. The default value is one-shot mode."
        ::= { rcBridgeUnknownMacDiscardEntry 3 }

rcBridgeUnknownMacDiscardAutoLearnTableMode OBJECT-TYPE
        SYNTAX  	INTEGER {
		               unlock(1),
       		               lock(2)
       	         	}
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"This MIB variable is used to lock or unlock the auto-learn MAC 
                         table. When the auto-learn table is lock neither new MAC will be 
                         learned nor the original learned MAC will be aged out. User needs 
                         to lock the auto-learn table before MAC addresses can be save to 
                         the NVRAM. The whole auto-learn table will be flushed when the 
                         setting change from lock to unlock mode. The default value is 
                         unlock mode."
        ::= { rcBridgeUnknownMacDiscardEntry 4 }

rcBridgeUnknownMacDiscardLogViolations OBJECT-TYPE
        SYNTAX  	INTEGER {
		               disable(1),
       		               enable(2)
       	         	}
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"This variable controls the logging action that the system will 
                         take when a MAC address violation event was detected. The 
                         value 'enable' means a log record will be written to the system 
                         log file when a violation event was detected. The default value 
                         is enable."
        ::= { rcBridgeUnknownMacDiscardEntry 5 }

rcBridgeUnknownMacDiscardSendTrap OBJECT-TYPE
        SYNTAX  	INTEGER {
		               disable(1),
       		               enable(2)
       	         	}
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"This variable controls the send trap action that system will take 
                         when a MAC address violation event was detected. The value 'enable' 
                         means a SNMP trap packet will be send to the management station 
                         when a violation event was detected. The default value is disable."
        ::= { rcBridgeUnknownMacDiscardEntry 6 }

rcBridgeUnknownMacDiscardDisablePort OBJECT-TYPE
        SYNTAX  	INTEGER {
		               disable(1),
       		               enable(2)
       	         	}
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"This variable controls the 'disable-port' action that system 
                         will take when a MAC address violation event was detected. The 
                         value 'enable' means the specific port will be disabled when the 
                         violation event was detected. It needs user manually to bring 
                         the port back once it was disabled. The default value is disable."
        ::= { rcBridgeUnknownMacDiscardEntry 7 }

rcBridgeUnknownMacDiscardDefaultAutoLearnMonitor OBJECT-TYPE
        SYNTAX  	INTEGER {
			 	none(1),
			 	monitor(2)
			}
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"This variable controls the default monitor setting of an auto-learn 
                         MAC address. The value 'monitor' means a copy of packet that send 
                         from or to the auto-learned MAC address will be forwarded to the 
                         designated monitoring port on the system. The default value is none."
        ::= { rcBridgeUnknownMacDiscardEntry 8 }

rcBridgeUnknownMacDiscardDefaultAutoLearnPriority OBJECT-TYPE
        SYNTAX  	INTEGER {
		               low(1),
       		               high(2)
       	         	}
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"This variable controls the default priority setting of an 
                         auto-learn MAC address. The value 'low' means packets send from 
                         the MAC address is forwarded at low priority. The value 'high' 
                         means packets send from the MAC address is forwarded at high 
                         priority. The default value is low."
        ::= { rcBridgeUnknownMacDiscardEntry 9 }

-- The Manual Edit table

rcBridgeManualEditTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF RcBridgeManualEditEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"This table is used to specify what MAC addresses can be learned 
                         on each port."
	::= { rcBridge 8 }
 
rcBridgeManualEditEntry OBJECT-TYPE
	SYNTAX  	RcBridgeManualEditEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"A table containing information of
                        MAC addresses that can be learned."
	INDEX   { rcBridgeManualEditAddress }
        ::= { rcBridgeManualEditTable 1 }
 
RcBridgeManualEditEntry ::=
        SEQUENCE {
	    rcBridgeManualEditAddress    MacAddress,
	    rcBridgeManualEditPorts      PortSet,
	    rcBridgeManualEditMonitor    TruthValue,
	    rcBridgeManualEditPriority   INTEGER,
	    rcBridgeManualEditStatus     INTEGER
        }

rcBridgeManualEditAddress OBJECT-TYPE
        SYNTAX  	MacAddress
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"This variable contains the source MAC address of an entry."
        ::= { rcBridgeManualEditEntry 1 }
 
rcBridgeManualEditPorts OBJECT-TYPE  
        SYNTAX        	PortSet  
        ACCESS        	read-write  
        STATUS        	mandatory  
        DESCRIPTION   	"This variable contains the allowed ports on which the MAC 
                         address of this entry can be learned."
        ::= { rcBridgeManualEditEntry 2 }

rcBridgeManualEditMonitor OBJECT-TYPE  
        SYNTAX        	TruthValue
        ACCESS        	read-write  
        STATUS        	mandatory  
        DESCRIPTION   	"This variable specifies the monitoring setting of the MAC 
                         address. The value 'true' means a copy of packet frame that 
                         send from or to the MAC address is forwarded to the designated 
                         monitoring port on the system. The default value is false."
        ::= { rcBridgeManualEditEntry 3 }

rcBridgeManualEditPriority OBJECT-TYPE
        SYNTAX  	INTEGER {
		               low(1),
       		               high(2)
       	         	}
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"This variable specifies the priority setting of the MAC address. 
                         The value 'low' means packet frames send from the MAC address 
                         is forwarded at low priority. The default value is low."
        ::= { rcBridgeManualEditEntry 4 }

rcBridgeManualEditStatus OBJECT-TYPE
        SYNTAX  	INTEGER {
		               other(1),
		               invalid(2),
       		               active(3)
       	         	}
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"The variable controls the status of a MAC address in the table. 
                         The value 'active' is used to add the MAC address entry into the 
                         table. The value 'invalid' is used to delete the MAC address from 
                         the table."
        ::= { rcBridgeManualEditEntry 5 }

rcBridgeManualEditTblSize OBJECT-TYPE  
        SYNTAX        	INTEGER  
        ACCESS        	read-only  
        STATUS        	mandatory  
        DESCRIPTION   	"Used to indicate the number of entries in 
                       	the manual edit table."    
        ::= { rcBridge 9 }

-- The Auto Learn table

rcBridgeAutoLearnTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF RcBridgeAutoLearnEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"This table contains information of auto-learned MAC address when 
                         the 'unknow MAC discard' table's auto-learn is enabled. User must 
                         explicitly lock and save the table into NVRAM in order to have 
                         this table has the same configuration cross the system reset."
	::= { rcBridge 10 }
 
rcBridgeAutoLearnEntry OBJECT-TYPE
	SYNTAX  	RcBridgeAutoLearnEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"Entries in this table are created automatically
                        when the user explicitly does a lock operation on
                        the auto-learn-table (i.e., when 'AutoLearnTableMode'
                        is set to lock(2))."
	INDEX   { rcBridgeAutoLearnAddress }
        ::= { rcBridgeAutoLearnTable 1 }
 
RcBridgeAutoLearnEntry ::=
        SEQUENCE {
	    rcBridgeAutoLearnAddress    MacAddress,
	    rcBridgeAutoLearnPort       PortSet,
	    rcBridgeAutoLearnMonitor    TruthValue,
	    rcBridgeAutoLearnPriority   INTEGER,
	    rcBridgeAutoLearnAction     INTEGER
        }

rcBridgeAutoLearnAddress OBJECT-TYPE
        SYNTAX  	MacAddress
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"This variable contains the source MAC address of the entries."
        ::= { rcBridgeAutoLearnEntry 1 }
 
rcBridgeAutoLearnPort OBJECT-TYPE  
        SYNTAX        	PortSet  
        ACCESS        	read-only  
        STATUS        	mandatory  
        DESCRIPTION   	"This variable contains the port where the MAC address was learned."
        ::= { rcBridgeAutoLearnEntry 2 }

rcBridgeAutoLearnMonitor OBJECT-TYPE  
        SYNTAX        	TruthValue
        ACCESS        	read-only  
        STATUS        	mandatory  
        DESCRIPTION   	"This variable contains the monitor setting of the MAC address. 
                         The value 'true' means a copy of packet frame that send from or 
                         to the MAC address is forwarded to the designated monitoring port 
                         on the system. This value should be synchronized with the setting 
                         of 'unknow MAC discard' table's 'Default AutoLearnMonitor' setting 
                         when the MAC address was learned."
        ::= { rcBridgeAutoLearnEntry 3 }

rcBridgeAutoLearnPriority OBJECT-TYPE
        SYNTAX  	INTEGER {
		               low(1),
       		               high(2)
       	         	}
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"This variable contains the priority setting of the MAC address. 
                         The value 'low' means packet frames send from the MAC address is 
                         forwarded at low priority. The value 'high' means packet frames 
                         send from the MAC address is forwarded at high priority. This 
                         value should be synchronized with the setting of 'unknow MAC 
                         discard' table's 'DefaultAutoLearnPriority' setting when the MAC
                         address was learned."
        ::= { rcBridgeAutoLearnEntry 4 }

rcBridgeAutoLearnAction OBJECT-TYPE
        SYNTAX  	INTEGER {
		               none(0),
		               convertToManualEdit(1)
       	         	}
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"This variable is for converting an auto-learned MAC address entry 
                         to a manual edit MAC address entry. This variable provides a mechanism
                         for user to move a MAC address entry from auto-learn table to manual 
                         edit table."
        ::= { rcBridgeAutoLearnEntry 5 }


rcBridgeAutoLearnTblSize OBJECT-TYPE  
        SYNTAX        	INTEGER  
        ACCESS        	read-only  
        STATUS        	mandatory  
        DESCRIPTION   	"Used to indicate the number of entries in 
                       	the auto learn table."    
        ::= { rcBridge 11 }


-- The Statis Multicast table

rcBridgeStaticMulticastTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF RcBridgeStaticMulticastEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	""
	::= { rcBridge 12 }
 
rcBridgeStaticMulticastEntry OBJECT-TYPE
	SYNTAX  	RcBridgeStaticMulticastEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	""
	INDEX   { rcBridgeStaticMulticastAddress }
        ::= { rcBridgeStaticMulticastTable 1 }
 
RcBridgeStaticMulticastEntry ::=
        SEQUENCE {
	    rcBridgeStaticMulticastAddress         MacAddress,
	    rcBridgeStaticMulticastForwardingPorts PortSet,
	    rcBridgeStaticMulticastMltIds          IdList,
	    rcBridgeStaticMulticastRowStatus       RowStatus
        }

rcBridgeStaticMulticastAddress OBJECT-TYPE
        SYNTAX  	MacAddress
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"src mac addr."
        ::= { rcBridgeStaticMulticastEntry 1 }
 
rcBridgeStaticMulticastForwardingPorts OBJECT-TYPE  
        SYNTAX        	PortSet  
        ACCESS        	read-write  
        STATUS        	mandatory  
        DESCRIPTION   	"ports for forward this mac"
        ::= { rcBridgeStaticMulticastEntry 2 }

rcBridgeStaticMulticastMltIds OBJECT-TYPE  
        SYNTAX        	IdList
        ACCESS        	read-write  
        STATUS        	mandatory  
        DESCRIPTION   	"list of mlts this mac will be forwarded on"
        ::= { rcBridgeStaticMulticastEntry 3 }

rcBridgeStaticMulticastRowStatus OBJECT-TYPE
        SYNTAX  	RowStatus
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"row status"
        ::= { rcBridgeStaticMulticastEntry 4 }

rcBridgeStaticMulticastTblSize OBJECT-TYPE  
        SYNTAX        	INTEGER  
        ACCESS        	read-only  
        STATUS        	mandatory  
        DESCRIPTION   	"Used to indicate the number of entries in 
                       	the static multicast table."    
        ::= { rcBridge 13 }

rcRateLimitTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcRateLimitEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     ""
        ::= { rcBridge 14 }

rcRateLimitEntry OBJECT-TYPE
        SYNTAX          RcRateLimitEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     ""
        INDEX   { rcRateLimitIfIndex, rcRateLimitIfTrafficType }
        ::= { rcRateLimitTable 1 }

RcRateLimitEntry ::=
        SEQUENCE {
            rcRateLimitIfIndex          InterfaceIndex,
            rcRateLimitIfTrafficType 	INTEGER,
            rcRateLimitIfAllowedRate    INTEGER,
            rcRateLimitIfEnable       	TruthValue
        }

rcRateLimitIfIndex OBJECT-TYPE
        SYNTAX          InterfaceIndex
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Port ifindex."
        ::= { rcRateLimitEntry 1 }

rcRateLimitIfTrafficType OBJECT-TYPE
        SYNTAX          INTEGER {
                                broadcast(1),        
                                multicast(2)        
                        }
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Type of traffic allowed."
        DEFVAL          { broadcast }
        ::= { rcRateLimitEntry 2 }

rcRateLimitIfAllowedRate OBJECT-TYPE
        SYNTAX          INTEGER (1..25)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Allowed traffic rate."
        DEFVAL          { 25 }
        ::= { rcRateLimitEntry 3 }

rcRateLimitIfEnable OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Turn on/off rate limiting on this interface."
        DEFVAL          { false }
        ::= { rcRateLimitEntry 4 }


-- rcBoot Group
rcBootFlashSwVersion OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        obsolete
        DESCRIPTION   "BootFlashSwVersion indicates the software
                      version in the Flash."
        ::= { rcBoot 1 } 
 
rcBootPcmciaSwVersion OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        obsolete
        DESCRIPTION   "BootPcmciaSwVersion indicate the software
                      version in the Pcmcia card."
        ::= { rcBoot 2 } 
 

rcBootLastBootSource OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        obsolete
        DESCRIPTION   "Indicates the boot source of the last
                      the system boot."
        ::= { rcBoot 3 } 
 
rcBootPrimary OBJECT-TYPE
        SYNTAX          INTEGER {
                           flash(1),
                           pcmcia(2),
                           net(3),
                           skip(4)
                        }
        ACCESS        	read-write
        STATUS        	obsolete
        DESCRIPTION   	"BootPrimary is indicator for the
                     	primary source to boot the system."
	DEFVAL 		{ flash }
        ::= { rcBoot 4 } 
 
rcBootSecondary OBJECT-TYPE
        SYNTAX          INTEGER {
                           flash(1),
                           pcmcia(2),
                           net(3),
                           skip(4)
                        }
        ACCESS        	read-write
        STATUS        	obsolete
        DESCRIPTION   	"BootSecondary indicates the second choice
                        of the boot source."
	DEFVAL 		{ pcmcia }
        ::= { rcBoot 5 } 
 
rcBootTertiary OBJECT-TYPE
        SYNTAX          INTEGER {
                           flash(1),
                           pcmcia(2),
                           net(3),
                           skip(4)
                        }
        ACCESS        	read-write
        STATUS        	obsolete
        DESCRIPTION   	"BootTertiary indicates the third choice 
                        of boot source."
	DEFVAL 		{ net }
        ::= { rcBoot 6 } 
 

-- rcDevice Group
rcDeviceLastBootSource OBJECT-TYPE
        SYNTAX          DisplayString
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the source of the software
                         image the system was last booted with."
        ::= { rcDevice 1 } 
 
rcDevicePrimarySource OBJECT-TYPE
        SYNTAX          INTEGER {
                           flash(1),
                           pcmcia(2),
                           net(3),
                           skip(4)
                        }
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the primary choice to get
                         a system software image."
        ::= { rcDevice 2 } 
 
rcDevicePrimarySourceFileName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(0..31))
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to indicate a file number, if applicable."
        ::= { rcDevice 3 } 

rcDeviceSecondarySource OBJECT-TYPE
        SYNTAX          INTEGER {
                           flash(1),
                           pcmcia(2),
                           net(3),
                           skip(4)
                        }
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the secondary choice to get
                         a system software image."
        ::= { rcDevice 4 } 
 
rcDeviceSecondarySourceFileName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(0..31))
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to indicate a file name, if applicable."
        ::= { rcDevice 5 } 

rcDeviceTertiarySource OBJECT-TYPE
        SYNTAX          INTEGER {
                           flash(1),
                           pcmcia(2),
                           net(3),
                           skip(4)
                        }
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the tertiary choice to get
                         a system software image."
        ::= { rcDevice 6 } 
 
rcDeviceTertiarySourceFileName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(0..31))
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to indicate a file name, if applicable."
        ::= { rcDevice 7 } 

rcDeviceConfigSource OBJECT-TYPE
        SYNTAX          INTEGER {
                           flash(1),
                           pcmcia(2),
			   nvram(5)
                        }
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the location to get a system 
			configuration file during system boot."
        ::= { rcDevice 8 } 
 
rcDeviceConfigSourceFileName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(0..31))
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to indicate a file name, if applicable."
        ::= { rcDevice 9 } 

rcDeviceFlashBytesUsed OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of bytes used in the
                         system's configuration flash device."
        ::= { rcDevice 10 } 

rcDeviceFlashBytesFree OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of bytes available in
                         the system's configuration flash device."
        ::= { rcDevice 11 } 

rcDevicePcmciaBytesUsed OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of bytes used in the
                         system's PCMCIA device."
        ::= { rcDevice 12 } 

rcDevicePcmciaBytesFree OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of bytes available in 
                         the system's PCMCIA device."
        ::= { rcDevice 13 } 

rcDeviceAction OBJECT-TYPE
        SYNTAX          INTEGER {
			    none(1),
                            squeezeFlash(2),
                            squeezePcmcia(3),
                            formatFlash(4),
                            formatPcmcia(5),
                            recoverFlash(6), 
                            recoverPcmcia(7) 
                        }
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to specify a particular action to perform on
                         one of the system's device."
        ::= { rcDevice 14 } 
 
rcDeviceResult OBJECT-TYPE
        SYNTAX          INTEGER {
                            none(1),
                            inProgress(2),
                            success(3),
                            fail(4)
                        }
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the result of the last action
                         performed on one of the system's device."
        ::= { rcDevice 15 } 
 
rcDeviceFlashNumFiles OBJECT-TYPE
        SYNTAX          INTEGER (0..128)
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of files available in
                         the system's configuration flash device."
        ::= { rcDevice 16 }
 
rcDevicePcmciaNumFiles OBJECT-TYPE
        SYNTAX          INTEGER (0..128)
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of files available in
                         the system's PCMCIA device."
        ::= { rcDevice 17 }
 

-- The Device Flash Table

rcDeviceFlashTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF RcDeviceFlashEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"Flash table."
	::= { rcDevice 25 }
 
rcDeviceFlashEntry OBJECT-TYPE
	SYNTAX  	RcDeviceFlashEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"An entry in the system's flash table."
	INDEX   { rcDeviceFlashFileNum }
        ::= { rcDeviceFlashTable 1 }
 
RcDeviceFlashEntry ::=
        SEQUENCE {
	     rcDeviceFlashFileNum     INTEGER,
	     rcDeviceFlashFileName    DisplayString,
	     rcDeviceFlashFileVersion DisplayString,
	     rcDeviceFlashFileType    INTEGER,
	     rcDeviceFlashFileMode    INTEGER,
	     rcDeviceFlashFileSize    INTEGER,
	     rcDeviceFlashFileCrc     INTEGER,
	     rcDeviceFlashFileStatus  INTEGER,
	     rcDeviceFlashRowStatus   RowStatus
        }

rcDeviceFlashFileNum OBJECT-TYPE
        SYNTAX  	INTEGER (0..128)
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"Used to indicate a particular file in flash."
        ::= { rcDeviceFlashEntry 1 }
 
rcDeviceFlashFileName OBJECT-TYPE
        SYNTAX  	DisplayString
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"Used to indicate a flash file's name."
        ::= { rcDeviceFlashEntry 2 }
 
rcDeviceFlashFileVersion OBJECT-TYPE
        SYNTAX  	DisplayString
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"Used to indicate the flash file's version."
        ::= { rcDeviceFlashEntry 3 }
 
rcDeviceFlashFileType OBJECT-TYPE
        SYNTAX  	INTEGER {
                           config(1),
                           log(2),
                           trace(3),
                           executable(4)
                        }
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate the flash file's type."
        ::= { rcDeviceFlashEntry 4 }
 
rcDeviceFlashFileMode OBJECT-TYPE
        SYNTAX  	INTEGER {
                           compressed(1),
                           uncompressed(2)
                        }
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate the flash file's mode."
        ::= { rcDeviceFlashEntry 5 }
 
rcDeviceFlashFileSize OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate the flash file's size."
        ::= { rcDeviceFlashEntry 6 }
 
rcDeviceFlashFileCrc OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate the flash file's CRC."
        ::= { rcDeviceFlashEntry 7 }
 
rcDeviceFlashFileStatus OBJECT-TYPE
        SYNTAX  	INTEGER {
                           active(1),
                           deleted(2)
                        }
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate the flash file's status.
                         A file that has been marked for deletion, but  
                         who's space has not been reclaimed yet is marked
                         as 'deleted'."
        ::= { rcDeviceFlashEntry 8 }
 
rcDeviceFlashRowStatus OBJECT-TYPE
        SYNTAX  	RowStatus
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"Row status."
        ::= { rcDeviceFlashEntry 9 }


-- The Device Pcmcia Table

rcDevicePcmciaTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF RcDevicePcmciaEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
	DESCRIPTION 	"PCMCIA table."
	::= { rcDevice 26 }
 
rcDevicePcmciaEntry OBJECT-TYPE
	SYNTAX  	RcDevicePcmciaEntry
	ACCESS  	not-accessible
	STATUS  	mandatory
        DESCRIPTION     "An entry in the system's PCMCIA table."
	INDEX   { rcDevicePcmciaFileNum }
        ::= { rcDevicePcmciaTable 1 }
 
RcDevicePcmciaEntry ::=
        SEQUENCE {
	     rcDevicePcmciaFileNum     INTEGER,
	     rcDevicePcmciaFileName    DisplayString,
	     rcDevicePcmciaFileVersion DisplayString,
	     rcDevicePcmciaFileType    INTEGER,
	     rcDevicePcmciaFileMode     INTEGER,
	     rcDevicePcmciaFileSize    INTEGER,
	     rcDevicePcmciaFileCrc     INTEGER,
	     rcDevicePcmciaFileStatus  INTEGER,
	     rcDevicePcmciaRowStatus   RowStatus
        }

rcDevicePcmciaFileNum OBJECT-TYPE
        SYNTAX  	INTEGER (0..128)
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate a particular file in PCMCIA."
        ::= { rcDevicePcmciaEntry 1 }
 
rcDevicePcmciaFileName OBJECT-TYPE
        SYNTAX  	DisplayString
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate the PCMCIA file's name."
        ::= { rcDevicePcmciaEntry 2 }
 
rcDevicePcmciaFileVersion OBJECT-TYPE
        SYNTAX  	DisplayString
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate the PCMCIA file's version."
        ::= { rcDevicePcmciaEntry 3 }
 
rcDevicePcmciaFileType OBJECT-TYPE
        SYNTAX  	INTEGER {
                           config(1),
                           log(2),
                           trace(3),
                           executable(4)
                        }
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate the PCMCIA file's type."
        ::= { rcDevicePcmciaEntry 4 }
 
rcDevicePcmciaFileMode OBJECT-TYPE
        SYNTAX  	INTEGER {
                           compressed(1),
                           uncompressed(2)
                        }
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate a particular file in mode."
        ::= { rcDevicePcmciaEntry 5 }
 
rcDevicePcmciaFileSize OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate the PCMCIA file's size."
        ::= { rcDevicePcmciaEntry 6 }
 
rcDevicePcmciaFileCrc OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate the PCMCIA file's CRC."
        ::= { rcDevicePcmciaEntry 7 }
 
rcDevicePcmciaFileStatus OBJECT-TYPE
        SYNTAX  	INTEGER {
                           active(1),
                           deleted(2)
                        }
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION     "Used to indicate the PCMCIA file's status.
                         A file that has been marked for deletion, but
                         who's space has not been reclaimed yet is marked
                         as 'deleted'."
        ::= { rcDevicePcmciaEntry 8 }
 
rcDevicePcmciaRowStatus OBJECT-TYPE
        SYNTAX  	RowStatus
        ACCESS  	read-write
        STATUS  	mandatory
        DESCRIPTION 	"Row status."
        ::= { rcDevicePcmciaEntry 9 }


-- Multi-Link Trunking Table

rcMltNumMlts OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The number of MLTs currently defined in the switch."
        ::= { rcMlt 1 }

rcMltPotentialMembers OBJECT-TYPE
        SYNTAX        	PortSet
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The set of ports that are not members of any MLT."
        ::= { rcMlt 2 }

rcMltTable OBJECT-TYPE
        SYNTAX        	SEQUENCE OF RcMltEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"A list of Multi-Link Trunk entries. The number of 
                      	entries is given by rcMltNumMlts."
        ::= { rcMlt 10 }

rcMltEntry OBJECT-TYPE
        SYNTAX        	RcMltEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"Entry containing configuration information for a 
                      	particular Multi-Link Trunk."
        INDEX         	{ rcMltId }
        ::= { rcMltTable 1 }

RcMltEntry ::= SEQUENCE {
                rcMltId	                    INTEGER,
                rcMltName                   DisplayString,
                rcMltPortMembers            PortSet,
		rcMltPortType               INTEGER,	
		rcMltNumVlanIds             INTEGER,
		rcMltVlanIds                IdList,
                rcMltRowStatus              RowStatus,
		rcMltEnable                 TruthValue,
		rcMltLoadBalance            TruthValue,
		rcMltDistributionAlgorithm  INTEGER,
		rcMltIfIndex		    InterfaceIndex
        }

rcMltId OBJECT-TYPE
        SYNTAX        	INTEGER (1..32)
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"A value that uniquely identifies the Multi-Link 
                      	Trunk associated with this entry."
        ::= { rcMltEntry 1 }

rcMltName OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE (0..20))
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"An administratively-assigned name for this MLT."
        ::= { rcMltEntry 2 }

rcMltPortMembers OBJECT-TYPE
        SYNTAX        	PortSet
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"The set of ports that are members of this MLT." 
        ::= { rcMltEntry 3 }

rcMltPortType OBJECT-TYPE
        SYNTAX        	INTEGER {
                        	access(1),     -- access port type
                         	trunk(2)       -- trunk port type
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"The type of MLT port: access(1) or trunk(2)."
	DEFVAL 		{ access }
        ::= { rcMltEntry 4 }
 
rcMltNumVlanIds OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the number of VLAN IDs that
                      	are stored in the rcMltVlanIds variable."
        ::= { rcMltEntry 5 }

rcMltVlanIds OBJECT-TYPE
        SYNTAX        	IdList (SIZE (4096))
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"An array used to identify which VLANs this MLT 
                      	is associated with.  Each VLAN ID is stored as a 
		      	two octet value. The first octet in the pair holds
                      	bits 15-8 of the VLAN ID, while the second octet
                      	holds bits 7-0 of the VLAN ID."
        ::= { rcMltEntry 6 }

rcMltRowStatus OBJECT-TYPE
        SYNTAX        	RowStatus
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to create/delete entries in the rcMltTable."
        ::= { rcMltEntry 7 }

rcMltEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Enable the entry."
	DEFVAL 		{ true }
        ::= { rcMltEntry 8 }

rcMltLoadBalance OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Perform load balance?"
	DEFVAL	{ false }
        ::= { rcMltEntry 9 }

rcMltDistributionAlgorithm OBJECT-TYPE
        SYNTAX        	INTEGER {
                        	none(1)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"none(1), ...  It will be fill later"
	DEFVAL		{ none }
        ::= { rcMltEntry 10 }

rcMltIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the 'logical' ifIndex assigned to
                      this MLT."
        ::= { rcMltEntry 11 }


-- rcWeb related information

rcWebEnableServer OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Control whether the web server should be enabled.
		      Setting this variable to true will make the server
		      operational.  Setting this variable to false will
		      disable server."
        DEFVAL        { false }
        ::= { rcWeb 1 }

rcWebRWAUserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "User name for the read-write-all web-server account."
        ::= { rcWeb 2 }

rcWebRWAPassword OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Password for the read-write-all web-server account."
        ::= { rcWeb 3 }

rcWebRWUserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "User name for the read-write web-server account."
        ::= { rcWeb 4 }
 
rcWebRWPassword OBJECT-TYPE 
        SYNTAX        DisplayString (SIZE (1..20)) 
        ACCESS        read-write 
        STATUS        mandatory 
        DESCRIPTION   "Password for the read-write web-server account." 
        ::= { rcWeb 5 } 

rcWebROUserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "User name for the read-only web-server account."
        ::= { rcWeb 6 }
 
rcWebROPassword OBJECT-TYPE 
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write 
        STATUS        mandatory 
        DESCRIPTION   "Password for the read-only web-server account." 
        ::= { rcWeb 7 } 

rcWebLastChange OBJECT-TYPE 
        SYNTAX        TimeTicks 
        ACCESS        read-only 
        STATUS        mandatory 
        DESCRIPTION   "Last web-browser initiated configuration
                      change since sysUpTime."
        ::= { rcWeb 8 }
 
rcWebNumHits OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of hits to the web-server"
	::= { rcWeb 9 } 

rcWebNumAccessChecks OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of access checks performed by the web-server"
        ::= { rcWeb 10 }

rcWebNumAccessBlocks OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of accesses blocked by the web-server"
        ::= { rcWeb 11 }

rcWebNumRxErrors OBJECT-TYPE 
        SYNTAX        INTEGER 
        ACCESS        read-only 
        STATUS        mandatory 
        DESCRIPTION   "Number of receive errors encountered by the web-server" 
        ::= { rcWeb 12 }

rcWebNumTxErrors OBJECT-TYPE 
        SYNTAX        INTEGER 
        ACCESS        read-only 
        STATUS        mandatory 
        DESCRIPTION   "Number of transmit errors encountered by the web-server" 
        ::= { rcWeb 13 }

rcWebNumSetRequest OBJECT-TYPE 
        SYNTAX        INTEGER 
        ACCESS        read-only 
        STATUS        mandatory 
        DESCRIPTION   "Number of set-request to the web-server" 
        ::= { rcWeb 14 }

rcWebPrimaryHtmlSourceDir OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "primary html source directory"
	DEFVAL	      { "local" }
        ::= { rcWeb 15 }
 
rcWebSecondaryHtmlSourceDir OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "secondary html source directory"
	DEFVAL	      { "pcmcia" }
        ::= { rcWeb 16 }
 
rcWebTertiaryHtmlSourceDir OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "tertiary html source directory"
        ::= { rcWeb 17 }
 
rcWebRWL3UserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "user name for the L3 web server account"
        ::= { rcWeb 18 }
 
rcWebRWL3Password OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "password for the L3 web server account"
        ::= { rcWeb 19 }

rcWebRWL2UserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "user name for the L2 web server account"
        ::= { rcWeb 20 }
 
rcWebRWL2Password OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "password for the L2 web server account"
        ::= { rcWeb 21 }
 
rcWebDefaultDisplayRows OBJECT-TYPE
        SYNTAX        INTEGER (10..100)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "default display rows in html page."
	DEFVAL	      { 48 }
        ::= { rcWeb 22 }

rcWebLastHostAccessBlocked OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "last host access blocked"
        ::= { rcWeb 23 }
 
rcWebHelpTftpSourceDir OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "tftp source directory for help files"
        ::= { rcWeb 24 }
 

-- rcCli related information

rcCliRWAUserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "User name for the read-write-all CLI account."
        ::= { rcCli 1 }

rcCliRWAPassword OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Password for the read-write-all CLI account."
        ::= { rcCli 2 }

rcCliRWUserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "User name for the read-write CLI account."
        ::= { rcCli 3 }
 
rcCliRWPassword OBJECT-TYPE 
        SYNTAX        DisplayString (SIZE (0..20)) 
        ACCESS        read-write 
        STATUS        mandatory 
        DESCRIPTION   "Password for the read-write CLI account." 
        ::= { rcCli 4 } 

rcCliRWL3UserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "User name for the read-write layer-3 CLI account."
        ::= { rcCli 5 }

rcCliRWL3Password OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Password for the read-write layer-3 CLI account."
        ::= { rcCli 6 }

rcCliRWL2UserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "User name for the read-write layer-2 CLI account."   
        ::= { rcCli 7 }  
 
rcCliRWL2Password OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Password for the read-write layer-2 CLI account."
        ::= { rcCli 8 }

rcCliROUserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "User name for the read-only CLI account."
        ::= { rcCli 9 }
 
rcCliROPassword OBJECT-TYPE 
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-write 
        STATUS        mandatory 
        DESCRIPTION   "Password for the read-only CLI account." 
        ::= { rcCli 10 } 

rcCliMaxTelnetSessions OBJECT-TYPE 
        SYNTAX        INTEGER (0..8)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the maximum number of telnet
		      sessions the system will support."
	DEFVAL	      { 8 }
	::= { rcCli 11 } 

rcCliMaxRloginSessions OBJECT-TYPE
        SYNTAX        INTEGER (0..8)
        ACCESS        read-write  
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the maximum number of rlogin
                      sessions the system will support."
	DEFVAL	      { 8 }
        ::= { rcCli 12 }

rcCliTimeout OBJECT-TYPE
        SYNTAX        INTEGER (30..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the amount of idle time, in
     		      seconds to wait before timing out telnet and 
		      rlogin sessions."
	DEFVAL        { 900 }
        ::= { rcCli 13 }

rcCliNumAccessViolations OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the number of CLI access
		      violations detected by the system."
        ::= { rcCli 14 }

rcCliRWL1UserName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (1..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "User name for the read-write layer-1 CLI account."
        ::= { rcCli 15 }
 
rcCliRWL1Password OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Password for the read-write layer-1 CLI account."
        ::= { rcCli 16 }


-- Error Group
 
rcErrorLevel OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Error level indicator for the last error
                      reported in the system.  The meaning of
		      this value are :

			0 = Informative Information
			1 = Warning Condition
			2 = Error Condition
			3 = Manufacturing Information
			4 = Fatal Condition
		      "
        ::= { rcError 1 } 
 
rcErrorCode OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Error code indicator for the last error
                      reported in the system.  This is an encoded
		      value that identifies the software module
		      that generated the error message as well as
                      a specific error condition within that module.
		      This value is transparent to the user.  This
		      value is intended to help Accelar support and
		      development staff to isolate system problems."
        ::= { rcError 2 }

rcErrorText OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Error string of the last error reported 
                      in the system."
        ::= { rcError 3 }

rcErrorReturnCode OBJECT-TYPE
        SYNTAX        INTEGER {
			 none(100),
			 resourceNotAvailable(101),
			 operationNotAllowed(102),
			 operationInProgress(103),
			 invalidPortNumber(104),
			 invalidSubnetAddress(105),
			 invalidSubnetMask(106),
			 invalidVlanId(107),
			 invalidVlanName(108),
			 invalidVlanType(109),
			 invalidStgId(110),
			 invalidProtocolId(111),
			 invalidPortMembers(112),
			 invalidStaticMembers(113),
			 invalidNotAllowedMembers(114),
			 destinationNotReachable(115),
			 tableIsFull(116),
			 nondualConnectorGigPort(117),
			 testIdNotPresent(118),
			 invalidTestId(119),
			 invalidStatusChange(120),
			 invalidCpuCard(121),
			 invalidSrcPortChoice(122),
			 dstPortUnspecified(123),
			 srcPortOneUnspecified(124),
			 srcPortTwoUnspecified(125),
			 notSupported(126),
			 userNameIsNonUnique(127),
			 invalidName(128),
                         cannotModifyThisField(130),
                         invalidUserPasswordLength(131),
                         thisUsernameExists(132),
                         invalidIpAddress(133),
                         invalidMacAddress(134),
                         nosuchEntry(135),
			 anotherLoopBackTestAlreadyRunning(136),
			 protocolIdNotRoutable(137),
			 autoNegotiateIsOn(138),
			 noActionSpecified(139),
			 invalidActionSpecified(140),
                         cannotModifyAutoNegotiateIsOn(141),
                         cannotModifyAutoPortIsFiber(142),
                         autoNegotiationNotSupported(143),
                         cannotSetAdminSpeed(144),
                         cannotSetAdminDuplex(145),
                         ospfRtrDeadIntIsnotMultOfHelloInt(146),
                         ospfRtrDeadIntLessThan4TimesHelloInt(147),
                         notUsed1(148),
                         ospfBadAuthValue(149),
                         ospfEnabled(150),
                         ospfAreaNotFound(151),
                         ospfBackboneArea(152),
                         notInTestMode(153),
                         ospfInvalidAreaRangeMask(154),
                         ospfDuplicateEntry(155),
                         ospfRangeNotAllocated(156),
                         ospfAreaRangeNotFound(157),
                         testRunning(158),
			 nvramLimitExceeded(159),
			 flowAlreadyExist(160),
			 flowNotFound(161),
		 	 duplicateIpAddress(163),
		 	 conflictingIpAddress(164),
			 invalidRouteCost(165),
			 invalidNextHop(166),
			 duplicateRoute(167),
			 cannotFindRoute(168),
			 cannotDeleteLocalRoute(169),
			 badDhcpMinSec(170),
			 badDhcpMaxHop(171),
			 badDhcpMode(172),
			 badAgentAddress(173),
			 dhcpNotEnabled(174),
			 dhcpForwardNotFound(175),
			 dhcpDuplicateForward(176),
			 dhcpMaxForward(177),
			 dhcpBadEnable(178),
			 invalidDeviceFileNumber(179),
			 notExecutableDeviceFile(180),
			 deletedDeviceFile(181),
			 pcmciaNotPresent(182),
			 pcmciaWriteProtected(183),
			 discontiguousSubnetMask(184),
			 invalidOspfMetric(185),
			 ospfHostRouteNotFound(186),
			 invalidMltId(187),
			 invalidMltName(188),
			 onlyOnePortInMlt(189),
			 moreThan4PortsInMlt(190),
			 portsInDifferentQuid(191),
			 portAlreadyInAnotherMlt(192),
			 invalidVlan(193),
			 nonExistIpMcastAddriess(194),
			 invalidIpMulticastAddress(195),
			 portIsLocked(196),
			 accessRestriction(197),
                         invalidDeviceFileLength(198),
                         duplicateAccessPolicyId(199),
                         noDesiredAccessPolicyItem(200),
                         ipfFilterNonExist(201),
                         ipfInvalidVlanPriority(202),
                         ipfInvalidDestinationAddress(203),
                         ipfInvalidSourceAddress(204),
                         ipfFilterDuplicate(205),
                         ipfGlobalListDuplicate(206),
                         ipfGlobalListNonExist(207),
                         ipfBaseListDuplicate(208),
                         ipfBaseListNonExist(209),
                         ipfPortDuplicate(210),
                         ipfPortNonExist(211),
                         ipfListNonExist(212),
                         snmpSnoopDisabled(213),
                         invalidHostIpAddress(214),
                         snoopStaticGroupExist(215),
			 ripAnnouncePolicyNotFound(216),
			 duplicateRipAnnouncePolicy(217),
			 ospfAnnouncePolicyNotFound(218),
			 duplicateOspfAnnouncePolicy(219),
			 policyMatchNetEntryNotFound(220),
			 duplicatePolicyNetEntry(221),
			 policyAddrListEntryNotFound(222),
			 duplicatePolicyAddrListEntry(223),
			 policyAddrListIdNotFound(224),
			 policyExactNetListNotFound(225),
			 policyRangeNetListNotFound(226),
			 policyRipGatewayListNotFound(227),
			 policyRipInterfaceListNotFound(228),
			 policyOspfRtrIdListNotFound(229),
			 policyAnnounceInterfaceListNotFound(230),
			 policyAdvertiseNetListNotFound(231),
			 policyInjectNetListNotFound(232),
			 invalidPolicyListIdListSize(233),
			 policyAddrEntryNotFound(234),
			 duplicatePolicyAddrEntry(235),
			 disableThisPortFirst(236),
			 mutinettingNotSupported(237),
			 addingGlobalFilterToNonGlobalList(238),
			 addingNonGlobalFilterToGlobalList(239),
			 setFilteredPortMode(240),
			 setFilteredPortEnableValue(241),
			 invalidModeType(242),
                         duplicateRipAcceptPolicy(243),
                         ripAccepPolicyNotFound(244),
                         duplicateOspfAcceptPolicy(245),
                         ospfAccepPolicyNotFound(246),
                         invalidAccessPolicyName(247),
                         invalidAccessPolicyPolicyEnable(248),
                         invalidAccessPolicyMode(249),
                         invalidAccessPolicyService(250),
                         invalidAccessPolicyPrecedence(251),
                         invalidAccessPolicyNetAddress(252),
                         invalidAccessPolicyTrustedHostAddress(253),
                         invalidAccessPolicyTrustedHostUserName(254),
                         invalidAccessPolicyAccessLevel(255),
                         invalidAccessPolicyLogSetting(256),
                         invalidAccessPolicyPolicyId(257),
			 invalidAreaOptions(258),
			 cannotDeleteAreaIfCountIsNotZero(259),
			 ospfInterfaceNotFound(260),
			 ospfIfAreaIdConflictsWithConfiguredAreaRange(261),
                         applyingDuplicateGlobalFilterToPort(262),
                         differentMltPortTypes(263),
                         addPortToMltFailed(264),
                         removePortFromMltFailed(265),
                         mirrorPortInMlt(266),
                         invalidDhcpAlwaysBroadcast(267),
                         interfaceIsSetToTransmitRipV1(268),
                         ripInterfaceDoesnotExist(269),
                         interfaceIsNotRunningRip(270),
                         cannotCreateVirtLinksThroughStubArea(271),
			 invalidSyslogEnableSetting(272),
			 invalidSyslogHostIpAddr(274),
			 invalidSyslogHostUdpPort(275),
			 invalidSyslogHostFacility(276),
 			 invalidSyslogModuleId(277),
			 invalidSyslogSeverity(278),
			 invalidSyslogMapInfoSeverity(279),
			 invalidSyslogMapWarningSeverity(280),
			 invalidSyslogMapErrorSeverity(281),
			 invalidSyslogMapMfgSeverity(282),
			 invalidSyslogMapFatalSeverity(283),
			 invalidSyslogMapTraceMsgSetting(284),
			 invalidSyslogMapTrapMsgSetting(285),
			 invalidSyslogLogTraceMsgSetting(286),
			 invalidSyslogLogTrapMsgSetting(287),
			 invalidSyslogEntryEnableSetting(288),
			 invalidSyslogMaxHostSetting(289),
			 invalidSyslogHostId(290),
			 duplicateSyslogEntry(291),
			 syslogHostTableIsFull(292),
			 invalidHoldDownTime(294),
  			 incompatibleAruHardware(295),
  			 invalidVrid(296),
  			 duplicateVrrpEntry(297),
  			 noVrrpIpAddressSpecified(298),
  			 invalidVrrpControlValue(299),
			 invalidVrrpPriority(300),
			 invalidVrrpAdvertisementInterval(301),
			 maxNumOfVrrpsEntriesExceeded(302),
			 policyNetListEntryNotFound(303),
			 duplicatePolicyNetListEntry(304),
			 policyNetListIdNotFound(305),
                         filterOnAnEnabledPort(306),
                         listOnAnEnabledPort(307),
                         invalidIpFilterSrcOption(308),
                         invalidIpFilterDstOption(309),
                         invalidOspfAreaImportextOption(310),
                         invalidOspfInterfaceMd5KeyIdLength(311),
                         invalidOspfInterfaceMd5KeyLength(312),
                         invalidIPXNetworkNumber(313),
                         ipxCircuitAlreadyExists(314),
                         ipxCircuitDoesNotExist(315),
                         encapsulationIsNotAllowedOnSameSegment(316),
                         encapsulationDoesNotMatchProtocolBasedVLAN(317),
                         invalidDvmrpIfTblEnableValue(318),
                         invalidDvmrpIfTblMetricValue(319),
                         ipHostPartForSubnetAddrIsNonZero(320),
                         globalMulticastNotEnabled(321),
                         metricFieldIsCreatedButModified(322),
                         invalidIpMRouteInterfaceTblTtlValue(323),
                         invalidUdpPortNumber(324),
                         invalidUdpProtocolNameLength(325),
                         cannotModifyUdpProtocolName(326),
                         udpProtocolEntryDoesnotexists(327),
                         duplicateUdpProtocolEntry(328),
                         cannotDelUdpProtocolEntryFwdEntriesExists(329),
                         udpBroadcastIntfEntryDoesnotExists(330),
                         duplicateUdpBroadcastIntfEntry(331),
                         invalidUdpConfBroacastInterface(332),
                         updConfIntfEntryNotEnabledForUdpBcastForwarding(333),
                         udpPortFwdEntryDoesnotExists(334),
                         duplicateUdpPortFwdEntryDoesnotExists(335),
                         udpPortFwdEntryUdpPortInterfaceDoesnotExists(336),
                         udpPortFwdListEntryDoesnotExists(337),
                         duplicateUdpPortFwdListEntryDoesnotExists(338),
                         udpPortFwdListEntryPortFwdIdDoesnotExists(339),
                         udpPortFwdListEntryinvalidFwdIdListSize(340),
                         cannotDeleteUdpPortFwdListEntryInterfaceUsingThisList(341),
                         invalidIgmpSnoopDestAddress(342),
                         invalidIgmpSnoopHostAddress(343),
                         cannotDeleteDefaultUdpProtocolTblEntry(344),
                         nextHopRouteIsStaticRoute(345),
                         invalidUpdateIntervalValueInDVMRPGlobalTable(346),
                         invalidTriggeredUpdateIntervalValueInDVMRPGlobalTable(347),
                         invalidLeafTimeoutValueInDVMRPGlobalTable(348),
                         invalidNbrTimeoutValueInDVMRPGlobalTable(349),
                         invalidNbrProbeIntervalValueInDVMRPGlobalTable(350),
                         invalidQueryIntervalValueInIgmpInterfaceTable(351),
                         invalidVersionValueInIgmpInterfaceTable(352),
                         invalidQueryMaxResponseTimeValueInIgmpInterfaceTable(353),
                         invalidRobustnessValueInIgmpInterfaceTable(354),
                         invalidLastMembQueryIntvlValueInIgmpInterfaceTable(355),
                         invalidANDMaskInRcIpTosRuleGroup(356),
                         invalidORRule1InRcIpTosRuleGroup(357),
                         invalidORRule2InRcIpTosRuleGroup(358),
                         invalidORRule3InRcIpTosRuleGroup(359),
                         deleteStaticPortNotValid(360),
                         maxEntriesForIgmpAccTbl(361),
                         maxMaskNumberOfHostIgmpAccTbl(362),
                         dvmrpIgmpExclusive(363),
                         theSpecifiedAreaRangeMaskIsInvalid(364),
                         invalidLengthOf2kBootConfigImageSource(365),
                         invalidLengthOf2kBootConfigSource(366),
                         preferenceOfStaticRouteIsInvalid(367),
                         copyFileOutOfSpace(368),
                         copyFileFileNotFound(369),
                         copyFileInvalidDestination(370),
                         copyFileInvalidSource(371),
                         copyFileFail(372),
			 invalidLinkFlapDetectAutoPortDown(373),
			 invalidLinkFlapDetectFrequency(374),
			 invalidLinkFlapDetectInterval(375),
			 invalidLinkFlapDetectSendTrap(376),
			 invalidQosLevel(377),
			 invalidQosWeight(378),
			 invalidQosThreshold(379),
			 invalidTagToQosTableIeee1pValue(380),
		  	 invalidTagToQosTableQosLevel(381),		
			 invalidDsFieldToQosTableDsField(382),
			 invalidDsFieldToQosTableQosLevel(383),
			 invalidQosToTagTableQosLevel(384),
			 invalidQosToTagTableIeee1pValue(385),
			 invalidQosLevelValue(386),	
		 	 invalidQosToDsFieldTableDsFieldValue(387),
			 invalidQosToDsFieldTableQosLevel(388),
			 invalidDiffServEnable(389),
			 invalidDiffServType(390),
			 invalidIeeeOverride(391),
			 invalidVlanQosValue(392),
			 invalidVlanTosValue(393),
			 operationNotAllowedOnAccessPort(394),
			 operationNotAllowedOnTaggingPort(395),
			 invalidFileName(396),
                         invalidDiaglogueDuplicateMirroredPort(397),
                         invalidDiaglogueEnableValue(398),
                         invalidDiaglogueEnableSetting(399),
                         invalidDiaglogueModeSetting(400),
                         invalidDiaglogueEntryId(401),
                         srcMacVlanIsNotYetEnabled(402),
                         srcMacVlanIsNotYetDisabled(403),
                         invalidDiaglogueOperation(404),
                         invalidMacAddressSpecied(405),
                         maxResponseTimeGreaterThanQueryInterval(406),
                         noModifyDsFltrAllowedOnDiffSrvCorePort(407),
                         mltMoreThan4PortsInMgMlt(408),
                         protocolRulesForThePortHasExceeded16(409),
                         routeDoesNotExistsInTheRroutingTable(410),
                         diagMirrorByPortTableAccessError(411),
                         diagMirrorByPortInvalidMirroringPortSetting(412),
                         igmpAdminVersionConfiguredLessThanOperatingVersion(413),
                         canOnlyConfigureViaMltTable(414),
                         dvmrpInterfaceTableIsFull(415),
			 rateLimitingExceeded(416)
		      }
        ACCESS        read-only
        STATUS        mandatory
 	DESCRIPTION   "This variable is used primarily as an enumeration
		      to list the proprietary return codes that this
		      device can send to a management station in
		      response to a failed SNMP operation."
	DEFVAL	      { none }
        ::= { rcError 4 }

rcErrorSendTrap OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Indicates whether to send trap upon receiving an
                      error in the system."
	DEFVAL	      { true }
        ::= { rcError 5 }


-- TRAPS

rcCardDown NOTIFICATION-TYPE
        OBJECTS      { rcCardIndex, rcCardAdminStatus, rcCardOperStatus }
        STATUS       current
        DESCRIPTION  "A rcCardDown trap signifies that the SNMPv2 entity,
                     acting in an agent role, has detected that the
                     rcCardOperStatus object for one of its cards 
                     is about to transition into the down state."
        ::= { rcTraps 1 }

rcCardUp NOTIFICATION-TYPE
        OBJECTS       { rcCardIndex, rcCardAdminStatus, rcCardOperStatus }
        STATUS        current
        DESCRIPTION   "A rcCardUp trap signifies that the SNMPv2 entity,
                      acting in an agent role, has detected that the
                      rcCardOperStatus object for one of its cards 
                      is about to transition into the up state."
        ::= { rcTraps 2 }

rcErrorNotification NOTIFICATION-TYPE
        OBJECTS       { rcErrorLevel, rcErrorCode, rcErrorText }
        STATUS        current
        DESCRIPTION   "A rcErrorNotification trap signifies that the 
                      SNMPv2 entity, acting in an agent role, has 
                      detected that an error condition has occured."
        ::= { rcTraps 3 }
 
rcStpNewRoot NOTIFICATION-TYPE
        OBJECTS       { rcStgId }
        STATUS        current
        DESCRIPTION   "A rcStpNewRoot trap signifies that the
                      SNMPv2 entity, acting in an agent role, has
                      detected the Spanning Tree Protocol has declared
                      the device to be the new root of the spanning 
       		      tree." 
        ::= { rcTraps 4 }

rcStpTopologyChange NOTIFICATION-TYPE
       OBJECTS        { rcStgId, rcPortIndex }
       STATUS         current   
       DESCRIPTION    "A rcStpTopologyChange trap signifies that the 
                      SNMPv2 entity, acting in an agent role, has 
                      detected the Spanning Tree Protocol has gone due
                      a topology change event."
       ::= { rcTraps 5 }

rcChasPowerSupplyDown NOTIFICATION-TYPE
        OBJECTS       { rcChasPowerSupplyId, rcChasPowerSupplyOperStatus}
        STATUS        current
        DESCRIPTION   "A rcChasPowerSupplyDown trap signifies that the 
                      SNMPv2 entity, acting in an agent role, has 
                      detected that the rcChasPowerSupplyOperStatus 
                      object for one of its power supply unit is 
                      about to transition into the down state."
        ::= { rcTraps 6 }

rcChasFanDown NOTIFICATION-TYPE
        OBJECTS       { rcChasFanId, rcChasFanOperStatus}
        STATUS        current
        DESCRIPTION   "A rcChasFanDown trap signifies that the 
                      SNMPv2 entity, acting in an agent role, has 
                      detected that the rcChasFanOperStatus object 
                      for one of its power supply unit is about to 
                      transition into the down state."
        ::= { rcTraps 7 }

rcLinkOscillation NOTIFICATION-TYPE
        OBJECTS          { rcPortIndex }
        STATUS             current
        DESCRIPTION   "A rcLinkOscillation trap signifies that the
                       SNMPv2 entity, acting in an agent role, has
                       detected an excessive number of link state
                       transitions on the specified port."
        ::= { rcTraps 8 }

rcMacViolation NOTIFICATION-TYPE
        OBJECTS       { rcErrorText, rcPortIndex }
        STATUS        obsolete
        DESCRIPTION   "A rcMacViolation trap signifies that the
                      SNMPv2 entity, acting in an agent role, has
                      received a PDU with an invalid source MAC
                      address."
        ::= { rcTraps 9 }

rcSonetTrap NOTIFICATION-TYPE
        OBJECTS       { rcPortIndex, rcPosSonetTrapType, rcPosSonetTrapIndication }
        STATUS        obsolete
        DESCRIPTION   "A rcSonetTrap trap signifies that the
                      SNMPv2 entity, acting in an agent role, has
                      detected a change of status on a Sonet port."
        ::= { rcTraps 10 }

rc2kCardDown NOTIFICATION-TYPE
        OBJECTS      { rc2kCardIndex, 
                       rc2kCardFrontAdminStatus, 
                       rc2kCardFrontOperStatus }
        STATUS       current
        DESCRIPTION  "A rcCardDown trap signifies that the SNMPv2 entity,
                     acting in an agent role, has detected that the
                     rcCardOperStatus object for one of its cards
                     is about to transition into the down state."
        ::= { rcTraps 11 }

rc2kCardUp NOTIFICATION-TYPE
        OBJECTS       { rc2kCardIndex, 
                        rc2kCardFrontAdminStatus, 
                        rc2kCardFrontOperStatus }
        STATUS        current
        DESCRIPTION   "A rcCardUp trap signifies that the SNMPv2 entity,
                      acting in an agent role, has detected that the
                      rcCardOperStatus object for one of its cards
                      is about to transition into the up state."
        ::= { rcTraps 12 }

rc2kTemperature NOTIFICATION-TYPE
        OBJECTS       { rc2kChassisTemperature }
        STATUS        current
        DESCRIPTION   "A rc2kTemperature trap signifies that the SNMPv2 
		      entity, acting in an agent role, has detected the
                      chassis is over-heating."
        ::= { rcTraps 13 }

rcChasPowerSupplyUp NOTIFICATION-TYPE
        OBJECTS       { rcChasPowerSupplyId, rcChasPowerSupplyOperStatus}
        STATUS        current
        DESCRIPTION   "A rcChasPowerSupplyUp trap signifies that the
                      SNMPv2 entity, acting in an agent role, has
                      detected that the rcChasPowerSupplyOperStatus
                      object for one of its power supply unit is
                      about to transition into the up state."
        ::= { rcTraps 14 }


-- Syslog Group
 
rcSyslogGlobal      OBJECT IDENTIFIER ::= { rcSyslog 1 }

rcSyslogGlobalEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to enable/disable the SysLog feature.  When
			enabled this feature will send a message to a server 
			on a network that this configured to receive and
			store diagnostic messages from this device.  The
			type of messages sent is user configurable."
	DEFVAL	      	{ true }
        ::= { rcSyslogGlobal 1 }

rcSyslogGlobalMaxHosts OBJECT-TYPE
        SYNTAX        INTEGER (0..10)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Maximun number of remote hosts considered 'active'
                       and able to receive messages from the Syslog service
                       on the router."
        DEFVAL        { 5 }
        ::= { rcSyslogGlobal 2 }

rcSyslogGlobalOperState OBJECT-TYPE
        SYNTAX        INTEGER {
                         active(1),
                         inactive(2),
                         emptyHostTbl(3),
                         allHostDisabled(4)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The operational state of the syslog service
                       on the router."
        DEFVAL        { active }
        ::= { rcSyslogGlobal 3 }

rcSyslogHostTbl OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcSyslogHostEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Table of remote host destinations for syslog."
        ::= { rcSyslog 2 }

rcSyslogHostEntry OBJECT-TYPE
        SYNTAX        RcSyslogHostEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing information for a particular
                       entry in rcSyslogHostTable."
        INDEX         { rcSyslogHostId }
        ::= { rcSyslogHostTbl 1 }

RcSyslogHostEntry ::= SEQUENCE {
                rcSyslogHostId                  INTEGER,
                rcSyslogHostIpAddr              IpAddress,
                rcSyslogHostUdpPort             INTEGER,
		rcSyslogHostFacility            INTEGER,	
		rcSyslogHostModuleId            INTEGER,
		rcSyslogHostModuleId2           INTEGER,
		rcSyslogHostSeverity            INTEGER,
		rcSyslogHostMapInfoSeverity     INTEGER,
		rcSyslogHostMapWarningSeverity  INTEGER,
		rcSyslogHostMapErrorSeverity    INTEGER,
		rcSyslogHostMapMfgSeverity      INTEGER,
		rcSyslogHostMapFatalSeverity    INTEGER,
		rcSyslogHostMapTraceMsg         INTEGER,
		rcSyslogHostMapTrapMsg          INTEGER,
		rcSyslogHostLogTraceMsgs        TruthValue,
		rcSyslogHostLogTrapMsgs         TruthValue,
		rcSyslogHostEnable              TruthValue,
                rcSyslogHostRowStatus           RowStatus
        }

rcSyslogHostId OBJECT-TYPE
        SYNTAX        INTEGER (1..10)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Host Id."
        ::= { rcSyslogHostEntry 1 }

rcSyslogHostIpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Host Ip Address"
        ::= { rcSyslogHostEntry 2 }

rcSyslogHostUdpPort OBJECT-TYPE
        SYNTAX        INTEGER (514..530)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specifies the UDP port to use to send syslog 
                      messages to the host." 
        DEFVAL        { 514 }
        ::= { rcSyslogHostEntry 3 }

rcSyslogHostFacility OBJECT-TYPE
        SYNTAX        INTEGER {
                         local0(128),
                         local1(136),
                         local2(144),
                         local3(152),
                         local4(160),
                         local5(168),
                         local6(176),
                         local7(184)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specifies the UNIX facility used in messages
 		      to the syslog host.  Default is LOCAL7."
        DEFVAL        { local7 }
        ::= { rcSyslogHostEntry 4 }
 
rcSyslogHostModuleId OBJECT-TYPE
        SYNTAX        INTEGER {
                         common         (1),      -- '00000001'H
                         snmp           (2),      -- '00000002'H
                         rmon           (4),      -- '00000004'H
                         portmgr        (8),      -- '00000008'H
                         chasmgr       (16),      -- '00000010'H
                         bridge        (32),      -- '00000020'H
                         ospf          (64),      -- '00000040'H
                         hwif         (128),      -- '00000080'H
                         sim          (256),      -- '00000100'H
                         cpp          (512),      -- '00000200'H
                         netdrv      (1024),      -- '00000400'H
                         vlanmgr     (2048),      -- '00000800'H
                         cli         (4096),      -- '00001000'H
                         main        (8192),      -- '00002000'H
                         p2ip       (16384),      -- '00004000'H
                         rcip       (32768),      -- '00008000'H
                         rompager   (65536),      -- '00010000'H
                         acif      (131072),      -- '00020000'H
                         gbip      (262144),      -- '00040000'H
                         wdt       (524288),      -- '00080000'H
                         tdp      (1048576),      -- '00100000'H
                         mandiag  (2097152),      -- '00200000'H
                         mantest  (4194304),      -- '00400000'H
                         igmp     (8388608),      -- '00800000'H
                         ipfil   (16777216),      -- '01000000'H
                         mlt     (33554432),      -- '02000000'H
                         ippolicy(67108864),      -- '04000000'H
                         ipmc   (134217728),      -- '08000000'H
                         syslog (268435456)       -- '10000000'H
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specifies for which modules/tasks syslog messages
		       should be sent.  Default is all modules/tasks."
        ::= { rcSyslogHostEntry 5 }

rcSyslogHostModuleId2 OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specifies for which modules/tasks syslog messages
                       should be sent.  Default is all modules/tasks."
        ::= { rcSyslogHostEntry 6 }

rcSyslogHostSeverity OBJECT-TYPE
        SYNTAX        INTEGER {
                         info(1),
                         warning(2),
                         error(4),
                         mfg(8),
                         fatal(16)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specifies the severity level for which syslog messages
		       should be sent for the modules specifies in 
                       'SyslogHostModule'."
        DEFVAL        { info }
        ::= { rcSyslogHostEntry 7 }

rcSyslogHostMapInfoSeverity OBJECT-TYPE
        SYNTAX        INTEGER {
                         emergency(1),
                         alert(2),
                         critical(3),
                         error(4),
                         warning(5),
                         notice(6),
                         info(7),
                         debug(8)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specifies the syslog severity to use for Accelar
		       INFO messages.  Default is INFO."
        DEFVAL        { info }
        ::= { rcSyslogHostEntry 8 }

rcSyslogHostMapWarningSeverity OBJECT-TYPE
        SYNTAX        INTEGER {
                         emergency(1),
                         alert(2),
                         critical(3),
                         error(4),
                         warning(5),
                         notice(6),
                         info(7),
                         debug(8)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specifies the syslog severity to use for Accelar
                       WARNING messages.  Default is WARNING.  Should be
                       <= INFO."
        DEFVAL        { warning }
        ::= { rcSyslogHostEntry 9 }

rcSyslogHostMapErrorSeverity OBJECT-TYPE
        SYNTAX        INTEGER {
                         emergency(1),
                         alert(2),
                         critical(3),
                         error(4),
                         warning(5),
                         notice(6),
                         info(7),
                         debug(8)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specifies the syslog severity to use for Accelar
                       ERROR messages.  Default is ERROR.  Should be
		       <= WARNING."
        DEFVAL        { error }
        ::= { rcSyslogHostEntry 10 }

rcSyslogHostMapMfgSeverity OBJECT-TYPE
        SYNTAX        INTEGER {
                         emergency(1),
                         alert(2),
                         critical(3),
                         error(4),
                         warning(5),
                         notice(6),
                         info(7),
                         debug(8)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specifies the syslog severity to use for Accelar
                       Manufactoring messages.  Dafault is ERROR."
        DEFVAL        { error }
        ::= { rcSyslogHostEntry 11 }

rcSyslogHostMapFatalSeverity OBJECT-TYPE
        SYNTAX        INTEGER {
                         emergency(1),
                         alert(2),
                         critical(3),
                         error(4),
                         warning(5),
                         notice(6),
                         info(7),
                         debug(8)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specifies the syslog severity to use for Accelar
                       FATAL messages.  Default is EMERGENCY.  Should be
		       <= ERROR."
        DEFVAL        { emergency }
        ::= { rcSyslogHostEntry 12 }

rcSyslogHostMapTraceMsg OBJECT-TYPE
        SYNTAX        INTEGER {
                         emergency(1),
                         alert(2),
                         critical(3),
                         error(4),
                         warning(5),
                         notice(6),
                         info(7),
                         debug(8)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specifies the syslog severity to use for syslog
		       trace messages.  Default is DEBUG."
        ::= { rcSyslogHostEntry 13 }

rcSyslogHostMapTrapMsg OBJECT-TYPE
        SYNTAX        INTEGER {
                         emergency(1),
                         alert(2),
                         critical(3),
                         error(4),
                         warning(5),
                         notice(6),
                         info(7),
                         debug(8)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specifies the UNIX severity code to use for syslog
		       messages for SNMP traps sent to the syslog host.
                       Default is INFO."
        ::= { rcSyslogHostEntry 14 }

rcSyslogHostLogTraceMsgs OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Indicate whether to activate the host to log the 
                       syslog trace messages."
        ::= { rcSyslogHostEntry 15 }

rcSyslogHostLogTrapMsgs OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Indicate whether to activate the host to log the
	               syslog messages for SNMP traps."
        ::= { rcSyslogHostEntry 16 }

rcSyslogHostEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable/Disable messages to be sent to syslog host."
        DEFVAL        { false }
        ::= { rcSyslogHostEntry 17 }

rcSyslogHostRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries in the rcSyslogTable."
        ::= { rcSyslogHostEntry 18 }


-- Diag Mirror by port Table

rcDiagMirrorByPortTable OBJECT-TYPE
        SYNTAX        	SEQUENCE OF RcDiagMirrorByPortEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"This table is used to configure the Mirror By
			Port feature.  This feature allows the device
			to forward a copy of each packet seen on a
			particular port to a different port."
        ::= { rcDiag 1 }

rcDiagMirrorByPortEntry OBJECT-TYPE
        SYNTAX        	RcDiagMirrorByPortEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"Entry containing mirror by port information."
        INDEX         	{ rcDiagMirrorByPortId }
        ::= { rcDiagMirrorByPortTable 1 }

RcDiagMirrorByPortEntry ::= SEQUENCE {
                rcDiagMirrorByPortId            INTEGER,
                rcDiagMirrorByPortMirroredPort  InterfaceIndex,
                rcDiagMirrorByPortMirroringPort InterfaceIndex,
                rcDiagMirrorByPortMode          INTEGER,
                rcDiagMirrorByPortEnable        TruthValue,
                rcDiagMirrorByPortRowStatus     RowStatus
        }

rcDiagMirrorByPortId OBJECT-TYPE
        SYNTAX        	INTEGER (1..10)
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Entry id."
        ::= { rcDiagMirrorByPortEntry 1 }

rcDiagMirrorByPortMirroredPort OBJECT-TYPE
        SYNTAX        	InterfaceIndex
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the 'mirrored' port.  The port
			where packets are copied from."
        ::= { rcDiagMirrorByPortEntry 2 }

rcDiagMirrorByPortMirroringPort OBJECT-TYPE
        SYNTAX        	InterfaceIndex
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the 'mirroring' port.  The port
			where packets are copied to."
        ::= { rcDiagMirrorByPortEntry 3 }

rcDiagMirrorByPortMode OBJECT-TYPE
        SYNTAX        	INTEGER {
                         	tx(1),
                         	rx(2),
                         	both(3)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION  	"Used to configure the 'mode' of the mirror operation.
			'tx' means packets being transmitted on the 'mirrored'
			port will be copied.  'rx' means packets received on
			the 'mirrored' port will be copied.  'both' means
			all traffic on the 'mirrored' port will be copied."
	DEFVAL	      	{ rx }
        ::= { rcDiagMirrorByPortEntry 4 }

rcDiagMirrorByPortEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to enable/disable this entry."
	DEFVAL	      	{ true }
        ::= { rcDiagMirrorByPortEntry 5 }

rcDiagMirrorByPortRowStatus OBJECT-TYPE
        SYNTAX        	RowStatus
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Row status of this entry."
        ::= { rcDiagMirrorByPortEntry 6 }


-- Diag Port Conv Steering Table

rcDiagPortConvSteeringTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcDiagPortConvSteeringEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Diag Port Conv Steering Table"
        ::= { rcDiag 2 }

rcDiagPortConvSteeringEntry OBJECT-TYPE
        SYNTAX        RcDiagPortConvSteeringEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of Diag Port Conv Steering."
        INDEX         { rcDiagPortConvSteeringId }
        ::= { rcDiagPortConvSteeringTable 1 }

RcDiagPortConvSteeringEntry ::= SEQUENCE {
                rcDiagPortConvSteeringId           INTEGER,
                rcDiagPortConvSteeringPortOne      INTEGER,
                rcDiagPortConvSteeringPortTwo      INTEGER,
                rcDiagPortConvSteeringMode         INTEGER,
                rcDiagPortConvSteeringForwardPort  INTEGER,
                rcDiagPortConvSteeringEnable       TruthValue,
                rcDiagPortConvSteeringRowStatus    RowStatus
        }

rcDiagPortConvSteeringId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Entry id."
        ::= { rcDiagPortConvSteeringEntry 1 }

rcDiagPortConvSteeringPortOne OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IfIndex for port one"
        ::= { rcDiagPortConvSteeringEntry 2 }

rcDiagPortConvSteeringPortTwo OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IfIndex for port two"
        ::= { rcDiagPortConvSteeringEntry 3 }

rcDiagPortConvSteeringMode OBJECT-TYPE
        SYNTAX        INTEGER {
                         oneToTwo(1),
                         twoToOne(2),
                         both(3)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to specify the traffic flow that should be
		      captured between ports one and two."
        ::= { rcDiagPortConvSteeringEntry 4 }

rcDiagPortConvSteeringForwardPort OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IfIndex of the port where captured traffic should
		      be forwarded to."
        ::= { rcDiagPortConvSteeringEntry 5 }

rcDiagPortConvSteeringEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable this entry."
	DEFVAL	      { true }
        ::= { rcDiagPortConvSteeringEntry 6 }

rcDiagPortConvSteeringRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries in the rcDiagMirrorByPortTable."
        ::= { rcDiagPortConvSteeringEntry 7 }


-- Diag Mac Conv Steering Table

rcDiagMacConvSteeringTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcDiagMacConvSteeringEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Diag Mac Conv Steering Table"
        ::= { rcDiag 3 }

rcDiagMacConvSteeringEntry OBJECT-TYPE
        SYNTAX        RcDiagMacConvSteeringEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of Diag Mac Conv Steering."
        INDEX         { rcDiagMacConvSteeringId }
        ::= { rcDiagMacConvSteeringTable 1 }

RcDiagMacConvSteeringEntry ::= SEQUENCE {
                rcDiagMacConvSteeringId          INTEGER,
                rcDiagMacConvSteeringSrcMac      MacAddress,
                rcDiagMacConvSteeringDstMac      MacAddress,
                rcDiagMacConvSteeringInPort      INTEGER,
                rcDiagMacConvSteeringForwardPort INTEGER,
                rcDiagMacConvSteeringEnable      TruthValue,
                rcDiagMacConvSteeringRowStatus   RowStatus
        }

rcDiagMacConvSteeringId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Entry id."
        ::= { rcDiagMacConvSteeringEntry 1 }

rcDiagMacConvSteeringSrcMac OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Source MAC address"
        ::= { rcDiagMacConvSteeringEntry 2 }

rcDiagMacConvSteeringDstMac OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Destination MAC address"
        ::= { rcDiagMacConvSteeringEntry 3 }

rcDiagMacConvSteeringInPort OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IfIndex of ingress port."
        ::= { rcDiagMacConvSteeringEntry 4 }

rcDiagMacConvSteeringForwardPort OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IfIndex of the port where captured traffic should
		      be forwarded to."
        ::= { rcDiagMacConvSteeringEntry 5 }

rcDiagMacConvSteeringEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable this entry."
	DEFVAL	      { true }
        ::= { rcDiagMacConvSteeringEntry 6 }

rcDiagMacConvSteeringRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries in the rcDiagMirrorByPortTable."
        ::= { rcDiagMacConvSteeringEntry 7 }

rcDiagSaveConfig OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to configure whether the various mirror feature
                      settings should be saved and restored across system
                      reboot."
        ::= { rcDiag 10 }

rcDiagMirrorByPortTblSize OBJECT-TYPE
        SYNTAX      	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate table size."
        ::= { rcDiag 11 }

rcDiagPortConvSteeringTblSize OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate table size."
        ::= { rcDiag 12 }

rcDiagMacConvSteeringTblSize OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate table size."
        ::= { rcDiag 13 }

rcDiagDiagnosticsEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to enable/disable the mirroring feature
                      for the entire device.  This setting overrides
                      any setting in the various mirroring tables."
        DEFVAL                { false }
        ::= { rcDiag 14 }

-- RCIPX
-- IPX 
-- IPX Routing Enable

rcIpxRoutingEnable OBJECT-TYPE
   	SYNTAX        TruthValue
  	ACCESS        read-write
  	STATUS        mandatory
	DESCRIPTION   "Global Ipx Routing control variable"
	DEFVAL { false }
	::= { rcIpx 1 }

-- IPX Address Table

rcIpxAddrTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpxAddrEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "The table of addressing information relevant to
                      this entity's IPX addresses.  This table is used
                      for associating IfIndex and IPX network number."
	::= { rcIpx 2 }

rcIpxAddrEntry OBJECT-TYPE
	SYNTAX        RcIpxAddrEntry
	ACCESS 	      not-accessible
	STATUS 	      mandatory
	DESCRIPTION   "The addressing information for one of this
                      entity's IP addresses."
	INDEX         { rcIpxAddrVlanId, rcIpxAddrNetAddr, rcIpxAddrEncap }
	::= { rcIpxAddrTable 1 }

RcIpxAddrEntry ::=
    	SEQUENCE {
           	rcIpxAddrVlanId      INTEGER,
	        rcIpxAddrNetAddr     OCTET STRING (SIZE(4)),
                rcIpxAddrEncap       INTEGER,
           	rcIpxAddrEntryStatus RowStatus
    	}

rcIpxAddrVlanId OBJECT-TYPE
   	SYNTAX        INTEGER (1..4094)
  	ACCESS        read-write
  	STATUS        mandatory
	DESCRIPTION   "The index value which uniquely identifies the
                      interface to which this entry is applicable.  The
                      interface identified by a particular value of this
                      index is the same interface as identified by the
                      same value of ifIndex."
	::= { rcIpxAddrEntry 1 }

rcIpxAddrNetAddr       OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(4))
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "IPX Network address."
        ::= { rcIpxAddrEntry 2 }

rcIpxAddrEncap OBJECT-TYPE
        SYNTAX        INTEGER {
                         none(0),
                         ethernetii(1),
                         snap(2),
                         llc(3),
                         raw(4)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Specify IPX encapsulation format.  It is relevent
                       if the VLAN is port based.  But it's always nice to have it."
        DEFVAL { none }
        ::= { rcIpxAddrEntry 3 }

rcIpxAddrEntryStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries in the rcIpxAddrEntry."
        ::= { rcIpxAddrEntry 4 }


-- RCIPX

-- ORNA Group

rcOrnaMgmtIpAddr OBJECT-TYPE
        SYNTAX        	IpAddress
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"The IP address of the ORNA (High Performance Remote
			Monitor) module.  This is the IP address a network
			management station would use to contact the ORNA
			module."
        ::= { rcOrna 1 }

rcOrnaMgmtNetMask OBJECT-TYPE
        SYNTAX        	IpAddress
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"The network mask of the ORNA module."
        ::= { rcOrna 2 }

rcOrnaMgmtGateway OBJECT-TYPE
        SYNTAX        	IpAddress
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"The IP address of the gateway the ORNA module
			should use to route internetwork traffic."
        ::= { rcOrna 3 }

rcOrnaMgmtMacAddress OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(24))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The MAC address of the ORNA module." 
        ::= { rcOrna 4 }

rcOrnaMonitorMacAddress OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(24))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Not used currently"
        ::= { rcOrna 5 }

rcOrnaBootInfo OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(0..256))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"ORNA's boot information."
        ::= { rcOrna 6 }

rcOrnaInfo OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(0..256))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Additional general information"
        ::= { rcOrna 7 }

rcOrnaModel OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(24))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"ORNA model information"
        ::= { rcOrna 8 }

rcOrnaSubModel OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(24))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"ORNA sub-model information"
        ::= { rcOrna 9 }

rcOrnaDescription OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(64))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"ORNA description information"
        ::= { rcOrna 10 }

rcOrnaPartNumber OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(24))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"ORNA part number"
        ::= { rcOrna 11 }

rcOrnaSerialNumber OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(24))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"ORNA serial number"
        ::= { rcOrna 12 }

rcOrnaMemorySize OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(8))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"HRPM memory size in kbytes"
        ::= { rcOrna 13 }

rcOrnaHwVersion OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(8))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"ORNA hardware version"
        ::= { rcOrna 14 }

rcOrnaRMmVersion OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(8))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"ORNA RMM ASIC version"
        ::= { rcOrna 15 }

rcOrnaSwVersion OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(8))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"ORNA software version." 
	::= { rcOrna 16 } 

rcOrnaBootPromVersion OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(8))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"ORNA Boot PROM version."
        ::= { rcOrna 17 }

rcOrnaOperatingSystem OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(24))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"ORNA operating system information."
        ::= { rcOrna 18 }

rcOrnaAction OBJECT-TYPE
        SYNTAX        	INTEGER {
                         	none(0),
                         	reset(1)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Action control variable."
        ::= { rcOrna 19 }

rcOrnaResult OBJECT-TYPE
        SYNTAX        	INTEGER {
                         	none(1),
                         	inProgress(2),
                         	success(3),
                         	fail(4)
                      	}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Result of last action performed."
        ::= { rcOrna 20 }


-- POS PPP IPX Table

rcPosPppIpxTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcPosPppIpxEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
	::= { rcPos 1 }

rcPosPppIpxEntry OBJECT-TYPE
	SYNTAX        RcPosPppIpxEntry
	ACCESS 	      not-accessible
	STATUS 	      mandatory
	DESCRIPTION   ""
	INDEX         { rcPosPppIpxIfIndex }
	::= { rcPosPppIpxTable 1 }

RcPosPppIpxEntry ::=
    	SEQUENCE {
                rcPosPppIpxIfIndex          InterfaceIndex,
                rcPosPppIpxIpxcpAdminStatus EnableValue,
                rcPosPppIpxOperStatus       INTEGER,
                rcPosPppIpxNetAddr          OCTET STRING (SIZE(4)),
                rcPosPppIpxRoutingProtocol  INTEGER
    	}

rcPosPppIpxIfIndex OBJECT-TYPE
   	SYNTAX        InterfaceIndex
  	ACCESS        read-only
  	STATUS        mandatory
	DESCRIPTION   "port number."
	::= { rcPosPppIpxEntry 1 }

rcPosPppIpxIpxcpAdminStatus OBJECT-TYPE  
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        DEFVAL { disable }
        ::= { rcPosPppIpxEntry 2 }

rcPosPppIpxOperStatus OBJECT-TYPE  
        SYNTAX        INTEGER {
                         up(1),
                         down(2),
                         unknown(3)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosPppIpxEntry 3 }

rcPosPppIpxNetAddr OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(4))
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "IPX Network address."
        ::= { rcPosPppIpxEntry 4 }

rcPosPppIpxRoutingProtocol OBJECT-TYPE  
        SYNTAX        INTEGER {
                         none(0),
                         rip(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        DEFVAL { none }
        ::= { rcPosPppIpxEntry 5 }

-- POS SONET Table

rcPosSonetTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcPosSonetEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
	::= { rcPos 2 }

rcPosSonetEntry OBJECT-TYPE
	SYNTAX        RcPosSonetEntry
	ACCESS 	      not-accessible
	STATUS 	      mandatory
	DESCRIPTION   ""
	INDEX         { rcPosSonetIndex }
	::= { rcPosSonetTable 1 }

RcPosSonetEntry ::=
    	SEQUENCE {
                rcPosSonetIndex           InterfaceIndex,
                rcPosSonetFraming         INTEGER,
                rcPosSonetSectionTrace    INTEGER,
                rcPosSonetSectionGrowth   INTEGER,
                rcPosSonetSyncronization  INTEGER,
                rcPosSonetStsPathTrace    OCTET STRING (SIZE(64)),
                rcPosSonetPathSignalLabel INTEGER,
                rcPosSonetClockSource     INTEGER,
                rcPosSonetScramble        EnableValue
    	}

rcPosSonetIndex OBJECT-TYPE
   	SYNTAX        InterfaceIndex
  	ACCESS        read-only
  	STATUS        mandatory
	DESCRIPTION   "pos ifIndex."
	::= { rcPosSonetEntry 1 }

rcPosSonetFraming OBJECT-TYPE
        SYNTAX        INTEGER {
                         sonet(1),
                         sdh(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosSonetEntry 2 }

rcPosSonetSectionTrace OBJECT-TYPE  
   	SYNTAX        INTEGER (1..255)
  	ACCESS        read-write
  	STATUS        mandatory
	DESCRIPTION   "config. J0 byte"
        ::= { rcPosSonetEntry 3 }

rcPosSonetSectionGrowth OBJECT-TYPE  
   	SYNTAX        INTEGER (1..255)
  	ACCESS        read-write
  	STATUS        mandatory
	DESCRIPTION   "config. Z0 byte"
        ::= { rcPosSonetEntry 4 }

rcPosSonetSyncronization OBJECT-TYPE  
   	SYNTAX        INTEGER (1..255)
  	ACCESS        read-write
  	STATUS        mandatory
	DESCRIPTION   "config. S1 byte"
        ::= { rcPosSonetEntry 5 }

rcPosSonetStsPathTrace OBJECT-TYPE  
        SYNTAX         OCTET STRING (SIZE(64))
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "config. 64/16 byte."
        ::= { rcPosSonetEntry 6 }

rcPosSonetPathSignalLabel OBJECT-TYPE  
   	SYNTAX        INTEGER (1..255)
  	ACCESS        read-write
  	STATUS        mandatory
	DESCRIPTION   "config. C2 byte"
        ::= { rcPosSonetEntry 7 }

rcPosSonetClockSource OBJECT-TYPE
        SYNTAX        INTEGER {
                         line(1),
                         internal(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosSonetEntry 8 }

rcPosSonetScramble OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosSonetEntry 9 }


-- Pos Line Status Table

rcPosLineStatusTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcPosLineStatusEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Pos Line Status Table"
        ::= { rcPos 3 }

rcPosLineStatusEntry OBJECT-TYPE
        SYNTAX        RcPosLineStatusEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of Pos Line Status."
        INDEX         { rcPosLineStatusIndex }
        ::= { rcPosLineStatusTable 1 }

RcPosLineStatusEntry ::= SEQUENCE {
                rcPosLineStatusIndex             InterfaceIndex,
                rcPosLineStatusLocalMACAddress   MacAddress,
                rcPosLineStatusRemoteMACAddress  MacAddress,
                rcPosLineStatusLocalIpAddr       IpAddress,
                rcPosLineStatusRemoteIpAddr      IpAddress,
                rcPosLineStatusOutQuality        INTEGER,
                rcPosLineStatusLocalPeriod       INTEGER,
                rcPosLineStatusDeviceType        INTEGER,
                rcPosLineStatusDeviceRev         INTEGER
        }

rcPosLineStatusIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "pos ifIndex, same as rcPosPppIpxIfIndex."
        ::= { rcPosLineStatusEntry 1 }

rcPosLineStatusLocalMACAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "current local MAC address"
        ::= { rcPosLineStatusEntry 2 }

rcPosLineStatusRemoteMACAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "current remote MAC address"
        ::= { rcPosLineStatusEntry 3 }

rcPosLineStatusLocalIpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "current local ip addr"
        ::= { rcPosLineStatusEntry 4 }

rcPosLineStatusRemoteIpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "current remote ip addr"
        ::= { rcPosLineStatusEntry 5 }

rcPosLineStatusOutQuality OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "current output quality."
        ::= { rcPosLineStatusEntry 6 }

rcPosLineStatusLocalPeriod OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosLineStatusEntry 7 }

rcPosLineStatusDeviceType OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosLineStatusEntry 8 }

rcPosLineStatusDeviceRev OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosLineStatusEntry 9 }


-- Pos Line Config Table

rcPosLineConfigTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcPosLineConfigEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Pos Line Config Table"
        ::= { rcPos 4 }

rcPosLineConfigEntry OBJECT-TYPE
        SYNTAX        RcPosLineConfigEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of Pos Line Config."
        INDEX         { rcPosLineConfigIndex }
        ::= { rcPosLineConfigTable 1 }

RcPosLineConfigEntry ::= SEQUENCE {
                rcPosLineConfigIndex              InterfaceIndex,
                rcPosLineConfigLocalMACAddress    MacAddress,
                rcPosLineConfigRemoteMACAddress   MacAddress,
                rcPosLineConfigLocalIpAddr        IpAddress,
                rcPosLineConfigRemoteIpAddr       IpAddress,
                rcPosLineConfigRemoteReportPeriod INTEGER,
                rcPosLineConfigLqrThreshold       INTEGER,
                rcPosLineConfigOutQuality         INTEGER,
                rcPosLineConfigPppStp             EnableValue,
                rcPosLineConfigLoopBack           TruthValue,
                rcPosLineConfigIpxVlanMacAddress  MacAddress,
                rcPosLineConfigIpxRemoteMacAddress MacAddress
        }

rcPosLineConfigIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "pos ifIndex, same as rcPosPppIpxIfIndex."
        ::= { rcPosLineConfigEntry 1 }

rcPosLineConfigLocalMACAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "current local MAC address"
        ::= { rcPosLineConfigEntry 2 }

rcPosLineConfigRemoteMACAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "current remote MAC address"
        ::= { rcPosLineConfigEntry 3 }

rcPosLineConfigLocalIpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "current local ip addr"
        ::= { rcPosLineConfigEntry 4 }

rcPosLineConfigRemoteIpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "current remote ip addr"
        ::= { rcPosLineConfigEntry 5 }

rcPosLineConfigRemoteReportPeriod OBJECT-TYPE
        SYNTAX        INTEGER (1..60)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "config. remote report period."
        ::= { rcPosLineConfigEntry 6 }

rcPosLineConfigLqrThreshold OBJECT-TYPE
        SYNTAX        INTEGER (1..100)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "config. input quality."
        ::= { rcPosLineConfigEntry 7 }

rcPosLineConfigOutQuality OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "config. output quality."
        ::= { rcPosLineConfigEntry 8 }

rcPosLineConfigPppStp OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "STP PPP encoding enable T/F"
        ::= { rcPosLineConfigEntry 9 }

rcPosLineConfigLoopBack OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "perform loop-back."
        ::= { rcPosLineConfigEntry 10 }

rcPosLineConfigIpxVlanMacAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosLineConfigEntry 11 }

rcPosLineConfigIpxRemoteMacAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosLineConfigEntry 12 }


-- POS Sonet traps --

rcPosSonetTrap        OBJECT IDENTIFIER ::= { rcPos 5 }

rcPosSonetTrapType OBJECT-TYPE
        SYNTAX        INTEGER {
                              sectionAlarm(1),
                              lineAlarm(2),
                              pathAlarm(3)    
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate a particular type of Sonet 
                      trap."
        ::= { rcPosSonetTrap 1 }

rcPosSonetTrapIndication OBJECT-TYPE
        SYNTAX        INTEGER {
                            noDefect(1),         
                            sectionLossOfSignal(2),  
                            sectionLossOfFrame(3),
                            lineAlarmIndication(4),
                            lineRemoteDefectIndication(5),
                            pathLossOfPointer(6),
                            pathAlarmIndication(7),
                            pathRemoteDefectIndication(8),
                            pathUnequipped(9),
                            pathSignalLabelMismatch(10),
                            pathTraceMismatch(11)
                      } 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate an indication for a Sonet trap."
        ::= { rcPosSonetTrap 2 }

-- Pos Sio Card Config Table

rcPosSioCardConfigTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcPosSioCardConfigEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Pos Sio Card Config Table"
        ::= { rcPos 6 }

rcPosSioCardConfigEntry OBJECT-TYPE
        SYNTAX        RcPosSioCardConfigEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of Pos Sio Card Config."
        INDEX         { rcPosSioCardConfigSlotIndex }
        ::= { rcPosSioCardConfigTable 1 }

RcPosSioCardConfigEntry ::= SEQUENCE {
                rcPosSioCardConfigSlotIndex     INTEGER,
                rcPosSioCardConfigAction        INTEGER,
                rcPosSioCardConfigTraceMode     INTEGER,
                rcPosSioCardConfigImageFileName DisplayString
        }

rcPosSioCardConfigSlotIndex OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "slot Index."
        ::= { rcPosSioCardConfigEntry 1 }

rcPosSioCardConfigAction OBJECT-TYPE
        SYNTAX        INTEGER {
                          other(0),
                          reset(1)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosSioCardConfigEntry 2 }

rcPosSioCardConfigTraceMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          other(0),
                          traceOn(1)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosSioCardConfigEntry 3 }

rcPosSioCardConfigImageFileName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..128))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "POS Image file name."
        ::= { rcPosSioCardConfigEntry 4 }


-- Link Flap Detect Group

rcLinkFlapDetectAutoPortDownEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to enable/disable the Link Flap Detect
			feature.  When enabled this feature will monitor
			the number of times a port goes down during a
			certain interval.  If the number exceeds a given
			bound the port will be forced out-of-service." 
        ::= { rcLinkFlapDetect 1 }

rcLinkFlapDetectSendTrap OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure whether a trap should be
			sent if the port is forced out-of-service."	
        ::= { rcLinkFlapDetect 2 }

rcLinkFlapDetectFrequency OBJECT-TYPE
        SYNTAX        	INTEGER (1..9999)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the number of times the port
			can go down." 
        ::= { rcLinkFlapDetect 3 }

rcLinkFlapDetectInterval OBJECT-TYPE
        SYNTAX        	INTEGER (2..600)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the interval (in minutes)."
        ::= { rcLinkFlapDetect 4 }


-- Radius Group
-- Radius Global Infomation

rcRadiusGlobal   OBJECT IDENTIFIER       ::= { rcRadius 1 }

rcRadiusGlobalEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable/disable this feature."
	DEFVAL 	      { false }
        ::= { rcRadiusGlobal 1 }

rcRadiusGlobalMaxNumberServer OBJECT-TYPE
        SYNTAX        INTEGER (1..10)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Maximum number of RADIUS servers."
	DEFVAL 	      { 10 }
        ::= { rcRadiusGlobal 2 }

rcRadiusGlobalServerTableSize OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of entries in the
                        rcRadiusServerTable."
        ::= { rcRadiusGlobal 3 }

-- Radius Server Table Infomation

rcRadiusServerTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcRadiusServerEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "The RADIUS table (0 to 10 entries).  This
                      table lists the information of the RADIUS server."
        ::= { rcRadius 2 }

rcRadiusServerEntry OBJECT-TYPE
        SYNTAX        RcRadiusServerEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A RADIUS server table entry."
        INDEX         { rcRadiusServerPriority, rcRadiusServerAddress}
        ::= { rcRadiusServerTable 1 }

RcRadiusServerEntry ::=
        SEQUENCE {
                rcRadiusServerPriority INTEGER,
                rcRadiusServerAddress IpAddress,
                rcRadiusServerTimeOut INTEGER,
                rcRadiusServerEnable TruthValue,
                rcRadiusServerMaxRetries INTEGER,
                rcRadiusServerUdpPort INTEGER,
                rcRadiusServerSecretKey DisplayString,
                rcRadiusServerAccessRequests Counter,
                rcRadiusServerAccessAccepts Counter,
                rcRadiusServerAccessRejects Counter,
                rcRadiusServerBadResponses Counter,
                rcRadiusServerPendingRequests Counter,
                rcRadiusServerClientRetries Counter,
                rcRadiusServerRowStatus RowStatus
        }

rcRadiusServerPriority OBJECT-TYPE
        SYNTAX        INTEGER (1..10)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Server priority, used to control which server to choose
                       first to send authentication."
	DEFVAL 	      { 10 }
        ::= { rcRadiusServerEntry 1 }

rcRadiusServerAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Server IP address of the RADIUS authentication server
                       referred to in this table entry."
        ::= { rcRadiusServerEntry 2 }

rcRadiusServerTimeOut OBJECT-TYPE
        SYNTAX        INTEGER (1..10)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The time interval in seconds before the client 
                       retransmit the packet."
	DEFVAL 	      { 3 }
        ::= { rcRadiusServerEntry 3 }

rcRadiusServerEnable  OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable this server."
	DEFVAL 	      { true }
        ::= { rcRadiusServerEntry 4 }

rcRadiusServerMaxRetries OBJECT-TYPE
        SYNTAX        INTEGER (1..6)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Maximum number of retransmissions."
	DEFVAL 	      { 3 }
        ::= { rcRadiusServerEntry 5 }

rcRadiusServerUdpPort OBJECT-TYPE
        SYNTAX        INTEGER (1..65536)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The UDP port the client is using to send requests
                       to this server."
	DEFVAL 	      { 1812 }
        ::= { rcRadiusServerEntry 6 }

rcRadiusServerSecretKey OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20)) 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The identifier of the RADIUS authentication client."
        ::= { rcRadiusServerEntry 7 }

rcRadiusServerAccessRequests OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of RADIUS access-response packets sent to 
                         this server. This does not include retransmissions."
        ::= { rcRadiusServerEntry 8 }

rcRadiusServerAccessAccepts OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of RADIUS access-accept packets (valid or 
                         invalid) received from this server."
        ::= { rcRadiusServerEntry 9 }

rcRadiusServerAccessRejects OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of RADIUS access-reject packets (valid or 
                         invalid) received from this server."
        ::= { rcRadiusServerEntry 10 }

rcRadiusServerBadResponses OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of RADIUS invalid access-response packets 
                         received from this server."
        ::= { rcRadiusServerEntry 11 }

rcRadiusServerPendingRequests OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of RADIUS access-request packets destined 
                         for this server that have not yet timed out or 
                         received a response. This variable is incremented 
                         when an access-request is sent and decremented due 
                         to receipt of an access-accept, access-reject, a 
                         timeout or retransmission."
        ::= { rcRadiusServerEntry 12 }

rcRadiusServerClientRetries OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of authentication retransmission to 
                         this server."
        ::= { rcRadiusServerEntry 13 }

rcRadiusServerRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries."
        ::= { rcRadiusServerEntry 14 }


-- rc2k Group

rc2kChassis     OBJECT IDENTIFIER ::= { rc2k 1 }

rc2kChassisPortOperStatus  OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE(256))
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "A bit array that contains the oper-status
                        of the ports in the device.  2 bits are used
                        for each port.  The high order 2 bits of the
                        first octet represent port #0, the next two
                        bits are used for port #1, etc.  The status
                        is encoded with the following scheme :

                        value   meaning
                        -----   -------
                          0     no-link (admin=up, oper=down)
                          1     up	(admin=up, oper=up)
                          2     down	(admin=down, oper=down)
                          3     testing	(admin=test, oper=test)
                        "
        ::= { rc2kChassis 1 }

rc2kChassisTemperature OBJECT-TYPE
        SYNTAX          Gauge32
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the core operating temperature
                        of the chassis.  This value represents the degree
			in celsius of the air inside the chassis."
        ::= { rc2kChassis 2 }

rc2kChassisAmbientLowerTemperature OBJECT-TYPE
        SYNTAX          Gauge32
        ACCESS          read-only
        STATUS          obsolete
        DESCRIPTION     "Used to indicate the temperature of the air
                        entering the fan at the lower half of the chassis."
        ::= { rc2kChassis 3 }

rc2kChassisAmbientUpperTemperature OBJECT-TYPE 
        SYNTAX          Gauge32 
        ACCESS          read-only 
        STATUS          obsolete 
        DESCRIPTION     "Used to indicate the temperature of the air
                        entering the fan at the upper half of the chassis." 
        ::= { rc2kChassis 4 }

rc2kChassisBaseMacAddr OBJECT-TYPE 
        SYNTAX          MacAddress 
        ACCESS          read-only 
        STATUS          mandatory 
        DESCRIPTION     "base mac addr"
        ::= { rc2kChassis 5 }

-- 2k CPU Ethernet Port table

rc2kCpuEthernetPortTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kCpuEthernetPortEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "2k CPU Ethernet Port table"
        ::= { rc2k 2 }

rc2kCpuEthernetPortEntry OBJECT-TYPE
        SYNTAX        Rc2kCpuEthernetPortEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of 2k CPU Ethernet Port"
        INDEX         { rc2kCpuEthernetPortIfIndex }
        ::= { rc2kCpuEthernetPortTable 1 }

Rc2kCpuEthernetPortEntry ::= SEQUENCE {
                rc2kCpuEthernetPortIfIndex       InterfaceIndex,
		rc2kCpuEthernetPortDescr	 DisplayString,
                rc2kCpuEthernetPortAdminStatus   INTEGER,
                rc2kCpuEthernetPortOperStatus    INTEGER,
                rc2kCpuEthernetPortAddr          IpAddress,
                rc2kCpuEthernetPortMask          IpAddress,
                rc2kCpuEthernetPortGateway       IpAddress,
                rc2kCpuEthernetPortNetwork       IpAddress,
                rc2kCpuEthernetPortAutoNegotiate TruthValue,
                rc2kCpuEthernetPortAdminDuplex   INTEGER,
                rc2kCpuEthernetPortOperDuplex    INTEGER,
                rc2kCpuEthernetPortAdminSpeed    INTEGER,
                rc2kCpuEthernetPortOperSpeed     INTEGER,
                rc2kCpuEthernetPortEnableBootp   TruthValue,
                rc2kCpuEthernetPortMgmtMacAddr   MacAddress
        }

rc2kCpuEthernetPortIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "IfIndex of the port."
        ::= { rc2kCpuEthernetPortEntry 1 }

rc2kCpuEthernetPortDescr OBJECT-TYPE 
        SYNTAX        DisplayString (SIZE (0..128)) 
        ACCESS        read-only 
        STATUS        mandatory 
        DESCRIPTION   "Port description" 
        ::= { rc2kCpuEthernetPortEntry 2 } 

rc2kCpuEthernetPortAdminStatus OBJECT-TYPE
        SYNTAX        	INTEGER
                      	{
                            up(1),
                            down(2),
                            unknown(3)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION  	"Used to configure the admininstrative status
			of the port."
        ::= { rc2kCpuEthernetPortEntry 3 }

rc2kCpuEthernetPortOperStatus OBJECT-TYPE
        SYNTAX        	INTEGER
                      	{
                            up(1),
                            down(2),
                            unknown(3)
                      	}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the administrative status
			of the port."
        ::= { rc2kCpuEthernetPortEntry 4 }

rc2kCpuEthernetPortAddr OBJECT-TYPE
        SYNTAX        	IpAddress
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the port's IP address"
        ::= { rc2kCpuEthernetPortEntry 5 }

rc2kCpuEthernetPortMask OBJECT-TYPE
        SYNTAX        	IpAddress
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the port's net mask"
        ::= { rc2kCpuEthernetPortEntry 6 }

rc2kCpuEthernetPortGateway OBJECT-TYPE
        SYNTAX        	IpAddress
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the the IP address of the
			gateway that should be used to forward IP
			traffic."  
        ::= { rc2kCpuEthernetPortEntry 7 }

rc2kCpuEthernetPortNetwork OBJECT-TYPE
        SYNTAX        	IpAddress
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the network that can be
			used to remotely manage this device."
        ::= { rc2kCpuEthernetPortEntry 8 }

rc2kCpuEthernetPortAutoNegotiate OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure auto-negotiation on this
			port."
	DEFVAL	      	{ true }
        ::= { rc2kCpuEthernetPortEntry 9 }

rc2kCpuEthernetPortAdminDuplex OBJECT-TYPE
        SYNTAX        	INTEGER
                      	{
                            half(1),
                            full(2)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the administrative duplex
			setting for this port."
        ::= { rc2kCpuEthernetPortEntry 10 }

rc2kCpuEthernetPortOperDuplex OBJECT-TYPE
        SYNTAX        	INTEGER
                      	{
                            half(1),
                            full(2)
                      	}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the operational duplex
			setting for this port."
        ::= { rc2kCpuEthernetPortEntry 11 }

rc2kCpuEthernetPortAdminSpeed OBJECT-TYPE
        SYNTAX        	INTEGER
                      	{
                            none(0),
                            mbps10(1),      -- 10Mb/s
                            mbps100(2)      -- 100Mb/s
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the administrative speed
			setting for this port."
        ::= { rc2kCpuEthernetPortEntry 12 }

rc2kCpuEthernetPortOperSpeed OBJECT-TYPE
        SYNTAX        	INTEGER
                      	{
                            none(0),
                            mbps10(1),      -- 10Mb/s
                            mbps100(2)      -- 100Mb/s
                      	}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate the operational duplex
			setting for this port."
        ::= { rc2kCpuEthernetPortEntry 13 }

rc2kCpuEthernetPortEnableBootp OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to enable/disable the Bootp feature
			on this port."
	DEFVAL	      	{ false }
        ::= { rc2kCpuEthernetPortEntry 14 }

rc2kCpuEthernetPortMgmtMacAddr OBJECT-TYPE
        SYNTAX          MacAddress 
        ACCESS          read-only 
        STATUS          mandatory 
        DESCRIPTION     "Used to indicate the mac addr for this port."
        ::= { rc2kCpuEthernetPortEntry 15 }


-- 2k CPU Serial Port table

rc2kCpuSerialPortTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kCpuSerialPortEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "2k CPU Serial Port table"
        ::= { rc2k 3 }

rc2kCpuSerialPortEntry OBJECT-TYPE
        SYNTAX        Rc2kCpuSerialPortEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of 2k CPU Serial Port"
        INDEX         { rc2kCpuSerialPortIfIndex }
        ::= { rc2kCpuSerialPortTable 1 }

Rc2kCpuSerialPortEntry ::= SEQUENCE {
                rc2kCpuSerialPortIfIndex          InterfaceIndex,
		rc2kCpuSerialPortDescr		  DisplayString,
                rc2kCpuSerialPortMode             INTEGER,
                rc2kCpuSerialPortAdminStatus      INTEGER,
                rc2kCpuSerialPortOperStatus       INTEGER,
                rc2kCpuSerialPortBaudRate         INTEGER,
                rc2kCpuSerialPortDataBits         INTEGER,
                rc2kCpuSerialPortMyAddr           IpAddress,
                rc2kCpuSerialPortPeerAddr         IpAddress,
                rc2kCpuSerialPortSlipMtu          INTEGER,
                rc2kCpuSerialPortSlipTxRxCompress TruthValue,
                rc2kCpuSerialPortSlipRxCompress   TruthValue,
                rc2kCpuSerialPortPppConfigFile    DisplayString
        }

rc2kCpuSerialPortIfIndex OBJECT-TYPE
        SYNTAX        	InterfaceIndex
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"IfIndex for this port."
        ::= { rc2kCpuSerialPortEntry 1 }

rc2kCpuSerialPortDescr OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE (0..128))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Port description."
        ::= { rc2kCpuSerialPortEntry 2 }

rc2kCpuSerialPortMode OBJECT-TYPE
        SYNTAX        	INTEGER
                      	{
                            cli(1),
                            slip(2),
                            ppp(3)
                     	 }
        ACCESS        	read-write
        STATUS       	 mandatory
        DESCRIPTION   	"Used to configure the mode this port should
			operate in."
        ::= { rc2kCpuSerialPortEntry 3 }

rc2kCpuSerialPortAdminStatus OBJECT-TYPE
        SYNTAX        	INTEGER
                      	{
                            up(1),
                            down(2),
                            unknown(3)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION     "Used to configure the administrative status
                        setting for this port."
        ::= { rc2kCpuSerialPortEntry 4 }

rc2kCpuSerialPortOperStatus OBJECT-TYPE
        SYNTAX        	INTEGER
                      	{
                            up(1),
                            down(2),
                            unknown(3)
                      	}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION     "Used to indicate the operational status
                        setting for this port."
        ::= { rc2kCpuSerialPortEntry 5 }

rc2kCpuSerialPortBaudRate OBJECT-TYPE
        SYNTAX        	INTEGER
                      	{
                            baud2400(2400),
                            baud4800(4800),
                            baud9600(9600),
                            baud19200(19200),
                            baud38400(38400),
                            baud57600(57600),
                            baud115200(115200)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the baud rate of this port."
        ::= { rc2kCpuSerialPortEntry 6 }

rc2kCpuSerialPortDataBits OBJECT-TYPE
        SYNTAX        	INTEGER
                      	{
                            seven(1),
                            eight(2)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the number of data bits, per
			byte of data, this port should send/receive."
        ::= { rc2kCpuSerialPortEntry 7 }

rc2kCpuSerialPortMyAddr OBJECT-TYPE
        SYNTAX        	IpAddress
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure this port's IP address.
			Used for both 'slip' and 'ppp' modes."
        ::= { rc2kCpuSerialPortEntry 8 }

rc2kCpuSerialPortPeerAddr OBJECT-TYPE
        SYNTAX        	IpAddress
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the peer's IP address.
			Used for both 'slip' and 'ppp' modes."
        ::= { rc2kCpuSerialPortEntry 9 }

rc2kCpuSerialPortSlipMtu OBJECT-TYPE
        SYNTAX        	INTEGER (0..224)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the MTU for this port.
			Used for slip only."
        ::= { rc2kCpuSerialPortEntry 10 }

rc2kCpuSerialPortSlipTxRxCompress OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to enable/disable compression of TCP/IP
			packet headers on this port.  Used for slip only."
	DEFVAL	      	{ true }
        ::= { rc2kCpuSerialPortEntry 11 }

rc2kCpuSerialPortSlipRxCompress OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to enable/disable compression for receiving
			packets on this port.  Used for slip only."	
	DEFVAL	      	{ true }
        ::= { rc2kCpuSerialPortEntry 12 }

rc2kCpuSerialPortPppConfigFile OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE(256))
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to configure the configuration file to use
			for PPP."
        ::= { rc2kCpuSerialPortEntry 13 }


-- 2k Device Group

rc2kDevice     OBJECT IDENTIFIER ::= { rc2k 4 }

rc2kDeviceGlobalTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kDeviceGlobalEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "2k CPU Ethernet Port table"
        ::= { rc2kDevice 1 }

rc2kDeviceGlobalEntry OBJECT-TYPE
        SYNTAX        Rc2kDeviceGlobalEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of 2k CPU Ethernet Port"
        INDEX         { rc2kDeviceGlobalSlot }
        ::= { rc2kDeviceGlobalTable 1 }

Rc2kDeviceGlobalEntry ::= SEQUENCE {
		rc2kDeviceGlobalSlot		INTEGER,
		rc2kDeviceGlobalFlashBytesUsed 	INTEGER,
		rc2kDeviceGlobalFlashBytesFree 	INTEGER,
		rc2kDeviceGlobalFlashNumFiles 	INTEGER,
		rc2kDeviceGlobalPcmciaBytesUsed	INTEGER,
		rc2kDeviceGlobalPcmciaBytesFree	INTEGER,
		rc2kDeviceGlobalPcmciaNumFiles 	INTEGER,
		rc2kDeviceGlobalAction 		INTEGER,
		rc2kDeviceGlobalResult 		INTEGER
	}

rc2kDeviceGlobalSlot OBJECT-TYPE
        SYNTAX        INTEGER (5..6)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "slot number"
        ::= { rc2kDeviceGlobalEntry 1 }

rc2kDeviceGlobalFlashBytesUsed OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "bytes used"
        ::= { rc2kDeviceGlobalEntry 2 }

rc2kDeviceGlobalFlashBytesFree OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "bytes free"
        ::= { rc2kDeviceGlobalEntry 3 }

rc2kDeviceGlobalFlashNumFiles OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "# files in flash"
        ::= { rc2kDeviceGlobalEntry 4 }

rc2kDeviceGlobalPcmciaBytesUsed OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "bytes used"
        ::= { rc2kDeviceGlobalEntry 5 }

rc2kDeviceGlobalPcmciaBytesFree OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "bytes free"
        ::= { rc2kDeviceGlobalEntry 6 }

rc2kDeviceGlobalPcmciaNumFiles OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "# files in pcmcia"
        ::= { rc2kDeviceGlobalEntry 7 }
 
rc2kDeviceGlobalAction OBJECT-TYPE
        SYNTAX        INTEGER
                      {
                            none(1),
                            resetPcmcia(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "none(1), resetPcmcia(2), .."
        ::= { rc2kDeviceGlobalEntry 8 }

rc2kDeviceGlobalResult OBJECT-TYPE
        SYNTAX        INTEGER {
                            none(1),
                            inProgress(2),
                            success(3),
                            fail(4)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the result of the last action
                      performed on one of the system's device."
        ::= { rc2kDeviceGlobalEntry 9 }

-- 2k Device Separator1 
 
rc2kDeviceSeparator1 OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"This leaf is used to provide a separation between
			tables.  No meaningful information is stored in this
			variable." 
        ::= { rc2kDevice 2 }

 
-- 2k Device Flash File table

rc2kDeviceFlashFileTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kDeviceFlashFileEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "2k Flash table"
        ::= { rc2kDevice 3 }

rc2kDeviceFlashFileEntry OBJECT-TYPE
        SYNTAX        Rc2kDeviceFlashFileEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of 2k CPU Serial Port"
        INDEX         { rc2kDeviceFlashFileSlot, rc2kDeviceFlashFileName }
        ::= { rc2kDeviceFlashFileTable 1 }

Rc2kDeviceFlashFileEntry ::= SEQUENCE {
                rc2kDeviceFlashFileSlot	INTEGER,
                rc2kDeviceFlashFileName DisplayString,
                rc2kDeviceFlashFileDate DisplayString,
                rc2kDeviceFlashFileSize INTEGER
        }

rc2kDeviceFlashFileSlot OBJECT-TYPE
        SYNTAX        INTEGER (5..6) 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "slot number"
        ::= { rc2kDeviceFlashFileEntry 1 }

rc2kDeviceFlashFileName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "name of file"
        ::= { rc2kDeviceFlashFileEntry 2 }

rc2kDeviceFlashFileDate OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..32))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "date"
        ::= { rc2kDeviceFlashFileEntry 3 }

rc2kDeviceFlashFileSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "size in bytes"
        ::= { rc2kDeviceFlashFileEntry 4 }

-- 2k Device Pcmcia present

rc2kDevicePcmciaPresent OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "pcmcia is a slower device. This leaf is used to
                       stop the access into pcmcia file table when it
                       got the end of flash file table."
        ::= { rc2kDevice 4 }

-- 2k Device Pcmcia File table

rc2kDevicePcmciaFileTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kDevicePcmciaFileEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "2k PCMCIA table"
        ::= { rc2kDevice 5 }

rc2kDevicePcmciaFileEntry OBJECT-TYPE
        SYNTAX        Rc2kDevicePcmciaFileEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of 2k CPU Serial Port"
        INDEX         { rc2kDevicePcmciaFileSlot, rc2kDevicePcmciaFileName }
        ::= { rc2kDevicePcmciaFileTable 1 }

Rc2kDevicePcmciaFileEntry ::= SEQUENCE {
                rc2kDevicePcmciaFileSlot INTEGER,
                rc2kDevicePcmciaFileName DisplayString,
                rc2kDevicePcmciaFileDate DisplayString,
                rc2kDevicePcmciaFileSize INTEGER
        }

rc2kDevicePcmciaFileSlot OBJECT-TYPE
        SYNTAX        INTEGER (5..6)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "slot number"
        ::= { rc2kDevicePcmciaFileEntry 1 }

rc2kDevicePcmciaFileName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "name of file"
        ::= { rc2kDevicePcmciaFileEntry 2 }

rc2kDevicePcmciaFileDate OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..32))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "date"
        ::= { rc2kDevicePcmciaFileEntry 3 }

rc2kDevicePcmciaFileSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "size in bytes"
        ::= { rc2kDevicePcmciaFileEntry 4 }

-- 2k Device Separator2

rc2kDeviceSeparator2 OBJECT-TYPE 
        SYNTAX          INTEGER
        ACCESS          read-only 
        STATUS          mandatory 
        DESCRIPTION     "This leaf is used to provide a separation between 
                        tables.  No meaningful information is stored in this
                        variable."
        ::= { rc2kDevice 6 } 


-- 2k Boot Config Table

rc2kBootConfigTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kBootConfigEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "2k Boot Configuration table"
        ::= { rc2k 5 }

rc2kBootConfigEntry OBJECT-TYPE
        SYNTAX        Rc2kBootConfigEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing boot configuration information."
        INDEX         { rc2kBootConfigSlot }
        ::= { rc2kBootConfigTable 1 }

Rc2kBootConfigEntry ::= SEQUENCE {
		rc2kBootConfigSlot 			INTEGER,
		rc2kBootConfigLastBootConfigSource	DisplayString,
		rc2kBootConfigLastRuntimeImageSource	DisplayString,
		rc2kBootConfigLastRuntimeConfigSource	DisplayString,
		rc2kBootConfigPrimaryImageSource	DisplayString,
		rc2kBootConfigPrimaryConfigSource	DisplayString,
		rc2kBootConfigSecondaryImageSource	DisplayString,
		rc2kBootConfigSecondaryConfigSource	DisplayString,
		rc2kBootConfigTertiaryImageSource	DisplayString,
		rc2kBootConfigTertiaryConfigSource	DisplayString,
		rc2kBootConfigEnableAutoBoot		TruthValue,
		rc2kBootConfigEnableFactoryDefaults	TruthValue,
		rc2kBootConfigEnableDebugMode		TruthValue,
		rc2kBootConfigEnableHwWatchDogTimer	TruthValue,
		rc2kBootConfigEnableRebootOnError	TruthValue,
		rc2kBootConfigEnableTelnetServer	TruthValue,
		rc2kBootConfigEnableRloginServer	TruthValue,
		rc2kBootConfigEnableFtpServer		TruthValue,
		rc2kBootConfigEnableTftpServer		TruthValue,
		rc2kBootConfigSwVersion			DisplayString,
                rc2kBootConfigMulticastConfigProfile    INTEGER
        }

rc2kBootConfigSlot OBJECT-TYPE
        SYNTAX        INTEGER (5..6)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "slot number"
        ::= { rc2kBootConfigEntry 1 }

rc2kBootConfigLastBootConfigSource OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "boot config source"
        ::= { rc2kBootConfigEntry 2 }

rc2kBootConfigLastRuntimeImageSource OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "runtime image source"
        ::= { rc2kBootConfigEntry 3 }

rc2kBootConfigLastRuntimeConfigSource OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "runtime config source"
        ::= { rc2kBootConfigEntry 4 }

rc2kBootConfigPrimaryImageSource OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "image source"
        ::= { rc2kBootConfigEntry 5 }

rc2kBootConfigPrimaryConfigSource OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "config source"
        ::= { rc2kBootConfigEntry 6 }

rc2kBootConfigSecondaryImageSource OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "image source"
        ::= { rc2kBootConfigEntry 7 }

rc2kBootConfigSecondaryConfigSource OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "config source"
        ::= { rc2kBootConfigEntry 8 }
 
rc2kBootConfigTertiaryImageSource OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "image source"
        ::= { rc2kBootConfigEntry 9 }
 
rc2kBootConfigTertiaryConfigSource OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "config source"
        ::= { rc2kBootConfigEntry 10 }
 
rc2kBootConfigEnableAutoBoot OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "auto boot mode"
        ::= { rc2kBootConfigEntry 11 }

rc2kBootConfigEnableFactoryDefaults OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "use factory default"
        ::= { rc2kBootConfigEntry 12 }

rc2kBootConfigEnableDebugMode OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "debug mode"
        ::= { rc2kBootConfigEntry 13 }

rc2kBootConfigEnableHwWatchDogTimer OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "hw watch dog timer"
        ::= { rc2kBootConfigEntry 14 }

rc2kBootConfigEnableRebootOnError OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "reboot on error"
        ::= { rc2kBootConfigEntry 15 }

rc2kBootConfigEnableTelnetServer OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "telnet server"
        ::= { rc2kBootConfigEntry 16 }

rc2kBootConfigEnableRloginServer OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "rlogin server"
        ::= { rc2kBootConfigEntry 17 }

rc2kBootConfigEnableFtpServer OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "ftp server"
        ::= { rc2kBootConfigEntry 18 }

rc2kBootConfigEnableTftpServer OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "tftp server"
        ::= { rc2kBootConfigEntry 19 }

rc2kBootConfigSwVersion OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "current sw version"
        ::= { rc2kBootConfigEntry 20 }
 
rc2kBootConfigMulticastConfigProfile OBJECT-TYPE
        SYNTAX        INTEGER (1..6)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "multicast config"
        DEFVAL        { 1 }
        ::= { rc2kBootConfigEntry 21 }


-- 2k Card table

rc2kCardTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kCardEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "2k Card table"
        ::= { rc2k 6 }

rc2kCardEntry OBJECT-TYPE
        SYNTAX        Rc2kCardEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing information of 2k Card"
        INDEX         { rc2kCardIndex }
        ::= { rc2kCardTable 1 }

Rc2kCardEntry ::= SEQUENCE {
                rc2kCardIndex            INTEGER,
                rc2kCardFrontType        INTEGER,
                rc2kCardFrontDescription DisplayString,
                rc2kCardFrontAdminStatus INTEGER,
                rc2kCardFrontOperStatus  INTEGER,
                rc2kCardFrontSerialNum   DisplayString,
                rc2kCardFrontHwVersion   DisplayString,
                rc2kCardFrontPartNumber  DisplayString,
                rc2kCardFrontDateCode    DisplayString,
                rc2kCardFrontDeviations  DisplayString,
                rc2kCardFrontMacAddr     MacAddress,    --excluded
                rc2kCardBackType         INTEGER,
                rc2kCardBackDescription  DisplayString,
                rc2kCardBackSerialNum    DisplayString,
                rc2kCardBackHwVersion    DisplayString,
                rc2kCardBackPartNumber   DisplayString,
                rc2kCardBackDateCode     DisplayString,
                rc2kCardBackDeviations   DisplayString,
		rc2kCardPCMCIAType	 INTEGER,
		rc2kCardPCMCIADescr	 DisplayString,
		rc2kCardASICDescr	 DisplayString,
		rc2kCardFrontMasterIO	 TruthValue
        }

rc2kCardIndex OBJECT-TYPE
        SYNTAX        INTEGER (1..10)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "slot number."
        ::= { rc2kCardEntry 1 }

rc2kCardFrontType OBJECT-TYPE
        SYNTAX        INTEGER
                      {
        other(1),                        -- no card installed
        rc2kCPU(537788672),              -- 0010 0000 0000 1110 0000 0001 0000 0000
        rc2k48x100BaseTX(539033904),     -- 0010 0000 0010 0001 0000 0001 0011 0000
        rc2k24x100BaseTX(539033880),     -- 0010 0000 0010 0001 0000 0001 0001 1000
        rc2k8x1000BaseT(539099400),      -- 0010 0000 0010 0010 0000 0001 0000 1000  
        rc2k24x100BaseFX(540082456),     -- 0010 0000 0011 0001 0000 0001 0001 1000
        rc2k8x1000BaseSXBB(540147976),   -- 0010 0000 0011 0010 0000 0001 0000 1000
        rc2k16x1000BaseSXBB(540147984),  -- 0010 0000 0011 0010 0000 0001 0001 0000 
        rc2k8x1000BaseLXBB(540156168),   -- 0010 0000 0011 0010 0010 0001 0000 1000
        rc2k8x1000BaseXDBB(540164360),   -- 0010 0000 0011 0010 0100 0001 0000 1000
        rc2k8x1000BaseIC(540168456),     -- 0010 0000 0011 0010 0101 0001 0000 1000 
        rc2k16x1000BaseIC(540168464),    -- 0010 0000 0011 0010 0101 0001 0001 0000
        rc2k8x1000BaseSXRBB(540180744),  -- 0010 0000 0011 0010 1000 0001 0000 1000
        rc2k8x1000BaseLXRBB(540188936),  -- 0010 0000 0011 0010 1010 0001 0000 1000
        rc2k8xOC3(541327624),            -- 0010 0000 0100 0100 0000 0001 0000 1000
        rc2k2xOC12(541393154),           -- 0010 0000 0100 0101 0000 0001 0000 0010
        rc2k6xPOS(541401350),            -- 0010 0000 0100 0101 0010 0001 0000 0110
        rc2k4xATM(542441732),            -- 0010 0000 0101 0101 0000 0001 0000 0100
        rc2k8xATM(542441736),            -- 0010 0000 0101 0101 0000 0001 0000 1000
        rc2kRMON(545128704),             -- 0010 0000 0111 1110 0000 0001 0000 0000
        rc2kMg48x100BaseTX(807469360),   -- 0011 0000 0010 0001 0000 0001 0011 0000
        rc2kMg32x100BaseTX(807473440),   -- 0011 0000 0010 0001 0001 0001 0010 0000
        rc2kMg16x100BaseFX(808522000),   -- 0011 0000 0011 0001 0001 0001 0001 0000
        rc2kMg8x1000BaseTX(808583432),   -- 0011 0000 0011 0010 0000 0001 0000 1000
        rc2kMg8x1000BaseIC(808603912)    -- 0011 0000 0011 0010 0101 0001 0000 1000

                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION     "Used to indicate card types in the Accelar
                        8000 product families.

			For Accelar 8000 devices, all cards use
		      	an encoded value according to the following rule:

        +------+-------+-------+-------+------------+------+------+------+
bits  : |31-28 |     27-20     | 19-16 | 15 | 14-12 | 11-8 |     7-0     |
        +------+-------+-------+-------+----+-------+------+------+------+
field : |  a   |       c       |   d   |  e |    f  |  g   |      h      |
        +------+-------+-------+-------+----+-------+------+------+------+

     a : Family type/Product line
            0x0 = 0000 = Reserved
            0x1 = 0001 = Monoploy non specific (e.g backplane, psu, fans)
            0x2 = 0010 = Boardwalk
            0x3 = 0011 = Marvin Gardens
            0x4 = 0100 = Pacific
            0x5 = 0101 = ParkPlace

     c : Interface / device type:
            0x00 = 00000000 = CPU
            0x01 = 00000001 = Switch fabric
            0x02 = 00000010 = Copper Ethernet
            0x03 = 00000011 = Fiber Ethernet
            0x04 = 00000100 = Sonet (Packets)
            0x05 = 00000101 = ATM
            0x06 = 00000110 = Token Ring
            0x07 = 00000111 = RMON
            0x08 = 00001000 = BFM (Frame or cells indicated by field 'a' above)
            0x09 = 00001001 = PSU
            0x0a = 00001010 = Fan Tray
            0x0b = 00001011 = Chassis/Backplane

     d : Maximum speed (highest negotiable speed)
            0x0 = 0000 = 10 Mbit  
            0x1 = 0001 = 100 Mbit  
            0x2 = 0010 = 1 Gbit
            0x3 = 0011 = 10 Gbit
            0x4 = 0100 = OC-3
            0x5 = 0101 = OC-12
            0x6 = 0110 = OC-48
            0x7 = 0111 = OC-92
            0x8 = 1000 = OC-192
            0x9 = 1001 = 4 Mbit (TR)
            0xa = 1010 = 16 Mbit (TR)
            0xb = 1011 = E3 
            0xc = 1100 = DS1
            0xd = 1101 = DS3
            0xe = 1110 = none (no PHY interfaces on board)
            0xf = 1111 = Max speed indicated implicitly in field (c) (for expansion)
   
     e : 0=non-redundant, 
         1=redundant

     f : Card specific info. 
             For Gigabit used as follows:
		 000=short-haul (SX)
		 010=long-haul (LX)
		 100=extra-distance (DX)
                 101=GBIC
	     For ATM/Sonet used as follows
                 000 = multi mode
                 001 = single mode
                 010 = single or multimode
		 011 = not applicable (e.g., copper has no mode)
             For Marvin Gardens, indicates number of MDA slots
                 000 = none
                 001 = one option slots
                 010 = two option slots
                 011 = three option slots
            For Power Supplies:
                 000 = AC PSU
                 001 = DC PSU

     g : Chassis type
         0x0 = 0000 = work-group (single card switches, etc)
         0x1 = 0001 = back-bone (chassis based products)
         0x2 = 0010 = MDA (option modules)

     h : Number of ports (binary representation obmited)
         (for ACIM/BFM cards, this is number of octapids/blackbirds/dea)
               0x00 =  no ports (cpus, switch fabrics)
               0x01 =  1-port, 
               0x02 =  2-port, 
               0x04 =  4-port,
               0x06 =  6-port,
               0x08 =  8-port,
               0x0c = 12-port,
               0x10 = 16-port,
               0x18 = 24-port,
               0x22 = 36-port,
               0x30 = 48-port,
               0x40 = 64-port.

		"
        ::= { rc2kCardEntry 2 }

rc2kCardFrontDescription OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "description"
        ::= { rc2kCardEntry 3 }

rc2kCardFrontAdminStatus OBJECT-TYPE
        SYNTAX       INTEGER {
                         up(1),
                         down(2),
                         testing(3)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the administrative status of this
                       card"
        ::= { rc2kCardEntry 4 }

rc2kCardFrontOperStatus OBJECT-TYPE
        SYNTAX        INTEGER {
                         up(1),
                         down(2),
                         testing(3),
                         unknown(4),
                         dormant(5)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the operational status of this card."
        ::= { rc2kCardEntry 5 }

rc2kCardFrontSerialNum OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "serial number of card"
        ::= { rc2kCardEntry 6 }

rc2kCardFrontHwVersion OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "hardware version"
        ::= { rc2kCardEntry 7 }

rc2kCardFrontPartNumber OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "part number"
        ::= { rc2kCardEntry 8 }

rc2kCardFrontDateCode OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "date code"
        ::= { rc2kCardEntry 9 }

rc2kCardFrontDeviations OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "deviations"
        ::= { rc2kCardEntry 10 }

rc2kCardFrontMacAddr OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-only
        STATUS        obsolete
        DESCRIPTION   "base mac address"
        ::= { rc2kCardEntry 11 }

rc2kCardBackType OBJECT-TYPE
        SYNTAX        INTEGER {
        other(1),                  -- no card installed
        rc2kBackplane(536969472),  -- 0010 0000 0000 0001 1000 0001 0000 0000
	rc2kSFM(538837248),        -- 0010 0000 0001 1111 0000 0001 0000 0000
	rc2kBFM0(546177280),       -- 0010 0000 1000 1111 0000 0001 0000 0000
	rc2kBFM2(546177282),       -- 0010 0000 1000 1111 0000 0001 0000 0010
	rc2kBFM3(546177283),       -- 0010 0000 1000 1111 0000 0001 0000 0011
	rc2kBFM6(546177286),       -- 0010 0000 1000 1111 0000 0001 0000 0100
	rc2kBFM8(546177288),       -- 0010 0000 1000 1111 0000 0001 0000 1000
	rc2kMGSFM(807272704)       -- 0011 0000 0001 1110 0000 0001 0000 0000
			}
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Refer to rc2kCardFrontType for the encoding scheme"
        ::= { rc2kCardEntry 12 }

rc2kCardBackDescription OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "description"
        ::= { rc2kCardEntry 13 }

rc2kCardBackSerialNum OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "serial number of card"
        ::= { rc2kCardEntry 14 }

rc2kCardBackHwVersion OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "hardware version"
        ::= { rc2kCardEntry 15 }

rc2kCardBackPartNumber OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "part number"
        ::= { rc2kCardEntry 16 }

rc2kCardBackDateCode OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "date code"
        ::= { rc2kCardEntry 17 }

rc2kCardBackDeviations OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..20))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "deviations"
        ::= { rc2kCardEntry 18 }

rc2kCardPCMCIAType OBJECT-TYPE
        SYNTAX        INTEGER {
                         none(1),
			 modemCard(2),
                         ethernetCard(3),
                         ataDisk(4)
                      }  
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the type of PCMCIA card currently
                      installed in this CPU card, if any.

                      For non-CPU cards, this variable has no meaning and
                      will always be set to none(1)."
        DEFVAL        { none }
        ::= { rc2kCardEntry 19 }

rc2kCardPCMCIADescr OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..128))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "PCMCIA descriptor"
        ::= { rc2kCardEntry 20 }

rc2kCardASICDescr OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE (0..128))
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"ASIC descriptor"
        ::= { rc2kCardEntry 21 }

rc2kCardFrontMasterIO OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Used to indicate whether an IO card in a 8100 device
		       	is operating in the 'master' mode.

			This variable is not meaningful for non-IO cards and
			non-8100 devices."
	DEFVAL	      { false }
        ::= { rc2kCardEntry 22 }

-- 2k copy file

rc2kCopyFile     OBJECT IDENTIFIER ::= { rc2k 7 }

rc2kCopyFileSource OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "source file"
        ::= { rc2kCopyFile 1 }

rc2kCopyFileDestination OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "dest file"
        ::= { rc2kCopyFile 2 }

rc2kCopyFileAction OBJECT-TYPE
        SYNTAX        INTEGER
                      {
                            none(1),
                            start(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "start or cancell"
        ::= { rc2kCopyFile 3 }

rc2kCopyFileResult OBJECT-TYPE
        SYNTAX        INTEGER
                      {
                            none(1),
                            inProgress(2),
                            success(3),
                            fail(4),
                            invalidSource(5),
                            invalidDestination(6),
                            outOfMemory(7),
                            outOfSpace(8),
                            fileNotFound(9)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "result"
        ::= { rc2kCopyFile 4 }

-- 2k Qos

rc2kQos     OBJECT IDENTIFIER ::= { rc2k 8 }

rc2kQosQosTable OBJECT-TYPE
        SYNTAX        	SEQUENCE OF Rc2kQosQosEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"This table is used to define the Quality Of
			Service(QOS) profiles for the system.  The system 
			can support eight different QOS levels.  Each QOS
			level can be individually configured." 
        ::= { rc2kQos 1 }

rc2kQosQosEntry OBJECT-TYPE
        SYNTAX        	Rc2kQosQosEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"QOS profile entry."
        INDEX         	{ rc2kQosQosRow }
        ::= { rc2kQosQosTable 1 }

Rc2kQosQosEntry ::= SEQUENCE {
                rc2kQosQosRow INTEGER,
                rc2kQosQosLevel INTEGER,
                rc2kQosQosName DisplayString,
                rc2kQosQosAdminWeight INTEGER,
                rc2kQosQosOperWeight INTEGER,
                rc2kQosOctapidMode INTEGER,
                rc2kQosQosAdminThreshold INTEGER,
                rc2kQosQosOperThreshold INTEGER
        }

rc2kQosQosRow OBJECT-TYPE
        SYNTAX        INTEGER (1..8)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to uniquely identify a row in this table."
        ::= { rc2kQosQosEntry 1 }

rc2kQosQosLevel OBJECT-TYPE
        SYNTAX        INTEGER (0..7)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "QOS level"
        ::= { rc2kQosQosEntry 2 }

rc2kQosQosName OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE (0..20))
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Qos level name"
        ::= { rc2kQosQosEntry 3 }

rc2kQosQosAdminWeight OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Administrative transmit opportunity percentage"
        ::= { rc2kQosQosEntry 4 }

rc2kQosQosOperWeight OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Operational transmit opportunity percentage"
        ::= { rc2kQosQosEntry 5 }

rc2kQosOctapidMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          modeSingle(1),
                          mode100(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Octapid mode"
        ::= { rc2kQosQosEntry 6 }

rc2kQosQosAdminThreshold OBJECT-TYPE
        SYNTAX        INTEGER {
                          none(0),
                          oneEight(1),
                          oneQuarter(2),
                          threeEight(3),
                          halfSdram(4),
                          fiveEight(5),
                          threeQuarter(6),
                          sevenEights(7),
                          allSdram(8),
                          notpresent(9)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Administrative queue threshold"
        ::= { rc2kQosQosEntry 7 }

rc2kQosQosOperThreshold OBJECT-TYPE
        SYNTAX        INTEGER {
                          none(0),
                          oneEight(1),
                          oneQuarter(2),
                          threeEight(3),
                          halfSdram(4),
                          fiveEight(5),
                          threeQuarter(6),
                          sevenEights(7),
                          allSdram(8),
                          notpresent(9)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Operational queue threshold"
        ::= { rc2kQosQosEntry 8 }


-- 2k Qos Ingress Tag To Qos Table

rc2kQosIngressTagToQosTable OBJECT-TYPE
        SYNTAX        	SEQUENCE OF Rc2kQosIngressTagToQosEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"This table is used to specify the 802.1P
			to QOS (802.1P->QOS) mapping on packet 
			ingress."
        ::= { rc2kQos 2 }

rc2kQosIngressTagToQosEntry OBJECT-TYPE
        SYNTAX        	Rc2kQosIngressTagToQosEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"Entry containing infomation of 8021P->Qos mapping"
        INDEX         	{ rc2kQosIngressTagToQosRow }
        ::= { rc2kQosIngressTagToQosTable 1 }

Rc2kQosIngressTagToQosEntry ::= SEQUENCE {
                rc2kQosIngressTagToQosRow INTEGER,
                rc2kQosIngressTagToQosInIeee8021P INTEGER,
                rc2kQosIngressTagToQosQosLevel INTEGER
        }

rc2kQosIngressTagToQosRow OBJECT-TYPE
        SYNTAX        INTEGER (1..8)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to uniquely identify a row in this table."
        ::= { rc2kQosIngressTagToQosEntry 1 }

rc2kQosIngressTagToQosInIeee8021P OBJECT-TYPE
        SYNTAX        INTEGER (0..7)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "802.1P"
        ::= { rc2kQosIngressTagToQosEntry 2 }

rc2kQosIngressTagToQosQosLevel OBJECT-TYPE
        SYNTAX        INTEGER (0..7)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Qos level"
        ::= { rc2kQosIngressTagToQosEntry 3 }

-- 2k Ingress DsField To Qos Table

rc2kQosIngressDsFieldToQosTable OBJECT-TYPE
        SYNTAX        	SEQUENCE OF Rc2kQosIngressDsFieldToQosEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
	DESCRIPTION	"This table is used to specify the DSCP
			field to QOS (DsField->QOS) mapping on
			packet ingress."
        ::= { rc2kQos 3 }

rc2kQosIngressDsFieldToQosEntry OBJECT-TYPE
        SYNTAX        Rc2kQosIngressDsFieldToQosEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of DsField->Qos mapping"
        INDEX         { rc2kQosIngressDsFieldToQosRow }
        ::= { rc2kQosIngressDsFieldToQosTable 1 }

Rc2kQosIngressDsFieldToQosEntry ::= SEQUENCE {
                rc2kQosIngressDsFieldToQosRow INTEGER,
                rc2kQosIngressDsFieldToQosInDsField INTEGER,
                rc2kQosIngressDsFieldToQosQosLevel INTEGER
        }

rc2kQosIngressDsFieldToQosRow OBJECT-TYPE
        SYNTAX        INTEGER (1..64)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to uniquely identify a row in this table."
        ::= { rc2kQosIngressDsFieldToQosEntry 1 }

rc2kQosIngressDsFieldToQosInDsField OBJECT-TYPE
        SYNTAX        INTEGER (0..63)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "diffserv dscp"
        ::= { rc2kQosIngressDsFieldToQosEntry 2 }

rc2kQosIngressDsFieldToQosQosLevel OBJECT-TYPE
        SYNTAX        INTEGER (0..7)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "qos level"
        ::= { rc2kQosIngressDsFieldToQosEntry 3 }

-- 2k Egress Qos To Tag Table

rc2kQosEgressQosToTagTable OBJECT-TYPE
        SYNTAX        	SEQUENCE OF Rc2kQosEgressQosToTagEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION  	"This table is used to specify the QOS to
			802.1P (QOS->802.1P) mapping on packet
			egress."
        ::= { rc2kQos 4 }

rc2kQosEgressQosToTagEntry OBJECT-TYPE
        SYNTAX        Rc2kQosEgressQosToTagEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of Qos->Qos mapping"
        INDEX         { rc2kQosEgressQosToTagRow }
        ::= { rc2kQosEgressQosToTagTable 1 }

Rc2kQosEgressQosToTagEntry ::= SEQUENCE {
                rc2kQosEgressQosToTagRow INTEGER,
                rc2kQosEgressQosToTagQosLevel INTEGER,
                rc2kQosEgressQosToTagOutIeee8021P INTEGER
        }

rc2kQosEgressQosToTagRow OBJECT-TYPE
        SYNTAX        INTEGER (1..8)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to uniquely identify a row in this table."
        ::= { rc2kQosEgressQosToTagEntry 1 }

rc2kQosEgressQosToTagQosLevel OBJECT-TYPE
        SYNTAX        INTEGER (0..7)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "qos level"
        ::= { rc2kQosEgressQosToTagEntry 2 }

rc2kQosEgressQosToTagOutIeee8021P OBJECT-TYPE
        SYNTAX        INTEGER (0..7)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "802.1P"
        ::= { rc2kQosEgressQosToTagEntry 3 }

-- 2k Egress Qos To DsField Table

rc2kQosEgressQosToDsFieldTable OBJECT-TYPE
        SYNTAX        	SEQUENCE OF Rc2kQosEgressQosToDsFieldEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"This table is used to specify the QOS to
			DSCP field (QOS->DsField) mapping on packet
			egress."
        ::= { rc2kQos 5 }

rc2kQosEgressQosToDsFieldEntry OBJECT-TYPE
        SYNTAX        Rc2kQosEgressQosToDsFieldEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of Qos->Qos mapping"
        INDEX         { rc2kQosEgressQosToDsFieldRow }
        ::= { rc2kQosEgressQosToDsFieldTable 1 }

Rc2kQosEgressQosToDsFieldEntry ::= SEQUENCE {
                rc2kQosEgressQosToDsFieldRow INTEGER,
                rc2kQosEgressQosToDsFieldQosLevel INTEGER,
                rc2kQosEgressQosToDsFieldOutDsField INTEGER
        }

rc2kQosEgressQosToDsFieldRow OBJECT-TYPE
        SYNTAX        INTEGER (1..8)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to uniquely identify a row in this table."
        ::= { rc2kQosEgressQosToDsFieldEntry 1 }

rc2kQosEgressQosToDsFieldQosLevel OBJECT-TYPE
        SYNTAX        INTEGER (0..7)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "qos level"
        ::= { rc2kQosEgressQosToDsFieldEntry 2 }

rc2kQosEgressQosToDsFieldOutDsField OBJECT-TYPE
        SYNTAX        INTEGER (0..63)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "diffserv dscp"
        ::= { rc2kQosEgressQosToDsFieldEntry 3 }

-- 2k Traffic Profile Table

rc2kQosTrafficProfileTable OBJECT-TYPE
        SYNTAX        	SEQUENCE OF Rc2kQosTrafficProfileEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"This table is used to specify traffic profiles 
			for the system.  These traffic profiles are
			used for policying purposes to guarantee streams
			of traffic do not egress the system above a
			certain rate.  These traffic profiles are applied
			in the 'rcIpFilterTable'."
        ::= { rc2kQos 6 }

rc2kQosTrafficProfileEntry OBJECT-TYPE
        SYNTAX        Rc2kQosTrafficProfileEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of Qos->Qos mapping"
        INDEX         { rc2kQosTrafficProfileId }
        ::= { rc2kQosTrafficProfileTable 1 }

Rc2kQosTrafficProfileEntry ::= SEQUENCE {
                rc2kQosTrafficProfileId INTEGER,
                rc2kQosTrafficProfileName DisplayString,
                rc2kQosTrafficProfileEnable TruthValue,
                rc2kQosTrafficProfileTranslateDsFieldEnable TruthValue,
                rc2kQosTrafficProfileInProfileDsField INTEGER,
                rc2kQosTrafficProfileOutProfileDsField INTEGER,
                rc2kQosTrafficProfileDiscardEnable TruthValue,
                rc2kQosTrafficProfileAverageRate INTEGER,
                rc2kQosTrafficProfilePeakRate INTEGER,
                rc2kQosTrafficProfileRowStatus RowStatus
        }

rc2kQosTrafficProfileId OBJECT-TYPE
        SYNTAX        	INTEGER (1..64)
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Profile id"
        ::= { rc2kQosTrafficProfileEntry 1 }

rc2kQosTrafficProfileName OBJECT-TYPE
        SYNTAX        	DisplayString (SIZE (0..32))
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Profile name"
        ::= { rc2kQosTrafficProfileEntry 2 }

rc2kQosTrafficProfileEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Enable this entry"
	DEFVAL		{ true }
        ::= { rc2kQosTrafficProfileEntry 3 }

rc2kQosTrafficProfileTranslateDsFieldEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION    	"Used to specify whether translation of the DSCP
			field should be performed.  If enabled, the value 
			in the DSCP field for packets that fall within 
			the traffic profile will get translated to
			'rc2kQosTrafficProfileInProfileDsField'.  Packets
			that fall outside the traffic profile will get
			translated to 'rc2kQosTrafficProfileOutProfileDsField'.
			If disabled, no translation is performed." 
	DEFVAL		{ false }
        ::= { rc2kQosTrafficProfileEntry 4 }

rc2kQosTrafficProfileInProfileDsField OBJECT-TYPE
        SYNTAX        	INTEGER (0..64)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to specify the DSCP field value for 'good' 
			packets.  A '0' value means leave the DSCP field
			unchanged."
        ::= { rc2kQosTrafficProfileEntry 5 }

rc2kQosTrafficProfileOutProfileDsField OBJECT-TYPE
        SYNTAX        	INTEGER (0..64)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to specify the DSCP field value for 'violation' 
			packets.  A '0' value means leave the DSCP field
			unchanged."
        ::= { rc2kQosTrafficProfileEntry 6 }

rc2kQosTrafficProfileDiscardEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to specify whether packets that fall outside
			the traffic profile should be discarded."
	DEFVAL		{ true }
        ::= { rc2kQosTrafficProfileEntry 7 }

rc2kQosTrafficProfileAverageRate OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Average rate in packets per second."
        ::= { rc2kQosTrafficProfileEntry 8 }

rc2kQosTrafficProfilePeakRate OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Peak rate in packets per second."
        ::= { rc2kQosTrafficProfileEntry 9 }

rc2kQosTrafficProfileRowStatus OBJECT-TYPE
        SYNTAX        	RowStatus
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"Used to create/delete entries."
        ::= { rc2kQosTrafficProfileEntry 10 }


-- rc2kAtm Group

rc2kAtm		OBJECT IDENTIFIER ::= { rc2k 9 }

rc2kAtmGlobal	OBJECT IDENTIFIER ::= { rc2kAtm 1 }


-- Atm Port Table

rc2kAtmPortTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kAtmPortEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "ATM port table"
        ::= { rc2kAtm 2 }

rc2kAtmPortEntry OBJECT-TYPE
        SYNTAX        Rc2kAtmPortEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of ATM port"
        INDEX         { rc2kAtmPortIfIndex }
        ::= { rc2kAtmPortTable 1 }

Rc2kAtmPortEntry ::= SEQUENCE {
                rc2kAtmPortIfIndex InterfaceIndex,
                rc2kAtmPortSignalingEnable TruthValue,
                rc2kAtmPortUniVersion INTEGER,
                rc2kAtmPortNumVpiBits INTEGER,
                rc2kAtmPortNumVciBits INTEGER,
                rc2kAtmPortMediaType INTEGER,
                rc2kAtmPortScrambleEnable TruthValue,
                rc2kAtmPortMediaType INTEGER,
                rc2kAtmPortFramingMode INTEGER,
                rc2kAtmPortClockSource INTEGER,
                rc2kAtmPortLineSpeed INTEGER,
                rc2kAtmPortVpi INTEGER,
                rc2kAtmPortLoopBackMode INTEGER,
                rc2kAtmPortMacAddress MacAddress,
                rc2kAtmPortSignalingStatus INTEGER

        }

rc2kAtmPortIfIndex OBJECT-TYPE
        SYNTAX        	InterfaceIndex
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"port number"
        ::= { rc2kAtmPortEntry 1 }

rc2kAtmPortSignalingEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"enable signaling"
	DEFVAL	      	{ false }
        ::= { rc2kAtmPortEntry 2 }

rc2kAtmPortUniVersion OBJECT-TYPE
        SYNTAX        	INTEGER {
                          uni30(1),
                          uni31(2),   
                          uni40(3)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"uni version"
	DEFVAL		{ uni31 }
        ::= { rc2kAtmPortEntry 3 }

rc2kAtmPortNumVpiBits OBJECT-TYPE
        SYNTAX        	INTEGER (1..8)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"# of vpi bits"
	DEFVAL		{ 4 }
        ::= { rc2kAtmPortEntry 4 }
 
rc2kAtmPortNumVciBits OBJECT-TYPE
        SYNTAX        	INTEGER (1..16)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"# of vci bits"
	DEFVAL		{ 7 }
        ::= { rc2kAtmPortEntry 5 }

rc2kAtmPortMediaType OBJECT-TYPE
        SYNTAX        	INTEGER {
                          smf(1),	-- single mode fiber
                          mmf(2),	-- mixed mode fiber
                          copper(3)	-- copper
                      	}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"media type"
        ::= { rc2kAtmPortEntry 6 }
 
rc2kAtmPortScrambleEnable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"enable scramble"
	DEFVAL		{ false }
        ::= { rc2kAtmPortEntry 7 }
 
rc2kAtmPortFramingMode OBJECT-TYPE
        SYNTAX        	INTEGER {
                          sonet(1),
                          sdh(2),
                          g751(3),
                          g832(4),
                          cbit(5),
                          cbitnofallback(6),
                          clearchannel(7)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"port framing mode"
	DEFVAL		{ sonet }
        ::= { rc2kAtmPortEntry 8 }
 
rc2kAtmPortClockSource OBJECT-TYPE
        SYNTAX        	INTEGER {
                          other(0),
                          loopTimed(1),
                          freeRunning(2)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"clock source"
        ::= { rc2kAtmPortEntry 9 }
 
rc2kAtmPortLineSpeed OBJECT-TYPE
        SYNTAX        	INTEGER {
                          other(0),
                          oc3c(1),
                          oc12c(2),
                          ds3(3),
                          e3(4)
                      	}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"line speed"
        ::= { rc2kAtmPortEntry 10 }
 
rc2kAtmPortVpi OBJECT-TYPE
        SYNTAX        	INTEGER (0..255)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"non-zero VC signaling"
        ::= { rc2kAtmPortEntry 11 }
 
rc2kAtmPortLoopBackMode OBJECT-TYPE
        SYNTAX        	INTEGER { 
                          none(0),
                          off(1),
                          internal(2),
                          external(3)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"loop back mode"
	DEFVAL		{ off }
        ::= { rc2kAtmPortEntry 12 }
 
rc2kAtmPortMacAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "XLR assigned MAC addr"
        ::= { rc2kAtmPortEntry 13 }

rc2kAtmPortSignalingStatus OBJECT-TYPE
        SYNTAX        INTEGER { 
                          none(0),
                          up(1),
                          down(2)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "signaling status"
        ::= { rc2kAtmPortEntry 14 }

-- Atm Pvc Table

rc2kAtmPvcTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kAtmPvcEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "ATM Pvc table"
        ::= { rc2kAtm 3 }

rc2kAtmPvcEntry OBJECT-TYPE
        SYNTAX        Rc2kAtmPvcEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of ATM Pvc"
        INDEX         { rc2kAtmPvcIfIndex, rc2kAtmPvcVpi, rc2kAtmPvcVci }
        ::= { rc2kAtmPvcTable 1 }

Rc2kAtmPvcEntry ::= SEQUENCE {
                rc2kAtmPvcIfIndex InterfaceIndex,
                rc2kAtmPvcVpi INTEGER,
                rc2kAtmPvcVci INTEGER,
                rc2kAtmPvcPvcId INTEGER,
                rc2kAtmPvcName DisplayString,
                rc2kAtmPvcEncapsulation INTEGER,
                rc2kAtmPvcServiceType INTEGER,
                rc2kAtmPvcPeakCellRate INTEGER,
                rc2kAtmPvcSustainedCellRate INTEGER,
                rc2kAtmPvcMaxBurstSize INTEGER,
                rc2kAtmPvcRowStatus RowStatus,
                rc2kAtmPvcMaxMtuSize INTEGER,
                rc2kAtmPvcF5Enable TruthValue,
                rc2kAtmPvcF5Status INTEGER
        }

rc2kAtmPvcIfIndex OBJECT-TYPE
        SYNTAX        	InterfaceIndex
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"port number"
        ::= { rc2kAtmPvcEntry 1 }

rc2kAtmPvcVpi OBJECT-TYPE
        SYNTAX        	INTEGER (0..255)
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"vpi of this pvc"
        ::= { rc2kAtmPvcEntry 2 }

rc2kAtmPvcVci OBJECT-TYPE
        SYNTAX        	INTEGER (0..65535)
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"vci of this pvc"
        ::= { rc2kAtmPvcEntry 3 }

rc2kAtmPvcPvcId OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"internal pvc id"
        ::= { rc2kAtmPvcEntry 4 }

rc2kAtmPvcName OBJECT-TYPE
        SYNTAX        	DisplayString
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"name of pvc"
        ::= { rc2kAtmPvcEntry 5 }
 
rc2kAtmPvcEncapsulation OBJECT-TYPE
        SYNTAX        	INTEGER {
                          null(1),
                          llcSnap(2)
                      	}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"encapsulation"
	DEFVAL		{ llcSnap }
        ::= { rc2kAtmPvcEntry 6 }
 
rc2kAtmPvcServiceType OBJECT-TYPE
        SYNTAX        	INTEGER {
                          ubr(1),
                          vbr(2),
                          cbr(3)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"service type"
  	DEFVAL		{ ubr }
        ::= { rc2kAtmPvcEntry 7 }
 
rc2kAtmPvcPeakCellRate OBJECT-TYPE
        SYNTAX        	INTEGER (0..1000000)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"peak cell rate in frames per second"
	DEFVAL		{ 1000000 }
        ::= { rc2kAtmPvcEntry 8 }
 
rc2kAtmPvcSustainedCellRate OBJECT-TYPE
        SYNTAX        	INTEGER (0..1000000)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"sustained cell rate in frames per second"
	DEFVAL		{ 1000000 }
        ::= { rc2kAtmPvcEntry 9 }

rc2kAtmPvcMaxBurstSize OBJECT-TYPE
        SYNTAX        	INTEGER (2..255)
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"max burst size"
	DEFVAL		{ 255 }
        ::= { rc2kAtmPvcEntry 10 }
 
rc2kAtmPvcRowStatus OBJECT-TYPE
        SYNTAX        	RowStatus
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"row status"
        ::= { rc2kAtmPvcEntry 11 }

rc2kAtmPvcMaxMtuSize OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"maximum MTU size"
        ::= { rc2kAtmPvcEntry 12 }

rc2kAtmPvcF5Enable OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"enable F5 OAM on this PVC"
        ::= { rc2kAtmPvcEntry 13 }
 
rc2kAtmPvcF5Status OBJECT-TYPE
        SYNTAX        	INTEGER {
                          off(1),
                          pass(2),
                          fail(3)
                      	}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"F5 OAM status"
        ::= { rc2kAtmPvcEntry 14 }
 
 
-- Atm LecElan Table

rc2kAtmLecElanTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kAtmLecElanEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "ATM LecElan table"
        ::= { rc2kAtm 4 }

rc2kAtmLecElanEntry OBJECT-TYPE
        SYNTAX        Rc2kAtmLecElanEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of ATM LecElan"
        INDEX         { rc2kAtmLecElanIfIndex, rc2kAtmLecElanElanId }
        ::= { rc2kAtmLecElanTable 1 }

Rc2kAtmLecElanEntry ::= SEQUENCE {
                rc2kAtmLecElanIfIndex InterfaceIndex,
                rc2kAtmLecElanElanId INTEGER,
                rc2kAtmLecElanElanToJoin DisplayString,
                rc2kAtmLecElanName DisplayString,
                rc2kAtmLecElanVlanId INTEGER,
                rc2kAtmLecElanConfigMode INTEGER,
                rc2kAtmLecElanConfigLecs AtmAddr,
                rc2kAtmLecElanConfigLes AtmAddr,
                rc2kAtmLecElanActiveLecs AtmAddr,
                rc2kAtmLecElanActiveLes AtmAddr,
                rc2kAtmLecElanRowStatus RowStatus,
                rc2kAtmLecElanMaxMtuSize INTEGER,
                rc2kAtmLecElanStatus INTEGER

        }

rc2kAtmLecElanIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "port number"
        ::= { rc2kAtmLecElanEntry 1 }

rc2kAtmLecElanElanId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Elan Id"
        ::= { rc2kAtmLecElanEntry 2 }

rc2kAtmLecElanElanToJoin OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "name of elan to join"
        ::= { rc2kAtmLecElanEntry 3 }

rc2kAtmLecElanName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "name of lec"
        ::= { rc2kAtmLecElanEntry 4 }

rc2kAtmLecElanVlanId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "vlan tag for this lec"
        ::= { rc2kAtmLecElanEntry 5 }
 
rc2kAtmLecElanConfigMode OBJECT-TYPE
        SYNTAX        	INTEGER {
                          manual(1),
                          atm(2),
                          ilmi(3)
                      	}
        ACCESS        	read-write
        STATUS        	mandatory
        DESCRIPTION   	"ELAN configuration mode"
	DEFVAL		{ atm }
        ::= { rc2kAtmLecElanEntry 6 }
 
rc2kAtmLecElanConfigLecs OBJECT-TYPE
        SYNTAX        AtmAddr
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "addr of lecs"
        ::= { rc2kAtmLecElanEntry 7 }

rc2kAtmLecElanConfigLes OBJECT-TYPE
        SYNTAX        AtmAddr
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "addr of les"
        ::= { rc2kAtmLecElanEntry 8 }
 
rc2kAtmLecElanActiveLecs OBJECT-TYPE
        SYNTAX        AtmAddr
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "addr of lecs"
        ::= { rc2kAtmLecElanEntry 9 }
 
rc2kAtmLecElanActiveLes OBJECT-TYPE
        SYNTAX        AtmAddr
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "addr of les"
        ::= { rc2kAtmLecElanEntry 10 }
 
rc2kAtmLecElanRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rc2kAtmLecElanEntry 11 }
 
rc2kAtmLecElanMaxMtuSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "maximum MTU size"
        ::= { rc2kAtmLecElanEntry 12 }
 
rc2kAtmLecElanStatus OBJECT-TYPE
        SYNTAX        INTEGER {
                          none(0),
                          initial-state(1),
                          lecs-connect(2),
                          configure(3),
                          join(4),
                          initial-registration(5),
                          bus-connect(6),
                          operational(7)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "status"
        ::= { rc2kAtmLecElanEntry 13 }


-- Atm 1483Elan Table

rc2kAtm1483ElanTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kAtm1483ElanEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "ATM 1483Elan table"
        ::= { rc2kAtm 5 }

rc2kAtm1483ElanEntry OBJECT-TYPE
        SYNTAX        Rc2kAtm1483ElanEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of ATM 1483Elan"
        INDEX         { rc2kAtm1483ElanIfIndex, rc2kAtm1483ElanElanId }
        ::= { rc2kAtm1483ElanTable 1 }

Rc2kAtm1483ElanEntry ::= SEQUENCE {
                rc2kAtm1483ElanIfIndex InterfaceIndex,
                rc2kAtm1483ElanElanId INTEGER,
                rc2kAtm1483ElanNumPvcIds INTEGER,
                rc2kAtm1483ElanPvcIds IdList,
                rc2kAtm1483ElanNumVlanIds INTEGER,
                rc2kAtm1483ElanVlanIds IdList,
                rc2kAtm1483ElanRowStatus RowStatus,
                rc2kAtm1483ElanConnectType INTEGER,
                rc2kAtm1483ElanVlanMacAddress MacAddress,
                rc2kAtm1483ElanDummyMacAddress MacAddress,
                rc2kAtm1483ElanLocalIpAddress IpAddress,
                rc2kAtm1483ElanRemoteIpAddress IpAddress,
                rc2kAtm1483ElanInArpSendEnable TruthValue,
                rc2kAtm1483ElanInArpSendInterval INTEGER,
                rc2kAtm1483ElanIpxVlanEncapMethod INTEGER,
                rc2kAtm1483ElanIpxNetworkNum INTEGER
        }

rc2kAtm1483ElanIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "port number"
        ::= { rc2kAtm1483ElanEntry 1 }

rc2kAtm1483ElanElanId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Elan Id"
        ::= { rc2kAtm1483ElanEntry 2 }

rc2kAtm1483ElanNumPvcIds OBJECT-TYPE
        SYNTAX        INTEGER (0..64)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "# pvc-ids in list"
        ::= { rc2kAtm1483ElanEntry 3 }
 
rc2kAtm1483ElanPvcIds OBJECT-TYPE
        SYNTAX        IdList (SIZE (256))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "list of pvc-ids. each pvc-id is represented by a
		      32 bit value  this field can contain a maximum of
		      64 pvc-ids."
        ::= { rc2kAtm1483ElanEntry 4 }
 
rc2kAtm1483ElanNumVlanIds OBJECT-TYPE
        SYNTAX        INTEGER (0..128)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "# of vlan-ids in list"
        ::= { rc2kAtm1483ElanEntry 5 }
 
rc2kAtm1483ElanVlanIds OBJECT-TYPE
        SYNTAX        IdList (SIZE (256))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "list of vlan-ids. each vlan-id is represented by a
		      16 bit value.  this field can contain a maximum of
		      128 vlan-ids."
        ::= { rc2kAtm1483ElanEntry 6 }
 
rc2kAtm1483ElanRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rc2kAtm1483ElanEntry 7 }
 
rc2kAtm1483ElanConnectType OBJECT-TYPE
        SYNTAX        INTEGER {
                          other(0),
                          ether(1),
                          trunk(2),
                          ip(3),
                          ipx(4)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "connection type"
        ::= { rc2kAtm1483ElanEntry 8 }
 
rc2kAtm1483ElanVlanMacAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "mac for vlan"
        ::= { rc2kAtm1483ElanEntry 9 }
 
rc2kAtm1483ElanDummyMacAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "dummy mac for the other router"
        ::= { rc2kAtm1483ElanEntry 10 }
 
rc2kAtm1483ElanLocalIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "local ip, if ConnectType is ip(2)"
        ::= { rc2kAtm1483ElanEntry 11 }
 
rc2kAtm1483ElanRemoteIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "remote ip, if ConnectType is ip(2)"
        ::= { rc2kAtm1483ElanEntry 12 }
 
rc2kAtm1483ElanInArpSendEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "enable arp sending on the port"
	DEFVAL	      { false }
        ::= { rc2kAtm1483ElanEntry 13 }
 
rc2kAtm1483ElanInArpSendInterval OBJECT-TYPE
        SYNTAX        INTEGER (1..60)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "interval of arp sending on the port"
        ::= { rc2kAtm1483ElanEntry 14 }

rc2kAtm1483ElanIpxVlanEncapMethod OBJECT-TYPE
        SYNTAX        INTEGER {
                          other(0),
                          llc(1),
                          snap(2),
                          ether-ii(3),
                          raw(4)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "vlan encapsulation method"
        ::= { rc2kAtm1483ElanEntry 15 }
 
rc2kAtm1483ElanIpxNetworkNum OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "network number, if ConnectType is ipx(3)"
        ::= { rc2kAtm1483ElanEntry 16 }


-- Atm PvcStat Table

rc2kAtmPvcStatTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kAtmPvcStatEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "ATM PvcStat table"
        ::= { rc2kAtm 6 }

rc2kAtmPvcStatEntry OBJECT-TYPE
        SYNTAX        Rc2kAtmPvcStatEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of ATM PvcStat"
        INDEX         { rc2kAtmPvcStatIfIndex, rc2kAtmPvcStatVpi, rc2kAtmPvcStatVci }
        ::= { rc2kAtmPvcStatTable 1 }

Rc2kAtmPvcStatEntry ::= SEQUENCE {
                rc2kAtmPvcStatIfIndex InterfaceIndex,
                rc2kAtmPvcStatVpi INTEGER,
                rc2kAtmPvcStatVci INTEGER,
                rc2kAtmPvcStatInCell Counter64,
                rc2kAtmPvcStatOutCell Counter64,
                rc2kAtmPvcStatInMultiCell Counter64,
                rc2kAtmPvcStatOutMultiCell Counter64
        }

rc2kAtmPvcStatIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "port number"
        ::= { rc2kAtmPvcStatEntry 1 }

rc2kAtmPvcStatVpi OBJECT-TYPE
        SYNTAX        INTEGER (1..256)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "vpi of this pvc"
        ::= { rc2kAtmPvcStatEntry 2 }

rc2kAtmPvcStatVci OBJECT-TYPE
        SYNTAX        INTEGER (1..64000)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "vci of this pvc"
        ::= { rc2kAtmPvcStatEntry 3 }

rc2kAtmPvcStatInCell OBJECT-TYPE
        SYNTAX        Counter64
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "# in cells"
        ::= { rc2kAtmPvcStatEntry 4 }

rc2kAtmPvcStatOutCell OBJECT-TYPE
        SYNTAX        Counter64
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "# out cells"
        ::= { rc2kAtmPvcStatEntry 5 }

rc2kAtmPvcStatInMultiCell OBJECT-TYPE
        SYNTAX        Counter64
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "# in multicast cells"
        ::= { rc2kAtmPvcStatEntry 6 }
 
rc2kAtmPvcStatOutMultiCell OBJECT-TYPE
        SYNTAX        Counter64
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "# out multicast cells"
        ::= { rc2kAtmPvcStatEntry 7 }
 
-- Atm Svc Table

rc2kAtmSvcTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kAtmSvcEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "ATM Svc table"
        ::= { rc2kAtm 7 }

rc2kAtmSvcEntry OBJECT-TYPE
        SYNTAX        Rc2kAtmSvcEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of ATM Svc"
        INDEX         { rc2kAtmSvcIfIndex, rc2kAtmSvcOwnerType, 
			rc2kAtmSvcOwnerId, rc2kAtmSvcSvcIndex }
        ::= { rc2kAtmSvcTable 1 }

Rc2kAtmSvcEntry ::= SEQUENCE {
                rc2kAtmSvcIfIndex InterfaceIndex,
                rc2kAtmSvcOwnerType INTEGER,
                rc2kAtmSvcOwnerId INTEGER,
                rc2kAtmSvcSvcIndex INTEGER,
                rc2kAtmSvcVpi INTEGER,
                rc2kAtmSvcVci INTEGER,
                rc2kAtmSvcName DisplayString,
                rc2kAtmSvcCallerId AtmAddr
        }

rc2kAtmSvcIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "port number"
        ::= { rc2kAtmSvcEntry 1 }

rc2kAtmSvcOwnerType OBJECT-TYPE
        SYNTAX        INTEGER {
                          other(0),
                          sig(1),
                          ilmi(2),
                          lec(3)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "owner type of this svc"
        ::= { rc2kAtmSvcEntry 2 }

rc2kAtmSvcOwnerId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "owner id of this svc"
        ::= { rc2kAtmSvcEntry 3 }

rc2kAtmSvcSvcIndex OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "svc index of this svc"
        ::= { rc2kAtmSvcEntry 4 }

rc2kAtmSvcVpi OBJECT-TYPE
        SYNTAX        INTEGER (0..255)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "vpi of this svc"  
        ::= { rc2kAtmSvcEntry 5 }
 
rc2kAtmSvcVci OBJECT-TYPE
        SYNTAX        INTEGER (0..65535) 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "vci of this svc"  
        ::= { rc2kAtmSvcEntry 6 }

rc2kAtmSvcName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "name of this svc"
        ::= { rc2kAtmSvcEntry 7 }

rc2kAtmSvcCallerId OBJECT-TYPE
        SYNTAX        AtmAddr
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "addr of other end of SVC"
        ::= { rc2kAtmSvcEntry 8 }

 
-- 2k Mda

rc2kMdaCardTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kMdaCardEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Mda card table"
        ::= { rc2k 10 }

rc2kMdaCardEntry OBJECT-TYPE
        SYNTAX        Rc2kMdaCardEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of Mda card"
        INDEX         { rc2kMdaCardSlotNum, rc2kMdaCardMdaNum }
        ::= { rc2kMdaCardTable 1 }

Rc2kMdaCardEntry ::= SEQUENCE {
                rc2kMdaCardSlotNum INTEGER,
                rc2kMdaCardMdaNum INTEGER,
                rc2kMdaCardType INTEGER,
                rc2kMdaCardDescription DisplayString,
                rc2kMdaCardAdminStatus INTEGER,
                rc2kMdaCardOperStatus INTEGER,
                rc2kMdaCardSerialNum DisplayString,
                rc2kMdaCardHwVersion DisplayString,
                rc2kMdaCardPartNumber DisplayString,
                rc2kMdaCardDateCode DisplayString,
                rc2kMdaCardDeviations DisplayString,
                rc2kMdaCardMacAddr MacAddress,
                rc2kMdaCardNumPorts INTEGER,
                rc2kMdaCardFirstIfIndex InterfaceIndex,
                rc2kMdaCardLastIfIndex InterfaceIndex
        }

rc2kMdaCardSlotNum OBJECT-TYPE
        SYNTAX        INTEGER (1..10)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Slot number"
        ::= { rc2kMdaCardEntry 1 }

rc2kMdaCardMdaNum OBJECT-TYPE
        SYNTAX        	INTEGER (1..4)
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"MDA number within slot.  MDAs are numbered
			from left to right."
        ::= { rc2kMdaCardEntry 2 }

rc2kMdaCardType OBJECT-TYPE
        SYNTAX        	INTEGER 
			{
        other(1),                        -- no card installed
	rc2k4x100BaseTX(807469572),	 -- 0011 0000 0010 0001 0000 0010 0000 0100
	rc2k2x100BaseFX(808518146),	 -- 0011 0000 0011 0001 0000 0010 0000 0010 
	rc2k4x100BaseFX(808518148),	 -- 0011 0000 0011 0001 0000 0010 0000 0100
	rc2k1x1000BaseSXBB(808583681),	 -- 0011 0000 0011 0010 0000 0010 0000 0001	
	rc2k1x1000BaseSXRBB(808616449),	 -- 0011 0000 0011 0010 1000 0010 0000 0001 
	rc2k1x1000BaseLXBB(808591873),	 -- 0011 0000 0011 0010 0010 0010 0000 0001
	rc2k1x1000BaseLXRBB(808624641),  -- 0011 0000 0011 0010 1010 0010 0000 0001
        rc2k4xOc3cBaseSM(542380548),	 -- 0010 0000 0101 0100 0001 0010 0000 0100
        rc2k4xOc3cBaseMM(542376452),	 -- 0010 0000 0101 0100 0000 0010 0000 0100
        rc2k4xOc3cBaseCOPPER(542388740), -- 0010 0000 0101 0100 0011 0010 0000 0100
        rc2k1x0c12cBaseSM(542446081),	 -- 0010 0000 0101 0101 0001 0010 0000 0001
        rc2k1x0c12cBaseMM(542441985),	 -- 0010 0000 0101 0101 0000 0010 0000 0001
        rc2k2xDs3(542970370),		 -- 0010 0000 0101 1101 0001 0010 0000 0010
        rc2k2xE3(542839298),		 -- 0010 0000 0101 1011 0001 0010 0000 0010
        rc2k2xOc3PosBaseMMF(541327874),	 -- 0010 0000 0100 0100 0000 0010 0000 0010
        rc2k2xOc3PosBaseSMF(541331970),	 -- 0010 0000 0100 0100 0001 0010 0000 0010
        rc2k1xOc12PosBaseMMF(541393409), -- 0010 0000 0100 0101 0000 0010 0000 0001
        rc2k1xOc12PosBaseSMF(541397505)	 -- 0010 0000 0100 0101 0001 0010 0000 0001

			}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Refer to rc2kCardFrontType for the encoding scheme"
        ::= { rc2kMdaCardEntry 3 }

rc2kMdaCardDescription OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "description of mda card"
        ::= { rc2kMdaCardEntry 4 }
 
rc2kMdaCardAdminStatus OBJECT-TYPE
        SYNTAX        INTEGER {
                            up(0),
                            down(1),
                            testing(2),
                            unknown(3)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "administration status of mda card"
        ::= { rc2kMdaCardEntry 5 }

rc2kMdaCardOperStatus OBJECT-TYPE
        SYNTAX        INTEGER {
                            up(0),
                            down(1),
                            testing(2),
                            unknown(3)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "operation status of mda card."
        ::= { rc2kMdaCardEntry 6 }

rc2kMdaCardSerialNum OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "serial number of mad card"
        ::= { rc2kMdaCardEntry 7 }
 
rc2kMdaCardHwVersion OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "hardware version of mda card"
        ::= { rc2kMdaCardEntry 8 }
 
rc2kMdaCardPartNumber OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "part number of mda card"
        ::= { rc2kMdaCardEntry 9 }
 
rc2kMdaCardDateCode OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "date code of mda card"
        ::= { rc2kMdaCardEntry 10 }
 
rc2kMdaCardDeviations OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "hardware deviation infomation of mda card"
        ::= { rc2kMdaCardEntry 11 }
 
rc2kMdaCardMacAddr OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "base mac address of mda card"
        ::= { rc2kMdaCardEntry 12 }

rc2kMdaCardNumPorts OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "number of ports on mda card"
        ::= { rc2kMdaCardEntry 13 }

rc2kMdaCardFirstIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "first ifindex number on mda card"
        ::= { rc2kMdaCardEntry 14 }

rc2kMdaCardLastIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "last ifindex number on mda card"
        ::= { rc2kMdaCardEntry 15 }


END

