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
    DESCRIPTION " "
    ::= { 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
                    INTEGER
               }

          pppLinkConfigInitialMRU   OBJECT-TYPE
               SYNTAX    INTEGER(0..2147483647)
               ACCESS    read-write
               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
               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
               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)}
               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    { false }
               ::= { pppLinkConfigEntry 4 }


          pppLinkConfigFcsSize   OBJECT-TYPE
               SYNTAX    INTEGER (0..128)
               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    { 16 }
               ::= { 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
                    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
               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
                    INTEGER,
               pppLqrConfigStatus
                    INTEGER
          }

          pppLqrConfigPeriod   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)}
               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
                    INTEGER,
               pppIpConfigCompression
                    INTEGER
          }

          pppIpConfigAdminStatus   OBJECT-TYPE
               SYNTAX    INTEGER {open(1), close(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
               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
                    INTEGER,
               pppBridgeConfigTinygram
                    INTEGER,
               pppBridgeConfigRingId
                    INTEGER,
               pppBridgeConfigLineId
                    INTEGER,
               pppBridgeConfigLanId
                    INTEGER
          }


          pppBridgeConfigAdminStatus   OBJECT-TYPE
               SYNTAX    INTEGER { open(1), close(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
               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
               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
               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
               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
              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..4000))
        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),
                    passive (99) 
                  }
        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
   SNMP-FRAMEWORK-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY, OBJECT-TYPE,
       OBJECT-IDENTITY,
       snmpModules                           FROM SNMPv2-SMI
       TEXTUAL-CONVENTION                    FROM SNMPv2-TC
       MODULE-COMPLIANCE, OBJECT-GROUP       FROM SNMPv2-CONF;

   snmpFrameworkMIB MODULE-IDENTITY
       LAST-UPDATED "9901190000Z"            -- 19 January 1999
       ORGANIZATION "SNMPv3 Working Group"
       CONTACT-INFO "WG-EMail:   snmpv3@tis.com
                     Subscribe:  majordomo@tis.com
                                 In message body:  subscribe snmpv3

                     Chair:      Russ Mundy
                                 TIS Labs at Network Associates
                     postal:     3060 Washington Rd
                                 Glenwood MD 21738
                                 USA
                     EMail:      mundy@tis.com
                     phone:      +1 301-854-6889

                     Co-editor   Dave Harrington
                                 Cabletron Systems, Inc.
                     postal:     Post Office Box 5005
                                 Mail Stop: Durham
                                 35 Industrial Way
                                 Rochester, NH 03867-5005
                                 USA
                     EMail:      dbh@ctron.com
                     phone:      +1 603-337-7357

                     Co-editor   Randy Presuhn
                                 BMC Software, Inc.
                     postal:     965 Stewart Drive
                                 Sunnyvale, CA 94086
                                 USA
                     EMail:      randy_presuhn@bmc.com
                     phone:      +1 408-616-3100

                     Co-editor:  Bert Wijnen
                                 IBM T.J. Watson Research
                     postal:     Schagen 33
                                 3461 GL Linschoten
                                 Netherlands
                     EMail:      wijnen@vnet.ibm.com
                     phone:      +31 348-432-794
                    "
       DESCRIPTION  "The SNMP Management Architecture MIB"
   -- Revision History

       REVISION     "9901190000Z"            -- 19 January 1999
       DESCRIPTION  "Updated editors' addresses, fixed typos.
                     Published as RFC2571.
                    "
       REVISION     "9711200000Z"            -- 20 November 1997
       DESCRIPTION  "The initial version, published in RFC 2271.
                    "
       ::= { snmpModules 10 }

   -- Textual Conventions used in the SNMP Management Architecture ***

   SnmpEngineID ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION "An SNMP engine's administratively-unique identifier.
                    Objects of this type are for identification, not for
                    addressing, even though it is possible that an
                    address may have been used in the generation of
                    a specific value.

                    The value for this object may not be all zeros or
                    all 'ff'H or the empty (zero length) string.

                    The initial value for this object may be configured
                    via an operator console entry or via an algorithmic
                    function.  In the latter case, the following
                    example algorithm is recommended.

                    In cases where there are multiple engines on the
                    same system, the use of this algorithm is NOT
                    appropriate, as it would result in all of those
                    engines ending up with the same ID value.

                    1) The very first bit is used to indicate how the
                       rest of the data is composed.

                       0 - as defined by enterprise using former methods
                           that existed before SNMPv3. See item 2 below.

                       1 - as defined by this architecture, see item 3
                           below.

                       Note that this allows existing uses of the
                       engineID (also known as AgentID [RFC1910]) to
                       co-exist with any new uses.

                    2) The snmpEngineID has a length of 12 octets.

                       The first four octets are set to the binary
                       equivalent of the agent's SNMP management
                       private enterprise number as assigned by the
                       Internet Assigned Numbers Authority (IANA).
                       For example, if Acme Networks has been assigned
                       { enterprises 696 }, the first four octets would
                       be assigned '000002b8'H.

                       The remaining eight octets are determined via
                       one or more enterprise-specific methods. Such
                       methods must be designed so as to maximize the
                       possibility that the value of this object will
                       be unique in the agent's administrative domain.
                       For example, it may be the IP address of the SNMP
                       entity, or the MAC address of one of the
                       interfaces, with each address suitably padded
                       with random octets.  If multiple methods are
                       defined, then it is recommended that the first
                       octet indicate the method being used and the
                       remaining octets be a function of the method.

                    3) The length of the octet strings varies.

                       The first four octets are set to the binary
                       equivalent of the agent's SNMP management
                       private enterprise number as assigned by the
                       Internet Assigned Numbers Authority (IANA).
                       For example, if Acme Networks has been assigned
                       { enterprises 696 }, the first four octets would
                       be assigned '000002b8'H.

                       The very first bit is set to 1. For example, the
                       above value for Acme Networks now changes to be
                       '800002b8'H.

                       The fifth octet indicates how the rest (6th and
                       following octets) are formatted. The values for
                       the fifth octet are:

                         0     - reserved, unused.

                         1     - IPv4 address (4 octets)
                                 lowest non-special IP address

                         2     - IPv6 address (16 octets)
                                 lowest non-special IP address

                         3     - MAC address (6 octets)
                                 lowest IEEE MAC address, canonical
                                 order

                         4     - Text, administratively assigned
                                 Maximum remaining length 27

                         5     - Octets, administratively assigned
                                 Maximum remaining length 27

                         6-127 - reserved, unused

                       127-255 - as defined by the enterprise
                                 Maximum remaining length 27
                   "
       SYNTAX       OCTET STRING (SIZE(5..32))

   SnmpSecurityModel ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION "An identifier that uniquely identifies a
                    securityModel of the Security Subsystem within the
                    SNMP Management Architecture.

                    The values for securityModel are allocated as
                    follows:

                    - The zero value is reserved.
                    - Values between 1 and 255, inclusive, are reserved
                      for standards-track Security Models and are
                      managed by the Internet Assigned Numbers Authority
                      (IANA).
                    - Values greater than 255 are allocated to
                      enterprise-specific Security Models.  An
                      enterprise-specific securityModel value is defined
                      to be:

                      enterpriseID * 256 + security model within
                      enterprise

                      For example, the fourth Security Model defined by
                      the enterprise whose enterpriseID is 1 would be
                      260.

                    This scheme for allocation of securityModel
                    values allows for a maximum of 255 standards-
                    based Security Models, and for a maximum of
                    255 Security Models per enterprise.

                    It is believed that the assignment of new
                    securityModel values will be rare in practice
                    because the larger the number of simultaneously
                    utilized Security Models, the larger the
                    chance that interoperability will suffer.
                    Consequently, it is believed that such a range
                    will be sufficient.  In the unlikely event that
                    the standards committee finds this number to be
                    insufficient over time, an enterprise number
                    can be allocated to obtain an additional 255
                    possible values.

                    Note that the most significant bit must be zero;
                    hence, there are 23 bits allocated for various
                    organizations to design and define non-standard
                    securityModels.  This limits the ability to
                    define new proprietary implementations of Security
                    Models to the first 8,388,608 enterprises.

                    It is worthwhile to note that, in its encoded
                    form, the securityModel value will normally
                    require only a single byte since, in practice,
                    the leftmost bits will be zero for most messages
                    and sign extension is suppressed by the encoding
                    rules.

                    As of this writing, there are several values
                    of securityModel defined for use with SNMP or
                    reserved for use with supporting MIB objects.
                    They are as follows:

                        0  reserved for 'any'
                        1  reserved for SNMPv1
                        2  reserved for SNMPv2c
                        3  User-Based Security Model (USM)
                   "
       SYNTAX       INTEGER(0 .. 2147483647)

   SnmpMessageProcessingModel ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION "An identifier that uniquely identifies a Message
                    Processing Model of the Message Processing
                    Subsystem within a SNMP Management Architecture.

                    The values for messageProcessingModel are
                    allocated as follows:

                    - Values between 0 and 255, inclusive, are
                      reserved for standards-track Message Processing
                      Models and are managed by the Internet Assigned
                      Numbers Authority (IANA).

                    - Values greater than 255 are allocated to
                      enterprise-specific Message Processing Models.
                      An enterprise messageProcessingModel value is
                      defined to be:

                      enterpriseID * 256 +
                           messageProcessingModel within enterprise

                      For example, the fourth Message Processing Model
                      defined by the enterprise whose enterpriseID
                      is 1 would be 260.

                    This scheme for allocating messageProcessingModel
                    values allows for a maximum of 255 standards-
                    based Message Processing Models, and for a
                    maximum of 255 Message Processing Models per
                    enterprise.

                    It is believed that the assignment of new
                    messageProcessingModel values will be rare
                    in practice because the larger the number of
                    simultaneously utilized Message Processing Models,
                    the larger the chance that interoperability
                    will suffer. It is believed that such a range
                    will be sufficient.  In the unlikely event that
                    the standards committee finds this number to be
                    insufficient over time, an enterprise number
                    can be allocated to obtain an additional 256
                    possible values.

                    Note that the most significant bit must be zero;
                    hence, there are 23 bits allocated for various
                    organizations to design and define non-standard
                    messageProcessingModels.  This limits the ability
                    to define new proprietary implementations of
                    Message Processing Models to the first 8,388,608
                    enterprises.

                    It is worthwhile to note that, in its encoded
                    form, the messageProcessingModel value will
                    normally require only a single byte since, in
                    practice, the leftmost bits will be zero for
                    most messages and sign extension is suppressed
                    by the encoding rules.

                    As of this writing, there are several values of
                    messageProcessingModel defined for use with SNMP.
                    They are as follows:

                        0  reserved for SNMPv1
                        1  reserved for SNMPv2c
                        2  reserved for SNMPv2u and SNMPv2*
                        3  reserved for SNMPv3
                   "
       SYNTAX       INTEGER(0 .. 2147483647)

   SnmpSecurityLevel ::= TEXTUAL-CONVENTION
       STATUS       current
       DESCRIPTION "A Level of Security at which SNMP messages can be
                    sent or with which operations are being processed;
                    in particular, one of:

                      noAuthNoPriv - without authentication and
                                     without privacy,
                      authNoPriv   - with authentication but
                                     without privacy,
                      authPriv     - with authentication and
                                     with privacy.

                    These three values are ordered such that
                    noAuthNoPriv is less than authNoPriv and
                    authNoPriv is less than authPriv.
                   "
       SYNTAX       INTEGER { noAuthNoPriv(1),
                              authNoPriv(2),
                              authPriv(3)
                            }

   SnmpAdminString ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "255a"
       STATUS       current
       DESCRIPTION "An octet string containing administrative
                    information, preferably in human-readable form.

                    To facilitate internationalization, this
                    information is represented using the ISO/IEC
                    IS 10646-1 character set, encoded as an octet
                    string using the UTF-8 transformation format
                    described in [RFC2279].

                    Since additional code points are added by
                    amendments to the 10646 standard from time
                    to time, implementations must be prepared to
                    encounter any code point from 0x00000000 to
                    0x7fffffff.  Byte sequences that do not
                    correspond to the valid UTF-8 encoding of a
                    code point or are outside this range are
                    prohibited.

                    The use of control codes should be avoided.

                    When it is necessary to represent a newline,
                    the control code sequence CR LF should be used.

                    The use of leading or trailing white space should
                    be avoided.

                    For code points not directly supported by user
                    interface hardware or software, an alternative
                    means of entry and display, such as hexadecimal,
                    may be provided.

                    For information encoded in 7-bit US-ASCII,
                    the UTF-8 encoding is identical to the
                    US-ASCII encoding.

                    UTF-8 may require multiple bytes to represent a
                    single character / code point; thus the length
                    of this object in octets may be different from
                    the number of characters encoded.  Similarly,
                    size constraints refer to the number of encoded
                    octets, not the number of characters represented
                    by an encoding.

                    Note that when this TC is used for an object that
                    is used or envisioned to be used as an index, then
                    a SIZE restriction MUST be specified so that the
                    number of sub-identifiers for any object instance
                    does not exceed the limit of 128, as defined by
                    [RFC1905].

                    Note that the size of an SnmpAdminString object is
                    measured in octets, not characters.
                   "
       SYNTAX       OCTET STRING (SIZE (0..255))

   -- Administrative assignments ***************************************

   snmpFrameworkAdmin
       OBJECT IDENTIFIER ::= { snmpFrameworkMIB 1 }
   snmpFrameworkMIBObjects
       OBJECT IDENTIFIER ::= { snmpFrameworkMIB 2 }
   snmpFrameworkMIBConformance
       OBJECT IDENTIFIER ::= { snmpFrameworkMIB 3 }

   -- the snmpEngine Group ********************************************

   snmpEngine OBJECT IDENTIFIER ::= { snmpFrameworkMIBObjects 1 }

   snmpEngineID     OBJECT-TYPE
       SYNTAX       SnmpEngineID
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION "An SNMP engine's administratively-unique identifier.
                   "
       ::= { snmpEngine 1 }

   snmpEngineBoots  OBJECT-TYPE
       SYNTAX       INTEGER (1..2147483647)
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION "The number of times that the SNMP engine has
                    (re-)initialized itself since snmpEngineID
                    was last configured.
                   "
       ::= { snmpEngine 2 }

   snmpEngineTime   OBJECT-TYPE
       SYNTAX       INTEGER (0..2147483647)
       UNITS        "seconds"
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION "The number of seconds since the value of
                    the snmpEngineBoots object last changed.
                    When incrementing this object's value would
                    cause it to exceed its maximum,
                    snmpEngineBoots is incremented as if a
                    re-initialization had occurred, and this
                    object's value consequently reverts to zero.
                   "
       ::= { snmpEngine 3 }

   snmpEngineMaxMessageSize OBJECT-TYPE
       SYNTAX       INTEGER (484..2147483647)
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION "The maximum length in octets of an SNMP message
                    which this SNMP engine can send or receive and
                    process, determined as the minimum of the maximum
                    message size values supported among all of the
                    transports available to and supported by the engine.
                   "
       ::= { snmpEngine 4 }


   -- Registration Points for Authentication and Privacy Protocols **

   snmpAuthProtocols OBJECT-IDENTITY
       STATUS        current
       DESCRIPTION  "Registration point for standards-track
                     authentication protocols used in SNMP Management
                     Frameworks.
                    "
       ::= { snmpFrameworkAdmin 1 }

   snmpPrivProtocols OBJECT-IDENTITY
       STATUS        current
       DESCRIPTION  "Registration point for standards-track privacy
                     protocols used in SNMP Management Frameworks.
                    "
       ::= { snmpFrameworkAdmin 2 }

   -- Conformance information ******************************************

   snmpFrameworkMIBCompliances
                  OBJECT IDENTIFIER ::= {snmpFrameworkMIBConformance 1}
   snmpFrameworkMIBGroups
                  OBJECT IDENTIFIER ::= {snmpFrameworkMIBConformance 2}

   -- compliance statements

   snmpFrameworkMIBCompliance MODULE-COMPLIANCE
       STATUS       current
       DESCRIPTION "The compliance statement for SNMP engines which
                    implement the SNMP Management Framework MIB.
                   "
       MODULE    -- this module
           MANDATORY-GROUPS { snmpEngineGroup }

       ::= { snmpFrameworkMIBCompliances 1 }

   -- units of conformance

   snmpEngineGroup OBJECT-GROUP
       OBJECTS {
                 snmpEngineID,
                 snmpEngineBoots,
                 snmpEngineTime,
                 snmpEngineMaxMessageSize
               }
       STATUS       current
       DESCRIPTION "A collection of objects for identifying and
                    determining the configuration and current timeliness
                    values of an SNMP engine.
                   "
       ::= { snmpFrameworkMIBGroups 1 }

   END
   SNMP-MPD-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-COMPLIANCE, OBJECT-GROUP         FROM SNMPv2-CONF
       MODULE-IDENTITY, OBJECT-TYPE,
       snmpModules, Counter32                  FROM SNMPv2-SMI;

   snmpMPDMIB MODULE-IDENTITY
       LAST-UPDATED "9905041636Z"              -- 4 April 1999
       ORGANIZATION "SNMPv3 Working Group"
       CONTACT-INFO "WG-EMail:   snmpv3@lists.tislabs.com
                     Subscribe:  majordomo@lists.tislabs.com
                                 In message body:  subscribe snmpv3

                     Chair:      Russ Mundy
                                 TIS Labs at Network Associates
                     postal:     3060 Washington Road
                                 Glenwood, MD 21738
                                 USA
                     EMail:      mundy@tislabs.com
                     phone:      +1 301-854-6889

                     Co-editor:  Jeffrey Case
                                 SNMP Research, Inc.
                     postal:     3001 Kimberlin Heights Road
                                 Knoxville, TN 37920-9716
                                 USA
                     EMail:      case@snmp.com
                     phone:      +1 423-573-1434

                     Co-editor   Dave Harrington
                                 Cabletron Systems, Inc.
                     postal:     Post Office Box 5005
                                 MailStop: Durham
                                 35 Industrial Way
                                 Rochester, NH 03867-5005
                                 USA
                     EMail:      dbh@ctron.com
                     phone:      +1 603-337-7357

                     Co-editor:  Randy Presuhn
                                 BMC Software, Inc.
                     postal:     965 Stewart Drive
                                 Sunnyvale, CA 94086
                                 USA
                     EMail:      randy_presuhn@bmc.com
                     phone:      +1 408-616-3100

                     Co-editor:  Bert Wijnen
                                 IBM T. J. Watson Research
                     postal:     Schagen 33
                                 3461 GL Linschoten
                                 Netherlands
                     EMail:      wijnen@vnet.ibm.com
                     phone:      +31 348-432-794

                    "
       DESCRIPTION  "The MIB for Message Processing and Dispatching"
       REVISION     "9905041636Z"              -- 4 April 1999
       DESCRIPTION  "Updated addresses, published as RFC 2572."
       REVISION     "9709300000Z"              -- 30 September 1997
       DESCRIPTION  "Original version, published as RFC 2272."
       ::= { snmpModules 11 }

   -- Administrative assignments ***************************************

   snmpMPDAdmin           OBJECT IDENTIFIER ::= { snmpMPDMIB 1 }
   snmpMPDMIBObjects      OBJECT IDENTIFIER ::= { snmpMPDMIB 2 }
   snmpMPDMIBConformance  OBJECT IDENTIFIER ::= { snmpMPDMIB 3 }

   -- Statistics for SNMP Messages *************************************

   snmpMPDStats           OBJECT IDENTIFIER ::= { snmpMPDMIBObjects 1 }

   snmpUnknownSecurityModels OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION "The total number of packets received by the SNMP
                    engine which were dropped because they referenced a
                    securityModel that was not known to or supported by
                    the SNMP engine.
                   "
       ::= { snmpMPDStats 1 }

   snmpInvalidMsgs OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION "The total number of packets received by the SNMP
                    engine which were dropped because there were invalid
                    or inconsistent components in the SNMP message.
                   "
       ::= { snmpMPDStats 2 }

   snmpUnknownPDUHandlers OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION "The total number of packets received by the SNMP
                    engine which were dropped because the PDU contained
                    in the packet could not be passed to an application
                    responsible for handling the pduType, e.g. no SNMP
                    application had registered for the proper
                    combination of the contextEngineID and the pduType.
                   "
       ::= { snmpMPDStats 3 }

   -- Conformance information ******************************************

   snmpMPDMIBCompliances OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 1}
   snmpMPDMIBGroups      OBJECT IDENTIFIER ::= {snmpMPDMIBConformance 2}

   -- Compliance statements

   snmpMPDCompliance MODULE-COMPLIANCE
       STATUS       current
       DESCRIPTION "The compliance statement for SNMP entities which
                    implement the SNMP-MPD-MIB.
                   "

       MODULE    -- this module
           MANDATORY-GROUPS { snmpMPDGroup }

       ::= { snmpMPDMIBCompliances 1 }

   snmpMPDGroup OBJECT-GROUP
       OBJECTS {
                 snmpUnknownSecurityModels,
                 snmpInvalidMsgs,
                 snmpUnknownPDUHandlers
               }
       STATUS       current
       DESCRIPTION "A collection of objects providing for remote
                    monitoring of the SNMP Message Processing and
                    Dispatching process.
                   "
       ::= { snmpMPDMIBGroups 1 }

   END
   SNMP-TARGET-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY,
       OBJECT-TYPE,
       snmpModules,
       Counter32,
       Integer32

           FROM SNMPv2-SMI

       TEXTUAL-CONVENTION,
       TDomain,
       TAddress,
       TimeInterval,
       RowStatus,
       StorageType,
       TestAndIncr
           FROM SNMPv2-TC

       SnmpSecurityModel,
       SnmpMessageProcessingModel,
       SnmpSecurityLevel,
       SnmpAdminString
           FROM SNMP-FRAMEWORK-MIB

       MODULE-COMPLIANCE,
       OBJECT-GROUP
           FROM SNMPv2-CONF;

   snmpTargetMIB MODULE-IDENTITY
       LAST-UPDATED "9808040000Z"
       ORGANIZATION "IETF SNMPv3 Working Group"
       CONTACT-INFO
           "WG-email:   snmpv3@lists.tislabs.com
            Subscribe:  majordomo@lists.tislabs.com
                        In message body:  subscribe snmpv3

            Chair:      Russ Mundy
                        Trusted Information Systems
            Postal:     3060 Washington Rd
                        Glenwood MD 21738
                        USA
            EMail:      mundy@tislabs.com
            Phone:      +1-301-854-6889

            Co-editor:  David B. Levi
                        SNMP Research, Inc.
            Postal:     3001 Kimberlin Heights Road
                        Knoxville, TN 37920-9716
            EMail:      levi@snmp.com
            Phone:      +1 423 573 1434

            Co-editor:  Paul Meyer
                        Secure Computing Corporation
            Postal:     2675 Long Lake Road
                        Roseville, MN 55113
            EMail:      paul_meyer@securecomputing.com
            Phone:      +1 651 628 1592

            Co-editor:  Bob Stewart
                        Cisco Systems, Inc.
            Postal:     170 West Tasman Drive
                        San Jose, CA 95134-1706
            EMail:      bstewart@cisco.com
            Phone:      +1 603 654 2686"
       DESCRIPTION
           "This MIB module defines MIB objects which provide
            mechanisms to remotely configure the parameters used
            by an SNMP entity for the generation of SNMP messages."
       REVISION    "9808040000Z"
       DESCRIPTION "Clarifications, published as
                    RFC2573."
       REVISION    "9707140000Z"
       DESCRIPTION "The initial revision, published as RFC2273."
       ::= { snmpModules 12 }

   snmpTargetObjects       OBJECT IDENTIFIER ::= { snmpTargetMIB 1 }
   snmpTargetConformance   OBJECT IDENTIFIER ::= { snmpTargetMIB 3 }

   SnmpTagValue ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "255a"
       STATUS       current
       DESCRIPTION
           "An octet string containing a tag value.
            Tag values are preferably in human-readable form.

            To facilitate internationalization, this information
            is represented using the ISO/IEC IS 10646-1 character
            set, encoded as an octet string using the UTF-8
            character encoding scheme described in RFC 2279.

            Since additional code points are added by amendments
            to the 10646 standard from time to time,
            implementations must be prepared to encounter any code
            point from 0x00000000 to 0x7fffffff.

            The use of control codes should be avoided, and certain
            control codes are not allowed as described below.

            For code points not directly supported by user
            interface hardware or software, an alternative means
            of entry and display, such as hexadecimal, may be
            provided.

            For information encoded in 7-bit US-ASCII, the UTF-8
            representation is identical to the US-ASCII encoding.

            Note that when this TC is used for an object that
            is used or envisioned to be used as an index, then a
            SIZE restriction must be specified so that the number
            of sub-identifiers for any object instance does not
            exceed the limit of 128, as defined by [RFC1905].

            An object of this type contains a single tag value
            which is used to select a set of entries in a table.

            A tag value is an arbitrary string of octets, but
            may not contain a delimiter character.  Delimiter
            characters are defined to be one of the following:

                -  An ASCII space character (0x20).

                -  An ASCII TAB character (0x09).

                -  An ASCII carriage return (CR) character (0x0D).

                -  An ASCII line feed (LF) character (0x0B).

            Delimiter characters are used to separate tag values
            in a tag list.  An object of this type may only
            contain a single tag value, and so delimiter
            characters are not allowed in a value of this type.

            Some examples of valid tag values are:

                - 'acme'

                - 'router'

                - 'host'

            The use of a tag value to select table entries is
            application and MIB specific."
       SYNTAX       OCTET STRING (SIZE (0..255))

   SnmpTagList ::= TEXTUAL-CONVENTION
       DISPLAY-HINT "255a"
       STATUS       current
       DESCRIPTION
           "An octet string containing a list of tag values.
            Tag values are preferably in human-readable form.

            To facilitate internationalization, this information
            is represented using the ISO/IEC IS 10646-1 character
            set, encoded as an octet string using the UTF-8
            character encoding scheme described in RFC 2279.

            Since additional code points are added by amendments
            to the 10646 standard from time to time,
            implementations must be prepared to encounter any code
            point from 0x00000000 to 0x7fffffff.

            The use of control codes should be avoided, except as
            described below.

            For code points not directly supported by user
            interface hardware or software, an alternative means
            of entry and display, such as hexadecimal, may be
            provided.

            For information encoded in 7-bit US-ASCII, the UTF-8
            representation is identical to the US-ASCII encoding.

            An object of this type contains a list of tag values
            which are used to select a set of entries in a table.

            A tag value is an arbitrary string of octets, but
            may not contain a delimiter character.  Delimiter
            characters are defined to be one of the following:

                -  An ASCII space character (0x20).

                -  An ASCII TAB character (0x09).

                -  An ASCII carriage return (CR) character (0x0D).

                -  An ASCII line feed (LF) character (0x0B).

            Delimiter characters are used to separate tag values
            in a tag list.  Only a single delimiter character may
            occur between two tag values.  A tag value may not
            have a zero length.  These constraints imply certain
            restrictions on the contents of this object:

                - There cannot be a leading or trailing delimiter
                  character.

                - There cannot be multiple adjacent delimiter
                  characters.

            Some examples of valid tag lists are:

                - An empty string

                - 'acme router'

                - 'host managerStation'

            Note that although a tag value may not have a length of
            zero, an empty string is still valid.  This indicates
            an empty list (i.e. there are no tag values in the list).

            The use of the tag list to select table entries is
            application and MIB specific.  Typically, an application
            will provide one or more tag values, and any entry
            which contains some combination of these tag values
            will be selected."
       SYNTAX       OCTET STRING (SIZE (0..255))

   --
   --
   -- The snmpTargetObjects group
   --
   --

   snmpTargetSpinLock OBJECT-TYPE
       SYNTAX      TestAndIncr
       MAX-ACCESS  read-write
       STATUS      current
       DESCRIPTION
           "This object is used to facilitate modification of table
            entries in the SNMP-TARGET-MIB module by multiple
            managers.  In particular, it is useful when modifying
            the value of the snmpTargetAddrTagList object.

            The procedure for modifying the snmpTargetAddrTagList
            object is as follows:

                1.  Retrieve the value of snmpTargetSpinLock and
                    of snmpTargetAddrTagList.

                2.  Generate a new value for snmpTargetAddrTagList.

                3.  Set the value of snmpTargetSpinLock to the
                    retrieved value, and the value of
                    snmpTargetAddrTagList to the new value.  If
                    the set fails for the snmpTargetSpinLock
                    object, go back to step 1."
       ::= { snmpTargetObjects 1 }

   snmpTargetAddrTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpTargetAddrEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of transport addresses to be used in the generation
            of SNMP messages."
       ::= { snmpTargetObjects 2 }

   snmpTargetAddrEntry OBJECT-TYPE
       SYNTAX      SnmpTargetAddrEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A transport address to be used in the generation
            of SNMP operations.

            Entries in the snmpTargetAddrTable are created and
            deleted using the snmpTargetAddrRowStatus object."
       INDEX { IMPLIED snmpTargetAddrName }
       ::= { snmpTargetAddrTable 1 }

   SnmpTargetAddrEntry ::= SEQUENCE {
       snmpTargetAddrName         SnmpAdminString,
       snmpTargetAddrTDomain      TDomain,
       snmpTargetAddrTAddress     TAddress,
       snmpTargetAddrTimeout      TimeInterval,
       snmpTargetAddrRetryCount   Integer32,
       snmpTargetAddrTagList      SnmpTagList,
       snmpTargetAddrParams       SnmpAdminString,
       snmpTargetAddrStorageType  StorageType,
       snmpTargetAddrRowStatus    RowStatus
   }

   snmpTargetAddrName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpTargetAddrEntry."
       ::= { snmpTargetAddrEntry 1 }

   snmpTargetAddrTDomain OBJECT-TYPE
       SYNTAX      TDomain
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object indicates the transport type of the address
            contained in the snmpTargetAddrTAddress object."
       ::= { snmpTargetAddrEntry 2 }

   snmpTargetAddrTAddress OBJECT-TYPE
       SYNTAX      TAddress
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object contains a transport address.  The format of
            this address depends on the value of the
            snmpTargetAddrTDomain object."
       ::= { snmpTargetAddrEntry 3 }

   snmpTargetAddrTimeout OBJECT-TYPE
       SYNTAX      TimeInterval
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object should reflect the expected maximum round
            trip time for communicating with the transport address
            defined by this row.  When a message is sent to this
            address, and a response (if one is expected) is not
            received within this time period, an implementation
            may assume that the response will not be delivered.

            Note that the time interval that an application waits
            for a response may actually be derived from the value
            of this object.  The method for deriving the actual time
            interval is implementation dependent.  One such method
            is to derive the expected round trip time based on a
            particular retransmission algorithm and on the number
            of timeouts which have occurred.  The type of message may
            also be considered when deriving expected round trip
            times for retransmissions.  For example, if a message is
            being sent with a securityLevel that indicates both
            authentication and privacy, the derived value may be
            increased to compensate for extra processing time spent
            during authentication and encryption processing."
       DEFVAL { 1500 }
       ::= { snmpTargetAddrEntry 4 }

   snmpTargetAddrRetryCount OBJECT-TYPE
       SYNTAX      Integer32 (0..255)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object specifies a default number of retries to be
            attempted when a response is not received for a generated
            message.  An application may provide its own retry count,
            in which case the value of this object is ignored."
       DEFVAL { 3 }
       ::= { snmpTargetAddrEntry 5 }

   snmpTargetAddrTagList OBJECT-TYPE
       SYNTAX      SnmpTagList
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object contains a list of tag values which are
            used to select target addresses for a particular
            operation."
       DEFVAL { "" }
       ::= { snmpTargetAddrEntry 6 }

   snmpTargetAddrParams OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of this object identifies an entry in the
            snmpTargetParamsTable.  The identified entry
            contains SNMP parameters to be used when generating
            messages to be sent to this transport address."
       ::= { snmpTargetAddrEntry 7 }

   snmpTargetAddrStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row."
       DEFVAL { nonVolatile }
       ::= { snmpTargetAddrEntry 8 }

   snmpTargetAddrRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this conceptual row.

            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5).

            Until instances of all corresponding columns are
            appropriately configured, the value of the
            corresponding instance of the snmpTargetAddrRowStatus
            column is 'notReady'.

            In particular, a newly created row cannot be made
            active until the corresponding instances of
            snmpTargetAddrTDomain, snmpTargetAddrTAddress, and
            snmpTargetAddrParams have all been set.

            The following objects may not be modified while the
            value of this object is active(1):
                - snmpTargetAddrTDomain
                - snmpTargetAddrTAddress
            An attempt to set these objects while the value of
            snmpTargetAddrRowStatus is active(1) will result in
            an inconsistentValue error."
       ::= { snmpTargetAddrEntry 9 }

   snmpTargetParamsTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpTargetParamsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of SNMP target information to be used
            in the generation of SNMP messages."
       ::= { snmpTargetObjects 3 }

   snmpTargetParamsEntry OBJECT-TYPE
       SYNTAX      SnmpTargetParamsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A set of SNMP target information.

            Entries in the snmpTargetParamsTable are created and
            deleted using the snmpTargetParamsRowStatus object."
       INDEX { IMPLIED snmpTargetParamsName }
       ::= { snmpTargetParamsTable 1 }

   SnmpTargetParamsEntry ::= SEQUENCE {
       snmpTargetParamsName           SnmpAdminString,
       snmpTargetParamsMPModel        SnmpMessageProcessingModel,
       snmpTargetParamsSecurityModel  SnmpSecurityModel,
       snmpTargetParamsSecurityName   SnmpAdminString,
       snmpTargetParamsSecurityLevel  SnmpSecurityLevel,
       snmpTargetParamsStorageType    StorageType,
       snmpTargetParamsRowStatus      RowStatus
   }

   snmpTargetParamsName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpTargetParamsEntry."
       ::= { snmpTargetParamsEntry 1 }

   snmpTargetParamsMPModel OBJECT-TYPE
       SYNTAX      SnmpMessageProcessingModel
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Message Processing Model to be used when generating
            SNMP messages using this entry."
       ::= { snmpTargetParamsEntry 2 }

   snmpTargetParamsSecurityModel OBJECT-TYPE
       SYNTAX      SnmpSecurityModel (1..2147483647)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Security Model to be used when generating SNMP
             messages using this entry.  An implementation may
             choose to return an inconsistentValue error if an
             attempt is made to set this variable to a value
             for a security model which the implementation does
             not support."
       ::= { snmpTargetParamsEntry 3 }

   snmpTargetParamsSecurityName OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The securityName which identifies the Principal on
            whose behalf SNMP messages will be generated using
            this entry."
       ::= { snmpTargetParamsEntry 4 }

   snmpTargetParamsSecurityLevel OBJECT-TYPE
       SYNTAX      SnmpSecurityLevel
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Level of Security to be used when generating
            SNMP messages using this entry."
       ::= { snmpTargetParamsEntry 5 }

   snmpTargetParamsStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row."
       DEFVAL { nonVolatile }
       ::= { snmpTargetParamsEntry 6 }

   snmpTargetParamsRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this conceptual row.

            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5).

            Until instances of all corresponding columns are
            appropriately configured, the value of the
            corresponding instance of the snmpTargetParamsRowStatus
            column is 'notReady'.

            In particular, a newly created row cannot be made
            active until the corresponding
            snmpTargetParamsMPModel,
            snmpTargetParamsSecurityModel,
            snmpTargetParamsSecurityName,
            and snmpTargetParamsSecurityLevel have all been set.
            The following objects may not be modified while the
            value of this object is active(1):
                - snmpTargetParamsMPModel
                - snmpTargetParamsSecurityModel
                - snmpTargetParamsSecurityName
                - snmpTargetParamsSecurityLevel
            An attempt to set these objects while the value of
            snmpTargetParamsRowStatus is active(1) will result in
            an inconsistentValue error."
       ::= { snmpTargetParamsEntry 7 }

   snmpUnavailableContexts OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
           "The total number of packets received by the SNMP
            engine which were dropped because the context
            contained in the message was unavailable."
       ::= { snmpTargetObjects 4 }

   snmpUnknownContexts OBJECT-TYPE
       SYNTAX       Counter32
       MAX-ACCESS   read-only
       STATUS       current
       DESCRIPTION
           "The total number of packets received by the SNMP
            engine which were dropped because the context
            contained in the message was unknown."
       ::= { snmpTargetObjects 5 }

   --
   --
   -- Conformance information
   --
   --

   snmpTargetCompliances OBJECT IDENTIFIER ::=
                                           { snmpTargetConformance 1 }
   snmpTargetGroups      OBJECT IDENTIFIER ::=
                                           { snmpTargetConformance 2 }

   --
   --
   -- Compliance statements
   --
   --
   snmpTargetCommandResponderCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which include
            a command responder application."
       MODULE -- This Module
           MANDATORY-GROUPS { snmpTargetCommandResponderGroup }
       ::= { snmpTargetCompliances 1 }

   snmpTargetBasicGroup OBJECT-GROUP
       OBJECTS {
           snmpTargetSpinLock,
           snmpTargetAddrTDomain,
           snmpTargetAddrTAddress,
           snmpTargetAddrTagList,
           snmpTargetAddrParams,
           snmpTargetAddrStorageType,
           snmpTargetAddrRowStatus,
           snmpTargetParamsMPModel,
           snmpTargetParamsSecurityModel,
           snmpTargetParamsSecurityName,
           snmpTargetParamsSecurityLevel,
           snmpTargetParamsStorageType,
           snmpTargetParamsRowStatus
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing basic remote
            configuration of management targets."
       ::= { snmpTargetGroups 1 }

   snmpTargetResponseGroup OBJECT-GROUP
       OBJECTS {
           snmpTargetAddrTimeout,
           snmpTargetAddrRetryCount
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing remote configuration
            of management targets for applications which generate
            SNMP messages for which a response message would be
            expected."
       ::= { snmpTargetGroups 2 }

   snmpTargetCommandResponderGroup OBJECT-GROUP
       OBJECTS {
           snmpUnavailableContexts,
           snmpUnknownContexts
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects required for command responder
            applications, used for counting error conditions."
       ::= { snmpTargetGroups 3 }

   END

   SNMP-NOTIFICATION-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY,
       OBJECT-TYPE,
       snmpModules
           FROM SNMPv2-SMI

       RowStatus,
       StorageType
           FROM SNMPv2-TC

       SnmpAdminString
           FROM SNMP-FRAMEWORK-MIB

       SnmpTagValue,
       snmpTargetParamsName
           FROM SNMP-TARGET-MIB

       MODULE-COMPLIANCE,
       OBJECT-GROUP
           FROM SNMPv2-CONF;

   snmpNotificationMIB MODULE-IDENTITY
       LAST-UPDATED "9808040000Z"
       ORGANIZATION "IETF SNMPv3 Working Group"
       CONTACT-INFO
           "WG-email:   snmpv3@lists.tislabs.com
            Subscribe:  majordomo@lists.tislabs.com
                        In message body:  subscribe snmpv3

            Chair:      Russ Mundy
                        Trusted Information Systems
            Postal:     3060 Washington Rd
                        Glenwood MD 21738
                        USA
            EMail:      mundy@tislabs.com
            Phone:      +1-301-854-6889

            Co-editor:  David B. Levi
                        SNMP Research, Inc.
            Postal:     3001 Kimberlin Heights Road
                        Knoxville, TN 37920-9716
            EMail:      levi@snmp.com
            Phone:      +1 423 573 1434

            Co-editor:  Paul Meyer
                        Secure Computing Corporation
            Postal:     2675 Long Lake Road
                        Roseville, MN 55113
            EMail:      paul_meyer@securecomputing.com
            Phone:      +1 651 628 1592

            Co-editor:  Bob Stewart
                        Cisco Systems, Inc.
            Postal:     170 West Tasman Drive
                        San Jose, CA 95134-1706
            EMail:      bstewart@cisco.com
            Phone:      +1 603 654 2686"
       DESCRIPTION
           "This MIB module defines MIB objects which provide
            mechanisms to remotely configure the parameters
            used by an SNMP entity for the generation of
            notifications."
       REVISION    "9808040000Z"
       DESCRIPTION "Clarifications, published as
                    RFC2573"
       REVISION    "9707140000Z"
       DESCRIPTION "The initial revision, published as RFC2273."
       ::= { snmpModules 13 }

   snmpNotifyObjects       OBJECT IDENTIFIER ::=
                                             { snmpNotificationMIB 1 }
   snmpNotifyConformance   OBJECT IDENTIFIER ::=
                                             { snmpNotificationMIB 3 }

   --
   --
   -- The snmpNotifyObjects group
   --
   --

   snmpNotifyTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpNotifyEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table is used to select management targets which should
            receive notifications, as well as the type of notification
            which should be sent to each selected management target."
       ::= { snmpNotifyObjects 1 }

   snmpNotifyEntry OBJECT-TYPE
       SYNTAX      SnmpNotifyEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry in this table selects a set of management targets
            which should receive notifications, as well as the type of
            notification which should be sent to each selected
            management target.

            Entries in the snmpNotifyTable are created and
            deleted using the snmpNotifyRowStatus object."
       INDEX { IMPLIED snmpNotifyName }
       ::= { snmpNotifyTable 1 }

   SnmpNotifyEntry ::= SEQUENCE {
       snmpNotifyName         SnmpAdminString,
       snmpNotifyTag          SnmpTagValue,
       snmpNotifyType         INTEGER,
       snmpNotifyStorageType  StorageType,
       snmpNotifyRowStatus    RowStatus
   }

   snmpNotifyName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpNotifyEntry."
       ::= { snmpNotifyEntry 1 }

   snmpNotifyTag OBJECT-TYPE
       SYNTAX      SnmpTagValue
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object contains a single tag value which is used
            to select entries in the snmpTargetAddrTable.  Any entry
            in the snmpTargetAddrTable which contains a tag value
            which is equal to the value of an instance of this
            object is selected.  If this object contains a value
            of zero length, no entries are selected."
       DEFVAL { "" }
       ::= { snmpNotifyEntry 2 }

   snmpNotifyType OBJECT-TYPE
       SYNTAX      INTEGER {
                       trap(1),
                       inform(2)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object determines the type of notification to
            be generated for entries in the snmpTargetAddrTable
            selected by the corresponding instance of
            snmpNotifyTag.  This value is only used when
            generating notifications, and is ignored when
            using the snmpTargetAddrTable for other purposes.

            If the value of this object is trap(1), then any
            messages generated for selected rows will contain
            Unconfirmed-Class PDUs.

            If the value of this object is inform(2), then any
            messages generated for selected rows will contain
            Confirmed-Class PDUs.

            Note that if an SNMP entity only supports
            generation of Unconfirmed-Class PDUs (and not
            Confirmed-Class PDUs), then this object may be
            read-only."
       DEFVAL { trap }
       ::= { snmpNotifyEntry 3 }

   snmpNotifyStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type for this conceptual row."
       DEFVAL { nonVolatile }
       ::= { snmpNotifyEntry 4 }

   snmpNotifyRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this conceptual row.

            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5)."
       ::= { snmpNotifyEntry 5 }

   snmpNotifyFilterProfileTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpNotifyFilterProfileEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table is used to associate a notification filter
            profile with a particular set of target parameters."
       ::= { snmpNotifyObjects 2 }

   snmpNotifyFilterProfileEntry OBJECT-TYPE
       SYNTAX      SnmpNotifyFilterProfileEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An entry in this table indicates the name of the filter
            profile to be used when generating notifications using
            the corresponding entry in the snmpTargetParamsTable.

            Entries in the snmpNotifyFilterProfileTable are created
            and deleted using the snmpNotifyFilterProfileRowStatus
            object."
       INDEX { IMPLIED snmpTargetParamsName }
       ::= { snmpNotifyFilterProfileTable 1 }

   SnmpNotifyFilterProfileEntry ::= SEQUENCE {
       snmpNotifyFilterProfileName         SnmpAdminString,
       snmpNotifyFilterProfileStorType     StorageType,
       snmpNotifyFilterProfileRowStatus    RowStatus
   }

   snmpNotifyFilterProfileName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The name of the filter profile to be used when generating
            notifications using the corresponding entry in the
            snmpTargetAddrTable."
       ::= { snmpNotifyFilterProfileEntry 1 }

   snmpNotifyFilterProfileStorType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type of this conceptual row."
       DEFVAL { nonVolatile }
       ::= { snmpNotifyFilterProfileEntry 2 }

   snmpNotifyFilterProfileRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this conceptual row.

            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5).

            Until instances of all corresponding columns are
            appropriately configured, the value of the
            corresponding instance of the
            snmpNotifyFilterProfileRowStatus column is 'notReady'.

            In particular, a newly created row cannot be made
            active until the corresponding instance of
            snmpNotifyFilterProfileName has been set."
       ::= { snmpNotifyFilterProfileEntry 3 }

   snmpNotifyFilterTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpNotifyFilterEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The table of filter profiles.  Filter profiles are used
            to determine whether particular management targets should
            receive particular notifications.

            When a notification is generated, it must be compared
            with the filters associated with each management target
            which is configured to receive notifications, in order to
            determine whether it may be sent to each such management
            target.

            A more complete discussion of notification filtering
            can be found in section 6. of [RFC2573]."
       ::= { snmpNotifyObjects 3 }

   snmpNotifyFilterEntry OBJECT-TYPE
       SYNTAX      SnmpNotifyFilterEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An element of a filter profile.

            Entries in the snmpNotifyFilterTable are created and
            deleted using the snmpNotifyFilterRowStatus object."
       INDEX {         snmpNotifyFilterProfileName,
               IMPLIED snmpNotifyFilterSubtree }
       ::= { snmpNotifyFilterTable 1 }

   SnmpNotifyFilterEntry ::= SEQUENCE {
       snmpNotifyFilterSubtree           OBJECT IDENTIFIER,
       snmpNotifyFilterMask              OCTET STRING,
       snmpNotifyFilterType              INTEGER,
       snmpNotifyFilterStorageType       StorageType,
       snmpNotifyFilterRowStatus         RowStatus
   }

   snmpNotifyFilterSubtree OBJECT-TYPE
       SYNTAX      OBJECT IDENTIFIER
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The MIB subtree which, when combined with the corresponding
            instance of snmpNotifyFilterMask, defines a family of
            subtrees which are included in or excluded from the
            filter profile."
       ::= { snmpNotifyFilterEntry 1 }
   snmpNotifyFilterMask OBJECT-TYPE
       SYNTAX      OCTET STRING (SIZE(0..16))
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The bit mask which, in combination with the corresponding
            instance of snmpNotifyFilterSubtree, defines a family of
            subtrees which are included in or excluded from the
            filter profile.

            Each bit of this bit mask corresponds to a
            sub-identifier of snmpNotifyFilterSubtree, with the
            most significant bit of the i-th octet of this octet
            string value (extended if necessary, see below)
            corresponding to the (8*i - 7)-th sub-identifier, and
            the least significant bit of the i-th octet of this
            octet string corresponding to the (8*i)-th
            sub-identifier, where i is in the range 1 through 16.

            Each bit of this bit mask specifies whether or not
            the corresponding sub-identifiers must match when
            determining if an OBJECT IDENTIFIER matches this
            family of filter subtrees; a '1' indicates that an
            exact match must occur; a '0' indicates 'wild card',
            i.e., any sub-identifier value matches.

            Thus, the OBJECT IDENTIFIER X of an object instance
            is contained in a family of filter subtrees if, for
            each sub-identifier of the value of
            snmpNotifyFilterSubtree, either:

              the i-th bit of snmpNotifyFilterMask is 0, or

              the i-th sub-identifier of X is equal to the i-th
              sub-identifier of the value of
              snmpNotifyFilterSubtree.

            If the value of this bit mask is M bits long and
            there are more than M sub-identifiers in the
            corresponding instance of snmpNotifyFilterSubtree,
            then the bit mask is extended with 1's to be the
            required length.

            Note that when the value of this object is the
            zero-length string, this extension rule results in
            a mask of all-1's being used (i.e., no 'wild card'),
            and the family of filter subtrees is the one
            subtree uniquely identified by the corresponding
            instance of snmpNotifyFilterSubtree."
       DEFVAL { ''H }
       ::= { snmpNotifyFilterEntry 2 }

   snmpNotifyFilterType OBJECT-TYPE
       SYNTAX      INTEGER {
                       included(1),
                       excluded(2)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object indicates whether the family of filter subtrees
            defined by this entry are included in or excluded from a
            filter.  A more detailed discussion of the use of this
            object can be found in section 6. of [RFC2573]."
       DEFVAL { included }
       ::= { snmpNotifyFilterEntry 3 }

   snmpNotifyFilterStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type of this conceptual row."
       DEFVAL { nonVolatile }
       ::= { snmpNotifyFilterEntry 4 }

   snmpNotifyFilterRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this conceptual row.

            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5)."
       ::= { snmpNotifyFilterEntry 5 }

   --
   --
   -- Conformance information
   --
   --
   snmpNotifyCompliances OBJECT IDENTIFIER ::=
                                           { snmpNotifyConformance 1 }
   snmpNotifyGroups      OBJECT IDENTIFIER ::=
                                           { snmpNotifyConformance 2 }

   --
   --
   -- Compliance statements
   --
   --

   snmpNotifyBasicCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for minimal SNMP entities which
            implement only SNMP Unconfirmed-Class notifications and
            read-create operations on only the snmpTargetAddrTable."
       MODULE SNMP-TARGET-MIB
           MANDATORY-GROUPS { snmpTargetBasicGroup }

           OBJECT snmpTargetParamsMPModel
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access is not required."

           OBJECT snmpTargetParamsSecurityModel
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access is not required."

           OBJECT snmpTargetParamsSecurityName
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access is not required."

           OBJECT snmpTargetParamsSecurityLevel
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access is not required."

           OBJECT snmpTargetParamsStorageType
           SYNTAX INTEGER {
               readOnly(5)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access is not required.
                Support of the values other(1), volatile(2),
                nonVolatile(3), and permanent(4) is not required."

           OBJECT snmpTargetParamsRowStatus
           SYNTAX INTEGER {
               active(1)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access to the
                snmpTargetParamsTable is not required.
                Support of the values notInService(2), notReady(3),
                createAndGo(4), createAndWait(5), and destroy(6) is
                not required."

       MODULE -- This Module
           MANDATORY-GROUPS { snmpNotifyGroup }

           OBJECT snmpNotifyTag
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access is not required."

           OBJECT snmpNotifyType
           SYNTAX INTEGER {
               trap(1)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access is not required.
                Support of the value notify(2) is not required."

           OBJECT snmpNotifyStorageType
           SYNTAX INTEGER {
               readOnly(5)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access is not required.
                Support of the values other(1), volatile(2),
                nonVolatile(3), and permanent(4) is not required."

           OBJECT snmpNotifyRowStatus
           SYNTAX INTEGER {
               active(1)
           }
           MIN-ACCESS    read-only
           DESCRIPTION
               "Create/delete/modify access to the
                snmpNotifyTable is not required.
                Support of the values notInService(2), notReady(3),
                createAndGo(4), createAndWait(5), and destroy(6) is
                not required."

       ::= { snmpNotifyCompliances 1 }

   snmpNotifyBasicFiltersCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which implement
            SNMP Unconfirmed-Class notifications with filtering, and
            read-create operations on all related tables."
       MODULE SNMP-TARGET-MIB
           MANDATORY-GROUPS { snmpTargetBasicGroup }
       MODULE -- This Module
           MANDATORY-GROUPS { snmpNotifyGroup,
                              snmpNotifyFilterGroup }
       ::= { snmpNotifyCompliances 2 }

   snmpNotifyFullCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which either
            implement only SNMP Confirmed-Class notifications, or both
            SNMP Unconfirmed-Class and Confirmed-Class notifications,
            plus filtering and read-create operations on all related
            tables."
       MODULE SNMP-TARGET-MIB
           MANDATORY-GROUPS { snmpTargetBasicGroup,
                              snmpTargetResponseGroup }
       MODULE -- This Module
           MANDATORY-GROUPS { snmpNotifyGroup,
                              snmpNotifyFilterGroup }
       ::= { snmpNotifyCompliances 3 }

   snmpNotifyGroup OBJECT-GROUP
       OBJECTS {
           snmpNotifyTag,
           snmpNotifyType,
           snmpNotifyStorageType,
           snmpNotifyRowStatus
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects for selecting which management
            targets are used for generating notifications, and the
            type of notification to be generated for each selected
            management target."
       ::= { snmpNotifyGroups 1 }

   snmpNotifyFilterGroup OBJECT-GROUP
       OBJECTS {
           snmpNotifyFilterProfileName,
           snmpNotifyFilterProfileStorType,
           snmpNotifyFilterProfileRowStatus,
           snmpNotifyFilterMask,
           snmpNotifyFilterType,
           snmpNotifyFilterStorageType,
           snmpNotifyFilterRowStatus
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing remote configuration
            of notification filters."
       ::= { snmpNotifyGroups 2 }

   END

   SNMP-PROXY-MIB DEFINITIONS ::= BEGIN

   IMPORTS
       MODULE-IDENTITY,
       OBJECT-TYPE,
       snmpModules
           FROM SNMPv2-SMI

       RowStatus,
       StorageType
           FROM SNMPv2-TC

       SnmpEngineID,
       SnmpAdminString
           FROM SNMP-FRAMEWORK-MIB

       SnmpTagValue
           FROM SNMP-TARGET-MIB

       MODULE-COMPLIANCE,
       OBJECT-GROUP
           FROM SNMPv2-CONF;

   snmpProxyMIB MODULE-IDENTITY
       LAST-UPDATED "9808040000Z"
       ORGANIZATION "IETF SNMPv3 Working Group"
       CONTACT-INFO
           "WG-email:   snmpv3@lists.tislabs.com
            Subscribe:  majordomo@lists.tislabs.com
                        In message body:  subscribe snmpv3

            Chair:      Russ Mundy
                        Trusted Information Systems
            Postal:     3060 Washington Rd
                        Glenwood MD 21738
                        USA
            EMail:      mundy@tislabs.com
            Phone:      +1-301-854-6889

            Co-editor:  David B. Levi
                        SNMP Research, Inc.
            Postal:     3001 Kimberlin Heights Road
                        Knoxville, TN 37920-9716
            EMail:      levi@snmp.com
            Phone:      +1 423 573 1434

            Co-editor:  Paul Meyer
                        Secure Computing Corporation
            Postal:     2675 Long Lake Road
                        Roseville, MN 55113
            EMail:      paul_meyer@securecomputing.com
            Phone:      +1 651 628 1592

            Co-editor:  Bob Stewart
                        Cisco Systems, Inc.
            Postal:     170 West Tasman Drive
                        San Jose, CA 95134-1706
            EMail:      bstewart@cisco.com
            Phone:      +1 603 654 2686"
       DESCRIPTION
           "This MIB module defines MIB objects which provide
            mechanisms to remotely configure the parameters
            used by a proxy forwarding application."
       REVISION    "9808040000Z"
       DESCRIPTION "Clarifications, published as
                    RFC2573."
       REVISION    "9707140000Z"
       DESCRIPTION "The initial revision, published as RFC2273."
       ::= { snmpModules 14 }

   snmpProxyObjects        OBJECT IDENTIFIER ::= { snmpProxyMIB 1 }
   snmpProxyConformance    OBJECT IDENTIFIER ::= { snmpProxyMIB 3 }

   --
   --
   -- The snmpProxyObjects group
   --
   --

   snmpProxyTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF SnmpProxyEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The table of translation parameters used by proxy forwarder
            applications for forwarding SNMP messages."
       ::= { snmpProxyObjects 2 }

   snmpProxyEntry OBJECT-TYPE
       SYNTAX      SnmpProxyEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A set of translation parameters used by a proxy forwarder
            application for forwarding SNMP messages.

            Entries in the snmpProxyTable are created and deleted
            using the snmpProxyRowStatus object."
       INDEX { IMPLIED snmpProxyName }
       ::= { snmpProxyTable 1 }

   SnmpProxyEntry ::= SEQUENCE {
       snmpProxyName               SnmpAdminString,
       snmpProxyType               INTEGER,
       snmpProxyContextEngineID    SnmpEngineID,
       snmpProxyContextName        SnmpAdminString,
       snmpProxyTargetParamsIn     SnmpAdminString,
       snmpProxySingleTargetOut    SnmpAdminString,
       snmpProxyMultipleTargetOut  SnmpTagValue,
       snmpProxyStorageType        StorageType,
       snmpProxyRowStatus          RowStatus
   }

   snmpProxyName OBJECT-TYPE
       SYNTAX      SnmpAdminString (SIZE(1..32))
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The locally arbitrary, but unique identifier associated
            with this snmpProxyEntry."
       ::= { snmpProxyEntry 1 }

   snmpProxyType OBJECT-TYPE
       SYNTAX      INTEGER {
                       read(1),
                       write(2),
                       trap(3),
                       inform(4)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of message that may be forwarded using
            the translation parameters defined by this entry."
       ::= { snmpProxyEntry 2 }

   snmpProxyContextEngineID OBJECT-TYPE
       SYNTAX      SnmpEngineID
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The contextEngineID contained in messages that
            may be forwarded using the translation parameters
            defined by this entry."
       ::= { snmpProxyEntry 3 }

   snmpProxyContextName OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The contextName contained in messages that may be
            forwarded using the translation parameters defined
            by this entry.

            This object is optional, and if not supported, the
            contextName contained in a message is ignored when
            selecting an entry in the snmpProxyTable."
       ::= { snmpProxyEntry 4 }

   snmpProxyTargetParamsIn OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object selects an entry in the snmpTargetParamsTable.
            The selected entry is used to determine which row of the
            snmpProxyTable to use for forwarding received messages."
       ::= { snmpProxyEntry 5 }

   snmpProxySingleTargetOut OBJECT-TYPE
       SYNTAX      SnmpAdminString
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object selects a management target defined in the
            snmpTargetAddrTable (in the SNMP-TARGET-MIB).  The
            selected target is defined by an entry in the
            snmpTargetAddrTable whose index value (snmpTargetAddrName)
            is equal to this object.

            This object is only used when selection of a single
            target is required (i.e. when forwarding an incoming
            read or write request)."
       ::= { snmpProxyEntry 6 }

   snmpProxyMultipleTargetOut OBJECT-TYPE
       SYNTAX      SnmpTagValue
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object selects a set of management targets defined
            in the snmpTargetAddrTable (in the SNMP-TARGET-MIB).

            This object is only used when selection of multiple
            targets is required (i.e. when forwarding an incoming
            notification)."
       ::= { snmpProxyEntry 7 }

   snmpProxyStorageType OBJECT-TYPE
       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The storage type of this conceptual row."
       DEFVAL { nonVolatile }
       ::= { snmpProxyEntry 8 }

   snmpProxyRowStatus OBJECT-TYPE
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The status of this conceptual row.

            To create a row in this table, a manager must
            set this object to either createAndGo(4) or
            createAndWait(5).

            The following objects may not be modified while the
            value of this object is active(1):
                - snmpProxyType
                - snmpProxyContextEngineID
                - snmpProxyContextName
                - snmpProxyTargetParamsIn
                - snmpProxySingleTargetOut
                - snmpProxyMultipleTargetOut"
       ::= { snmpProxyEntry 9 }

   --
   --
   -- Conformance information
   --
   --

   snmpProxyCompliances OBJECT IDENTIFIER ::=
                                            { snmpProxyConformance 1 }
   snmpProxyGroups      OBJECT IDENTIFIER ::=
                                            { snmpProxyConformance 2 }

   --
   --
   -- Compliance statements
   --
   --

   snmpProxyCompliance MODULE-COMPLIANCE
       STATUS      current
       DESCRIPTION
           "The compliance statement for SNMP entities which include
            a proxy forwarding application."
       MODULE SNMP-TARGET-MIB
           MANDATORY-GROUPS { snmpTargetBasicGroup,
                              snmpTargetResponseGroup }
       MODULE -- This Module
           MANDATORY-GROUPS { snmpProxyGroup }
       ::= { snmpProxyCompliances 1 }

   snmpProxyGroup OBJECT-GROUP
       OBJECTS {
           snmpProxyType,
           snmpProxyContextEngineID,
           snmpProxyContextName,
           snmpProxyTargetParamsIn,
           snmpProxySingleTargetOut,
           snmpProxyMultipleTargetOut,
           snmpProxyStorageType,
           snmpProxyRowStatus
       }
       STATUS      current
       DESCRIPTION
           "A collection of objects providing remote configuration of
            management target translation parameters for use by
            proxy forwarder applications."
       ::= { snmpProxyGroups 3 }

   END
SNMP-USER-BASED-SM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    OBJECT-IDENTITY,
    snmpModules, Counter32                FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, TestAndIncr,
    RowStatus, RowPointer,
    StorageType, AutonomousType           FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP       FROM SNMPv2-CONF
    SnmpAdminString, SnmpEngineID,
    snmpAuthProtocols, snmpPrivProtocols  FROM SNMP-FRAMEWORK-MIB;

snmpUsmMIB MODULE-IDENTITY
    LAST-UPDATED "9901200000Z"            -- 20 Jan 1999, midnight
    ORGANIZATION "SNMPv3 Working Group"
    CONTACT-INFO "WG-email:   snmpv3@lists.tislabs.com
                  Subscribe:  majordomo@lists.tislabs.com
                              In msg body:  subscribe snmpv3

                  Chair:      Russ Mundy
                              Trusted Information Systems
                  postal:     3060 Washington Rd
                              Glenwood MD 21738
                              USA
                  email:      mundy@tislabs.com
                  phone:      +1-301-854-6889

                  Co-editor   Uri Blumenthal



Blumenthal & Wijnen         Standards Track                    [Page 31]

RFC 2574                     USM for SNMPv3                   April 1999


                              IBM T. J. Watson Research
                  postal:     30 Saw Mill River Pkwy,
                              Hawthorne, NY 10532
                              USA
                  email:      uri@watson.ibm.com
                  phone:      +1-914-784-7964

                  Co-editor:  Bert Wijnen
                              IBM T. J. Watson Research
                  postal:     Schagen 33
                              3461 GL Linschoten
                              Netherlands
                  email:      wijnen@vnet.ibm.com
                  phone:      +31-348-432-794
                 "
    DESCRIPTION  "The management information definitions for the
                  SNMP User-based Security Model.
                 "
--  Revision history

    REVISION     "9901200000Z"            -- 20 Jan 1999, midnight
    DESCRIPTION  "Clarifications, published as RFC2574"

    REVISION     "9711200000Z"            -- 20 Nov 1997, midnight
    DESCRIPTION  "Initial version, published as RFC2274"

    ::= { snmpModules 15 }

-- Administrative assignments ****************************************

usmMIBObjects     OBJECT IDENTIFIER ::= { snmpUsmMIB 1 }
usmMIBConformance OBJECT IDENTIFIER ::= { snmpUsmMIB 2 }

-- Identification of Authentication and Privacy Protocols ************

usmNoAuthProtocol OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION  "No Authentication Protocol."
    ::= { snmpAuthProtocols 1 }

usmHMACMD5AuthProtocol OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION  "The HMAC-MD5-96 Digest Authentication Protocol."
    REFERENCE    "- H. Krawczyk, M. Bellare, R. Canetti HMAC:
                    Keyed-Hashing for Message Authentication,
                    RFC2104, Feb 1997.
                  - Rivest, R., Message Digest Algorithm MD5, RFC1321.
                 "
    ::= { snmpAuthProtocols 2 }

usmHMACSHAAuthProtocol OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION  "The HMAC-SHA-96 Digest Authentication Protocol."
    REFERENCE    "- H. Krawczyk, M. Bellare, R. Canetti, HMAC:
                    Keyed-Hashing for Message Authentication,
                    RFC2104, Feb 1997.
                  - Secure Hash Algorithm. NIST FIPS 180-1.
                 "
    ::= { snmpAuthProtocols 3 }

usmNoPrivProtocol OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION  "No Privacy Protocol."
    ::= { snmpPrivProtocols 1 }

usmDESPrivProtocol OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION  "The CBC-DES Symmetric Encryption Protocol."
    REFERENCE    "- Data Encryption Standard, National Institute of
                    Standards and Technology.  Federal Information
                    Processing Standard (FIPS) Publication 46-1.
                    Supersedes FIPS Publication 46,
                    (January, 1977; reaffirmed January, 1988).

                  - Data Encryption Algorithm, American National
                    Standards Institute.  ANSI X3.92-1981,
                    (December, 1980).

                  - DES Modes of Operation, National Institute of
                    Standards and Technology.  Federal Information
                    Processing Standard (FIPS) Publication 81,
                    (December, 1980).

                  - Data Encryption Algorithm - Modes of Operation,
                    American National Standards Institute.
                    ANSI X3.106-1983, (May 1983).
                 "
    ::= { snmpPrivProtocols 2 }


-- Textual Conventions ***********************************************


KeyChange ::=     TEXTUAL-CONVENTION
   STATUS         current
   DESCRIPTION
         "Every definition of an object with this syntax must identify
          a protocol P, a secret key K, and a hash algorithm H
          that produces output of L octets.

          The object's value is a manager-generated, partially-random
          value which, when modified, causes the value of the secret
          key K, to be modified via a one-way function.

          The value of an instance of this object is the concatenation
          of two components: first a 'random' component and then a
          'delta' component.

          The lengths of the random and delta components
          are given by the corresponding value of the protocol P;
          if P requires K to be a fixed length, the length of both the
          random and delta components is that fixed length; if P
          allows the length of K to be variable up to a particular
          maximum length, the length of the random component is that
          maximum length and the length of the delta component is any
          length less than or equal to that maximum length.
          For example, usmHMACMD5AuthProtocol requires K to be a fixed
          length of 16 octets and L - of 16 octets.
          usmHMACSHAAuthProtocol requires K to be a fixed length of
          20 octets and L - of 20 octets. Other protocols may define
          other sizes, as deemed appropriate.

          When a requester wants to change the old key K to a new
          key keyNew on a remote entity, the 'random' component is
          obtained from either a true random generator, or from a
          pseudorandom generator, and the 'delta' component is
          computed as follows:

           - a temporary variable is initialized to the existing value
             of K;
           - if the length of the keyNew is greater than L octets,
             then:
              - the random component is appended to the value of the
                temporary variable, and the result is input to the
                the hash algorithm H to produce a digest value, and
                the temporary variable is set to this digest value;
              - the value of the temporary variable is XOR-ed with
                the first (next) L-octets (16 octets in case of MD5)
                of the keyNew to produce the first (next) L-octets
                (16 octets in case of MD5) of the 'delta' component.
              - the above two steps are repeated until the unused
                portion of the keyNew component is L octets or less,
           - the random component is appended to the value of the
             temporary variable, and the result is input to the
             hash algorithm H to produce a digest value;
           - this digest value, truncated if necessary to be the same
             length as the unused portion of the keyNew, is XOR-ed
             with the unused portion of the keyNew to produce the
             (final portion of the) 'delta' component.

           For example, using MD5 as the hash algorithm H:

              iterations = (lenOfDelta - 1)/16; /* integer division */
              temp = keyOld;
              for (i = 0; i < iterations; i++) {
                  temp = MD5 (temp || random);
                  delta[i*16 .. (i*16)+15] =
                         temp XOR keyNew[i*16 .. (i*16)+15];
              }
              temp = MD5 (temp || random);
              delta[i*16 .. lenOfDelta-1] =
                     temp XOR keyNew[i*16 .. lenOfDelta-1];

          The 'random' and 'delta' components are then concatenated as
          described above, and the resulting octet string is sent to
          the recipient as the new value of an instance of this object.

          At the receiver side, when an instance of this object is set
          to a new value, then a new value of K is computed as follows:

           - a temporary variable is initialized to the existing value
             of K;
           - if the length of the delta component is greater than L
             octets, then:
              - the random component is appended to the value of the
                temporary variable, and the result is input to the
                hash algorithm H to produce a digest value, and the
                temporary variable is set to this digest value;
              - the value of the temporary variable is XOR-ed with
                the first (next) L-octets (16 octets in case of MD5)
                of the delta component to produce the first (next)
                L-octets (16 octets in case of MD5) of the new value
                of K.
              - the above two steps are repeated until the unused
                portion of the delta component is L octets or less,
           - the random component is appended to the value of the
             temporary variable, and the result is input to the
             hash algorithm H to produce a digest value;
           - this digest value, truncated if necessary to be the same
             length as the unused portion of the delta component, is
             XOR-ed with the unused portion of the delta component to
             produce the (final portion of the) new value of K.
           For example, using MD5 as the hash algorithm H:

              iterations = (lenOfDelta - 1)/16; /* integer division */
              temp = keyOld;
              for (i = 0; i < iterations; i++) {
                  temp = MD5 (temp || random);
                  keyNew[i*16 .. (i*16)+15] =
                         temp XOR delta[i*16 .. (i*16)+15];
              }
              temp = MD5 (temp || random);
              keyNew[i*16 .. lenOfDelta-1] =
                     temp XOR delta[i*16 .. lenOfDelta-1];

          The value of an object with this syntax, whenever it is
          retrieved by the management protocol, is always the zero
          length string.

          Note that the keyOld and keyNew are the localized keys.

          Note that it is probably wise that when an SNMP entity sends
          a SetRequest to change a key, that it keeps a copy of the old
          key until it has confirmed that the key change actually
          succeeded.
         "
    SYNTAX       OCTET STRING


-- Statistics for the User-based Security Model **********************


usmStats         OBJECT IDENTIFIER ::= { usmMIBObjects 1 }


usmStatsUnsupportedSecLevels OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION "The total number of packets received by the SNMP
                 engine which were dropped because they requested a
                 securityLevel that was unknown to the SNMP engine
                 or otherwise unavailable.
                "
    ::= { usmStats 1 }

usmStatsNotInTimeWindows OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION "The total number of packets received by the SNMP
                 engine which were dropped because they appeared
                 outside of the authoritative SNMP engine's window.
                "
    ::= { usmStats 2 }

usmStatsUnknownUserNames OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION "The total number of packets received by the SNMP
                 engine which were dropped because they referenced a
                 user that was not known to the SNMP engine.
                "
    ::= { usmStats 3 }

usmStatsUnknownEngineIDs OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION "The total number of packets received by the SNMP
                 engine which were dropped because they referenced an
                 snmpEngineID that was not known to the SNMP engine.
                "
    ::= { usmStats 4 }

usmStatsWrongDigests OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION "The total number of packets received by the SNMP
                 engine which were dropped because they didn't
                 contain the expected digest value.
                "
    ::= { usmStats 5 }

usmStatsDecryptionErrors OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION "The total number of packets received by the SNMP
                 engine which were dropped because they could not be
                 decrypted.
                "
    ::= { usmStats 6 }

-- The usmUser Group ************************************************

usmUser          OBJECT IDENTIFIER ::= { usmMIBObjects 2 }

usmUserSpinLock  OBJECT-TYPE
    SYNTAX       TestAndIncr
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION "An advisory lock used to allow several cooperating
                 Command Generator Applications to coordinate their
                 use of facilities to alter secrets in the
                 usmUserTable.
                "
    ::= { usmUser 1 }

-- The table of valid users for the User-based Security Model ********

usmUserTable     OBJECT-TYPE
    SYNTAX       SEQUENCE OF UsmUserEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "The table of users configured in the SNMP engine's
                 Local Configuration Datastore (LCD).

                 To create a new user (i.e., to instantiate a new
                 conceptual row in this table), it is recommended to
                 follow this procedure:

                   1)  GET(usmUserSpinLock.0) and save in sValue.
                   2)  SET(usmUserSpinLock.0=sValue,
                           usmUserCloneFrom=templateUser,
                           usmUserStatus=createAndWait)
                       You should use a template user to clone from
                       which has the proper auth/priv protocol defined.

                 If the new user is to use privacy:

                   3)  generate the keyChange value based on the secret
                       privKey of the clone-from user and the secret key
                       to be used for the new user. Let us call this
                       pkcValue.
                   4)  GET(usmUserSpinLock.0) and save in sValue.
                   5)  SET(usmUserSpinLock.0=sValue,
                           usmUserPrivKeyChange=pkcValue
                           usmUserPublic=randomValue1)
                   6)  GET(usmUserPulic) and check it has randomValue1.
                       If not, repeat steps 4-6.

                 If the new user will never use privacy:

                   7)  SET(usmUserPrivProtocol=usmNoPrivProtocol)

                 If the new user is to use authentication:

                   8)  generate the keyChange value based on the secret
                       authKey of the clone-from user and the secret key
                       to be used for the new user. Let us call this
                       akcValue.
                   9)  GET(usmUserSpinLock.0) and save in sValue.
                   10) SET(usmUserSpinLock.0=sValue,
                           usmUserAuthKeyChange=akcValue
                           usmUserPublic=randomValue2)
                   11) GET(usmUserPulic) and check it has randomValue2.
                       If not, repeat steps 9-11.

                 If the new user will never use authentication:

                   12) SET(usmUserAuthProtocol=usmNoAuthProtocol)

                 Finally, activate the new user:

                   13) SET(usmUserStatus=active)

                 The new user should now be available and ready to be
                 used for SNMPv3 communication. Note however that access
                 to MIB data must be provided via configuration of the
                 SNMP-VIEW-BASED-ACM-MIB.

                 The use of usmUserSpinlock is to avoid conflicts with
                 another SNMP command responder application which may
                 also be acting on the usmUserTable.
                "
    ::= { usmUser 2 }

usmUserEntry     OBJECT-TYPE
    SYNTAX       UsmUserEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "A user configured in the SNMP engine's Local
                 Configuration Datastore (LCD) for the User-based
                 Security Model.
                "
    INDEX       { usmUserEngineID,
                  usmUserName
                }
    ::= { usmUserTable 1 }

UsmUserEntry ::= SEQUENCE
    {
        usmUserEngineID         SnmpEngineID,
        usmUserName             SnmpAdminString,
        usmUserSecurityName     SnmpAdminString,
        usmUserCloneFrom        RowPointer,
        usmUserAuthProtocol     AutonomousType,
        usmUserAuthKeyChange    KeyChange,
        usmUserOwnAuthKeyChange KeyChange,
        usmUserPrivProtocol     AutonomousType,
        usmUserPrivKeyChange    KeyChange,
        usmUserOwnPrivKeyChange KeyChange,
        usmUserPublic           OCTET STRING,
        usmUserStorageType      StorageType,
        usmUserStatus           RowStatus
    }

usmUserEngineID  OBJECT-TYPE
    SYNTAX       SnmpEngineID
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "An SNMP engine's administratively-unique identifier.

                 In a simple agent, this value is always that agent's
                 own snmpEngineID value.

                 The value can also take the value of the snmpEngineID
                 of a remote SNMP engine with which this user can
                 communicate.
                "
    ::= { usmUserEntry 1 }

usmUserName      OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..32))
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "A human readable string representing the name of
                 the user.

                 This is the (User-based Security) Model dependent
                 security ID.
                "
    ::= { usmUserEntry 2 }

usmUserSecurityName OBJECT-TYPE
    SYNTAX       SnmpAdminString
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION "A human readable string representing the user in
                 Security Model independent format.

                 The default transformation of the User-based Security
                 Model dependent security ID to the securityName and
                 vice versa is the identity function so that the
                 securityName is the same as the userName.
                "
    ::= { usmUserEntry 3 }

usmUserCloneFrom OBJECT-TYPE
    SYNTAX       RowPointer
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "A pointer to another conceptual row in this
                 usmUserTable.  The user in this other conceptual
                 row is called the clone-from user.

                 When a new user is created (i.e., a new conceptual
                 row is instantiated in this table), the privacy and
                 authentication parameters of the new user must be
                 cloned from its clone-from user. These parameters are:
                   - authentication protocol (usmUserAuthProtocol)
                   - privacy protocol (usmUserPrivProtocol)
                 They will be copied regardless of what the current
                 value is.

                 Cloning also causes the initial values of the secret
                 authentication key (authKey) and the secret encryption
                 key (privKey) of the new user to be set to the same
                 value as the corresponding secret of the clone-from
                 user.

                 The first time an instance of this object is set by
                 a management operation (either at or after its
                 instantiation), the cloning process is invoked.
                 Subsequent writes are successful but invoke no
                 action to be taken by the receiver.
                 The cloning process fails with an 'inconsistentName'
                 error if the conceptual row representing the
                 clone-from user does not exist or is not in an active
                 state when the cloning process is invoked.

                 When this object is read, the ZeroDotZero OID
                 is returned.
                "
    ::= { usmUserEntry 4 }

usmUserAuthProtocol OBJECT-TYPE
    SYNTAX       AutonomousType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "An indication of whether messages sent on behalf of
                 this user to/from the SNMP engine identified by
                 usmUserEngineID, can be authenticated, and if so,
                 the type of authentication protocol which is used.

                 An instance of this object is created concurrently
                 with the creation of any other object instance for
                 the same user (i.e., as part of the processing of
                 the set operation which creates the first object
                 instance in the same conceptual row).

                 If an initial set operation (i.e. at row creation time)
                 tries to set a value for an unknown or unsupported
                 protocol, then a 'wrongValue' error must be returned.

                 The value will be overwritten/set when a set operation
                 is performed on the corresponding instance of
                 usmUserCloneFrom.

                 Once instantiated, the value of such an instance of
                 this object can only be changed via a set operation to
                 the value of the usmNoAuthProtocol.

                 If a set operation tries to change the value of an
                 existing instance of this object to any value other
                 than usmNoAuthProtocol, then an 'inconsistentValue'
                 error must be returned.

                 If a set operation tries to set the value to the
                 usmNoAuthProtocol while the usmUserPrivProtocol value
                 in the same row is not equal to usmNoPrivProtocol,
                 then an 'inconsistentValue' error must be returned.
                 That means that an SNMP command generator application
                 must first ensure that the usmUserPrivProtocol is set
                 to the usmNoPrivProtocol value before it can set
                 the usmUserAuthProtocol value to usmNoAuthProtocol.
                "
    DEFVAL      { usmNoAuthProtocol }
    ::= { usmUserEntry 5 }

usmUserAuthKeyChange OBJECT-TYPE
    SYNTAX       KeyChange   -- typically (SIZE (0 | 32)) for HMACMD5
                             -- typically (SIZE (0 | 40)) for HMACSHA
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "An object, which when modified, causes the secret
                 authentication key used for messages sent on behalf
                 of this user to/from the SNMP engine identified by
                 usmUserEngineID, to be modified via a one-way
                 function.

                 The associated protocol is the usmUserAuthProtocol.
                 The associated secret key is the user's secret
                 authentication key (authKey). The associated hash
                 algorithm is the algorithm used by the user's
                 usmUserAuthProtocol.

                 When creating a new user, it is an 'inconsistentName'
                 error for a set operation to refer to this object
                 unless it is previously or concurrently initialized
                 through a set operation on the corresponding instance
                 of usmUserCloneFrom.

                 When the value of the corresponding usmUserAuthProtocol
                 is usmNoAuthProtocol, then a set is successful, but
                 effectively is a no-op.

                 When this object is read, the zero-length (empty)
                 string is returned.

                 The recommended way to do a key change is as follows:

                   1) GET(usmUserSpinLock.0) and save in sValue.
                   2) generate the keyChange value based on the old
                      (existing) secret key and the new secret key,
                      let us call this kcValue.

                 If you do the key change on behalf of another user:

                   3) SET(usmUserSpinLock.0=sValue,
                          usmUserAuthKeyChange=kcValue
                          usmUserPublic=randomValue)

                 If you do the key change for yourself:

                   4) SET(usmUserSpinLock.0=sValue,
                          usmUserOwnAuthKeyChange=kcValue
                          usmUserPublic=randomValue)

                 If you get a response with error-status of noError,
                 then the SET succeeded and the new key is active.
                 If you do not get a response, then you can issue a
                 GET(usmUserPublic) and check if the value is equal
                 to the randomValue you did send in the SET. If so, then
                 the key change succeeded and the new key is active
                 (probably the response got lost). If not, then the SET
                 request probably never reached the target and so you
                 can start over with the procedure above.
                "
    DEFVAL      { ''H }    -- the empty string
    ::= { usmUserEntry 6 }

usmUserOwnAuthKeyChange OBJECT-TYPE
    SYNTAX       KeyChange   -- typically (SIZE (0 | 32)) for HMACMD5
                             -- typically (SIZE (0 | 40)) for HMACSHA
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "Behaves exactly as usmUserAuthKeyChange, with one
                 notable difference: in order for the set operation
                 to succeed, the usmUserName of the operation
                 requester must match the usmUserName that
                 indexes the row which is targeted by this
                 operation.
                 In addition, the USM security model must be
                 used for this operation.

                 The idea here is that access to this column can be
                 public, since it will only allow a user to change
                 his own secret authentication key (authKey).
                 Note that this can only be done once the row is active.

                 When a set is received and the usmUserName of the
                 requester is not the same as the umsUserName that
                 indexes the row which is targeted by this operation,
                 then a 'noAccess' error must be returned.

                 When a set is received and the security model in use
                 is not USM, then a 'noAccess' error must be returned.
                "
    DEFVAL      { ''H }    -- the empty string
    ::= { usmUserEntry 7 }

usmUserPrivProtocol OBJECT-TYPE
    SYNTAX       AutonomousType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "An indication of whether messages sent on behalf of
                 this user to/from the SNMP engine identified by
                 usmUserEngineID, can be protected from disclosure,
                 and if so, the type of privacy protocol which is used.

                 An instance of this object is created concurrently
                 with the creation of any other object instance for
                 the same user (i.e., as part of the processing of
                 the set operation which creates the first object
                 instance in the same conceptual row).

                 If an initial set operation (i.e. at row creation time)
                 tries to set a value for an unknown or unsupported
                 protocol, then a 'wrongValue' error must be returned.

                 The value will be overwritten/set when a set operation
                 is performed on the corresponding instance of
                 usmUserCloneFrom.

                 Once instantiated, the value of such an instance of
                 this object can only be changed via a set operation to
                 the value of the usmNoPrivProtocol.

                 If a set operation tries to change the value of an
                 existing instance of this object to any value other
                 than usmNoPrivProtocol, then an 'inconsistentValue'
                 error must be returned.

                 Note that if any privacy protocol is used, then you
                 must also use an authentication protocol. In other
                 words, if usmUserPrivProtocol is set to anything else
                 than usmNoPrivProtocol, then the corresponding instance
                 of usmUserAuthProtocol cannot have a value of
                 usmNoAuthProtocol. If it does, then an
                 'inconsistentValue' error must be returned.
                "
    DEFVAL      { usmNoPrivProtocol }
    ::= { usmUserEntry 8 }

usmUserPrivKeyChange OBJECT-TYPE
    SYNTAX       KeyChange  -- typically (SIZE (0 | 32)) for DES
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "An object, which when modified, causes the secret
                 encryption key used for messages sent on behalf
                 of this user to/from the SNMP engine identified by
                 usmUserEngineID, to be modified via a one-way
                 function.

                 The associated protocol is the usmUserPrivProtocol.
                 The associated secret key is the user's secret
                 privacy key (privKey). The associated hash
                 algorithm is the algorithm used by the user's
                 usmUserAuthProtocol.

                 When creating a new user, it is an 'inconsistentName'
                 error for a set operation to refer to this object
                 unless it is previously or concurrently initialized
                 through a set operation on the corresponding instance
                 of usmUserCloneFrom.

                 When the value of the corresponding usmUserPrivProtocol
                 is usmNoPrivProtocol, then a set is successful, but
                 effectively is a no-op.

                 When this object is read, the zero-length (empty)
                 string is returned.
                 See the description clause of usmUserAuthKeyChange for
                 a recommended procedure to do a key change.
                "
    DEFVAL      { ''H }    -- the empty string
    ::= { usmUserEntry 9 }

usmUserOwnPrivKeyChange OBJECT-TYPE
    SYNTAX       KeyChange  -- typically (SIZE (0 | 32)) for DES
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "Behaves exactly as usmUserPrivKeyChange, with one
                 notable difference: in order for the Set operation
                 to succeed, the usmUserName of the operation
                 requester must match the usmUserName that indexes
                 the row which is targeted by this operation.
                 In addition, the USM security model must be
                 used for this operation.

                 The idea here is that access to this column can be
                 public, since it will only allow a user to change
                 his own secret privacy key (privKey).
                 Note that this can only be done once the row is active.

                 When a set is received and the usmUserName of the
                 requester is not the same as the umsUserName that
                 indexes the row which is targeted by this operation,
                 then a 'noAccess' error must be returned.

                 When a set is received and the security model in use
                 is not USM, then a 'noAccess' error must be returned.
                "
    DEFVAL      { ''H }    -- the empty string
    ::= { usmUserEntry 10 }

usmUserPublic    OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE(0..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "A publicly-readable value which can be written as part
                 of the procedure for changing a user's secret
                 authentication and/or privacy key, and later read to
                 determine whether the change of the secret was
                 effected.
                "
    DEFVAL      { ''H }  -- the empty string
    ::= { usmUserEntry 11 }

usmUserStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The storage type for this conceptual row.

                 Conceptual rows having the value 'permanent' must
                 allow write-access at a minimum to:

                 - usmUserAuthKeyChange, usmUserOwnAuthKeyChange
                   and usmUserPublic for a user who employs
                   authentication, and
                 - usmUserPrivKeyChange, usmUserOwnPrivKeyChange
                   and usmUserPublic for a user who employs
                   privacy.

                 Note that any user who employs authentication or
                 privacy must allow its secret(s) to be updated and
                 thus cannot be 'readOnly'.

                 If an initial set operation tries to set the value to
                 'readOnly' for a user who employs authentication or
                 privacy, then an 'inconsistentValue' error must be
                 returned.  Note that if the value has been previously
                 set (implicit or explicit) to any value, then the rules
                 as defined in the StorageType Textual Convention apply.

                 It is an implementation issue to decide if a SET for
                 a readOnly or permanent row is accepted at all. In some
                 contexts this may make sense, in others it may not. If
                 a SET for a readOnly or permanent row is not accepted
                 at all, then a 'wrongValue' error must be returned.
                "
    DEFVAL      { nonVolatile }
    ::= { usmUserEntry 12 }

usmUserStatus    OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The status of this conceptual row.

                 Until instances of all corresponding columns are
                 appropriately configured, the value of the
                 corresponding instance of the usmUserStatus column
                 is 'notReady'.

                 In particular, a newly created row for a user who
                 employs authentication, cannot be made active until the
                 corresponding usmUserCloneFrom and usmUserAuthKeyChange
                 have been set.

                 Further, a newly created row for a user who also
                 employs privacy, cannot be made active until the
                 usmUserPrivKeyChange has been set.

                 The RowStatus TC [RFC2579] requires that this
                 DESCRIPTION clause states under which circumstances
                 other objects in this row can be modified:

                 The value of this object has no effect on whether
                 other objects in this conceptual row can be modified,
                 except for usmUserOwnAuthKeyChange and
                 usmUserOwnPrivKeyChange. For these 2 objects, the
                 value of usmUserStatus MUST be active.
                "
    ::= { usmUserEntry 13 }

-- Conformance Information *******************************************

usmMIBCompliances OBJECT IDENTIFIER ::= { usmMIBConformance 1 }
usmMIBGroups      OBJECT IDENTIFIER ::= { usmMIBConformance 2 }

-- Compliance statements

usmMIBCompliance MODULE-COMPLIANCE
    STATUS       current
    DESCRIPTION "The compliance statement for SNMP engines which
                 implement the SNMP-USER-BASED-SM-MIB.
                "

    MODULE       -- this module
        MANDATORY-GROUPS { usmMIBBasicGroup }
        OBJECT           usmUserAuthProtocol
        MIN-ACCESS       read-only
        DESCRIPTION     "Write access is not required."

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

    ::= { usmMIBCompliances 1 }

-- Units of compliance
usmMIBBasicGroup OBJECT-GROUP
    OBJECTS     {
                  usmStatsUnsupportedSecLevels,
                  usmStatsNotInTimeWindows,
                  usmStatsUnknownUserNames,
                  usmStatsUnknownEngineIDs,
                  usmStatsWrongDigests,
                  usmStatsDecryptionErrors,
                  usmUserSpinLock,
                  usmUserSecurityName,
                  usmUserCloneFrom,
                  usmUserAuthProtocol,
                  usmUserAuthKeyChange,
                  usmUserOwnAuthKeyChange,
                  usmUserPrivProtocol,
                  usmUserPrivKeyChange,
                  usmUserOwnPrivKeyChange,
                  usmUserPublic,
                  usmUserStorageType,
                  usmUserStatus
                }
    STATUS       current
    DESCRIPTION "A collection of objects providing for configuration
                 of an SNMP engine which implements the SNMP
                 User-based Security Model.
                "
    ::= { usmMIBGroups 1 }

END
SNMP-VIEW-BASED-ACM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-COMPLIANCE, OBJECT-GROUP       FROM SNMPv2-CONF
    MODULE-IDENTITY, OBJECT-TYPE,
    snmpModules                           FROM SNMPv2-SMI
    TestAndIncr,
    RowStatus, StorageType                FROM SNMPv2-TC
    SnmpAdminString,
    SnmpSecurityLevel,
    SnmpSecurityModel                     FROM SNMP-FRAMEWORK-MIB;

snmpVacmMIB       MODULE-IDENTITY
    LAST-UPDATED "9901200000Z"            -- 20 Jan 1999, midnight
    ORGANIZATION "SNMPv3 Working Group"
    CONTACT-INFO "WG-email:   snmpv3@lists.tislabs.com
                  Subscribe:  majordomo@lists.tislabs.com
                              In message body:  subscribe snmpv3

                  Chair:      Russ Mundy
                              Trusted Information Systems
                  postal:     3060 Washington Rd
                              Glenwood MD 21738
                              USA
                  email:      mundy@tislabs.com
                  phone:      +1-301-854-6889

                  Co-editor:  Bert Wijnen
                              IBM T.J. Watson Research
                  postal:     Schagen 33
                              3461 GL Linschoten
                              Netherlands
                  email:      wijnen@vnet.ibm.com
                  phone:      +31-348-432-794

                  Co-editor:  Randy Presuhn
                              BMC Software, Inc
                  postal:     965 Stewart Drive
                              Sunnyvale, CA 94086
                              USA
                  email:      randy_presuhn@bmc.com
                  phone:      +1-408-616-3100

                  Co-editor:  Keith McCloghrie
                              Cisco Systems, Inc.
                  postal:     170 West Tasman Drive
                              San Jose, CA  95134-1706
                              USA
                  email:      kzm@cisco.com
                  phone:      +1-408-526-5260
                 "
    DESCRIPTION  "The management information definitions for the
                  View-based Access Control Model for SNMP.
                 "
--  Revision history
    REVISION     "9901200000Z"            -- 20 Jan 1999, midnight
    DESCRIPTION  "Clarifications, published as RFC2575"

    REVISION     "9711200000Z"            -- 20 Nov 1997, midnight
    DESCRIPTION  "Initial version, published as RFC2275"

    ::= { snmpModules 16 }

-- Administrative assignments ****************************************

vacmMIBObjects      OBJECT IDENTIFIER ::= { snmpVacmMIB 1 }
vacmMIBConformance  OBJECT IDENTIFIER ::= { snmpVacmMIB 2 }

-- Information about Local Contexts **********************************

vacmContextTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF VacmContextEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "The table of locally available contexts.

                 This table provides information to SNMP Command
                 Generator applications so that they can properly
                 configure the vacmAccessTable to control access to
                 all contexts at the SNMP entity.

                 This table may change dynamically if the SNMP entity
                 allows that contexts are added/deleted dynamically
                 (for instance when its configuration changes). Such
                 changes would happen only if the management
                 instrumentation at that SNMP entity recognizes more
                 (or fewer) contexts.

                 The presence of entries in this table and of entries
                 in the vacmAccessTable are independent.  That is, a
                 context identified by an entry in this table is not
                 necessarily referenced by any entries in the
                 vacmAccessTable; and the context(s) referenced by an
                 entry in the vacmAccessTable does not necessarily
                 currently exist and thus need not be identified by an
                 entry in this table.

                 This table must be made accessible via the default
                 context so that Command Responder applications have
                 a standard way of retrieving the information.

                 This table is read-only. It cannot be configured via
                 SNMP.
                "
    ::= { vacmMIBObjects 1 }

vacmContextEntry OBJECT-TYPE
    SYNTAX       VacmContextEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "Information about a particular context."
    INDEX       {
                  vacmContextName
                }
    ::= { vacmContextTable 1 }

VacmContextEntry ::= SEQUENCE
    {
        vacmContextName SnmpAdminString
    }

vacmContextName  OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..32))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION "A human readable name identifying a particular
                 context at a particular SNMP entity.

                 The empty contextName (zero length) represents the
                 default context.
                "
    ::= { vacmContextEntry 1 }

-- Information about Groups ******************************************

vacmSecurityToGroupTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF VacmSecurityToGroupEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "This table maps a combination of securityModel and
                 securityName into a groupName which is used to define
                 an access control policy for a group of principals.
                "
    ::= { vacmMIBObjects 2 }

vacmSecurityToGroupEntry OBJECT-TYPE
    SYNTAX       VacmSecurityToGroupEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "An entry in this table maps the combination of a
                 securityModel and securityName into a groupName.
                "
    INDEX       {
                  vacmSecurityModel,
                  vacmSecurityName
                }
    ::= { vacmSecurityToGroupTable 1 }

VacmSecurityToGroupEntry ::= SEQUENCE
    {
        vacmSecurityModel               SnmpSecurityModel,
        vacmSecurityName                SnmpAdminString,
        vacmGroupName                   SnmpAdminString,
        vacmSecurityToGroupStorageType  StorageType,
        vacmSecurityToGroupStatus       RowStatus
    }

vacmSecurityModel OBJECT-TYPE
    SYNTAX       SnmpSecurityModel(1..2147483647)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "The Security Model, by which the vacmSecurityName
                 referenced by this entry is provided.

                 Note, this object may not take the 'any' (0) value.
                "
    ::= { vacmSecurityToGroupEntry 1 }

vacmSecurityName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..32))
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "The securityName for the principal, represented in a
                 Security Model independent format, which is mapped by
                 this entry to a groupName.
                "
    ::= { vacmSecurityToGroupEntry 2 }

vacmGroupName    OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The name of the group to which this entry (e.g., the
                 combination of securityModel and securityName)
                 belongs.

                 This groupName is used as index into the
                 vacmAccessTable to select an access control policy.
                 However, a value in this table does not imply that an
                 instance with the value exists in table vacmAccesTable.
                "
    ::= { vacmSecurityToGroupEntry 3 }

vacmSecurityToGroupStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The storage type for this conceptual row.
                 Conceptual rows having the value 'permanent' need not
                 allow write-access to any columnar objects in the row.
                "
    DEFVAL      { nonVolatile }
    ::= { vacmSecurityToGroupEntry 4 }

vacmSecurityToGroupStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The status of this conceptual row.

                 Until instances of all corresponding columns are
                 appropriately configured, the value of the
                 corresponding instance of the vacmSecurityToGroupStatus
                 column is 'notReady'.

                 In particular, a newly created row cannot be made
                 active until a value has been set for vacmGroupName.

                 The  RowStatus TC [RFC2579] requires that this
                 DESCRIPTION clause states under which circumstances
                 other objects in this row can be modified:

                 The value of this object has no effect on whether
                 other objects in this conceptual row can be modified.
                "
    ::= { vacmSecurityToGroupEntry 5 }

-- Information about Access Rights ***********************************

vacmAccessTable  OBJECT-TYPE
    SYNTAX       SEQUENCE OF VacmAccessEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "The table of access rights for groups.

                 Each entry is indexed by a groupName, a contextPrefix,
                 a securityModel and a securityLevel.  To determine
                 whether access is allowed, one entry from this table
                 needs to be selected and the proper viewName from that
                 entry must be used for access control checking.

                 To select the proper entry, follow these steps:

                 1) the set of possible matches is formed by the
                    intersection of the following sets of entries:
                      the set of entries with identical vacmGroupName
                      the union of these two sets:
                       - the set with identical vacmAccessContextPrefix
                       - the set of entries with vacmAccessContextMatch
                         value of 'prefix' and matching
                         vacmAccessContextPrefix
                      intersected with the union of these two sets:
                       - the set of entries with identical
                         vacmSecurityModel
                       - the set of entries with vacmSecurityModel
                         value of 'any'
                      intersected with the set of entries with
                      vacmAccessSecurityLevel value less than or equal
                      to the requested securityLevel

                 2) if this set has only one member, we're done
                    otherwise, it comes down to deciding how to weight
                    the preferences between ContextPrefixes,
                    SecurityModels, and SecurityLevels as follows:
                    a) if the subset of entries with securityModel
                       matching the securityModel in the message is
                       not empty, then discard the rest.
                    b) if the subset of entries with
                       vacmAccessContextPrefix matching the contextName
                       in the message is not empty,
                       then discard the rest
                    c) discard all entries with ContextPrefixes shorter
                       than the longest one remaining in the set
                    d) select the entry with the highest securityLevel

                 Please note that for securityLevel noAuthNoPriv, all
                 groups are really equivalent since the assumption that
                 the securityName has been authenticated does not hold.
                "
    ::= { vacmMIBObjects 4 }

vacmAccessEntry  OBJECT-TYPE
    SYNTAX       VacmAccessEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "An access right configured in the Local Configuration
                 Datastore (LCD) authorizing access to an SNMP context.

                 Entries in this table can use an instance value for
                 object vacmGroupName even if no entry in table
                 vacmAccessSecurityToGroupTable has a corresponding
                 value for object vacmGroupName.
                "
    INDEX       { vacmGroupName,
                  vacmAccessContextPrefix,
                  vacmAccessSecurityModel,
                  vacmAccessSecurityLevel
                }
    ::= { vacmAccessTable 1 }

VacmAccessEntry ::= SEQUENCE
    {
        vacmAccessContextPrefix    SnmpAdminString,
        vacmAccessSecurityModel    SnmpSecurityModel,
        vacmAccessSecurityLevel    SnmpSecurityLevel,
        vacmAccessContextMatch     INTEGER,
        vacmAccessReadViewName     SnmpAdminString,
        vacmAccessWriteViewName    SnmpAdminString,
        vacmAccessNotifyViewName   SnmpAdminString,
        vacmAccessStorageType      StorageType,
        vacmAccessStatus           RowStatus
    }

vacmAccessContextPrefix OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..32))
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "In order to gain the access rights allowed by this
                 conceptual row, a contextName must match exactly
                 (if the value of vacmAccessContextMatch is 'exact')
                 or partially (if the value of vacmAccessContextMatch
                 is 'prefix') to the value of the instance of this
                 object.
                "
    ::= { vacmAccessEntry 1 }

vacmAccessSecurityModel OBJECT-TYPE
    SYNTAX       SnmpSecurityModel
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "In order to gain the access rights allowed by this
                 conceptual row, this securityModel must be in use.
                "
    ::= { vacmAccessEntry 2 }

vacmAccessSecurityLevel OBJECT-TYPE
    SYNTAX       SnmpSecurityLevel
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "The minimum level of security required in order to
                 gain the access rights allowed by this conceptual
                 row.  A securityLevel of noAuthNoPriv is less than
                 authNoPriv which in turn is less than authPriv.

                 If multiple entries are equally indexed except for
                 this vacmAccessSecurityLevel index, then the entry
                 which has the highest value for
                 vacmAccessSecurityLevel is selected.
                "
    ::= { vacmAccessEntry 3 }

vacmAccessContextMatch OBJECT-TYPE
    SYNTAX       INTEGER
                { exact (1), -- exact match of prefix and contextName
                  prefix (2) -- Only match to the prefix
                }
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "If the value of this object is exact(1), then all
                 rows where the contextName exactly matches
                 vacmAccessContextPrefix are selected.

                 If the value of this object is prefix(2), then all
                 rows where the contextName whose starting octets
                 exactly match vacmAccessContextPrefix are selected.
                 This allows for a simple form of wildcarding.
                "
    DEFVAL      { exact }
    ::= { vacmAccessEntry 4 }

vacmAccessReadViewName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The value of an instance of this object identifies
                 the MIB view of the SNMP context to which this
                 conceptual row authorizes read access.

                 The identified MIB view is that one for which the
                 vacmViewTreeFamilyViewName has the same value as the
                 instance of this object; if the value is the empty
                 string or if there is no active MIB view having this
                 value of vacmViewTreeFamilyViewName, then no access
                 is granted.
                "
    DEFVAL      { ''H }   -- the empty string
    ::= { vacmAccessEntry 5 }

vacmAccessWriteViewName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The value of an instance of this object identifies
                 the MIB view of the SNMP context to which this
                 conceptual row authorizes write access.

                 The identified MIB view is that one for which the
                 vacmViewTreeFamilyViewName has the same value as the
                 instance of this object; if the value is the empty
                 string or if there is no active MIB view having this
                 value of vacmViewTreeFamilyViewName, then no access
                 is granted.
                "
    DEFVAL      { ''H }   -- the empty string
    ::= { vacmAccessEntry 6 }

vacmAccessNotifyViewName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The value of an instance of this object identifies
                 the MIB view of the SNMP context to which this
                 conceptual row authorizes access for notifications.

                 The identified MIB view is that one for which the
                 vacmViewTreeFamilyViewName has the same value as the
                 instance of this object; if the value is the empty
                 string or if there is no active MIB view having this
                 value of vacmViewTreeFamilyViewName, then no access
                 is granted.
                "
    DEFVAL      { ''H }   -- the empty string
    ::= { vacmAccessEntry 7 }

vacmAccessStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The storage type for this conceptual row.

                 Conceptual rows having the value 'permanent' need not
                 allow write-access to any columnar objects in the row.
                "
    DEFVAL      { nonVolatile }
    ::= { vacmAccessEntry 8 }

vacmAccessStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The status of this conceptual row.

                 The  RowStatus TC [RFC2579] requires that this
                 DESCRIPTION clause states under which circumstances
                 other objects in this row can be modified:

                 The value of this object has no effect on whether
                 other objects in this conceptual row can be modified.
                "
    ::= { vacmAccessEntry 9 }

-- Information about MIB views ***************************************

-- Support for instance-level granularity is optional.
--
-- In some implementations, instance-level access control
-- granularity may come at a high performance cost.  Managers
-- should avoid requesting such configurations unnecessarily.

vacmMIBViews     OBJECT IDENTIFIER ::= { vacmMIBObjects 5 }

vacmViewSpinLock OBJECT-TYPE
    SYNTAX       TestAndIncr
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION "An advisory lock used to allow cooperating SNMP
                 Command Generator applications to coordinate their
                 use of the Set operation in creating or modifying
                 views.

                 When creating a new view or altering an existing
                 view, it is important to understand the potential
                 interactions with other uses of the view.  The
                 vacmViewSpinLock should be retrieved.  The name of
                 the view to be created should be determined to be
                 unique by the SNMP Command Generator application by
                 consulting the vacmViewTreeFamilyTable.  Finally,
                 the named view may be created (Set), including the
                 advisory lock.
                 If another SNMP Command Generator application has
                 altered the views in the meantime, then the spin
                 lock's value will have changed, and so this creation
                 will fail because it will specify the wrong value for
                 the spin lock.

                 Since this is an advisory lock, the use of this lock
                 is not enforced.
                "
    ::= { vacmMIBViews 1 }

vacmViewTreeFamilyTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF VacmViewTreeFamilyEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "Locally held information about families of subtrees
                 within MIB views.

                 Each MIB view is defined by two sets of view subtrees:
                   - the included view subtrees, and
                   - the excluded view subtrees.
                 Every such view subtree, both the included and the
                 excluded ones, is defined in this table.

                 To determine if a particular object instance is in
                 a particular MIB view, compare the object instance's
                 OBJECT IDENTIFIER with each of the MIB view's active
                 entries in this table.  If none match, then the
                 object instance is not in the MIB view.  If one or
                 more match, then the object instance is included in,
                 or excluded from, the MIB view according to the
                 value of vacmViewTreeFamilyType in the entry whose
                 value of vacmViewTreeFamilySubtree has the most
                 sub-identifiers.  If multiple entries match and have
                 the same number of sub-identifiers (when wildcarding
                 is specified with the value of vacmViewTreeFamilyMask),
                 then the lexicographically greatest instance of
                 vacmViewTreeFamilyType determines the inclusion or
                 exclusion.

                 An object instance's OBJECT IDENTIFIER X matches an
                 active entry in this table when the number of
                 sub-identifiers in X is at least as many as in the
                 value of vacmViewTreeFamilySubtree for the entry,
                 and each sub-identifier in the value of
                 vacmViewTreeFamilySubtree matches its corresponding
                 sub-identifier in X.  Two sub-identifiers match
                 either if the corresponding bit of the value of
                 vacmViewTreeFamilyMask for the entry is zero (the
                 'wild card' value), or if they are equal.

                 A 'family' of subtrees is the set of subtrees defined
                 by a particular combination of values of
                 vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask.
                 In the case where no 'wild card' is defined in the
                 vacmViewTreeFamilyMask, the family of subtrees reduces
                 to a single subtree.

                 When creating or changing MIB views, an SNMP Command
                 Generator application should utilize the
                 vacmViewSpinLock to try to avoid collisions. See
                 DESCRIPTION clause of vacmViewSpinLock.

                 When creating MIB views, it is strongly advised that
                 first the 'excluded' vacmViewTreeFamilyEntries are
                 created and then the 'included' entries.

                 When deleting MIB views, it is strongly advised that
                 first the 'included' vacmViewTreeFamilyEntries are
                 deleted and then the 'excluded' entries.

                 If a create for an entry for instance-level access
                 control is received and the implementation does not
                 support instance-level granularity, then an
                 inconsistentName error must be returned.
                "
    ::= { vacmMIBViews 2 }

vacmViewTreeFamilyEntry OBJECT-TYPE
    SYNTAX       VacmViewTreeFamilyEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "Information on a particular family of view subtrees
                 included in or excluded from a particular SNMP
                 context's MIB view.

                 Implementations must not restrict the number of
                 families of view subtrees for a given MIB view,
                 except as dictated by resource constraints on the
                 overall number of entries in the
                 vacmViewTreeFamilyTable.

                 If no conceptual rows exist in this table for a given
                 MIB view (viewName), that view may be thought of as
                 consisting of the empty set of view subtrees.
                "
    INDEX       { vacmViewTreeFamilyViewName,
                  vacmViewTreeFamilySubtree
                }
    ::= { vacmViewTreeFamilyTable 1 }

VacmViewTreeFamilyEntry ::= SEQUENCE
    {
        vacmViewTreeFamilyViewName     SnmpAdminString,
        vacmViewTreeFamilySubtree      OBJECT IDENTIFIER,
        vacmViewTreeFamilyMask         OCTET STRING,
        vacmViewTreeFamilyType         INTEGER,
        vacmViewTreeFamilyStorageType  StorageType,
        vacmViewTreeFamilyStatus       RowStatus
    }

vacmViewTreeFamilyViewName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..32))
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "The human readable name for a family of view subtrees.
                "
    ::= { vacmViewTreeFamilyEntry 1 }

vacmViewTreeFamilySubtree OBJECT-TYPE
    SYNTAX       OBJECT IDENTIFIER
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION "The MIB subtree which when combined with the
                 corresponding instance of vacmViewTreeFamilyMask
                 defines a family of view subtrees.
                "
    ::= { vacmViewTreeFamilyEntry 2 }

vacmViewTreeFamilyMask OBJECT-TYPE
    SYNTAX       OCTET STRING (SIZE (0..16))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The bit mask which, in combination with the
                 corresponding instance of vacmViewTreeFamilySubtree,
                 defines a family of view subtrees.

                 Each bit of this bit mask corresponds to a
                 sub-identifier of vacmViewTreeFamilySubtree, with the
                 most significant bit of the i-th octet of this octet
                 string value (extended if necessary, see below)
                 corresponding to the (8*i - 7)-th sub-identifier, and
                 the least significant bit of the i-th octet of this
                 octet string corresponding to the (8*i)-th
                 sub-identifier, where i is in the range 1 through 16.

                 Each bit of this bit mask specifies whether or not
                 the corresponding sub-identifiers must match when
                 determining if an OBJECT IDENTIFIER is in this
                 family of view subtrees; a '1' indicates that an
                 exact match must occur; a '0' indicates 'wild card',
                 i.e., any sub-identifier value matches.

                 Thus, the OBJECT IDENTIFIER X of an object instance
                 is contained in a family of view subtrees if, for
                 each sub-identifier of the value of
                 vacmViewTreeFamilySubtree, either:

                   the i-th bit of vacmViewTreeFamilyMask is 0, or

                   the i-th sub-identifier of X is equal to the i-th
                   sub-identifier of the value of
                   vacmViewTreeFamilySubtree.

                 If the value of this bit mask is M bits long and
                 there are more than M sub-identifiers in the
                 corresponding instance of vacmViewTreeFamilySubtree,
                 then the bit mask is extended with 1's to be the
                 required length.

                 Note that when the value of this object is the
                 zero-length string, this extension rule results in
                 a mask of all-1's being used (i.e., no 'wild card'),
                 and the family of view subtrees is the one view
                 subtree uniquely identified by the corresponding
                 instance of vacmViewTreeFamilySubtree.

                 Note that masks of length greater than zero length
                 do not need to be supported. In this case this
                 object is made read-only.
                "
    DEFVAL      { ''H }
    ::= { vacmViewTreeFamilyEntry 3 }

vacmViewTreeFamilyType OBJECT-TYPE
    SYNTAX       INTEGER  { included(1), excluded(2) }
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "Indicates whether the corresponding instances of
                 vacmViewTreeFamilySubtree and vacmViewTreeFamilyMask
                 define a family of view subtrees which is included in
                 or excluded from the MIB view.
                "
    DEFVAL      { included }
    ::= { vacmViewTreeFamilyEntry 4 }

vacmViewTreeFamilyStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The storage type for this conceptual row.

                 Conceptual rows having the value 'permanent' need not
                 allow write-access to any columnar objects in the row.
                "
    DEFVAL      { nonVolatile }
    ::= { vacmViewTreeFamilyEntry 5 }

vacmViewTreeFamilyStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION "The status of this conceptual row.

                 The  RowStatus TC [RFC2579] requires that this
                 DESCRIPTION clause states under which circumstances
                 other objects in this row can be modified:

                 The value of this object has no effect on whether
                 other objects in this conceptual row can be modified.
                "
    ::= { vacmViewTreeFamilyEntry 6 }

-- Conformance information *******************************************

vacmMIBCompliances  OBJECT IDENTIFIER ::= { vacmMIBConformance 1 }
vacmMIBGroups       OBJECT IDENTIFIER ::= { vacmMIBConformance 2 }

-- Compliance statements *********************************************

vacmMIBCompliance MODULE-COMPLIANCE
    STATUS       current
    DESCRIPTION "The compliance statement for SNMP engines which
                 implement the SNMP View-based Access Control Model
                 configuration MIB.
                "
    MODULE -- this module
        MANDATORY-GROUPS { vacmBasicGroup }

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

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

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

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

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

        OBJECT        vacmAccessStatus
        MIN-ACCESS    read-only
        DESCRIPTION  "Create/delete/modify access to the
                      vacmAccessTable is not required.
                     "

        OBJECT        vacmViewTreeFamilyMask
        WRITE-SYNTAX  OCTET STRING (SIZE (0))
        MIN-ACCESS    read-only
        DESCRIPTION  "Support for configuration via SNMP of subtree
                      families using wild-cards is not required.
                     "

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

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

        OBJECT        vacmViewTreeFamilyStatus
        MIN-ACCESS    read-only
        DESCRIPTION  "Create/delete/modify access to the
                      vacmViewTreeFamilyTable is not required.
                     "
    ::= { vacmMIBCompliances 1 }

-- Units of conformance **********************************************

vacmBasicGroup OBJECT-GROUP
    OBJECTS {
              vacmContextName,
              vacmGroupName,
              vacmSecurityToGroupStorageType,
              vacmSecurityToGroupStatus,
              vacmAccessContextMatch,
              vacmAccessReadViewName,
              vacmAccessWriteViewName,
              vacmAccessNotifyViewName,
              vacmAccessStorageType,
              vacmAccessStatus,
              vacmViewSpinLock,
              vacmViewTreeFamilyMask,
              vacmViewTreeFamilyType,
              vacmViewTreeFamilyStorageType,
              vacmViewTreeFamilyStatus
            }
    STATUS       current
    DESCRIPTION "A collection of objects providing for remote
                 configuration of an SNMP engine which implements
                 the SNMP View-based Access Control Model.
                "
    ::= { vacmMIBGroups 1 }

END
SNMP-COMMUNITY-MIB DEFINITIONS ::= BEGIN

IMPORTS
    IpAddress,
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32,
    snmpModules
        FROM SNMPv2-SMI
    RowStatus,
    StorageType
        FROM SNMPv2-TC
    SnmpAdminString,
    SnmpEngineID
        FROM SNMP-FRAMEWORK-MIB
    SnmpTagValue,
    snmpTargetAddrEntry
        FROM SNMP-TARGET-MIB
    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF;

snmpCommunityMIB MODULE-IDENTITY
    LAST-UPDATED "200003060000Z"          -- 6 Mar 2000, midnight
    ORGANIZATION "SNMPv3 Working Group"
    CONTACT-INFO "WG-email:   snmpv3@lists.tislabs.com
                  Subscribe:  majordomo@lists.tislabs.com
                              In msg body:  subscribe snmpv3

                  Chair:      Russ Mundy
                              TIS Labs at Network Associates
                  Postal:     3060 Washington Rd
                              Glenwood MD 21738
                              USA
                  Email:      mundy@tislabs.com
                  Phone:      +1-301-854-6889
                  Co-editor:  Rob Frye
                              CoSine Communications
                  Postal:     1200 Bridge Parkway
                              Redwood City, CA 94065
                              USA
                  E-mail:     rfrye@cosinecom.com
                  Phone:      +1 703 725 1130

                  Co-editor:  David B. Levi
                              Nortel Networks
                  Postal:     3505 Kesterwood Drive
                              Knoxville, TN 37918
                  E-mail:     dlevi@nortelnetworks.com
                  Phone:      +1 423 686 0432

                  Co-editor:  Shawn A. Routhier
                              Integrated Systems Inc.
                  Postal:     333 North Ave 4th Floor
                              Wakefield, MA 01880
                  E-mail:     sar@epilogue.com
                  Phone:      +1 781 245 0804

                  Co-editor:  Bert Wijnen
                              Lucent Technologies
                  Postal:     Schagen 33
                              3461 GL Linschoten
                              Netherlands
                  Email:      bwijnen@lucent.com
                  Phone:      +31-348-407-775
                 "

        DESCRIPTION
            "This MIB module defines objects to help support coexistence
             between SNMPv1, SNMPv2c, and SNMPv3."
        REVISION "200003060000Z" -- 6 Mar 2000
        DESCRIPTION "This version published as RFC 2576."
        REVISION "199905130000Z" -- 13 May 1999
        DESCRIPTION "The Initial Revision"
    ::= { snmpModules 18 }

-- Administrative assignments ****************************************

snmpCommunityMIBObjects     OBJECT IDENTIFIER ::= { snmpCommunityMIB 1 }
snmpCommunityMIBConformance OBJECT IDENTIFIER ::= { snmpCommunityMIB 2 }

--
-- The snmpCommunityTable contains a database of community strings.
-- This table provides mappings between community strings, and the
-- parameters required for View-based Access Control.
--

snmpCommunityTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF SnmpCommunityEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The table of community strings configured in the SNMP
         engine's Local Configuration Datastore (LCD)."
    ::= { snmpCommunityMIBObjects 1 }

snmpCommunityEntry OBJECT-TYPE
    SYNTAX       SnmpCommunityEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "Information about a particular community string."
    INDEX       { IMPLIED snmpCommunityIndex }
    ::= { snmpCommunityTable 1 }

SnmpCommunityEntry ::= SEQUENCE {
    snmpCommunityIndex               SnmpAdminString,
    snmpCommunityName                OCTET STRING,
    snmpCommunitySecurityName        SnmpAdminString,
    snmpCommunityContextEngineID     SnmpEngineID,
    snmpCommunityContextName         SnmpAdminString,
    snmpCommunityTransportTag        SnmpTagValue,
    snmpCommunityStorageType         StorageType,
    snmpCommunityStatus              RowStatus
}

snmpCommunityIndex OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE(1..32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The unique index value of a row in this table."
    ::= { snmpCommunityEntry 1 }

snmpCommunityName OBJECT-TYPE
    SYNTAX       OCTET STRING
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The community string for which a row in this table
         represents a configuration."
    ::= { snmpCommunityEntry 2 }

snmpCommunitySecurityName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "A human readable string representing the corresponding
         value of snmpCommunityName in a Security Model
         independent format."
    ::= { snmpCommunityEntry 3 }

snmpCommunityContextEngineID OBJECT-TYPE
    SYNTAX       SnmpEngineID
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The contextEngineID indicating the location of the
         context in which management information is accessed
         when using the community string specified by the
         corresponding instance of snmpCommunityName.

         The default value is the snmpEngineID of the entity in
         which this object is instantiated."
    ::= { snmpCommunityEntry 4 }

snmpCommunityContextName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..32))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The context in which management information is accessed
         when using the community string specified by the corresponding
         instance of snmpCommunityName."
    DEFVAL      { ''H }   -- the empty string
    ::= { snmpCommunityEntry 5 }

snmpCommunityTransportTag OBJECT-TYPE
    SYNTAX       SnmpTagValue
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object specifies a set of transport endpoints
         from which a command responder application will accept
         management requests.  If a management request containing
         this community is received on a transport endpoint other
         than the transport endpoints identified by this object,
         the request is deemed unauthentic.

         The transports identified by this object are specified
         in the snmpTargetAddrTable.  Entries in that table
         whose snmpTargetAddrTagList contains this tag value
         are identified.

         If the value of this object has zero-length, transport
         endpoints are not checked when authenticating messages
         containing this community string."
    DEFVAL      { ''H }   -- the empty string
    ::= { snmpCommunityEntry 6 }

snmpCommunityStorageType OBJECT-TYPE
    SYNTAX       StorageType
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The storage type for this conceptual row in the
         snmpCommunityTable.  Conceptual rows having the value
         'permanent' need not allow write-access to any
         columnar object in the row."
    ::= { snmpCommunityEntry 7 }

snmpCommunityStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The status of this conceptual row in the snmpCommunityTable.

         An entry in this table is not qualified for activation
         until instances of all corresponding columns have been
         initialized, either through default values, or through
         Set operations.  The snmpCommunityName and
         snmpCommunitySecurityName objects must be explicitly set.

         There is no restriction on setting columns in this table
         when the value of snmpCommunityStatus is active(1)."
    ::= { snmpCommunityEntry 8 }

--
-- The snmpTargetAddrExtTable
--

snmpTargetAddrExtTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF SnmpTargetAddrExtEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The table of mask and mms values associated with the
         snmpTargetAddrTable.

         The snmpTargetAddrExtTable augments the
         snmpTargetAddrTable with a transport address mask value
         and a maximum message size value.  The transport address
         mask allows entries in the snmpTargetAddrTable to define
         a set of addresses instead of just a single address.
         The maximum message size value allows the maximum
         message size of another SNMP entity to be configured for
         use in SNMPv1 (and SNMPv2c) transactions, where the
         message format does not specify a maximum message size."
    ::= { snmpCommunityMIBObjects 2 }

snmpTargetAddrExtEntry OBJECT-TYPE
    SYNTAX       SnmpTargetAddrExtEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "Information about a particular mask and mms value."
    AUGMENTS       { snmpTargetAddrEntry }
    ::= { snmpTargetAddrExtTable 1 }

SnmpTargetAddrExtEntry ::= SEQUENCE {
    snmpTargetAddrTMask              OCTET STRING,
    snmpTargetAddrMMS                Integer32
}

snmpTargetAddrTMask OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The mask value associated with an entry in the
         snmpTargetAddrTable.  The value of this object must
         have the same length as the corresponding instance of
         snmpTargetAddrTAddress, or must have length 0.  An
         attempt to set it to any other value will result in
         an inconsistentValue error.

         The value of this object allows an entry in the
         snmpTargetAddrTable to specify multiple addresses.
         The mask value is used to select which bits of
         a transport address must match bits of the corresponding
         instance of snmpTargetAddrTAddress, in order for the
         transport address to match a particular entry in the
         snmpTargetAddrTable.  Bits which are 1 in the mask
         value indicate bits in the transport address which
         must match bits in the snmpTargetAddrTAddress value.
         Bits which are 0 in the mask indicate bits in the
         transport address which need not match.  If the
         length of the mask is 0, the mask should be treated
         as if all its bits were 1 and its length were equal
         to the length of the corresponding value of
         snmpTargetAddrTable.

         This object may not be modified while the value of the
         corresponding instance of snmpTargetAddrRowStatus is
         active(1).  An attempt to set this object in this case
         will result in an inconsistentValue error."
    DEFVAL { ''H }
    ::= { snmpTargetAddrExtEntry 1 }

snmpTargetAddrMMS OBJECT-TYPE
    SYNTAX      Integer32 (0|484..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The maximum message size value associated with an entry
         in the snmpTargetAddrTable."
    DEFVAL { 484 }
    ::= { snmpTargetAddrExtEntry 2 }

--
-- The snmpTrapAddress and snmpTrapCommunity objects are included
-- in notifications that are forwarded by a proxy, which were
-- originally received as SNMPv1 Trap messages.
--

snmpTrapAddress OBJECT-TYPE
    SYNTAX      IpAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the agent-addr field of a Trap PDU which
         is forwarded by a proxy forwarder application using
         an SNMP version other than SNMPv1.  The value of this
         object SHOULD contain the value of the agent-addr field
         from the original Trap PDU as generated by an SNMPv1
         agent."
    ::= { snmpCommunityMIBObjects 3 }

snmpTrapCommunity OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
        "The value of the community string field of an SNMPv1
         message containing a Trap PDU which is forwarded by a
         a proxy forwarder application using an SNMP version
         other than SNMPv1.  The value of this object SHOULD
         contain the value of the community string field from
         the original SNMPv1 message containing a Trap PDU as
         generated by an SNMPv1 agent."
    ::= { snmpCommunityMIBObjects 4 }

-- Conformance Information *******************************************

snmpCommunityMIBCompliances OBJECT IDENTIFIER
                            ::= { snmpCommunityMIBConformance 1 }
snmpCommunityMIBGroups      OBJECT IDENTIFIER
                            ::= { snmpCommunityMIBConformance 2 }

-- Compliance statements

snmpCommunityMIBCompliance MODULE-COMPLIANCE
    STATUS       current
    DESCRIPTION
        "The compliance statement for SNMP engines which
         implement the SNMP-COMMUNITY-MIB."

    MODULE       -- this module
        MANDATORY-GROUPS { snmpCommunityGroup }

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

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

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

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

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

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

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

    ::= { snmpCommunityMIBCompliances 1 }

snmpProxyTrapForwardCompliance MODULE-COMPLIANCE
    STATUS       current
    DESCRIPTION
        "The compliance statement for SNMP engines which
         contain a proxy forwarding application which is
         capable of forwarding SNMPv1 traps using SNMPv2c
         or SNMPv3."
    MODULE       -- this module
        MANDATORY-GROUPS { snmpProxyTrapForwardGroup }
    ::= { snmpCommunityMIBCompliances 2 }

snmpCommunityGroup OBJECT-GROUP
    OBJECTS {
        snmpCommunityName,
        snmpCommunitySecurityName,
        snmpCommunityContextEngineID,
        snmpCommunityContextName,
        snmpCommunityTransportTag,
        snmpCommunityStorageType,
        snmpCommunityStatus,
        snmpTargetAddrTMask,
        snmpTargetAddrMMS
    }
    STATUS       current
    DESCRIPTION
        "A collection of objects providing for configuration
         of community strings for SNMPv1 (and SNMPv2c) usage."
    ::= { snmpCommunityMIBGroups 1 }

snmpProxyTrapForwardGroup OBJECT-GROUP
    OBJECTS {
        snmpTrapAddress,
        snmpTrapCommunity
    }
    STATUS       current
    DESCRIPTION
        "Objects which are used by proxy forwarding applications
         when translating traps between SNMP versions.  These are
         used to preserve SNMPv1-specific information when
         translating to SNMPv2c or SNMPv3."
    ::= { snmpCommunityMIBGroups 3 }

END
-- SECTION 1: Top Level Definitions

SYNOPTICS-ROOT-MIB DEFINITIONS ::= BEGIN


-- SynOptics Root MIB Release 1.7.5
-- Revision 09/19/00

-- 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
	mBPS2000(64),           -- product Business Policy Switch 2000 10/100 Switches
        mAccelar8110(65),       -- product Accelar 8110 L2 Switch
        mAccelar8106(66),       -- product Accelar 8106 L2 Switch
	mBayStack3580(67),      -- product BayStack 3580 Gig Switch
	mBayStack10(68),        -- product BayStack 10 Power Supply Unit
	mBayStack420(69),       -- product BayStack 420 10/100 Switch
	mMetro1200ESM(70),      -- product OPTera Metro 1200 Ethernet Service Module
        mAccelar8010co(71),     -- product OPTera 8010co
        mAccelar8610co(72),     -- product OPTera 8610co L3 switch
        mAccelar8110co(73),     -- product OPTera 8110co L2 switch
        mAccelar8003(74),       -- product OPTera 8003
        mAccelar8603(75),       -- product OPTera 8603 L3 switch
        mAccelar8103(76),       -- product OPTera 8103 L2 switch
        mBayStack380(77),	-- product BayStack 380 10/100/1000 Switch
 	mBayStack470(78),	-- product BayStack 470 10/100 Switch
        mMetro1450ESM(79),      -- product OPTera Metro 1450 Ethernet Service Module
        mMetro1400ESM(80),      -- product OPTera Metro 1400 Ethernet Service Module
        mAlteonSwitch(81),      -- product Alteon Switch Family
        mBayStack460-24T-PWR(82),   -- product BayStack 460-24T-PWR
        mMetro8010(83),         -- product OPTera Metro 8010 OPM L2 Switch
        mMetro8010co(84),       -- product OPTera Metro 8010co OPM L2 Switch
        mMetro8006(85),         -- product OPTera Metro 8006 OPM L2 Switch
        mMetro8003(86),         -- product OPTera Metro 8003 OPM L2 Switch
        mAlteon180e(87),        -- product Alteon 180e
        mAlteonAD3(88),         -- product Alteon AD3
        mAlteon184(89),         -- product Alteon 184
        mAlteonAD4(90),         -- product Alteon AD4
        mPassport1424(91),      -- product Passport 1424 L3 switch
        mPassport1648(92),      -- product Passport 1648 L3 switch
        mPassport1612(93),      -- product Passport 1612 L3 switch
        mPassport1624(94)       -- product Passport 1624 L3 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 }
powerSupply OBJECT IDENTIFIER ::= { products 8 }
wirelessLAN OBJECT IDENTIFIER ::= { products 9 }


-- 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-BPS2000               OBJECT IDENTIFIER ::= { registration 40 }
  sreg-BPS2000-24T-ethSwitchNMM  -- BPS 2000-24T 10/100 Switches
	      OBJECT IDENTIFIER ::= { sreg-BPS2000 1 }

sreg-BayStack3580          OBJECT IDENTIFIER ::= { registration 41 }
  sreg-BayStack3580-16F-gigEthSwitch  --BayStack 3580-16F Gigabit Switch
	      OBJECT IDENTIFIER ::= { sreg-BayStack3580 1 }

sreg-BayStack10            OBJECT IDENTIFIER ::= { registration 42 }
  sreg-BayStack10-powerSupplyUnit  -- BayStack 10 Power Supply Unit
          OBJECT IDENTIFIER ::= { sreg-BayStack10 1 }
          
sreg-BayStack420           OBJECT IDENTIFIER ::= { registration 43 }
  sreg-BayStack420-24T-ethSwitchNMM  -- BayStack 420-24T 10/100 Switch
	      OBJECT IDENTIFIER ::= { sreg-BayStack420 1 }

sreg-Metro1200ESM           OBJECT IDENTIFIER ::= { registration 44 }
  sreg-Metro1200ESM-12T-ethSwitchNMM  -- OPTera Metro 1200 Ethernet Service Module
	      OBJECT IDENTIFIER ::= { sreg-Metro1200ESM 1 }

sreg-BayStack380            OBJECT IDENTIFIER ::= { registration 45 }
  sreg-BayStack380-24T-ethSwitchNMM -- BayStack 380-24T Switch 10/100/1000 Switch
             OBJECT IDENTIFIER ::= { sreg-BayStack380 1 }

sreg-BayStack470		    OBJECT IDENTIFIER ::= { registration 46 }
  sreg-BayStack470-48T-ethSwitchNMM -- BayStack 470-48T Switch 10/100 Switch
		 OBJECT IDENTIFIER ::= { sreg-BayStack470 1 }

sreg-Metro1450ESM           OBJECT IDENTIFIER ::= { registration 47 }
  sreg-Metro1450ESM-12T2GBIC-ethSwitchNMM  -- OPTera Metro 1450 Ethernet Service Module
	      OBJECT IDENTIFIER ::= { sreg-Metro1450ESM 1 }

sreg-Metro1400ESM           OBJECT IDENTIFIER ::= { registration 48 }
  sreg-Metro1400ESM-12T2GBIC-ethSwitchNMM  -- OPTera Metro 1400 Ethernet Service Module
	      OBJECT IDENTIFIER ::= { sreg-Metro1400ESM 1 }

sreg-BayStack460-24T-PWR    OBJECT IDENTIFIER ::= { registration 49 }
  sreg-BayStack460-24T-PWR-ethSwitchNMM  -- BayStack 460-24T-PWR
	      OBJECT IDENTIFIER ::= { sreg-BayStack460-24T-PWR 1 }

sreg-Metro8000    	    OBJECT IDENTIFIER ::= { registration 50 }
  sreg-Metro8000-8664GB-OPM  -- OPTera Metro 8000 4 Ports Open Protocol Module
	      OBJECT IDENTIFIER ::= { sreg-Metro8000 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,               
    Unsigned32, 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,
    igmpInterfaceOperVersion           INTEGER,
    igmpInterfaceOtherQuerierPresentTimeout     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), version3(3) }
    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 (0..255)
    UNITS      "tenth of seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The maximum query response time advertised in IGMPv2
            queries on this interface."
    DEFVAL     { 100 }                                                    
    ::= { 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 (0..255)
    UNITS      "tenths of seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The Last Member Query Interval is the Max Response Time
             inserted into Group-Specific Queries sent in response to
             Leave Group messages, and is also the amount of time between
             Group-Specific Query messages. This value may be tuned to 
             modify the leave latency of the network. A reduced value
             results in reduced time to detect the loss of the last
             member of a group. The value of this object is irrelevant
             if igmpInterfaceVersion is 1."
    DEFVAL     { 1 }
    ::= { igmpInterfaceEntry 15 }

igmpInterfaceOperVersion OBJECT-TYPE
    SYNTAX     INTEGER { version1(1), version2(2), version3(3) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The operational version of IGMP which is running on
             this interface."
    ::= { igmpInterfaceEntry 16 }

igmpInterfaceOtherQuerierPresentTimeout OBJECT-TYPE
         SYNTAX     Integer32
         MAX-ACCESS read-only
         STATUS     current
         DESCRIPTION "A timeout interval."
         ::= { igmpInterfaceEntry 17 }

--
--  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
BGP4-MIB DEFINITIONS ::= BEGIN

                IMPORTS
                    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
                    IpAddress, Integer32, Counter32, Gauge32
                        FROM SNMPv2-SMI
                    mib-2
                        FROM RFC1213-MIB;

                bgp MODULE-IDENTITY
                    LAST-UPDATED "9405050000Z"
                    ORGANIZATION "IETF BGP Working Group"
                    CONTACT-INFO
                                "   John Chu  (Editor)
                            Postal: IBM Corp.
                                    P.O.Box 218
                                    Yorktown Heights, NY 10598
                                    US
                               Tel: +1 914 945 3156
                               Fax: +1 914 945 2141
                            E-mail: jychu@watson.ibm.com"
                        DESCRIPTION
                                "The MIB module for BGP-4."
                    ::= { mib-2 15 }

                bgpVersion OBJECT-TYPE
                    SYNTAX     OCTET STRING (SIZE (1..255))
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "Vector of supported BGP protocol version
                            numbers.  Each peer negotiates the version
                            from this vector.  Versions are identified
                            via the string of bits contained within this
                            object.  The first octet contains bits 0 to
                            7, the second octet contains bits 8 to 15,
                            and so on, with the most significant bit
                            referring to the lowest bit number in the
                            octet (e.g., the MSB of the first octet
                            refers to bit 0).  If a bit, i, is present
                            and set, then the version (i+1) of the BGP
                            is supported."
                    ::= { bgp 1 }

                bgpLocalAs OBJECT-TYPE
                    SYNTAX     INTEGER (0..65535)
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The local autonomous system number."
                    ::= { bgp 2 }



                -- BGP Peer table.  This table contains, one entry per
                -- BGP peer, information about the BGP peer.

                bgpPeerTable OBJECT-TYPE
                    SYNTAX     SEQUENCE OF BgpPeerEntry
                    MAX-ACCESS not-accessible
                    STATUS     current
                    DESCRIPTION
                            "BGP peer table.  This table contains,
                            one entry per BGP peer, information about
                            the connections with BGP peers."
                    ::= { bgp 3 }

                bgpPeerEntry OBJECT-TYPE
                    SYNTAX     BgpPeerEntry
                    MAX-ACCESS not-accessible
                    STATUS     current
                    DESCRIPTION
                            "Entry containing information about the
                            connection with a BGP peer."
                    INDEX { bgpPeerRemoteAddr }
                    ::= { bgpPeerTable 1 }

                BgpPeerEntry ::= SEQUENCE {
                        bgpPeerIdentifier
                            IpAddress,
                        bgpPeerState
                            INTEGER,
                        bgpPeerAdminStatus
                            INTEGER,
                        bgpPeerNegotiatedVersion
                            Integer32,
                        bgpPeerLocalAddr
                            IpAddress,
                        bgpPeerLocalPort
                            INTEGER,
                        bgpPeerRemoteAddr
                            IpAddress,
                        bgpPeerRemotePort
                            INTEGER,
                        bgpPeerRemoteAs
                            INTEGER,
                        bgpPeerInUpdates
                            Counter32,
                        bgpPeerOutUpdates
                            Counter32,
                        bgpPeerInTotalMessages
                            Counter32,
                        bgpPeerOutTotalMessages
                            Counter32,
                        bgpPeerLastError
                            OCTET STRING,
                        bgpPeerFsmEstablishedTransitions
                            Counter32,
                        bgpPeerFsmEstablishedTime
                            Gauge32,
                        bgpPeerConnectRetryInterval
                            INTEGER,
                        bgpPeerHoldTime
                            INTEGER,
                        bgpPeerKeepAlive
                            INTEGER,
                        bgpPeerHoldTimeConfigured
                            INTEGER,
                        bgpPeerKeepAliveConfigured
                            INTEGER,
                        bgpPeerMinASOriginationInterval
                            INTEGER,
                        bgpPeerMinRouteAdvertisementInterval
                            INTEGER,
                        bgpPeerInUpdateElapsedTime
                            Gauge32
                        }

                bgpPeerIdentifier OBJECT-TYPE
                    SYNTAX     IpAddress
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The BGP Identifier of this entry's BGP
                            peer."
                    ::= { bgpPeerEntry 1 }

                bgpPeerState OBJECT-TYPE
                    SYNTAX     INTEGER {
                                        idle(1),
                                        connect(2),
                                        active(3),
                                        opensent(4),
                                        openconfirm(5),
                                        established(6)
                               }
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The BGP peer connection state."
                    ::= { bgpPeerEntry 2 }

                bgpPeerAdminStatus OBJECT-TYPE
                    SYNTAX     INTEGER {
                                        stop(1),
                                        start(2)
                               }
                    MAX-ACCESS read-write
                    STATUS     current
                    DESCRIPTION
                            "The desired state of the BGP connection.
                            A transition from 'stop' to 'start' will
                            cause the BGP Start Event to be generated.
                            A transition from 'start' to 'stop' will
                            cause the BGP Stop Event to be generated.
                            This parameter can be used to restart BGP
                            peer connections.  Care should be used in
                            providing write access to this object
                            without adequate authentication."
                    ::= { bgpPeerEntry 3 }

                bgpPeerNegotiatedVersion OBJECT-TYPE
                    SYNTAX     Integer32
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The negotiated version of BGP running
                            between the two peers."
                    ::= { bgpPeerEntry 4 }

                bgpPeerLocalAddr OBJECT-TYPE
                    SYNTAX     IpAddress
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The local IP address of this entry's BGP
                            connection."
                    ::= { bgpPeerEntry 5 }

                bgpPeerLocalPort OBJECT-TYPE
                    SYNTAX     INTEGER (0..65535)
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The local port for the TCP connection
                            between the BGP peers."
                    ::= { bgpPeerEntry 6 }

                bgpPeerRemoteAddr OBJECT-TYPE
                    SYNTAX     IpAddress
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The remote IP address of this entry's BGP
                            peer."
                    ::= { bgpPeerEntry 7 }

                bgpPeerRemotePort OBJECT-TYPE
                    SYNTAX     INTEGER (0..65535)
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The remote port for the TCP connection
                            between the BGP peers.  Note that the
                            objects bgpPeerLocalAddr,
                            bgpPeerLocalPort, bgpPeerRemoteAddr and
                            bgpPeerRemotePort provide the appropriate
                            reference to the standard MIB TCP
                            connection table."
                    ::= { bgpPeerEntry 8 }

                bgpPeerRemoteAs OBJECT-TYPE
                    SYNTAX     INTEGER (0..65535)
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The remote autonomous system number."
                    ::= { bgpPeerEntry 9 }

                bgpPeerInUpdates OBJECT-TYPE
                    SYNTAX     Counter32
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The number of BGP UPDATE messages
                            received on this connection.  This object
                            should be initialized to zero (0) when the
                            connection is established."
                    ::= { bgpPeerEntry 10 }

                bgpPeerOutUpdates OBJECT-TYPE
                    SYNTAX     Counter32
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The number of BGP UPDATE messages
                            transmitted on this connection.  This
                            object should be initialized to zero (0)
                            when the connection is established."
                    ::= { bgpPeerEntry 11 }

                bgpPeerInTotalMessages OBJECT-TYPE
                    SYNTAX     Counter32
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The total number of messages received
                            from the remote peer on this connection.
                            This object should be initialized to zero
                            when the connection is established."
                    ::= { bgpPeerEntry 12 }

                bgpPeerOutTotalMessages OBJECT-TYPE
                    SYNTAX     Counter32
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The total number of messages transmitted to
                            the remote peer on this connection.  This
                            object should be initialized to zero when
                            the connection is established."
                    ::= { bgpPeerEntry 13 }

                bgpPeerLastError OBJECT-TYPE
                    SYNTAX     OCTET STRING (SIZE (2))
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The last error code and subcode seen by this
                            peer on this connection.  If no error has
                            occurred, this field is zero.  Otherwise, the
                            first byte of this two byte OCTET STRING
                            contains the error code, and the second byte
                            contains the subcode."
                    ::= { bgpPeerEntry 14 }

                bgpPeerFsmEstablishedTransitions OBJECT-TYPE
                    SYNTAX     Counter32
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The total number of times the BGP FSM
                            transitioned into the established state."
                    ::= { bgpPeerEntry 15 }

                bgpPeerFsmEstablishedTime OBJECT-TYPE
                    SYNTAX     Gauge32
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "This timer indicates how long (in
                            seconds) this peer has been in the
                            Established state or how long
                            since this peer was last in the
                            Established state.  It is set to zero when
                            a new peer is configured or the router is
                            booted."
                    ::= { bgpPeerEntry 16 }

                bgpPeerConnectRetryInterval OBJECT-TYPE
                    SYNTAX     INTEGER (1..65535)
                    MAX-ACCESS read-write
                    STATUS     current
                    DESCRIPTION
                            "Time interval in seconds for the
                            ConnectRetry timer.  The suggested value
                            for this timer is 120 seconds."
                    ::= { bgpPeerEntry 17 }

                bgpPeerHoldTime OBJECT-TYPE
                    SYNTAX     INTEGER  ( 0 | 3..65535 )
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "Time interval in seconds for the Hold
                            Timer established with the peer.  The
                            value of this object is calculated by this
                            BGP speaker by using the smaller of the
                            value in bgpPeerHoldTimeConfigured and the
                            Hold Time received in the OPEN message.
                            This value must be at lease three seconds
                            if it is not zero (0) in which case the
                            Hold Timer has not been established with
                            the peer, or, the value of
                            bgpPeerHoldTimeConfigured is zero (0)."
                    ::= { bgpPeerEntry 18 }

                bgpPeerKeepAlive OBJECT-TYPE
                    SYNTAX     INTEGER ( 0 | 1..21845 )
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "Time interval in seconds for the KeepAlive
                            timer established with the peer.  The value
                            of this object is calculated by this BGP
                            speaker such that, when compared with
                            bgpPeerHoldTime, it has the same
                            proportion as what
                            bgpPeerKeepAliveConfigured has when
                            compared with bgpPeerHoldTimeConfigured.
                            If the value of this object is zero (0),
                            it indicates that the KeepAlive timer has
                            not been established with the peer, or,
                            the value of bgpPeerKeepAliveConfigured is
                            zero (0)."
                    ::= { bgpPeerEntry 19 }

                bgpPeerHoldTimeConfigured OBJECT-TYPE
                    SYNTAX     INTEGER ( 0 | 3..65535 )
                    MAX-ACCESS read-write
                    STATUS     current
                    DESCRIPTION
                            "Time interval in seconds for the Hold Time
                            configured for this BGP speaker with this
                            peer.  This value is placed in an OPEN
                            message sent to this peer by this BGP
                            speaker, and is compared with the Hold
                            Time field in an OPEN message received
                            from the peer when determining the Hold
                            Time (bgpPeerHoldTime) with the peer.
                            This value must not be less than three
                            seconds if it is not zero (0) in which
                            case the Hold Time is NOT to be
                            established with the peer.  The suggested
                            value for this timer is 90 seconds."
                    ::= { bgpPeerEntry 20 }

                bgpPeerKeepAliveConfigured OBJECT-TYPE
                    SYNTAX     INTEGER ( 0 | 1..21845 )
                    MAX-ACCESS read-write
                    STATUS     current
                    DESCRIPTION
                            "Time interval in seconds for the
                            KeepAlive timer configured for this BGP
                            speaker with this peer.  The value of this
                            object will only determine the
                            KEEPALIVE messages' frequency relative to
                            the value specified in
                            bgpPeerHoldTimeConfigured; the actual
                            time interval for the KEEPALIVE messages
                            is indicated by bgpPeerKeepAlive.  A
                            reasonable maximum value for this timer
                            would be configured to be one
                            third of that of
                            bgpPeerHoldTimeConfigured.
                            If the value of this object is zero (0),
                            no periodical KEEPALIVE messages are sent
                            to the peer after the BGP connection has
                            been established.  The suggested value for
                            this timer is 30 seconds."
                    ::= { bgpPeerEntry 21 }

                bgpPeerMinASOriginationInterval OBJECT-TYPE
                    SYNTAX     INTEGER (1..65535)
                    MAX-ACCESS read-write
                    STATUS     current
                    DESCRIPTION
                            "Time interval in seconds for the
                            MinASOriginationInterval timer.
                            The suggested value for this timer is 15
                            seconds."
                    ::= { bgpPeerEntry 22 }

                bgpPeerMinRouteAdvertisementInterval OBJECT-TYPE
                    SYNTAX     INTEGER (1..65535)
                    MAX-ACCESS read-write
                    STATUS     current
                    DESCRIPTION
                            "Time interval in seconds for the
                            MinRouteAdvertisementInterval timer.
                            The suggested value for this timer is 30
                            seconds."
                    ::= { bgpPeerEntry 23 }

                bgpPeerInUpdateElapsedTime OBJECT-TYPE
                    SYNTAX     Gauge32
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "Elapsed time in seconds since the last BGP
                            UPDATE message was received from the peer.
                            Each time bgpPeerInUpdates is incremented,
                            the value of this object is set to zero
                            (0)."
                    ::= { bgpPeerEntry 24 }



                bgpIdentifier OBJECT-TYPE
                    SYNTAX     IpAddress
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The BGP Identifier of local system."
                    ::= { bgp 4 }

                -- Received Path Attribute Table.  This table contains,
                -- one entry per path to a network, path attributes
                -- received from all peers running BGP version 3 or
                -- less.  This table is deprecated.

                bgpRcvdPathAttrTable OBJECT-TYPE
                    SYNTAX     SEQUENCE OF BgpPathAttrEntry
                    MAX-ACCESS not-accessible
                    STATUS     obsolete
                    DESCRIPTION
                            "The BGP Received Path Attribute Table
                            contains information about paths to
                            destination networks received from all
                            peers running BGP version 3 or less."
                    ::= { bgp 5 }

                bgpPathAttrEntry OBJECT-TYPE
                    SYNTAX     BgpPathAttrEntry
                    MAX-ACCESS not-accessible
                    STATUS     obsolete
                    DESCRIPTION
                            "Information about a path to a network."
                    INDEX { bgpPathAttrDestNetwork,
                            bgpPathAttrPeer        }
                    ::= { bgpRcvdPathAttrTable 1 }

                BgpPathAttrEntry ::= SEQUENCE {
                    bgpPathAttrPeer
                         IpAddress,
                    bgpPathAttrDestNetwork
                         IpAddress,
                    bgpPathAttrOrigin
                         INTEGER,
                    bgpPathAttrASPath
                         OCTET STRING,
                    bgpPathAttrNextHop
                         IpAddress,
                    bgpPathAttrInterASMetric
                         Integer32
                }

                bgpPathAttrPeer OBJECT-TYPE
                    SYNTAX     IpAddress
                    MAX-ACCESS read-only
                    STATUS     obsolete
                    DESCRIPTION
                            "The IP address of the peer where the path
                            information was learned."
                    ::= { bgpPathAttrEntry 1 }

                bgpPathAttrDestNetwork OBJECT-TYPE
                    SYNTAX     IpAddress
                    MAX-ACCESS read-only
                    STATUS     obsolete
                    DESCRIPTION
                            "The address of the destination network."
                    ::= { bgpPathAttrEntry 2 }

                bgpPathAttrOrigin OBJECT-TYPE
                    SYNTAX     INTEGER {
                                   igp(1),-- networks are interior
                                   egp(2),-- networks learned via EGP
                                   incomplete(3) -- undetermined
                               }
                    MAX-ACCESS read-only
                    STATUS     obsolete
                    DESCRIPTION
                         "The ultimate origin of the path information."
                    ::= { bgpPathAttrEntry 3 }

                bgpPathAttrASPath OBJECT-TYPE
                    SYNTAX     OCTET STRING (SIZE (2..255))
                    MAX-ACCESS read-only
                    STATUS     obsolete
                    DESCRIPTION
                            "The set of ASs that must be traversed to
                            reach the network.  This object is
                            probably best represented as SEQUENCE OF
                            INTEGER.  For SMI compatibility, though,
                            it is represented as OCTET STRING.  Each
                            AS is represented as a pair of octets
                            according to the following algorithm:

                                first-byte-of-pair = ASNumber / 256;
                                second-byte-of-pair = ASNumber & 255;"
                    ::= { bgpPathAttrEntry 4 }

                bgpPathAttrNextHop OBJECT-TYPE
                    SYNTAX     IpAddress
                    MAX-ACCESS read-only
                    STATUS     obsolete
                    DESCRIPTION
                            "The address of the border router that
                            should be used for the destination
                            network."
                    ::= { bgpPathAttrEntry 5 }

                bgpPathAttrInterASMetric OBJECT-TYPE
                    SYNTAX     Integer32
                    MAX-ACCESS read-only
                    STATUS     obsolete
                    DESCRIPTION
                            "The optional inter-AS metric.  If this
                            attribute has not been provided for this
                            route, the value for this object is 0."
                    ::= { bgpPathAttrEntry 6 }



                -- BGP-4 Received Path Attribute Table.  This table
                -- contains, one entry per path to a network, path
                -- attributes received from all peers running BGP-4.

                bgp4PathAttrTable OBJECT-TYPE
                    SYNTAX     SEQUENCE OF Bgp4PathAttrEntry
                    MAX-ACCESS not-accessible
                    STATUS     current
                    DESCRIPTION
                            "The BGP-4 Received Path Attribute Table
                            contains information about paths to
                            destination networks received from all
                            BGP4 peers."
                    ::= { bgp 6 }

                bgp4PathAttrEntry OBJECT-TYPE
                    SYNTAX     Bgp4PathAttrEntry
                    MAX-ACCESS not-accessible
                    STATUS     current
                    DESCRIPTION
                            "Information about a path to a network."
                    INDEX { bgp4PathAttrIpAddrPrefix,
                            bgp4PathAttrIpAddrPrefixLen,
                            bgp4PathAttrPeer            }
                    ::= { bgp4PathAttrTable 1 }

                Bgp4PathAttrEntry ::= SEQUENCE {
                    bgp4PathAttrPeer
                         IpAddress,
                    bgp4PathAttrIpAddrPrefixLen
                         INTEGER,
                    bgp4PathAttrIpAddrPrefix
                         IpAddress,
                    bgp4PathAttrOrigin
                         INTEGER,
                    bgp4PathAttrASPathSegment
                         OCTET STRING,
                    bgp4PathAttrNextHop
                         IpAddress,
                    bgp4PathAttrMultiExitDisc
                         INTEGER,
                    bgp4PathAttrLocalPref
                         INTEGER,
                    bgp4PathAttrAtomicAggregate
                         INTEGER,
                    bgp4PathAttrAggregatorAS
                         INTEGER,
                    bgp4PathAttrAggregatorAddr
                         IpAddress,
                    bgp4PathAttrCalcLocalPref
                         INTEGER,
                    bgp4PathAttrBest
                         INTEGER,
                    bgp4PathAttrUnknown
                         OCTET STRING

                }

                bgp4PathAttrPeer OBJECT-TYPE
                    SYNTAX     IpAddress
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The IP address of the peer where the path
                            information was learned."
                    ::= { bgp4PathAttrEntry 1 }

                bgp4PathAttrIpAddrPrefixLen OBJECT-TYPE
                    SYNTAX     INTEGER (0..32)
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "Length in bits of the IP address prefix
                            in the Network Layer Reachability
                            Information field."
                    ::= { bgp4PathAttrEntry 2 }

                bgp4PathAttrIpAddrPrefix OBJECT-TYPE
                    SYNTAX     IpAddress
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "An IP address prefix in the Network Layer
                            Reachability Information field.  This object
                            is an IP address containing the prefix with
                            length specified by
                            bgp4PathAttrIpAddrPrefixLen.
                            Any bits beyond the length specified by
                            bgp4PathAttrIpAddrPrefixLen are zeroed."
                    ::= { bgp4PathAttrEntry 3 }

                bgp4PathAttrOrigin OBJECT-TYPE
                    SYNTAX     INTEGER {
                                         igp(1),-- networks are interior
                                         egp(2),-- networks learned
                                                -- via EGP
                                         incomplete(3) -- undetermined
                                       }
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The ultimate origin of the path
                            information."
                    ::= { bgp4PathAttrEntry 4 }

                bgp4PathAttrASPathSegment OBJECT-TYPE
                    SYNTAX     OCTET STRING (SIZE (2..255))
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The sequence of AS path segments.  Each AS
                            path segment is represented by a triple
                            <type, length, value>.

                            The type is a 1-octet field which has two
                            possible values:
                                 1      AS_SET: unordered set of ASs a
                                             route in the UPDATE
                                             message has traversed
                                 2      AS_SEQUENCE: ordered set of ASs
                                             a route in the UPDATE
                                             message has traversed.

                                 3      AS_CONFED_SET: unordered set of
                                             sub-ASs in the confederation
                                             a route in the UPDATE message
                                             has traversed

                                 4      AS_CONFED_SEQUENCE: ordered set of
                                             sub-ASs in the confederation
                                             a route in the UPDATE message
                                             has traversed

                            The length is a 1-octet field containing the
                            number of ASs in the value field.

                            The value field contains one or more AS
                            numbers, each AS is represented in the octet
                            string as a pair of octets according to the
                            following algorithm:
                                first-byte-of-pair = ASNumber / 256;
                                second-byte-of-pair = ASNumber & 255;"
                    ::= { bgp4PathAttrEntry 5 }

                bgp4PathAttrNextHop OBJECT-TYPE
                    SYNTAX     IpAddress
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The address of the border router that
                            should be used for the destination
                            network."
                    ::= { bgp4PathAttrEntry 6 }

                bgp4PathAttrMultiExitDisc OBJECT-TYPE
                    SYNTAX     INTEGER (-1..2147483647)
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "This metric is used to discriminate
                            between multiple exit points to an
                            adjacent autonomous system.  A value of -1
                            indicates the absence of this attribute."
                    ::= { bgp4PathAttrEntry 7 }

                bgp4PathAttrLocalPref OBJECT-TYPE
                    SYNTAX     INTEGER (-1..2147483647)
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The originating BGP4 speaker's degree of
                            preference for an advertised route.  A
                            value of -1 indicates the absence of this
                            attribute."
                    ::= { bgp4PathAttrEntry 8 }

                bgp4PathAttrAtomicAggregate OBJECT-TYPE
                    SYNTAX     INTEGER {
                                   lessSpecificRrouteNotSelected(1),
                                   lessSpecificRouteSelected(2)
                               }
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "Whether or not the local system has
                            selected a less specific route without
                            selecting a more specific route."
                    ::= { bgp4PathAttrEntry 9 }

                bgp4PathAttrAggregatorAS OBJECT-TYPE
                    SYNTAX     INTEGER (0..65535)
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The AS number of the last BGP4 speaker that
                            performed route aggregation.  A value of
                            zero (0) indicates the absence of this
                            attribute."
                    ::= { bgp4PathAttrEntry 10 }

                bgp4PathAttrAggregatorAddr OBJECT-TYPE
                    SYNTAX     IpAddress
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The IP address of the last BGP4 speaker
                            that performed route aggregation.  A value
                            of 0.0.0.0 indicates the absence of this
                            attribute."
                    ::= { bgp4PathAttrEntry 11 }

                bgp4PathAttrCalcLocalPref OBJECT-TYPE
                    SYNTAX     INTEGER (-1..2147483647)
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "The degree of preference calculated by the
                            receiving BGP4 speaker for an advertised
                            route.  A value of -1 indicates the
                            absence of this attribute."
                    ::= { bgp4PathAttrEntry 12 }

                bgp4PathAttrBest OBJECT-TYPE
                    SYNTAX     INTEGER {
                                   false(1),-- not chosen as best route
                                   true(2) -- chosen as best route
                               }
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "An indication of whether or not this route
                            was chosen as the best BGP4 route."
                    ::= { bgp4PathAttrEntry 13 }

               bgp4PathAttrUnknown OBJECT-TYPE
                    SYNTAX     OCTET STRING (SIZE(0..255))
                    MAX-ACCESS read-only
                    STATUS     current
                    DESCRIPTION
                            "One or more path attributes not understood
                             by this BGP4 speaker.  Size zero (0)
                             indicates the absence of such
                             attribute(s).  Octets beyond the maximum
                             size, if any, are not recorded by this
                             object."
                    ::= { bgp4PathAttrEntry 14 }


                -- Traps.

                bgpTraps                OBJECT IDENTIFIER ::= { bgp 7 }

                bgpEstablished NOTIFICATION-TYPE
                    OBJECTS { bgpPeerLastError,
                              bgpPeerState      }
                    STATUS  current
                    DESCRIPTION
                            "The BGP Established event is generated when
                            the BGP FSM enters the ESTABLISHED state."
                    ::= { bgpTraps 1 }

                bgpBackwardTransition NOTIFICATION-TYPE
                    OBJECTS { bgpPeerLastError,
                              bgpPeerState      }
                    STATUS  current
                    DESCRIPTION
                            "The BGPBackwardTransition Event is generated
                            when the BGP FSM moves from a higher numbered
                            state to a lower numbered state."
                    ::= { bgpTraps 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
--                       Modification History
--
--    CR       Author   Date   Description
--    ====================================================================
--    131405-1 ADaun    071000 Added vrrpOperCriticalIpAddrEnable
--
   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, ipAdEntAddr         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 }

    vrrpPingVirtualAddrEnable  OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
           "Used to configure whether this device should respond to
           pings directed to a virtual router's IP address."
        DEFVAL { true }
        ::= { vrrpOperations 4 }


-- *******************************************************************
--  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,
            vrrpOperHoldDownTimer
                INTEGER,
            vrrpOperHoldDownState
                INTEGER,
            vrrpOperHoldDownTimeRemaining
                INTEGER,
            vrrpOperAction
                INTEGER,
            vrrpOperCriticalIpAddrEnable
                TruthValue,
            vrrpOperBackUpMaster
                INTEGER,
            vrrpOperBackUpMasterState
                INTEGER,
            vrrpOperFasterAdvInterval
                Integer32,
            vrrpOperFasterAdvIntervalEnable
                INTEGER
  
    }

    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 }

    vrrpOperHoldDownTimer OBJECT-TYPE
        SYNTAX       INTEGER (0..21600)
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Used to configure the amount of time (in seconds)
            to wait before preempting the current vrrp master."
        ::= { vrrpOperEntry 18 }

    vrrpOperHoldDownState OBJECT-TYPE
        SYNTAX       INTEGER {
                        dormant(1),
                        active(2)
                     }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Used to indicate the hold-down state of this vrrp
            interface.  If the hold-down timer is operational
            this variable will be set to 'active'.  'dormant'
            otherwise."
        ::= { vrrpOperEntry 19 }                                         

    vrrpOperHoldDownTimeRemaining OBJECT-TYPE
        SYNTAX       INTEGER (0..21600)
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Used to indicate the amount of time (in seconds)
            left before the vrrpOperHoldDownTimer will expire."
        ::= { vrrpOperEntry 20 }

    vrrpOperAction OBJECT-TYPE
        SYNTAX       INTEGER {
                        none(1),
                        preemptHoldDownTimer(2)
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Used to trigger an action on this vrrp interface."
        ::= { vrrpOperEntry 21 }
 
    vrrpOperCriticalIpAddrEnable OBJECT-TYPE
        SYNTAX       TruthValue
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "Indicate if an user-defined critical IP address should be
            enabled. 'NO' = use the default IP address (0.0.0.0).
            No effect if an user-defined IP address does not exist."
        DEFVAL       { false }
        ::= { vrrpOperEntry 22 }

    vrrpOperBackUpMaster OBJECT-TYPE
        SYNTAX       INTEGER {
                        enabled(1),
                        disabled(2)
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION   ""
        DEFVAL       { disabled }
        ::= { vrrpOperEntry 23 } 

    vrrpOperBackUpMasterState OBJECT-TYPE
        SYNTAX       INTEGER {
                        up(1),
                        down(2)
                     }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION ""
        DEFVAL       { down }
        ::= { vrrpOperEntry 24 } 

    vrrpOperFasterAdvInterval OBJECT-TYPE
        SYNTAX       Integer32 (200..1000) 
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION   "This is the faster advertisement interval, in
                       milliseconds, between sending advertisement 
                       messages. When the faster advertisement interval
                       enable is checked, the faster advertisement interval
                       is being used instead of the regular advertisement
                       interval"
        DEFVAL       { 200 }
        ::= { vrrpOperEntry 25 } 

    vrrpOperFasterAdvIntervalEnable OBJECT-TYPE
        SYNTAX       INTEGER {
                        enabled(1),
                        disabled(2)
                     }
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION   "Used to indicate if the Faster Advertisement Interval
                       should be used. 'Disable' means use regular 
                       Advertisement interval."
        DEFVAL       { disabled }
        ::= { vrrpOperEntry 26 } 

-- *******************************************************************
--  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-write
        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  }


    vrrpTrapStateTransitionType OBJECT-TYPE
        SYNTAX        INTEGER {
            none(1),
            masterToBackup(2),
            backupToMaster(3),
            initializeToMaster(4),
            masterToInitialize(5),
            initializeToBackup(6),
            backupToInitialize(7)
        }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Potential types of state transitions.
            Used by vrrpTrapStateTransition trap."
        ::= { vrrpOperations 14  }

    vrrpTrapStateTransitionCause OBJECT-TYPE
        SYNTAX        INTEGER {
            none(1),
            higherPriorityAdvertizeReceived(2),
            shutdownReceived(3),
            vrrpAddrAndPhysicalAddrMatch(4),
            masterDownInterval(5),
            preempted(6)
        }
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "Potential types of causes that will
            generate a vrrpTrapStateTransition trap."
        ::= { vrrpOperations 15  }


    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 1 }

    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 2 } 

    vrrpTrapStateTransition NOTIFICATION-TYPE
        OBJECTS      { ifIndex,
                       vrrpTrapStateTransitionType,
                       vrrpTrapStateTransitionCause,
                       vrrpOperVrId,
                       vrrpOperIpAddr,
                       ipAdEntAddr
                     }
        STATUS       current
        DESCRIPTION
            "A vrrpTrapStateTransition trap signifies a state
            transition has occurred on a particular vrrp interface.
            Implementation of this trap is optional.  'vrrpOperIpAddr'
            contains the IP address of the vrrp interface while
            'ipAdEntAddr' contains the IP address assigned to
            physical interface."
        ::= { 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     Counter32
    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    Counter32,
    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     Counter32
    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),
                   pimSsmMode(11)
               }
    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),
                   pimSsmMode(11)
               }
    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),
                   pimSsmMode(11)
               }
    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
PIM-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, experimental,
    Integer32, IpAddress, TimeTicks  FROM SNMPv2-SMI
    RowStatus                        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP  FROM SNMPv2-CONF;

pimMIB MODULE-IDENTITY
    LAST-UPDATED "9807281630Z"
    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 PIM routers."
    ::= { experimental 61 }

pimMIBObjects OBJECT IDENTIFIER ::= { pimMIB 1 }

pim           OBJECT IDENTIFIER ::= { pimMIBObjects 1 }


pimJoinPruneInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The default interval at which periodic PIM-SM Join/Prune
            messages are to be sent."
    ::= { pim 1 }

-- The PIM Interface Table

pimInterfaceTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF PimInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the router's PIM interfaces.
            IGMP and PIM are enabled on all interfaces listed in this
            table."
    ::= { pim 2 }

pimInterfaceEntry OBJECT-TYPE
    SYNTAX     PimInterfaceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimInterfaceTable."
    INDEX      { pimInterfaceIfIndex }
    ::= { pimInterfaceTable 1 }

PimInterfaceEntry ::= SEQUENCE {
    pimInterfaceIfIndex            Integer32,
    pimInterfaceAddress            IpAddress,
    pimInterfaceNetMask            IpAddress,
    pimInterfaceMode               INTEGER,
    pimInterfaceDR                 IpAddress,
    pimInterfaceHelloInterval      Integer32,
    pimInterfaceStatus             RowStatus,
    pimInterfaceJoinPruneInterval  Integer32,
    pimInterfaceCBSRPreference     Integer32,
    pimInterfaceCBSREnable         INTEGER
}

pimInterfaceIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The ifIndex value of this PIM interface."
    ::= { pimInterfaceEntry 1 }

pimInterfaceAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP address of the PIM interface."
    ::= { pimInterfaceEntry 2 }

pimInterfaceNetMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The network mask for the IP address of the PIM interface."
    ::= { pimInterfaceEntry 3 }

pimInterfaceMode OBJECT-TYPE
    SYNTAX     INTEGER { dense(1), sparse(2), sparseDense(3) }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The configured mode of this PIM interface.  A value of
            sparseDense is only valid for PIMv1."
    DEFVAL     { dense }
    ::= { pimInterfaceEntry 4 }

pimInterfaceDR OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The Designated Router on this PIM interface.  For point-
            to-point interfaces, this object has the value 0.0.0.0."
    ::= { pimInterfaceEntry 5 }

pimInterfaceHelloInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The frequency at which PIM Hello messages are transmitted
            on this interface."
    DEFVAL     { 30 }
    ::= { pimInterfaceEntry 6 }

pimInterfaceStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The status of this entry.  Creating the entry enables PIM
            on the interface; destroying the entry disables PIM on the
            interface."
    ::= { pimInterfaceEntry 7 }

pimInterfaceJoinPruneInterval OBJECT-TYPE
    SYNTAX     Integer32
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The frequency at which PIM Join/Prune messages are
            transmitted on this PIM interface.  The default value of
            this object is the pimJoinPruneInterval."
    ::= { pimInterfaceEntry 8 }

pimInterfaceCBSRPreference OBJECT-TYPE
    SYNTAX     Integer32 (-1..255)
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The preference value for the local interface as a candidate
            bootstrap router.  The value of -1 is used to indicate that
            the local interface is not a candidate BSR interface."
    DEFVAL     { -1 }
    ::= { pimInterfaceEntry 9 }

pimInterfaceCBSREnable OBJECT-TYPE
    SYNTAX     INTEGER {
                  enabled(1),
                  disabled(2)
               } 
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "Enable/disable Candidate BSR on pim local interface."
    DEFVAL     { disabled }
    ::= { pimInterfaceEntry 10 }


-- The PIM Neighbor Table

pimNeighborTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF PimNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the router's PIM neighbors."
    ::= { pim 3 }

pimNeighborEntry OBJECT-TYPE
    SYNTAX     PimNeighborEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimNeighborTable."
    INDEX      { pimNeighborAddress }
    ::= { pimNeighborTable 1 }

PimNeighborEntry ::= SEQUENCE {
    pimNeighborAddress      IpAddress,
    pimNeighborIfIndex      Integer32,
    pimNeighborUpTime       TimeTicks,
    pimNeighborExpiryTime   TimeTicks,
    pimNeighborMode         INTEGER
}

pimNeighborAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP address of the PIM neighbor for which this entry
            contains information."
    ::= { pimNeighborEntry 1 }

pimNeighborIfIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The value of ifIndex for the interface used to reach this
            PIM neighbor."
    ::= { pimNeighborEntry 2 }

pimNeighborUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The time since this PIM neighbor (last) became a neighbor
            of the local router."
    ::= { pimNeighborEntry 3 }

pimNeighborExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum time remaining before this PIM neighbor will be
            aged out."
    ::= { pimNeighborEntry 4 }

pimNeighborMode OBJECT-TYPE
    SYNTAX     INTEGER { dense(1), sparse(2) }
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The active PIM mode of this neighbor.  This object is
            deprecated for PIMv2 routers since all neighbors on the
            interface must be either dense or sparse as determined by
            the protocol running on the interface."
    ::= { pimNeighborEntry 5 }


-- The PIM RP Table

pimRPTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF PimRPEntry
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
            "The (conceptual) table listing PIM version 1 information
            for the Rendezvous Points (RPs) for IP multicast groups.
            This table is deprecated since its function is replaced by
            the pimRPSetTable for PIM version 2."
    ::= { pim 5 }

pimRPEntry OBJECT-TYPE
    SYNTAX     PimRPEntry
    MAX-ACCESS not-accessible
    STATUS     deprecated
    DESCRIPTION
            "An entry (conceptual row) in the pimRPTable.  There is one
            entry per RP address for each IP multicast group."
    INDEX      { pimRPGroupAddress, pimRPAddress }
    ::= { pimRPTable 1 }

PimRPEntry ::= SEQUENCE {
    pimRPGroupAddress    IpAddress,
    pimRPAddress         IpAddress,
    pimRPState           INTEGER,
    pimRPStateTimer      TimeTicks,
    pimRPLastChange      TimeTicks,
    pimRPRowStatus       RowStatus
}

pimRPGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains information about an RP."
    ::= { pimRPEntry 1 }

pimRPAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The IP multicast group address for which this entry
            contains PIM version 1 information about an RP."
    ::= { pimRPEntry 2 }

pimRPState OBJECT-TYPE
    SYNTAX     INTEGER { up(1), down(2) }
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The state of the RP."
    ::= { pimRPEntry 3 }

pimRPStateTimer OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The minimum time remaining before the next state change.
            When pimRPState is up, this is the minimum time which must
            expire until it can be declared down.  When pimRPState is
            down, this is the time until it will be declared up (in
            order to retry)."
    ::= { pimRPEntry 4 }

pimRPLastChange OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     deprecated
    DESCRIPTION
            "The value of sysUpTime at the time when the corresponding
            instance of pimRPState last changed its value."
    ::= { pimRPEntry 5 }

pimRPRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-write
    STATUS     deprecated
    DESCRIPTION
            "The status of this row, by which new entries may be
            created, or old entries deleted from this table."
    ::= { pimRPEntry 6 }


-- The PIM RP-Set Table

pimRPSetTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF PimRPSetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing PIM information for
            candidate Rendezvous Points (RPs) for IP multicast groups.
            When the local router is the BSR, this information is
            obtained from received Candidate-RP-Advertisements.  When
            the local router is not the BSR, this information is
            obtained from received RP-Set messages."
    ::= { pim 6 }

pimRPSetEntry OBJECT-TYPE
    SYNTAX     PimRPSetEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimRPSetTable."
    INDEX      { pimRPSetComponent, pimRPSetGroupAddress,
                 pimRPSetGroupMask, pimRPSetAddress }
    ::= { pimRPSetTable 1 }

PimRPSetEntry ::= SEQUENCE {
    pimRPSetGroupAddress    IpAddress,
    pimRPSetGroupMask       IpAddress,
    pimRPSetAddress         IpAddress,
    pimRPSetHoldTime        Integer32,
    pimRPSetExpiryTime      TimeTicks,
    pimRPSetComponent       Integer32
}

pimRPSetGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP multicast group address which, when combined with
            pimRPSetGroupMask, gives the group prefix for which this
            entry contains information about the Candidate-RP."
    ::= { pimRPSetEntry 1 }

pimRPSetGroupMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The multicast group address mask which, when combined with
            pimRPSetGroupAddress, gives the group prefix for which this
            entry contains information about the Candidate-RP."
    ::= { pimRPSetEntry 2 }

pimRPSetAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP address of the Candidate-RP."
    ::= { pimRPSetEntry 3 }

pimRPSetHoldTime OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    UNITS      "seconds"
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The holdtime of a Candidate-RP.  If the local router is not
            the BSR, this value is 0."
    ::= { pimRPSetEntry 4 }

pimRPSetExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum time remaining before the Candidate-RP will be
            declared down.  If the local router is not the BSR, this
            value is 0."
    ::= { pimRPSetEntry 5 }

pimRPSetComponent OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "A number uniquely identifying the component.  Each protocol
            instance connected to a separate domain should have a
            different index value."
    ::= { pimRPSetEntry 6 }


-- The PIM Candidate-RP Table

pimCandidateRPTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF PimCandidateRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table listing the IP multicast groups for
            which the local router is to advertise itself as a
            Candidate-RP when the value of pimCandidateRPHoldTime is
            non-zero.  If this table is empty, then the local router
            will advertise itself as a Candidate-RP for all groups
            (providing the value of pimCandidateRPHoldTime is non-
            zero)."
    ::= { pim 11 }

pimCandidateRPEntry OBJECT-TYPE
    SYNTAX     PimCandidateRPEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimCandidateRPTable."
    INDEX      { pimCandidateRPGroupAddress,
                 pimCandidateRPGroupMask, pimCandidateRPAddress }
    ::= { pimCandidateRPTable 1 }

PimCandidateRPEntry ::= SEQUENCE {
    pimCandidateRPGroupAddress    IpAddress,
    pimCandidateRPGroupMask       IpAddress,
    pimCandidateRPAddress         IpAddress,
    pimCandidateRPRowStatus       RowStatus
}

pimCandidateRPGroupAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP multicast group address which, when combined with
            pimCandidateRPGroupMask, identifies a group prefix for which
            the local router will advertise itself as a Candidate-RP."
    ::= { pimCandidateRPEntry 1 }

pimCandidateRPGroupMask OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The multicast group address mask which, when combined with
            pimCandidateRPGroupMask, identifies a group prefix for which
            the local router will advertise itself as a Candidate-RP."
    ::= { pimCandidateRPEntry 2 }

pimCandidateRPAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The (unicast) address of the interface which will be
            advertised as a Candidate-RP."
    ::= { pimCandidateRPEntry 3 }

pimCandidateRPRowStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The status of this row, by which new entries may be
            created, or old entries deleted from this table."
    ::= { pimCandidateRPEntry 4 }

-- The PIM Component Table

pimComponentTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF PimComponentEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "The (conceptual) table containing objects specific to a PIM
            domain.  One row exists for each domain to which the router
            is connected."
    ::= { pim 12 }

pimComponentEntry OBJECT-TYPE
    SYNTAX     PimComponentEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
            "An entry (conceptual row) in the pimComponentTable."
    INDEX      { pimComponentIndex }
    ::= { pimComponentTable 1 }

PimComponentEntry ::= SEQUENCE {
    pimComponentIndex              Integer32,
    pimComponentBSRAddress         IpAddress,
    pimComponentBSRExpiryTime      TimeTicks,
    pimComponentCRPHoldTime        Integer32,
    pimComponentStatus             RowStatus
}

pimComponentIndex OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "A number uniquely identifying the component.  Each protocol
            instance connected to a separate domain should have a
            different index value."
    ::= { pimComponentEntry 1 }

pimComponentBSRAddress OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The IP address of the bootstrap router (BSR) for the local
            PIM region."
    ::= { pimComponentEntry 2 }

pimComponentBSRExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
            "The minimum time remaining before the bootstrap router in
            the local domain will be declared down.  For candidate BSRs,
            this is the time until the component sends an RP-Set
            message.  For other routers, this is the time until it may
            accept an RP-Set message from a lower candidate BSR."
    ::= { pimComponentEntry 3 }

pimComponentCRPHoldTime OBJECT-TYPE
    SYNTAX     Integer32 (0..255)
    UNITS      "seconds"
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The holdtime of the component when it is a candidate RP in
            the local domain.  The value of 0 is used to indicate that
            the local system is not a Candidate-RP."
    DEFVAL     { 0 }
    ::= { pimComponentEntry 4 }

pimComponentStatus OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
            "The status of this entry.  Creating the entry creates
            another protocol instance; destroying the entry disables a
            protocol instance."
    ::= { pimComponentEntry 5 }

-- conformance information

pimMIBConformance OBJECT IDENTIFIER ::= { pimMIB 2 }
pimMIBCompliances OBJECT IDENTIFIER ::= { pimMIBConformance 1 }
pimMIBGroups      OBJECT IDENTIFIER ::= { pimMIBConformance 2 }


-- compliance statements

pimV1MIBCompliance MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
            "The compliance statement for routers running PIMv1 and
            implementing the PIM MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { pimV1MIBGroup }

    ::= { pimMIBCompliances 1 }

pimSparseV2MIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for routers running PIM Sparse
            Mode and implementing the PIM MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { pimV2MIBGroup }

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

    ::= { pimMIBCompliances 2 }

pimDenseV2MIBCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for routers running PIM Dense Mode
            and implementing the PIM MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { pimDenseV2MIBGroup }

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

    ::= { pimMIBCompliances 3 }


-- units of conformance

pimV2MIBGroup OBJECT-GROUP
    OBJECTS { pimJoinPruneInterval, pimNeighborIfIndex,
              pimNeighborUpTime, pimNeighborExpiryTime,
              pimInterfaceAddress, pimInterfaceNetMask,
              pimInterfaceDR, pimInterfaceHelloInterval,
              pimInterfaceStatus, pimInterfaceJoinPruneInterval,
              pimInterfaceCBSRPreference, pimInterfaceMode,
              pimRPSetHoldTime, pimRPSetExpiryTime,
              pimComponentBSRAddress, pimComponentBSRExpiryTime,
              pimComponentCRPHoldTime, pimComponentStatus
            }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support management of PIM Sparse
            Mode (version 2) routers."
    ::= { pimMIBGroups 2 }

pimDenseV2MIBGroup OBJECT-GROUP
    OBJECTS { pimNeighborIfIndex,
              pimNeighborUpTime, pimNeighborExpiryTime,
              pimInterfaceAddress, pimInterfaceNetMask,
              pimInterfaceDR, pimInterfaceHelloInterval,
              pimInterfaceStatus, pimInterfaceMode
            }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support management of PIM Dense
            Mode (version 2) routers."
    ::= { pimMIBGroups 5 }

pimV2CandidateRPMIBGroup OBJECT-GROUP
    OBJECTS { pimCandidateRPAddress,
              pimCandidateRPRowStatus
            }
    STATUS  current
    DESCRIPTION
            "A collection of objects to support configuration of which
            groups a router is to advertise itself as a Candidate-RP."
    ::= { pimMIBGroups 3 }

pimV1MIBGroup OBJECT-GROUP
    OBJECTS { pimJoinPruneInterval, pimNeighborIfIndex,
              pimNeighborUpTime, pimNeighborExpiryTime,
              pimNeighborMode,
              pimInterfaceAddress, pimInterfaceNetMask,
              pimInterfaceMode, pimInterfaceDR,
              pimInterfaceHelloInterval,
              pimRPState, pimRPStateTimer,
              pimRPLastChange, pimRPRowStatus
            }
    STATUS  deprecated
    DESCRIPTION
            "A collection of objects to support management of PIM
            (version 1) routers."
    ::= { pimMIBGroups 4 }

END
Wellfleet-COMMON-MIB

-- Copyright 1997 Bay Networks, Inc.  All Rights
-- Reserved.  Reproduction of this document is authorized on
-- condition that the foregoing copyright notice is included.
-- This Wellfleet 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.
--
-- It is Bay Networks' intent to encourage the widespread use of
-- this Specification in connection with the management of
-- Bay Networks products. Bay Networks grants vendors, end-users,
-- and other interested parties a non-exclusive license to
-- use this Specification in connection with the management
-- of Bay Networks products.
--
-- This Specification is supplied "AS IS", and Bay Networks makes
-- no warranty, either expressed or implied, as to the use,
-- operation, condition, or performance of the Specification.

DEFINITIONS ::= BEGIN

IMPORTS

  enterprises
    FROM RFC1155-SMI;

--
-- Top level sub-trees. 
--
wellfleet                       OBJECT IDENTIFIER ::= { enterprises 18 }
wfSwSeries7                    OBJECT IDENTIFIER ::= { wellfleet 3 }

wfHardwareConfig               OBJECT IDENTIFIER ::= { wfSwSeries7 1 }
  wfHwModuleGroup              OBJECT IDENTIFIER ::= { wfHardwareConfig 4 }
  wfHwIdentities               OBJECT IDENTIFIER ::= { wfHardwareConfig 5 }
    wfHwFn                     OBJECT IDENTIFIER ::= { wfHwIdentities 1 }
    wfHwLn                     OBJECT IDENTIFIER ::= { wfHwIdentities 2 }
    wfHwCn                     OBJECT IDENTIFIER ::= { wfHwIdentities 3 }
    wfHwAfn                    OBJECT IDENTIFIER ::= { wfHwIdentities 4 }
    wfHwIn                     OBJECT IDENTIFIER ::= { wfHwIdentities 5 }
    wfHwAn                     OBJECT IDENTIFIER ::= { wfHwIdentities 16 }
      wfHwAnMpr                        OBJECT IDENTIFIER ::= { wfHwAn 1 }
      wfHwAnHub                        OBJECT IDENTIFIER ::= { wfHwAn 2 }
    wfHwBln                    OBJECT IDENTIFIER ::= { wfHwIdentities 16640 }
    wfHwBcn                    OBJECT IDENTIFIER ::= { wfHwIdentities 16896 }
    wfHwRbln                   OBJECT IDENTIFIER ::= { wfHwIdentities 17152 }
    wfHwAsn                    OBJECT IDENTIFIER ::= { wfHwIdentities 20480 }
    wfHwAsnZ                   OBJECT IDENTIFIER ::= { wfHwIdentities 20736 }
    wfHwAsnB                   OBJECT IDENTIFIER ::= { wfHwIdentities 20992 }
    wfSwitchNode               OBJECT IDENTIFIER ::= { wfHwIdentities 24576 }
wfSoftwareConfig               OBJECT IDENTIFIER ::= { wfSwSeries7 2 }
-- wfProtocols                  OBJECT IDENTIFIER ::= { wfSwConfig  1 }
-- wfLinkModules                OBJECT IDENTIFIER ::= { wfSwConfig  2 }
-- wfDrivers                    OBJECT IDENTIFIER ::= { wfSwConfig  3 }
wfSystem                       OBJECT IDENTIFIER ::= { wfSwSeries7 3 }
  wfServices                   OBJECT IDENTIFIER ::= { wfSystem 2 }
--  wfConsole                   OBJECT IDENTIFIER ::= { wfServices 1 }
--  wfTiRui                     OBJECT IDENTIFIER ::= { wfServices 2 }
--  wfCircuitNameTable          OBJECT IDENTIFIER ::= { wfServices 3 }
  wfPacketGenGroup             OBJECT IDENTIFIER ::= { wfServices 4 }
    wfBacPktGenGroup            OBJECT IDENTIFIER ::= { wfPacketGenGroup 1 }
  wfGameGroup                  OBJECT IDENTIFIER ::= { wfServices 5 }
  wfStaGroup                   OBJECT IDENTIFIER ::= { wfServices 6 }
  wfMibHeapGroup               OBJECT IDENTIFIER ::= { wfServices 7 }
  wfCircuitNameExtension       OBJECT IDENTIFIER ::= { wfServices 9 }
  wfNetBootGroup               OBJECT IDENTIFIER ::= { wfServices 10 }
  wfSerialPortGroup            OBJECT IDENTIFIER ::= { wfServices 11 }
  wfFileSystemGroup            OBJECT IDENTIFIER ::= { wfServices 12 }
  wfPingGroup                  OBJECT IDENTIFIER ::= { wfServices 13 }
  wfRuiBootGroup               OBJECT IDENTIFIER ::= { wfServices 14 }
  wfSyslogGroup                        OBJECT IDENTIFIER ::= { wfServices 15 }
  wfDCMmwGroup                 OBJECT IDENTIFIER ::= { wfServices 16 }
  wfStatsDcGroup               OBJECT IDENTIFIER ::= { wfServices 17 }
  wfName                        OBJECT IDENTIFIER ::= { wfServices 18 }
  wfEntityGroup                 OBJECT IDENTIFIER ::= { wfServices 20 }
  wfUserServicesGroup           OBJECT IDENTIFIER ::= { wfServices 22 }
  wfDiffServGroup               OBJECT IDENTIFIER ::= { wfServices 23 }
      wfServicePkgGroup         OBJECT IDENTIFIER ::= { wfDiffServGroup 1 }
      wfAcctGroup               OBJECT IDENTIFIER ::= { wfDiffServGroup 2 }
wfLine                         OBJECT IDENTIFIER ::= { wfSwSeries7 4 }
--wfCSMACDTable                 OBJECT IDENTIFIER ::= { wfLine 1 }
--wfTokenRingTable              OBJECT IDENTIFIER ::= { wfLine 2 }
--wfFddiTable                   OBJECT IDENTIFIER ::= { wfLine 4 }
--wfSyncTable                   OBJECT IDENTIFIER ::= { wfLine 5 }
  wfHwFGroup                   OBJECT IDENTIFIER ::= { wfLine 6 }
--wfHssiTable                   OBJECT IDENTIFIER ::= { wfLine 7 }
  wfMcT1Group                  OBJECT IDENTIFIER ::= { wfLine 8 }
  wfDs1E1Group                 OBJECT IDENTIFIER ::= { wfLine 9 }
--wfT1Table                     OBJECT IDENTIFIER ::= { wfLine 10 }
--wfE1Table                     OBJECT IDENTIFIER ::= { wfLine 11 }
  wfDs1Group                   OBJECT IDENTIFIER ::= { wfLine 12 }
  wfDs3Group                   OBJECT IDENTIFIER ::= { wfLine 13 }
  wfSipGroup                   OBJECT IDENTIFIER ::= { wfLine 14 }
  wfFddiGroup                  OBJECT IDENTIFIER ::= { wfLine 15 }
  wfCSMACDAutoNegGroup         OBJECT IDENTIFIER ::= { wfLine 16 }
  wfDiagsGroup                  OBJECT IDENTIFIER ::= { wfLine 20 }
  wfPktCaptureGroup            OBJECT IDENTIFIER ::= { wfLine 21 }
  wfCompressionGroup           OBJECT IDENTIFIER ::= { wfLine 22 }
  wfAtmInterfaceGroup          OBJECT IDENTIFIER ::= { wfLine 23 }
  wfSonetGroup                 OBJECT IDENTIFIER ::= { wfLine 24 }
  wfTaxiGroup                   OBJECT IDENTIFIER ::= { wfLine 25 }
  wfDsx3Group                  OBJECT IDENTIFIER ::= { wfLine 26 }
  wfBisyncGroup                        OBJECT IDENTIFIER ::= { wfLine 27 }
  wfLinkEncryptionGroup         OBJECT IDENTIFIER ::= { wfLine 28 }
  wfModemGroup                  OBJECT IDENTIFIER ::= { wfLine 29 }
  wfDsuCsuGroup                 OBJECT IDENTIFIER ::= { wfLine 30 }
  wfSwitchMediaGroup            OBJECT IDENTIFIER ::= { wfLine 31 }
    wfXCtlGroup                 OBJECT IDENTIFIER ::= { wfSwitchMediaGroup 1 }
    wfCSMACDIfGroup             OBJECT IDENTIFIER ::= { wfSwitchMediaGroup 2 }
    wfMAUGroup                  OBJECT IDENTIFIER ::= { wfSwitchMediaGroup 3 }
  wfFntsAtmGroup                OBJECT IDENTIFIER ::= { wfLine 32 }
  wfIsdbGroup                   OBJECT IDENTIFIER ::= { wfLine 33 }
  wfDeviceCtlGroup              OBJECT IDENTIFIER ::= { wfLine 34 }
    wfModCtlGroup               OBJECT IDENTIFIER ::= { wfDeviceCtlGroup 1 }
    wfIfpGroup                  OBJECT IDENTIFIER ::= { wfDeviceCtlGroup 2 }
wfApplication                  OBJECT IDENTIFIER ::= { wfSwSeries7 5 }
  wfDataLink                   OBJECT IDENTIFIER ::= { wfApplication 1 }
    wfBridgeGroup              OBJECT IDENTIFIER ::= { wfDataLink 1 }
    wfSpanningTree             OBJECT IDENTIFIER ::= { wfDataLink 2 }
    wfIfGroup                  OBJECT IDENTIFIER ::= { wfDataLink 3 }
    wfCircuitOptsGroup         OBJECT IDENTIFIER ::= { wfDataLink 4 }
    wfDlsGroup                 OBJECT IDENTIFIER ::= { wfDataLink 5 }
    wfLlcGroup                 OBJECT IDENTIFIER ::= { wfDataLink 6 }
    wfSdlcGroup                        OBJECT IDENTIFIER ::= { wfDataLink 7 }
--  wfLapBGroup                 OBJECT IDENTIFIER ::= { wfDataLink 8 }
    wfProtocolPriorityGroup    OBJECT IDENTIFIER ::= { wfDataLink 9 }
    wfIRedundGroup             OBJECT IDENTIFIER ::= { wfDataLink 10 }
    wfFwallGroup               OBJECT IDENTIFIER ::= { wfDataLink 11 }
    wfVlanGroup                 OBJECT IDENTIFIER ::= { wfDataLink 12 }
      wfPortMatrixGroup         OBJECT IDENTIFIER ::= { wfVlanGroup 1 }
      wfCommonVlanGroup         OBJECT IDENTIFIER ::= { wfVlanGroup 2 }
      wfMacAddrAssgGroup        OBJECT IDENTIFIER ::= { wfVlanGroup 3 }
      wfHelloGroup              OBJECT IDENTIFIER ::= { wfVlanGroup 4 }
      wfDot1dConfigGroup        OBJECT IDENTIFIER ::= { wfVlanGroup 5 }
      wfDot1qTagConfigGroup     OBJECT IDENTIFIER ::= { wfVlanGroup 6 }
    wfConvSteeringGroup         OBJECT IDENTIFIER ::= { wfDataLink 13 }
  wfDecGroup                   OBJECT IDENTIFIER ::= { wfApplication 2 }
  wfInternet                   OBJECT IDENTIFIER ::= { wfApplication 3 }
    wfArpGroup                 OBJECT IDENTIFIER ::= { wfInternet 1 }
    wfIpRouting                        OBJECT IDENTIFIER ::= { wfInternet 2 }
      wfIpGroup                        OBJECT IDENTIFIER ::= { wfIpRouting 1 }
      wfRipGroup               OBJECT IDENTIFIER ::= { wfIpRouting 2 }
      wfOspfGroup              OBJECT IDENTIFIER ::= { wfIpRouting 3 }
      wfEgpGroup               OBJECT IDENTIFIER ::= { wfIpRouting 4 }
      wfBgpGroup               OBJECT IDENTIFIER ::= { wfIpRouting 5 }
      wfIpPolicyGroup          OBJECT IDENTIFIER ::= { wfIpRouting 6 }
      wfNatGroup                OBJECT IDENTIFIER ::= { wfIpRouting 7 }
      wfIisisGroup              OBJECT IDENTIFIER ::= { wfIpRouting 8 }

    wfTcpGroup                 OBJECT IDENTIFIER ::= { wfInternet 3 }
    wfUdpGroup                 OBJECT IDENTIFIER ::= { wfInternet 4 }
    wfSnmpGroup                        OBJECT IDENTIFIER ::= { wfInternet 5 }
--  wfTftpGroup                 OBJECT IDENTIFIER ::= { wfInternet 6 }
    wfTelnetGroup              OBJECT IDENTIFIER ::= { wfInternet 7 }
    wfBootpGroup               OBJECT IDENTIFIER ::= { wfInternet 8 }
    wfRarpGroup                        OBJECT IDENTIFIER ::= { wfInternet 9 }
    wfFtpGroup                 OBJECT IDENTIFIER ::= { wfInternet 10 }
    wfNetBIOSIpGroup           OBJECT IDENTIFIER ::= { wfInternet 11 }
    wfDvmrpGroup               OBJECT IDENTIFIER ::= { wfInternet 12 }
    wfIgmpGroup                        OBJECT IDENTIFIER ::= { wfInternet 13 }
    wfPimGroup                 OBJECT IDENTIFIER ::= { wfInternet 14 }
    wfIpv6Group                        OBJECT IDENTIFIER ::= { wfInternet 16 }
    wfNtpGroup                 OBJECT IDENTIFIER ::= { wfInternet 17 }
    wfRcmdsGroup               OBJECT IDENTIFIER ::= { wfInternet 18 }
    wfDnsGroup                 OBJECT IDENTIFIER ::= { wfInternet 19 }
    wfGreGroup                 OBJECT IDENTIFIER ::= { wfInternet 20 }
    wfMobileIpGroup            OBJECT IDENTIFIER ::= { wfInternet 21 }
    wfHttpGroup                 OBJECT IDENTIFIER ::= { wfInternet 22 }
    wfNhrpGroup                 OBJECT IDENTIFIER ::= { wfInternet 23 }
    wfDhcpServerGroup           OBJECT IDENTIFIER ::= { wfInternet 24 }
    wfVrrpGroup                 OBJECT IDENTIFIER ::= { wfInternet 25 }
    wfIpsecGroup                OBJECT IDENTIFIER ::= { wfInternet 26 }
  wfAppletalkGroup             OBJECT IDENTIFIER ::= { wfApplication 4 }
  wfIpxGroup                   OBJECT IDENTIFIER ::= { wfApplication 5 }
    wfNlspGroup                        OBJECT IDENTIFIER ::= { wfIpxGroup 128 }
  wfOsiGroup                   OBJECT IDENTIFIER ::= { wfApplication 6 }
  wfVinesGroup                 OBJECT IDENTIFIER ::= { wfApplication 8 }
  wfWanGroup                   OBJECT IDENTIFIER ::= { wfApplication 9 }
    wfFrameRelayGroup          OBJECT IDENTIFIER ::= { wfWanGroup 1 }
    wfPppGroup                 OBJECT IDENTIFIER ::= { wfWanGroup 2 }
--  wfSmdsGroup                 OBJECT IDENTIFIER ::= { wfWanGroup 3 }
    wfX25Group                 OBJECT IDENTIFIER ::= { wfWanGroup 4 }
    wfAtmGroup                 OBJECT IDENTIFIER ::= { wfWanGroup 5 }
      wfAtmLeGroup             OBJECT IDENTIFIER ::= { wfAtmGroup 20 }
    wfFrswGroup                        OBJECT IDENTIFIER ::= { wfWanGroup 6 }
    wfSmdsSwGroup              OBJECT IDENTIFIER ::= { wfWanGroup 7 }
    wfIsdnGroup                        OBJECT IDENTIFIER ::= { wfWanGroup 8 }
    wfFrameRelay2Group         OBJECT IDENTIFIER ::= { wfWanGroup 9 }
    wfmpsObjects                OBJECT IDENTIFIER ::= { wfWanGroup 10 }
    wfAsrGroup                  OBJECT IDENTIFIER ::= { wfWanGroup 11 }
    wfX25PadGroup               OBJECT IDENTIFIER ::= { wfWanGroup 12 }
    wfAtmHalfBridgeGroup        OBJECT IDENTIFIER ::= { wfWanGroup 13 }
    wfmpcObjects                OBJECT IDENTIFIER ::= { wfWanGroup 14 }
    wfMplsLdpGroup              OBJECT IDENTIFIER ::= { wfWanGroup 15 }
    wfMplsAtmGroup              OBJECT IDENTIFIER ::= { wfWanGroup 16 }
  wfXnsGroup                   OBJECT IDENTIFIER ::= { wfApplication 10 }
  wfTestGroup                  OBJECT IDENTIFIER ::= { wfApplication 11 }
  wfLanManagerGroup            OBJECT IDENTIFIER ::= { wfApplication 12 }
  wfOsiConsGroup                OBJECT IDENTIFIER ::= { wfApplication 13 }
  wfAppnGroup                  OBJECT IDENTIFIER ::= { wfApplication 14 }
  wfIpexGroup                  OBJECT IDENTIFIER ::= { wfApplication 15 }
  wfIntegratedServicesGroup    OBJECT IDENTIFIER ::= { wfApplication 16 }
    wfReservationProtocolGroup  OBJECT IDENTIFIER ::= { wfIntegratedServicesGroup 1 }
  wfRRedGroup                  OBJECT IDENTIFIER ::= { wfApplication 17 }
  wfBotGroup                   OBJECT IDENTIFIER ::= { wfApplication 18 }
  wfAccountingGroup            OBJECT IDENTIFIER ::= { wfApplication 20 }
  wfAsyncOverTcpGroup           OBJECT IDENTIFIER ::= { wfApplication 21 }
  wfRadiusGroup                OBJECT IDENTIFIER ::= { wfApplication 22 }
  wfL2TPGroup                   OBJECT IDENTIFIER ::= { wfApplication 23 }
  wfVcctGroup                   OBJECT IDENTIFIER ::= { wfApplication 24 }
  wfQoSPolicyGroup              OBJECT IDENTIFIER ::= { wfApplication 25 }
    wfCopsCGroup                OBJECT IDENTIFIER ::= { wfQoSPolicyGroup 1 }
  wfDiffServAppGroup            OBJECT IDENTIFIER ::= { wfApplication 26 }
  wfIKEGroup                    OBJECT IDENTIFIER ::= { wfApplication 27 }
  wfPgmGroup                    OBJECT IDENTIFIER ::= { wfApplication 28 }

END  -- Wellfleet-COMMON-MIB
Wellfleet-PGM-MIB DEFINITIONS ::= BEGIN

    IMPORTS
      OBJECT-TYPE
        FROM RFC-1212
      IpAddress, Counter, Gauge
        FROM RFC1155-SMI
      wfPgmGroup
        FROM Wellfleet-COMMON-MIB;

    wfPgm       OBJECT IDENTIFIER ::= { wfPgmGroup 1 }

    wfPgmCreate OBJECT-TYPE
        SYNTAX  INTEGER {
                    created(1),
                    deleted(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Create/Delete parameter. Default is created.
                Users perform a set operation on this
                object in order to create/delete PGM."
        DEFVAL  { created }
        ::= { wfPgm 1 }

    wfPgmEnable OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Enable/Disable Parameter indicates whether
                this PGM record is enabled or disabled."
        DEFVAL  { disabled }
        ::= { wfPgm 2 }

    wfPgmState OBJECT-TYPE
        SYNTAX  INTEGER {
                    up(1),
                    down(2),
                    init(3),
                    notpres(4)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The current state of the entire PGM."
        DEFVAL  { notpres }
        ::= { wfPgm 3 }

    wfPgmDebug OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "This is a debug field for PGM. Setting bits
                cause pgm to gernerate certain log messages.
                This field will NOT restart PGM.
                The follow bits maybe set in any combination
                (LS stands for least significant):

                0x00000001 for no display
                0x00000002 for interface to MTM
                0x00000004 for session addition
                0x00000008 for session deletion
                0x00000010 for retransmit state addition
                0x00000020 for retransmit state deletion
                0x00000040 for retransmit state timeout
                0x00000080 for cache env
                0x00000100 for "

        ::= { wfPgm 4 }

    wfPgmSessionLifeTime  OBJECT-TYPE
--        SYNTAX  INTEGER(600..2147483647)
        SYNTAX  INTEGER(0..2147483647)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The length of the idle time (seconds) for which a 
                 PGM session will be aged out. An idle PGM session means 
                 there is no SPM message received from the upstream."
        DEFVAL  { 300 }
--        DEFVAL  { 600 }
        ::= { wfPgm 5 }

    wfPgmNnakGenerate  OBJECT-TYPE
        SYNTAX  INTEGER {
                enabled(1),
                disabled(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Router will send NNAK when received the redirect NCF 
                 if this parameter is set to enabled." 
        DEFVAL  { enabled }
        ::= { wfPgm 6 }

    wfPgmMaxReXmitStates OBJECT-TYPE
        SYNTAX  INTEGER(0..2147483647)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The Maxium number of retransmit state entries 
                 per slot. If no value is set means network element
                 has no limitation on this mib."
        ::= { wfPgm 7 }

    wfPgmTotalReXmitStates OBJECT-TYPE
        SYNTAX  Gauge
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of retransmit state entries 
                 in retransmit state table."
        ::= { wfPgm 8 }

    wfPgmMaxSessions OBJECT-TYPE
        SYNTAX  INTEGER(0..2147483647)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The Maxium number of source path state sessions 
                 per slot. If no value is set means network element
                 has no limitation on this mib."
        DEFVAL  { 100 }
        ::= { wfPgm 9 }

    wfPgmTotalSessions OBJECT-TYPE
        SYNTAX  Gauge
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of source path session entries 
                 currently in PGM session table"
        ::= { wfPgm 10 }

    wfPgmTotalReXmitStatesTimedOut OBJECT-TYPE
        SYNTAX  Gauge
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of retransmit state entries got
                 removed becuase of timed-out (no correspondent
                 RDATA received)." 
        ::= { wfPgm 11 }

    wfPgmTotalUniqueNaks OBJECT-TYPE
        SYNTAX  Gauge
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of unique Naks received."
        ::= { wfPgm 12 }

    wfPgmTotalUniqueParityNaks OBJECT-TYPE
        SYNTAX  Gauge
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of unique Parity Naks received."
        ::= { wfPgm 13 }

    wfPgmMaxNakRate OBJECT-TYPE
        SYNTAX  INTEGER (0..2147483647)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The maximum number allowed of Nak per second."
        DEFVAL { 100 }
        ::= { wfPgm 14 }

    wfPgmIfTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF WfPgmIfEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Table of PGM Interface Statistics"
        ::= { wfPgmGroup 2 }

    wfPgmIfEntry OBJECT-TYPE
        SYNTAX  WfPgmIfEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A PGM Interface Statistics entry"
        INDEX   { wfPgmIfCct }
        ::= { wfPgmIfTable 1 }

    WfPgmIfEntry ::= SEQUENCE {
            wfPgmIfCreate
                INTEGER,
            wfPgmIfEnable
                INTEGER,
            wfPgmIfState
                INTEGER,
            wfPgmIfCct
                INTEGER,
            wfPgmIfNakReXmitInterval
               INTEGER,
            wfPgmIfMaxNakReXmitRate
               INTEGER,
            wfPgmIfNakRdataInterval
               INTEGER,
            wfPgmIfNakEliminateInterval
               INTEGER,
            wfPgmIfTotalReXmitStates
                Counter,
            wfPgmIfTotalReXmitTimedOut
                Counter,
            wfPgmIfInSpms
                Counter,
            wfPgmIfOutSpms
                Counter,
            wfPgmIfInParitySpms
                Counter, 
            wfPgmIfOutParitySpms
                Counter,
            wfPgmIfInSpmPortErrors
                Counter,
            wfPgmIfInRdata
                Counter,
            wfPgmIfOutRdata
                Counter,
            wfPgmIfInParityRdata
                Counter,
            wfPgmIfOutParityRdata
                Counter,
            wfPgmIfInRdataPortErrors
                Counter,
            wfPgmIfInRdataNoSessionErrors
                Counter,
            wfPgmIfUniqueNaks
                Counter,
            wfPgmIfInNaks
                Counter,
            wfPgmIfOutNaks
                Counter,
            wfPgmIfUniqueParityNaks
                Counter,
            wfPgmIfInParityNaks
                Counter,
            wfPgmIfOutParityNaks
                Counter,
            wfPgmIfInNakPortErrors
                Counter,
            wfPgmIfInNakNoSessionErrors
                Counter,
            wfPgmIfInNakSeqErrors
                Counter,
            wfPgmIfInParityNakTgErrors
                Counter,
            wfPgmIfInNnaks
                Counter,
            wfPgmIfOutNnaks
                Counter,
            wfPgmIfInParityNnaks
                Counter,
            wfPgmIfOutParityNnaks
                Counter,
            wfPgmIfInNnakPortErrors
                Counter,
            wfPgmIfInNnakNoSessionErrors
                Counter,
            wfPgmIfInNcfs
                Counter,
            wfPgmIfOutNcfs
               Counter,
            wfPgmIfInParityNcfs
                Counter,
            wfPgmIfOutParityNcfs
               Counter,
            wfPgmIfInNcfPortErrors
               Counter,
            wfPgmIfInNcfNoSessionErrors
               Counter,
            wfPgmIfInRedirectNcfs
               Counter
        }
    wfPgmIfCreate OBJECT-TYPE
        SYNTAX  INTEGER {
                    created(1),
                    deleted(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Create or delete"
        DEFVAL  { created }
        ::= { wfPgmIfEntry 1 }

    wfPgmIfEnable OBJECT-TYPE
        SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "not used. enabled/Disabled parameter."
        DEFVAL  { disabled } 
        ::= { wfPgmIfEntry 2 }


    wfPgmIfState OBJECT-TYPE
        SYNTAX  INTEGER {
                    up(1),
                    down(2),
                    init(3),
                    notpres(4)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The current state of the PGM interface."
        DEFVAL  { notpres }
        ::= { wfPgmIfEntry 3 }

    wfPgmIfCct OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The PGM circuit number"
        ::= { wfPgmIfEntry 4 }

    wfPgmIfNakReXmitInterval  OBJECT-TYPE
--        SYNTAX  INTEGER(1000..2147483647)
        SYNTAX  INTEGER(100..2147483647)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The length of time (milliseconds) for which a
                 network element will retransmit a NAK while waiting for a
                 corresponding NCF. This interval
                 is counted down from the transmission of a NAK"
        DEFVAL  { 1000 }
        ::= { wfPgmIfEntry 5 }

--    wfPgmIfMaxNakReXmitCount  OBJECT-TYPE
    wfPgmIfMaxNakReXmitRate  OBJECT-TYPE
        SYNTAX  INTEGER(1..2147483647)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The maximum retries of NAK restransmission per second is allowed.  "
        DEFVAL  { 2  }
        ::= { wfPgmIfEntry 6 }

    wfPgmIfNakRdataInterval  OBJECT-TYPE
        SYNTAX  INTEGER(1..2147483647)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The length of time (seconds) for which a
                 network element will wait for the corresponding
                 RDATA. This interval is counted down from the time
                 a matching NCF is received."
        DEFVAL  { 10 }
--        DEFVAL  { 60 }
        ::= { wfPgmIfEntry 7  }

    wfPgmIfNakEliminateInterval OBJECT-TYPE
        SYNTAX  INTEGER(0..2147483647)
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "The length of time (seconds) for which a
                 network element will suspend NAK elimanation for
                 the specific TSI/SQN.
                 .This interval is counted down from the time
                 the first NAK is establish. This value must be
                 smaller than wfPgmNakRdataInterval. If the value
                 of this parameter is set to 1 then all the duplicate
                 NAKs will be elimanated."
        DEFVAL  { 5 } 
--        DEFVAL  { 10 } 
        ::= { wfPgmIfEntry 8  }

    wfPgmIfTotalReXmitStates OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total retransmit state entries for this interface."
        ::= { wfPgmIfEntry 9 }
 
    wfPgmIfTotalReXmitTimedOut OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total time-outed retransmit state entries for
                 this interface."
        ::= { wfPgmIfEntry 10 }

    wfPgmIfInSpms OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of SPM received on the PGM interface."
        ::= { wfPgmIfEntry 11 }

    wfPgmIfOutSpms OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of SPM sent out from the PGM interface."
        ::= { wfPgmIfEntry 12 }

    wfPgmIfInParitySpms OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity SPM received on the PGM interface"
        ::= { wfPgmIfEntry 13 }

    wfPgmIfOutParitySpms OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity SPM sent out from the PGM interface"
        ::= { wfPgmIfEntry 14 }

    wfPgmIfInSpmPortErrors  OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
               "The number of received SPM discarded on the PGM interface for 
               the wrong inbound"
        ::= { wfPgmIfEntry 15 }

    wfPgmIfInRdata OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of RDATA received on the PGM interface"
        ::= { wfPgmIfEntry 16 }

    wfPgmIfOutRdata OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of RDATA sent out from the PGM interface"
        ::= { wfPgmIfEntry 17 }

    wfPgmIfInParityRdata OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of Parity RDATA received on the PGM interface"
        ::= { wfPgmIfEntry 18 }

    wfPgmIfOutParityRdata OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity RDATA sent out from the PGM 
                 interface"
        ::= { wfPgmIfEntry 19 }

    wfPgmIfInRdataPortErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of received RDATA discarded because of wrong 
                 inbound"
        ::= { wfPgmIfEntry 20 }

    wfPgmIfInRdataNoSessionErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of received RDATA discarded because of no session"
        ::= { wfPgmIfEntry 21 }

    wfPgmIfUniqueNaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of unique NAKs received for this interface."
        ::= { wfPgmIfEntry 22 }

    wfPgmIfInNaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of NAK received on the PGM interface"
        ::= { wfPgmIfEntry 23 }

    wfPgmIfOutNaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of NAK sent out from the PGM interface"
        ::= { wfPgmIfEntry 24 }

    wfPgmIfUniqueParityNaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of unique parity NAKs received for
                 this interface."
        ::= { wfPgmIfEntry 25 }

    wfPgmIfInParityNaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity NAK received on the PGM interface"
        ::= { wfPgmIfEntry 26 }

    wfPgmIfOutParityNaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity NAK sent out from the PGM interface"
        ::= { wfPgmIfEntry 27 }

    wfPgmIfInNakPortErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of received NAK discarded because of wrong outbound"
        ::= { wfPgmIfEntry 28 }

    wfPgmIfInNakNoSessionErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of received NAK Discarded because of no session"
        ::= { wfPgmIfEntry 29 }

    wfPgmIfInNakSeqErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of received NAK Discarded because of out of 
                 sequence (out of retransmit window)."
        ::= { wfPgmIfEntry 30 }

    wfPgmIfInParityNakTgErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of received parity NAK Discarded because of out of
                 parity TG window."
        ::= { wfPgmIfEntry 31 }

    wfPgmIfInNnaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of NNAK received on the PGM interface"
        ::= { wfPgmIfEntry 32 }

    wfPgmIfOutNnaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of NNAK sent out from the PGM interface"
        ::= { wfPgmIfEntry 33 }

    wfPgmIfInParityNnaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity NNAK received on the PGM interface"
        ::= { wfPgmIfEntry 34 }

    wfPgmIfOutParityNnaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity NNAK sent out from the PGM 
                 interface"
        ::= { wfPgmIfEntry 35 }

    wfPgmIfInNnakPortErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of received NNAK discarded because of wrong 
                 mcast outbound"
        ::= { wfPgmIfEntry 36 }

    wfPgmIfInNnakNoSessionErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of received NNAK discarded because of no session"
        ::= { wfPgmIfEntry 37 }

    wfPgmIfInNcfs OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of  NCF received on the PGM interface"
        ::= { wfPgmIfEntry 38 }

    wfPgmIfOutNcfs OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of NCF sent out from the PGM interface"
        ::= { wfPgmIfEntry 39 }

    wfPgmIfInParityNcfs OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of  parity NCF received on the PGM interface"
        ::= { wfPgmIfEntry 40 }

    wfPgmIfOutParityNcfs OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity NCF sent out from the PGM interface"
        ::= { wfPgmIfEntry 41 }

    wfPgmIfInNcfPortErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of received NCF discarded because of the wrong 
                 inbound"
        ::= { wfPgmIfEntry 42 }

    wfPgmIfInNcfNoSessionErrors OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of received NCF discarded because of no session"
        ::= { wfPgmIfEntry 43 }

    wfPgmIfInRedirectNcfs OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The number of redirected NCF received on the PGM interface"
        ::= { wfPgmIfEntry 44 }


    wfPgmSessionTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF WfPgmSessionEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Table of PGM flow for each (port,global id)"
        ::= { wfPgmGroup 3 }

    wfPgmSessionEntry OBJECT-TYPE
        SYNTAX  WfPgmSessionEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A PGM Session entry"
        INDEX   { wfPgmSessionSource,
                  wfPgmSessionGroup,
                  wfPgmSessionSourcePort,
                  wfPgmSessionGlobalId}
        ::= { wfPgmSessionTable 1 }

    WfPgmSessionEntry ::= SEQUENCE {
            wfPgmSessionSource
                IpAddress,
            wfPgmSessionGroup
                IpAddress,
            wfPgmSessionSourcePort
                INTEGER,
            wfPgmSessionGlobalId
                OCTET STRING,
            wfPgmSessionUpstreamAddress
                IpAddress,
            wfPgmSessionUpstreamIfCct
                INTEGER,
            wfPgmSessionTrailEdgeSeq
                Counter,
            wfPgmSessionIncrSeq
                Counter,
            wfPgmSessionLeadEdgeSeq
                Counter,
            wfPgmSessionInSpms
                Counter,
            wfPgmSessionOutSpms
                Counter,
            wfPgmSessionInParitySpms
                Counter,
            wfPgmSessionOutParitySpms
                Counter,
            wfPgmSessionTotalReXmitStates
                Counter,
            wfPgmSessionTotalReXmitTimedOut
                Counter,
            wfPgmSessionInRdata 
                Counter,
            wfPgmSessionOutRdata
                Counter,
            wfPgmSessionInParityRdata 
                Counter,
            wfPgmSessionOutParityRdata
                Counter,
            wfPgmSessionInRdataNoStateErrors
                Counter,
            wfPgmSessionUniqueNaks
                Counter,
            wfPgmSessionInNaks
                Counter,
            wfPgmSessionOutNaks
                Counter, 
            wfPgmSessionUniqueParityNaks
                Counter,
            wfPgmSessionInParityNaks
                Counter,
            wfPgmSessionOutParityNaks
                Counter, 
            wfPgmSessionInNakSeqErrors
                Counter,
            wfPgmSessionInNnaks
                Counter,
            wfPgmSessionOutNnaks
                Counter,
            wfPgmSessionInParityNnaks
                Counter,
            wfPgmSessionOutParityNnaks
                Counter,
            wfPgmSessionInNcfs
                Counter,
            wfPgmSessionOutNcfs
                Counter,
            wfPgmSessionInParityNcfs
                Counter,
            wfPgmSessionOutParityNcfs
                Counter,
            wfPgmSessionInRedirectNcfs
                Counter
        }

    wfPgmSessionSource OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The source IP address of this entry."
        ::= { wfPgmSessionEntry 1 }

    wfPgmSessionGroup OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The destination group address of this entry"
        ::= { wfPgmSessionEntry 2 }

    wfPgmSessionSourcePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The source port of this pgm session"
        ::= { wfPgmSessionEntry 3 }

    wfPgmSessionGlobalId OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The Global ID this entry"
        ::= { wfPgmSessionEntry 4 }

    wfPgmSessionUpstreamAddress OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The IP address of the upstream interface for the entry."
        ::= { wfPgmSessionEntry 5 }

    wfPgmSessionUpstreamIfCct OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The circuit number of the upstream intf for the entry."
        ::= { wfPgmSessionEntry 6 }

    wfPgmSessionTrailEdgeSeq OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The trailing edge sequence of the transfer window."
        ::= { wfPgmSessionEntry 7 }

    wfPgmSessionIncrSeq OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The increase sequnce number in the transfer window."
        ::= { wfPgmSessionEntry 8 }

    wfPgmSessionLeadEdgeSeq OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The leading edge sequence of the transfer window."
        ::= { wfPgmSessionEntry 9 }

    wfPgmSessionInSpms OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of SPMs received for this session."
        ::= { wfPgmSessionEntry 10 }
 
    wfPgmSessionOutSpms OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of SPMs sent out for this session."
        ::= { wfPgmSessionEntry 11 }

    wfPgmSessionInParitySpms OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of ParityS PMs received for this session."
        ::= { wfPgmSessionEntry 12 }

    wfPgmSessionOutParitySpms OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of Parity SPMs sent out for this session."
        ::= { wfPgmSessionEntry 13 }

    wfPgmSessionTotalReXmitStates OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total retransmit state entries for this session."
        ::= { wfPgmSessionEntry 14 }

    wfPgmSessionTotalReXmitTimedOut OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total time-outed retransmit state entries for 
                 this session."
        ::= { wfPgmSessionEntry 15 }

    wfPgmSessionInRdata OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of RDATAs  received for this session."
        ::= { wfPgmSessionEntry 16 }

    wfPgmSessionOutRdata OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of RDATAs sent out from this session."
        ::= { wfPgmSessionEntry 17 }

    wfPgmSessionInParityRdata OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity RDATAs  received for this session."
        ::= { wfPgmSessionEntry 18 }

    wfPgmSessionOutParityRdata OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity RDATAs sent out from this session."
        ::= { wfPgmSessionEntry 19 }

    wfPgmSessionInRdataNoStateErrors OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of received RDATA discarded 
                 for no Retransmit state."
        ::= { wfPgmSessionEntry 20 }

    wfPgmSessionUniqueNaks OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of unique NAKs received for this session."
        ::= { wfPgmSessionEntry 21 }

    wfPgmSessionInNaks OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of NAKs received for this session."
        ::= { wfPgmSessionEntry 22 }

    wfPgmSessionOutNaks OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of NAKs sent out from this session."
        ::= { wfPgmSessionEntry 23 }

    wfPgmSessionUniqueParityNaks OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of unique parity NAKs received for 
                 this session."
        ::= { wfPgmSessionEntry 24 }

    wfPgmSessionInParityNaks OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity NAKs received for this session."
        ::= { wfPgmSessionEntry 25 }

    wfPgmSessionOutParityNaks OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity NAKs sent out from this session."
        ::= { wfPgmSessionEntry 26 }

    wfPgmSessionInNakSeqErrors OBJECT-TYPE
        SYNTAX  Counter 
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of received NAKs discarded 
                 because of out of sequence (out of retransmit window)."
        ::= { wfPgmSessionEntry 27 }

    wfPgmSessionInNnaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of NNAKs received  for  this session."
        ::= { wfPgmSessionEntry 28 }

    wfPgmSessionOutNnaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of NNAKs sent out from this session."
        ::= { wfPgmSessionEntry 29 }

    wfPgmSessionInParityNnaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of parity NNAKs received  for  this session."
        ::= { wfPgmSessionEntry 30 }

    wfPgmSessionOutParityNnaks OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of Parity NNAKs sent out from this session."
        ::= { wfPgmSessionEntry 31 }

    wfPgmSessionInNcfs OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of Ncfs received for  this session."
        ::= { wfPgmSessionEntry 32 }

    wfPgmSessionOutNcfs OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of Ncfs sent out from  this session."
        ::= { wfPgmSessionEntry 33 }

    wfPgmSessionInParityNcfs OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of Parity Ncfs received for  this session."
        ::= { wfPgmSessionEntry 34 }

    wfPgmSessionOutParityNcfs OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of Parity Ncfs sent out from  this session."
        ::= { wfPgmSessionEntry 35 }

     wfPgmSessionInRedirectNcfs OBJECT-TYPE
        SYNTAX  Counter
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The total number of redirect Ncfs received for  this session."
        ::= { wfPgmSessionEntry 36 }


    wfPgmReXmitTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF WfPgmReXmitEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "Table of PGM Retransmit state"
        ::= { wfPgmGroup 4 }

    wfPgmReXmitEntry OBJECT-TYPE
        SYNTAX  WfPgmReXmitEntry
        ACCESS  not-accessible
        STATUS  mandatory
        DESCRIPTION
                "A PGM ReXmit entry"
        INDEX   { wfPgmReXmitSource,
                  wfPgmReXmitGroup,
                  wfPgmReXmitSourcePort,
                  wfPgmReXmitGlobalId,
                  wfPgmReXmitSelectiveSeqNum,
                  wfPgmReXmitParityTgSeqNum}
        ::= { wfPgmReXmitTable 1 }

    WfPgmReXmitEntry ::= SEQUENCE {
            wfPgmReXmitSource
                IpAddress,
            wfPgmReXmitGroup
                IpAddress,
            wfPgmReXmitSourcePort
                INTEGER,
            wfPgmReXmitGlobalId
                OCTET STRING,
            wfPgmReXmitSelectiveSeqNum
                INTEGER,
            wfPgmReXmitParityTgSeqNum
                INTEGER,
            wfPgmReXmitReqParityTgCount
                INTEGER,
            wfPgmReXmitUpStreamCct
                INTEGER,
            wfPgmReXmitDownStream
                OCTET STRING
            }

    wfPgmReXmitSource OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The source IP address of this entry."
        ::= { wfPgmReXmitEntry 1 }

    wfPgmReXmitGroup OBJECT-TYPE
        SYNTAX  IpAddress
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The destination group address of this entry"
        ::= { wfPgmReXmitEntry 2 }

    wfPgmReXmitSourcePort OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The source port of this pgm retransmit state"
        ::= { wfPgmReXmitEntry 3 }

    wfPgmReXmitGlobalId OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (6))
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The Global ID this entry"
        ::= { wfPgmReXmitEntry 4 }

    wfPgmReXmitSelectiveSeqNum OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The Selected Sequence number for this entry."
        ::= { wfPgmReXmitEntry 5 }

    wfPgmReXmitParityTgSeqNum OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The Requested Parity Tg sequence number for this entry.
                 this value will be the same as wfPgmSessionParityTgSeq."
        ::= { wfPgmReXmitEntry 6 }

    wfPgmReXmitReqParityTgCount OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The Requested number of missing  Parity packets of 
                 specific Tg. The largest counter of the received NAK
                 will be stored in this mib."
        ::= { wfPgmReXmitEntry 7 }

    wfPgmReXmitUpStreamCct OBJECT-TYPE
        SYNTAX  INTEGER
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "The upstream interface circuit number."
        ::= { wfPgmReXmitEntry 8 }

    wfPgmReXmitDownStream OBJECT-TYPE
        SYNTAX  OCTET STRING
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION
                "list of downstream intfs for this entry. Each one is
                 in the format of (intf_addr(u_int32) and intf_cct(u_int16)"
        ::= { wfPgmReXmitEntry 9 }
            

END  -- Wellfleet-PGM-MIB


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. 
--	 v404 : 05/10/00   Added rcRateLimitTable.
--	 v405 : 05/16/00   Port UnknownMacDiscardTable, ManualEditTable, 
--                         AutoLearnTable. Exclude priority and monitor
--                         in the table.
--	 v406 : 05/16/00   Ported rcIpConfGlobalIcmpNetUnreach. 
--       v407 : 05/18/00 - Added rcIpFilterNextHopForwardIpAddr,
--                         rcIpFilterNextHopForwardEnable.                   
--       v408 : 05/23/00 - Added rcIgmpInterfaceExtnTable, rcIpConfIgmpSnoopEnable
--                         rcIpConfIgmpProxySnoopEnable, rcIgmpStaticTable,
--                         rcIgmpAccessTable, rcIgmpSenderTable. 
--       v409 : 05/23/00 - Added rc2kMg48x100BaseTC.
--       v410 : 05/23/00 - Added rc2kAtm1483ElanStgId, rc2kAtm1483ElanrcStgTaggedBpduVlanId
--                         rc2kAtmLecElanStgId, rc2kAtmLecElanrcStgTaggedBpduVlanId.
--       v411 : 05/31/00 - Added forwardToNextHop in rcIpFilterMode, changed 
--                         rcIpFilterNextHopForwardEnable to rcIpFilterNextHopUnreachableDropEnable.
--       v412 : 05/31/00 - Rewrite the rcOrna mib. 
--	 v413 : 06/02/00 - Add rcUserSetTime.
--       v414 : 06/13/00 - Added rcIgmpInterfaceExtnMrdiscEnable. 
--       v415 : 06/16/00 - Added rcBridgeUnknownMacDiscardMacCountMax,
--                         rcBridgeUnknownMacDiscardMacCountCur. 
--       v416 : 06/28/00 - Expanded rcPortType to have seperateocs and oc12 for Atm and Pos.
--                         Added two more error code.
--       v417 : 07/04/00 - Replace ElanId by VlanId for rc2kAtmLecElanTable.
--       v418 : 07/13/00 - Clean up rcPortType, removed unused and unwanted type 
--                         includes rcPosMMF, rcPosSMF, rcAtm, rcOc3cSM, rcOc3cMM,
--                         rcOc3cCOPPER, rcOc12cSM, rcOc12cMM, rcDs3, rcE3.
--       v419 : 07/20/00 - Added rcRateLimitIfAllowedRatePps for rcRateLimitTable.
--       v420 : 07/21/00 - Rewrite rcPortType so it is commpatible with rel3.0.
--       v421 : 07/21/00 - Add rcSysVirtualIpAddr, rcSysVirtualNetMask.
--       v422 : 07/21/00 - Modified rc2kAtm1483ElanTable, index changed from ElanId to VlanId.
--       v423 : 07/23/00 - Added rcIgmpInterfaceExtnDiscoveredRouterPorts,
--                         rcIgmpInterfaceExtnSnoopMRouterExpiration,
--                         rcIgmpInterfaceExtnSnoopActiveMRouterPorts, 
--                         rcIgmpInterfaceExtnSnoopMRouterPorts in the rcIgmpInterfaceExtTable. 
--       v424 : 08/02/00 - Add rcIpConfOspfAreaAggregateTable.
--       v425 : 08/04/00 - Add rcIpStaticRouteLocalNextHop in rcIpStaticRouteTable.
--       v426 : 08/04/00 - Modified error return code.
--       v427 : 08/01/00 - Changed the rc2KDeviceFlashFileName,
--                         rc2KDevicePcmciaFileName,
--                         rcDeviceConfigSourceFileName,
--                         rcDeviceTertiarySourceFileName,
--                         rc2SysConfigFileName to the length of 256 characters long. 
--       v428 : 08/03/00 - Modified rc2kAtmLecElanTable, index changed from
--                         ElanId to VlanId.
--       v429 : 08/08/00 - Added rcIgmpAccessHostMask in rcIgmpAccessTable.
--       v430 : 08/17/00 - Added pos error return code.
--       v431 : 08/17/00 - Modified rc2kAtmPortTable, and rc2kAtmPvcTable. 
--       v432 : 08/17/00 - Took out other option for rc2kAtmPortClockSource.
--       v433 : 08/22/00 - Added rc2kAtmSioCardConfigTable.
--       v434 : 08/22/00 - Changed rcPosSioCardConfigImageFileName to read-only.
--       v430 : 08/17/00 - Added pos error return code.
--       v431 : 08/17/00 - Modified rc2kAtmPortTable, and rc2kAtmPvcTable. 
--       v432 : 08/17/00 - Took out other option for rc2kAtmPortClockSource.
--       v433 : 08/22/00 - Added rc2kAtmSioCardConfigTable.
--       v434 : 08/22/00 - Changed rcPosSioCardConfigImageFileName to read-only.
--       v435 : 09/21/00 - Added rcWebHttpPort, and new error message.
--       v436 : 10/02/00 - Enable rcSysRmonUtilizationMethod, disable
--                         rcSysRmonSaveConfig.
--       v437 : 10/04/00 - Changed rc2kQosTrafficProfileEnable default value
--                         to false.
--       v438 : 10/11/00 - Remove entries from rc2kAtmPortTable, rc2kAtmPortSignalingEnable
--                         rc2kAtmPortUniVersion, rc2kAtmPortVpi, rc2kAtmPortSignalingStatus
--                         rc2kAtmLecElanTable - entire table
--                         rc2kAtmPvcStatTable - entire table
--                         rc2kAtmSvcTable - entire table  (current build b34)
--                         Changed range and default value for rc2kAtmPvcPeakCellRate and
--                         rc2kAtmPvcSustainedCellRate.
--       v439 : 10/17/00 - Add pos and multicast error return code. 
--       v440 : 12/21/00 - Add port route feature error return code. Add rc2kCpuEthernetPortRouteTable. 
--       v441 : 01/11/00 - Modified rc2kAtmPortNumVpiBits,rc2kAtmPvcPeakCellRate,
--                         rc2kAtmPvcSustainedCellRate descriptions.
--       v442 : 01/17/00 - Add rcIpAdEntMacOffset, and error code for this variable
--       v443 : 01/25/00 - Add more error code 
--       v444 : 04/05/01 - Added rcStgPortChangeDetection.
--       v444 : 03/03/01 - Add new trap rc2kAtmPvcLinkStateChange 
--                         Add rc2kAtmPvcOamLbMgmtEnable 
--                             rc2kAtmPvcOamLbSendFrequency 
--                             rc2kAtmPvcOamLbRetryFrequency 
--                             rc2kAtmPvcOamLbUpCount 
--                             rc2kAtmPvcOamLbDownCount 
--                             rc2kAtmPvcOamTrapEnable 
--                             rc2kAtmPvcOamVcStatus 
--       v440 : 12/21/00 - Add port route feature error return code. Add rc2kCpuEthernetPortRouteTable. 
--       v441 : 01/11/00 - Modified rc2kAtmPortNumVpiBits,rc2kAtmPvcPeakCellRate,
--                         rc2kAtmPvcSustainedCellRate descriptions.
--       v442 : 01/17/00 - Add rcIpAdEntMacOffset, and error code for this variable
--       v443 : 01/25/00 - Add more error code 
--
--       ******************************************************************
--       Accelar 8000 Product Family : Rel3.2.0
--       ******************************************************************
--
--       v500 : 09/08/00   rcIpGenPolicy check in.
--       v501 : 09/25/00 - Deleted the range for rcDiagMirrorByPortId, since
--                         hardware can support more than 10 entries.
--       v502 : 09/29/00 - Add rcChasType_a8003, rc2k32x100BaseTX.
--       v503 : 12/05/00 - Add rc2k16x1000BaseT.
--       v504 : 01/05/01 - Add rcIpRouteNextHop as rcIpRouteTable index.
--       v505 : 01/05/01 - Add rcIpConfGlobalEcmpMaxPath, rcIpConfGlobalEcmpEnable
--       v506 : 01/15/01 - For rcIpPimGlobalMode, added corrected enum value
--       v507 : 01/15/01 - Add pim Error code
--       v508 : 01/23/01 - Add Ospf Error code
--       v509 : 01/30/01 - Add mibs to rcMltTable
--       v510 : 01/29/01 - Add new route policy Error code
--       v511 : 02/01/01 - Add rc2k4x1000BaseOPM in rc2kCardFrontType.
--       v512 : 02/01/01 - Merge in central office chassis type rcA8010co, 
--       v510 : 02/01/01 - Add rc2k4x1000BaseOPM in rc2kCardFrontType.
--       v511 : 02/01/01 - Merge in central office chassis type rcA8010co, 
--                         and product type rcA8110co, rcA8610co. Add rcA8003. 
--       v512 : 02/06/01 - Add range for rcIpPimHelloInterval and rcIpPimJoinPruneInterval.
--       v513 : 01/29/01 - Add new route policy Error code
--       v514 : 02/02/01 - Add new route policy Rip Interface Table
--       v515 : 02/22/01 - Add 5 new mib to rcTblSize Grp. 
--                         Add 2 mib to rcIpRouteTable ( pref, IsBest).
--       v516 : 02/23/01 - Add rcIpConfOspfAction. 
--       v517 : 03/01/01 - Add rcIpRouteAltSequence. 
--                         Remove rcIpRouteIsBest, rcTblIpGarbageRouteSize, rcTblIpGarbagePathSize. 
--       v513 : 02/02/01 - Add new route policy Rip Interface TableE
--       v514 : 02/06/01 - Add range for rcIpPimHelloInterval and rcIpPimJoinPruneInterval.
--       v515 : 02/15/01 - Add rcIpMulticastTimedPruneTable
--       v516 : 02/21/01 - Add rcIpPimGlobalMbr
--       v517 : 02/21/01 - Add rcL2Redundancy
--       v518 : 03/09/01 - Add rcStatGoneDownCnt, rcBridgeFdbSmltRemote
--       v519 : 03/13/01 - Add rcMltIstSessionEnable, rcMltIstSessionStatus,
--                             rcStatMltHelloTxMsgCnt, rcStatMltHelloRxMsgCnt
--       v520 : 03/14/01 - Add ds3 for rc2kAtmPortMediaType.
--       v521 : 03/19/01 - Add rcL2RedundancyEnable for rcL2Redundancy, modified HaCpuEvent enum.
--       v522 : 03/19/01 - Add rcNtpGlobalGroup,rcNtpServerTable,rcNtpKeyTable.
--       v523 : 03/21/01 - Add Change,rcNtpServerAddress,rcNtpKeyId 
--                         to read only.
--                         Move rcMltIstPeerId and rcMltIstVlanId to rcMlt grp.
--                         Change rcTblIpBestRouteSize to rcTblIpForwardingSize
--                         Add rcIpRoutePathType.
--       v524 : 03/27/01 - Add rcStatSmltLearnMacAddr(Tx/Rx)MsgCnt, 
--                             rcStatSmltMacAddrAgeOut(Tx/Rx)MsgCnt,
--                             rcStatSmltMacAddrAgeExp(Tx/Rx)MsgCnt,
--                             rcStatSmltStgInfo(Tx/Rx)MsgCnt,
--                             rcStatSmltDelMacAddr(Tx/Rx)MsgCnt,
--                             rcStatSmltSmltDown(Tx/Rx)MsgCnt,
--                             rcStatSmltSmltUp(Tx/Rx)MsgCnt,
--                             rcStatSmltSendMacTbl(Tx/Rx)MsgCnt,
--                             rcStatSmltIgmp(Tx/Rx)MsgCnt,
--                             rcStatSmltPortDown(Tx/Rx)MsgCnt,
--                             rcStatSmltReqMacTbl(Tx/Rx)MsgCnt
--       v525 : 04/10/01 - Add rcL2RedundancyStandbyCpu
--       v526 : 04/11/01 - Changed rcIpRipInterfaceAutoAggrerate to rcIpRipInterfaceAutoAggregate
--                         changed the type for rcIpRipInterfaceIfIndex from INTEGER 
--                         to InterfaceIndex
--       v527 : 04/16/01 - Add action variable for rcSystemAction 
--                         mib to clear the Ist Mlt statistics 
--                         counters.
--       v528 : 04/18/01 - Change rc2kBootConfigSlot range from 5..6 to 3..6
--       v529 : 04/18/01 - Add rcIpFilterProtocolTypeUsrDefined
--       v529 : 04/25/01 - Add Error code 
--       v530 : 05/02/01 - Add rcIpDvmrpGlobalRouteExpireTimeOut
--                         rcIpDvmrpGlobalFwdCacheTimeOut
--                         rcIpDvmrpGlobalRouteDiscardTimeOut
--                         rcIpDvmrpGlobalRouteSwitchTimeOut
--       v531 : 05/24/01 - Add snmp error msg return code.
--       v532 : 05/30/01 - Add rc2kAtmPortDS3FramingMode,
--                             rc2kAtmPortDS3LoopBackMode
--       v533 : 05/31/01 - changed the enum defination for rcIgmpAccessMode.
--       v534 : 06/04/01 - Removed rc2kAtmPortDS3FramingMode,
--                                 rc2kAtmPortDS3LoopBackMode
--       v535 : 06/07/01 - Add rcIpPimGlobalRegisterSuppTimer.
--       v536 : 07/06/01 - Removed rcIpRipInterfaceAdvWhenDown.
--       v537 : 08/01/01 - Add rcIpPimINterfaceTable
--       v538 : 08/15/01 - Merge from Release 3.1.2:
--			   WDM GBIC support: Added the following
--                         eight new types to attribute rcPortType:
--                           rcGbic1470
--                           rcGbic1490
--                           rcGbic1510
--                           rcGbic1530
--                           rcGbic1550
--                           rcGbic1570
--                           rcGbic1590
--                           rcGbic1610 
--			   For Release 3.2.0:
--			   WDM GBIC 'APD' support: Added the following
--                         eight new types to attribute rcPortType:
--                           rcGbic1470APD
--                           rcGbic1490APD
--                           rcGbic1510APD
--                           rcGbic1530APD
--                           rcGbic1550APD
--                           rcGbic1570APD
--                           rcGbic1590APD
--                           rcGbic1610APD 
--

--       v541 : 01/17/02 - Add rcIpMrouteHw mib, 
--                         included rcIpMrouteHwTable, 
--                         rcIpMrouteHwPrunesTable, 
--                         rcIpMrouteHwSourcesTable, 
--                         and rcIpMrouteHwEgressVlansTable.
--
	
--       ******************************************************************
--       Accelar 8000 Product Family : Rel3.3.0
--       ******************************************************************
--
--       v600 : 06/13/01   Add rcIpDvmrpTableInPolicyName,
--                         rcIpDvmrpTableOutPolicyName for Dvmrp Policy feature
--       v601 : 06/13/01   Add rcIpDvmrpTableDefRtLis, rcIpDvmrpTableDefRtSup,
--                         rcIpDvmrpTableDefRtMet, rcIpDvmrpTableAdvSelf for
--                         default route feature.
--       v602 : 06/13/01 - Add enum dvmrp for rcIpRoutePolicyMatchProtocol 
--       v603 : 07/09/01 - Add rcIpAdEntIfType
--       v604 : 07/19/01 - Change rcIpPimGlobalBootStrapTimeOut to rcIpPimGlobalBootStrapPeriod
--       v605 : 07/19/01 - Add rcMltMcastDistribution Group
--       v606 : 07/17/01 - Add rcIpxSapInterfaceTable, rcIpxRipInterfaceTable
--                         rcIpxSapInFilterTable, rcIpxSapOutFilterTable,
--                         rcIpxRipInFilterTable, rcIpxRipOutFilterTable
--                         rcIpxPolicyNetTable, rcIpxPolicyServTable
--       v607 : 08/02/01 - rcIpRouteDiscoveryGlobalEnable and rcIpConfIcmpRdiscTable.
--       v608 : 08/08/01 - Add snmp error msg return code for icmp.
--       v608 : 08/10/01 - Add rcIpxAddrTicks
--       v608 : 08/10/01 - Add rcStpTCN

--       v608 : 08/07/01 - Add defaults for PIM timers. Add Igmp v3 Ssm.
--       v609 : 08/08/01 - Add Radius server acct enhancement.
--       v610 : 08/09/01 - Add atm Ds3 support in rc2kAtmPortLoopBackMode,
--                         rc2kAtmPortFramingMode.
--       v611 : 08/10/01 - Add error code for Ipx policy.
--       v612 : 08/10/01 - Add rcIgmpSsmGlobalRangeGroup and rcIgmpSsmGlobalRangeMask.
--       v613 : 08/14/01 - Add rcIpDvmrpTableLocalAddr, rcIpConfGlobalRipTimeOutInterval.
--       v614 : 09/05/01 - Add snmp error message return code,
--                         Add rcSvlan Table, rcSysMTUSize.
--       v615 : 09/09/01 - Add rcIpFilterMediaDevTable, rcIpFilterMediaStreamTable
--                         for IP Telephony feature.
--       v616 : 09/13/01 - Add rcIpPimStaticRPTable
--       v617 : 10/31/01 - Add MacAddrCapacity in rc2kChassis
--       v618 : 10/31/01 - Add rcIpDvmrpTableInterfaceType
--       v619 : 11/30/01 - Change rcMltMcastDistributionEnable to RO
--       v620 : 12/12/01 - Add rcIpPimCurrBsr Group
--       v621 : 01/02/02 - Add rcMltMulticastDistributionEnable in rcMltTable. 
--       v622 : 01/28/02 - Add rcVlanPortFirstPortInOpid and rcVlanPortLastPortInOpid in rcVlanPorttable
--       v623 : 02/18/02 - Add rc2kAtm1483ElanIpxNetworkAddr
--       v624 : 02/20/02 - Add rcIpPimCurrBsrBootStrapTimer
--       v625 : 05/17/02 - Add rcChasEMMode and rcChasEnhancedOperMode
--       v625 : 04/23/02 - Add 128K card type (M module)
--       v540 : 01/14/02 - Add rcIpMulticastSoftwareForwarding
--       v541 : 01/17/02 - Add rcIpMrouteHw mib, 
--                         included rcIpMrouteHwTable, 
--                         rcIpMrouteHwPrunesTable, 
--                         rcIpMrouteHwSourcesTable, 
--                         and rcIpMrouteHwEgressVlansTable.
--       v540 : 01/21/02 - Add rcIpPimCurrBsr
--
--       ******************************************************************
--       Accelar 8000 Product Family : Rel3.2.2
--       ******************************************************************
--       v541 : 02/21/02 - Changed rcRateLimitIfTrafficType enum order based
--                         on intrumentation code 
--       v542 : 04/01/02 - Changed rcIpDvmrpGlobalFwdCacheTimeOut minimum value to 60


-- 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, Integer32, NOTIFICATION-TYPE	FROM SNMPv2-SMI
	Counter32, Counter64			FROM SNMPv2-SMI
	AtmAddr             			FROM ATM-TC-MIB 
	PhysAddress		 		FROM RFC1213-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 }
rcA8003    		OBJECT IDENTIFIER ::= { rapidCity 280887555 }
rcA8006    		OBJECT IDENTIFIER ::= { rapidCity 280887558 }
rcA8010    		OBJECT IDENTIFIER ::= { rapidCity 280887562 }
rcA8010co               OBJECT IDENTIFIER ::= { rapidCity 1623064842 }
rcA8610    		OBJECT IDENTIFIER ::= { rapidCity 30 }
rcA8606    		OBJECT IDENTIFIER ::= { rapidCity 31 }
rcA8110    		OBJECT IDENTIFIER ::= { rapidCity 32 }
rcA8106    		OBJECT IDENTIFIER ::= { rapidCity 33 }
rcA8603    		OBJECT IDENTIFIER ::= { rapidCity 34 }
rcA8103    		OBJECT IDENTIFIER ::= { rapidCity 35 }
rcA8110co               OBJECT IDENTIFIER ::= { rapidCity 36 }
rcA8610co               OBJECT IDENTIFIER ::= { rapidCity 37 }
-- This is a place holder for OM 2.0 chassises
--rcAom8010                 OBJECT IDENTIFIER ::= { rapidCity 38 }
--rcAom8010co               OBJECT IDENTIFIER ::= { rapidCity 39 }
--rcAom8003                 OBJECT IDENTIFIER ::= { rapidCity 40 }
--rcAom8006                 OBJECT IDENTIFIER ::= { rapidCity 41 }
rcA1424                 OBJECT IDENTIFIER ::= { rapidCity 42 }
rcA1648                 OBJECT IDENTIFIER ::= { rapidCity 43 }
rcA1612                 OBJECT IDENTIFIER ::= { rapidCity 44 }
rcA1624                 OBJECT IDENTIFIER ::= { rapidCity 45 }
-- From rapidCity 100 to rapidCity 200 is reserved for OM chassises

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 }
rcPos                   OBJECT IDENTIFIER ::= { rcMgmt 26 }
rcLinkFlapDetect        OBJECT IDENTIFIER ::= { rcMgmt 27 }
rcV1Traps               OBJECT IDENTIFIER ::= { rcMgmt 28 }
rcRadius                OBJECT IDENTIFIER ::= { rcMgmt 29 }
rcIgmp                  OBJECT IDENTIFIER ::= { rcMgmt 30 }
rcUserSetTime           OBJECT IDENTIFIER ::= { rcMgmt 31 }
rcL2Redundancy          OBJECT IDENTIFIER ::= { rcMgmt 32 }
rcNtp        		OBJECT IDENTIFIER ::= { rcMgmt 33 }
rcSsh        		OBJECT IDENTIFIER ::= { rcMgmt 34 }
rcSvlan        		OBJECT IDENTIFIER ::= { rcMgmt 35 }
-- This is a place holder reminder reserved for OM 2.0
-- rcOpm    rcMgmt 36
-- rcVpn    rcMgmt 37
-- rcOeAdm  rcMgmt 38
-- rcTlsVpn rcMgmt 39
rcTengEnet      	OBJECT IDENTIFIER ::= { rcMgmt 50 }
rcRec                   OBJECT IDENTIFIER ::= { rcMgmt 51 }
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
        resetIstStatCounters(17)
--			 being used in rel2.2(18)
--			 being used in rel2.2(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        deprecated
        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..255))
        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	--excluded
        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 }
 
rcSysVirtualIpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Virtual IP is an IP address that owned and
		       advertised only by the master CPU. So whichever 
		       CPU is master registers this IP address. Unlike the
		       management IP address, this address goes in the 
		       switch config file and not the boot config"
        ::= { rcSystem 51 }
 
rcSysVirtualNetMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Net mask of the management virtual Ip address"
        ::= { rcSystem 52 }
 
rcSysReadWriteLevel OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The status of the read/write level"
        ::= { rcSystem 53 }

rcSysMTUSize OBJECT-TYPE
        SYNTAX        INTEGER {
                         mtu1950(1),
                         mtu9600(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "This is the maximum transmission size of frames that all
                       the ports on the chassis support."
        DEFVAL   { mtu1950 }
        ::= { rcSystem 55 }

rcSysClockSyncTime OBJECT-TYPE
        SYNTAX        INTEGER (15..3600)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Time interval at which RTC and system clocks are
                       synchronized."
        DEFVAL   { 60 }
        ::= { rcSystem 56 }

-- 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),
			ssh(64)
	    	      }		
        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	      { readOnly }
        ::= { 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..255))
        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,	--excluded
                rcVlanRoutingEnable TruthValue,	--excluded
                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,                       --excluded
                rcVlanIgmpSnoopReportProxyEnable TruthValue,            --excluded
                rcVlanIgmpSnoopRobustness INTEGER,                      --excluded
                rcVlanIgmpSnoopQueryInterval INTEGER,                   --excluded
                rcVlanIgmpSnoopMRouterPorts PortSet,                    --excluded
		rcVlanUserDefinedPid INTEGER,
		rcVlanIgmpSnoopActiveMRouterPorts PortSet,              --excluded
		rcVlanProtocolIds INTEGER,
		rcVlanIgmpSnoopActiveQuerier IpAddress,                 --excluded
		rcVlanIgmpSnoopMRouterExpiration INTEGER,               --excluded
		rcVlanIgmpSnoopQuerierPort InterfaceIndex,              --excluded
		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
                         bySvlan(6)       -- VLAN by Stacked Vlan 
                      }
        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        deprecated
        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        deprecated
        DESCRIPTION   "A flag to note whether IGMP Report Proxy is
                      enabled on this VLAN."
        DEFVAL        { true }
        ::= { rcVlanEntry 22 }
 
rcVlanIgmpSnoopRobustness OBJECT-TYPE
        SYNTAX        INTEGER (1..255)
        ACCESS        read-write
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "IP address of multicast querier router."
        ::= { rcVlanEntry 29 }

rcVlanIgmpSnoopMRouterExpiration OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Multicast querier router aging time out."
        ::= { rcVlanEntry 30 }

rcVlanIgmpSnoopQuerierPort OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        deprecated
        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,
                rcVlanPortSVlanPortType INTEGER,
		rcVlanPortLoopDetect TruthValue,
		rcVlanPortFirstPortInOpid InterfaceIndex,
		rcVlanPortLastPortInOpid InterfaceIndex
        }

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   "Enable/disable the port on the current vlan to 
                       perform tagging on the incoming and outgoing traffic."
        DEFVAL        { false }
        ::= { rcVlanPortEntry 8 }

rcVlanPortSVlanPortType OBJECT-TYPE
        SYNTAX        INTEGER {
                         normal(1),    
                         uni(2),
                         nni(3)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The type of port."
        DEFVAL        { normal } 
        ::= { rcVlanPortEntry 9 }

rcVlanPortLoopDetect OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable/disable loop detection on this port"
        DEFVAL        { false }
        ::= { rcVlanPortEntry 10 }

rcVlanPortFirstPortInOpid OBJECT-TYPE
        SYNTAX        InterfaceIndex
	ACCESS        read-only
	STATUS        mandatory
	DESCRIPTION   "This value gives the IfIndex of the first port in the
	               octapid. This value is used to generate an error message
		       when changing port type from normal to uni/nni and
		       viceversa"
        ::= { rcVlanPortEntry 11 }

rcVlanPortLastPortInOpid OBJECT-TYPE
        SYNTAX        InterfaceIndex
	ACCESS        read-only
	STATUS        mandatory
	DESCRIPTION   "This value gives the IfIndex of the first port in the
	               octapid. This value is used to generate an error message
		       when changing port type from normal to uni/nni and
		       viceversa"
        ::= { rcVlanPortEntry 12 }


-- 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	--excluded
        SYNTAX        SEQUENCE OF RcVlanIgmpSnoopEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "The VLAN for which this entry contains
                      information."
        ::= { rcVlanIgmpSnoopEntry 1 } 

rcVlanIgmpSnoopIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "The IP multicast group address for which this 
                      entry contains information."
        ::= { rcVlanIgmpSnoopEntry 2 }
 
rcVlanIgmpSnoopIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        deprecated
        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        deprecated
        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       deprecated
         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       deprecated
         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	--excluded
        SYNTAX        SEQUENCE OF RcVlanIgmpSnoopStaticEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "The VLAN for which this entry contains information."
        ::= { rcVlanIgmpSnoopStaticEntry 1 } 

rcVlanIgmpSnoopStaticIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "Used to create/delete entries in the 
                      rcVlanIgmpSnoopStaticTable."
        ::= { rcVlanIgmpSnoopStaticEntry 4 }

rcVlanIgmpSnoopStaticNotAllowedToJoin OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "Not allowed to join"
        ::= { rcVlanIgmpSnoopStaticEntry 5 }


-- VLAN IGMP Snoop Access Table

rcVlanIgmpSnoopAccessTable OBJECT-TYPE	--excluded
        SYNTAX        SEQUENCE OF RcVlanIgmpSnoopAccessEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "The VLAN for which this entry contains information."
        ::= { rcVlanIgmpSnoopAccessEntry 1 } 

rcVlanIgmpSnoopAccessGrpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "The IP multicast group address for which this
                      entry contains information."
        ::= { rcVlanIgmpSnoopAccessEntry 2 } 

rcVlanIgmpSnoopAccessHostAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "The IP address of a host for which this
                      entry contains information."
        ::= { rcVlanIgmpSnoopAccessEntry 3 }

rcVlanIgmpSnoopAccessHostMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "Row status"
        ::= { rcVlanIgmpSnoopAccessEntry 6 }


-- VLAN IGMP Snoop Sender Table

rcVlanIgmpSnoopSenderTable OBJECT-TYPE	--excluded
        SYNTAX        SEQUENCE OF RcVlanIgmpSnoopSenderEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "The VLAN for which this entry contains information."
        ::= { rcVlanIgmpSnoopSenderEntry 1 } 

rcVlanIgmpSnoopSenderIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "The IP multicast group address for which this
                      entry contains information."
        ::= { rcVlanIgmpSnoopSenderEntry 2 } 

rcVlanIgmpSnoopSenderIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "Used to specify an action to perform on this group."
        ::= { rcVlanIgmpSnoopSenderEntry 5 } 

-- Vlan Loop Detected Table     

rcVlanLoopDetectedTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcVlanLoopDetectedEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A list of Vlans the port belongs to
and the 
                      corresponding loop detected status."
        ::= { rcVlan 10 }

rcVlanLoopDetectedEntry OBJECT-TYPE
        SYNTAX        RcVlanLoopDetectedEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Loop-Detected Entry."
        INDEX         { rcVlanLoopDetectedPortIndex, rcVlanLoopDetectedVlanId }
        ::= { rcVlanLoopDetectedTable 1 }

RcVlanLoopDetectedEntry ::= SEQUENCE {
                    rcVlanLoopDetectedPortIndex INTEGER,
                    rcVlanLoopDetectedVlanId INTEGER,
                    rcVlanLoopDetectedValue INTEGER
                    }

rcVlanLoopDetectedPortIndex OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Port Number."
        ::= { rcVlanLoopDetectedEntry 1 }

rcVlanLoopDetectedVlanId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Gives the VlanId to which the port belongs."
        ::= { rcVlanLoopDetectedEntry 2 }

rcVlanLoopDetectedValue OBJECT-TYPE
        SYNTAX        INTEGER {
                         no(0),      -- loop not detected
                         yes(1)     -- loop detected
                      }
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION    "Gives the Loop Detected status of the port
                       in a vlan."
        DEFVAL        { no }
        ::= { rcVlanLoopDetectedEntry 3 }

-- 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)
       			 a8010co(1623064842), -- 10 slot Central Office Chassis
                         a8003(280887555)     -- 3  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 Fans"
	::= { rcChasFan 1 }

rcChasFanEntry OBJECT-TYPE
	SYNTAX        RcChasFanEntry
	ACCESS        not-accessible
	STATUS        mandatory
	DESCRIPTION   "Contains information regarding a Fan 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,
		rcChasPowerSupplyDetailDescription DisplayString
	}

rcChasPowerSupplyDetailId OBJECT-TYPE
	SYNTAX        	INTEGER(1..3)
	ACCESS        	read-only
	STATUS        	mandatory
	::= { rcChasPowerSupplyDetailEntry 1 }

rcChasPowerSupplyDetailType OBJECT-TYPE
        SYNTAX        	INTEGER {
                                unknown(0),
				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 }

rcChasPowerSupplyDetailDescription OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..64))
        ACCESS        read-only
        STATUS        mandatory
        ::= { rcChasPowerSupplyDetailEntry 6 }


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,	--excluded
                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,	--excluded
		rcPortUserPriority	              INTEGER,		--excluded
		rcPortQosLevel	                      INTEGER,
		rcPortDiffServEnable                  TruthValue,
		rcPortDiffServType                    INTEGER,
		rcPortDiffServIeee8021POverrideEnable TruthValue,	--excluded
		rcPortVendorDescr                     DisplayString,
                rcPortName                            DisplayString (SIZE (0..20)),
                rcPortOctapidId                       INTEGER,
		rcPortWan             		      INTEGER,
		rcPortTransport             	      INTEGER,
		rcPortMultimediaFilterEnable          TruthValue,
		rcPortMultimediaDevSelection          DisplayString 
-- OM2.0 place holder added following 
--              rcPortServiceType		      INTEGER,
--              rcPortMode			      INTEGER 
	}

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)
                         rcGbicZx(24),       -- (gigabit very extended distance)
                         rcOc3cAtmSM(25),    -- (Atm OC-3c SM)
                         rcOc3cAtmMM(26),    -- (Atm OC-3c MM)
                         rcOc12cAtmSM(27),   -- (Atm OC-12c SM)
                         rcOc12cAtmMM(28),   -- (Atm OC-12c MM)
                         rcOc3cPosSM(29),    -- (Pos OC-3c SM)
                         rcOc3cPosMM(30),    -- (Pos OC-3c MM)
                         rcOc12cPosSM(31),   -- (Pos OC-12c SM)
                         rcOc12cPosMM(32),   -- (Pos OC-12c MM)
                         rcGbic1470(33),     -- (gigabit wavelength 1470)
                         rcGbic1490(34),     -- (gigabit wavelength 1490)
                         rcGbic1510(35),     -- (gigabit wavelength 1510)
                         rcGbic1530(36),     -- (gigabit wavelength 1530)
                         rcGbic1550(37),     -- (gigabit wavelength 1550)
                         rcGbic1570(38),     -- (gigabit wavelength 1570)
                         rcGbic1590(39),     -- (gigabit wavelength 1590)
                         rcGbic1610(40),     -- (gigabit wavelength 1610)
                         rcRmon(41),         -- (1000 base TProbe)
                         rcGbic1470APD(42),  -- (gigabit wavelength 1470-APD)
                         rcGbic1490APD(43),  -- (gigabit wavelength 1490-APD)
                         rcGbic1510APD(44),  -- (gigabit wavelength 1510-APD)
                         rcGbic1530APD(45),  -- (gigabit wavelength 1530-APD)
                         rcGbic1550APD(46),  -- (gigabit wavelength 1550-APD)
                         rcGbic1570APD(47),  -- (gigabit wavelength 1570-APD)
                         rcGbic1590APD(48),  -- (gigabit wavelength 1590-APD)
                         rcGbic1610APD(49),  -- (gigabit wavelength 1610-APD)
			 rc10GbLW(50),       -- (10 Gig Ethernet LW)
			 rc10GbLR(51)        -- (10 Gig Ethernet LR)
-- OM2.0 place holder added following 
--                       rcLogicalServerPort(52) 
-- opm Prism used as a server for MPLS
	              }
	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
			 clearLoopDetectAlarm(7) -- manually enable the port on all the disabled vlans
                      }
        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          deprecated
        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        	deprecated
	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 }

rcPortName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..20))
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "This port's name."
        ::= { rcPortEntry 35 }

rcPortOctapidId OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The octapid id of the mirrored port."
        ::= { rcPortEntry 36 }

rcPortWan OBJECT-TYPE
        SYNTAX          INTEGER {
		            none(0),  -- Not Applicable for non-10GE interface	
	                    wan(1),
			    lan(2)
	                }
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Indicatie this port's current WAN/LAN mode. Valid for 10 GE only"
	DEFVAL          { wan }
        ::= { rcPortEntry 37 }

rcPortTransport OBJECT-TYPE
        SYNTAX          INTEGER {
			    none(0),  -- N/A for non-10GE WAN interface	   	                   
			    sonet(1),
			    sdh(2)
	                }
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Indicatie this port's current tranport layer. Valid for 10 GE only"
	DEFVAL          { sonet }
        ::= { rcPortEntry 38 }
	
rcPortMultimediaFilterEnable OBJECT-TYPE
        SYNTAX          TruthValue
	ACCESS          read-write
	STATUS          mandatory
	DESCRIPTION     "Used to enable/disable the Telephony device selected on this port"
	DEFVAL          { false }
	::= { rcPortEntry 39 }

rcPortMultimediaDevSelection OBJECT-TYPE
        SYNTAX          DisplayString 
	ACCESS          read-write
	STATUS          mandatory
	DESCRIPTION     "Used to set/get the selected Multimedia & Telephony Devices on this port. The String is the name of the device in the rcIpFilterMediaDevTable"
	::= { rcPortEntry 40 }


-- 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 }

rcChasDiffServEcnCompatibilityEnable OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to enable/disable the Explicit Congestion
                        Notification(ECN) compatibility feature.
                        When set to FALSE , the system will mask the ECN bits
                        in the DS field while re-marking DSCP and will not match
                        on ECN capable flows if filter is set on DSmatch.
                        When set to TRUE, it will preserve the ECN bits in the DS
                        field while re-marking and will match on full 8-bit DS field."
        DEFVAL          { false }
        ::= { rcChassis 20 }


rcChasNewEnhancedOperMode OBJECT-TYPE
        SYNTAX        TruthValue  
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enhanced operational mode."
        ::= { rcChassis 21 } 

rcChasNewEMMode OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "This configuration is for enabling/disabling 128K
                       mode.  The change will take effect upon reboot."
        ::= { rcChassis 22 }

rcChasEmModeError OBJECT-TYPE
        SYNTAX       INTEGER {
                         none(1),
                         non128KCardOffLine(2),
                         checkSlaveConfigNResetForEmMMode(3),
                         mismatchResetForEmMode(4),
                         mismatchEmModeMasterSlave(5),
                         incompatMasterResetForEmMode(6),
                         putSlaveOffEmImcompat(7),
                         slave8690EmIncompatGoingOffline(8),
                         cpu8690DisableEm(9)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the Em-mode error status"
        ::= { rcChassis 23 }

rcChasEnhancedOperMode OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Enhanced Operational mode the switch currently has 
                       booted and will remain the same unitl the next reboot."
        ::= { rcChassis 24 }

rcChasEMMode OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "EM mode the switch currently has booted and 
                       will remain the same unitl the next reboot."
        ::= { rcChassis 25 }
 
-- 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        	deprecated
        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       	   deprecated 
        DESCRIPTION   	"The ifIndex of the port to forward mirrored frames to." 
        ::= { rcMirrorByPort 2 }

rcMirrorByPortEnableMirroredPortOne OBJECT-TYPE
        SYNTAX        	TruthValue
        ACCESS        	read-write
        STATUS        	deprecated
        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        	deprecated
        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        	deprecated
        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        	deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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/Best Route 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 }

rcTblIpBestPlusAltRouteSize OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   ""    
        ::= { rcTblSize 36 }

rcTblIpBestPathSize OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only  
        STATUS        mandatory  
        DESCRIPTION   ""    
        ::= { rcTblSize 37 }

rcTblIpBestPlusAltPathSize OBJECT-TYPE  
        SYNTAX        INTEGER  
        ACCESS        read-only   
        STATUS        mandatory   
        DESCRIPTION   ""        
        ::= { rcTblSize 38 }


-- 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,
                rcIpConfAutoAggrerateEnable   TruthValue,
                rcIpConfGenerateDefaultRoute  TruthValue,
                rcIpConfAdvertiseWhenDown     TruthValue,
                rcIpConfDirectBroadcastEnable TruthValue,
                rcIpConfRipInPolicy   DisplayString,
                rcIpConfRipOutPolicy   DisplayString,
                rcIpConfOspfIfType              INTEGER,
                rcIpConfRipCost                 INTEGER
        }

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 }
 
rcIpConfAutoAggrerateEnable 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 }
 
rcIpConfGenerateDefaultRoute 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 }

rcIpConfRipInPolicy OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether this interface should
            advertize a RIP default route."
        ::= { rcIpConfEntry 15 }

rcIpConfRipOutPolicy OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate whether this interface should
            accept a RIP default route."
        ::= { rcIpConfEntry 16 }
 
rcIpConfOspfIfType OBJECT-TYPE
        SYNTAX   INTEGER    {
                    broadcast (1),
                    nbma (2),
                    passive (99)
                  }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "OSPF Interface Type."
        ::= { rcIpConfEntry 17 } 

rcIpConfRipCost OBJECT-TYPE
        SYNTAX        INTEGER (1..15)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the rip cost for this interface."
        DEFVAL        { 1 }
        ::= { rcIpConfEntry 18 }
 
 
-- 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,
                rcIpConfOspfPollInterval      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 }

rcIpConfOspfPollInterval OBJECT-TYPE
        SYNTAX        INTEGER  (0..2147483647)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "OSPF NBMA Interface Poll Interval."
        ::= { rcIpConfOspfEntry 10 }

 
-- 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 }

rcIpConfOspfDefaultMetric10000MegPort OBJECT-TYPE
        SYNTAX        INTEGER (1..'FFFF'h)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to indicate the cost associated with
                      10000Meg Interface(Port)."
        ::= { rcIpConfOspfDefaultMetric 4 }

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 }

rcIpConfOspfAction OBJECT-TYPE
        SYNTAX        INTEGER {
                           none(0),
                           runSpf(1)
                       }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpConfOspf 4 }

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        { 120 }
        ::= { rcIpConfGlobal 1 }

rcIpConfGlobalIcmpNetUnreach OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to set the icmp net unreach feature
                       enable/disable."
        DEFVAL        { false }
        ::= { rcIpConfGlobal 2 }

rcIpConfGlobalEcmpEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to set the ecmp enable/disable."
        DEFVAL        { false }
        ::= { rcIpConfGlobal 3 }

rcIpConfGlobalEcmpMaxPath OBJECT-TYPE
        SYNTAX        INTEGER(1..4)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to globally configure maximum ECMP paths number."
        DEFVAL        { 1 }
        ::= { rcIpConfGlobal 4 }

rcIpConfGlobalAlternativeEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to globally configure alternative enable."
        DEFVAL        { true }
        ::= { rcIpConfGlobal 5 }

rcIpConfGlobalRouteDiscoveryEnable OBJECT-TYPE
     SYNTAX       TruthValue
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "Enable/disable ICMP Route Discovery  feature"
     DEFVAL       { true }
     ::= { rcIpConfGlobal 6 }

rcIpConfGlobalRipTimeOutInterval OBJECT-TYPE
     SYNTAX       INTEGER (15..259200)
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "Rip TimeOut Interval in seconds"
     DEFVAL       { 180 }
     ::= { rcIpConfGlobal 8 }

rcIpConfGlobalRipDefImportMetric OBJECT-TYPE
     SYNTAX       INTEGER (0..15)
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "Rip def import metric"
     DEFVAL       { 8 }
     ::= { rcIpConfGlobal 9 }

rcIpConfGlobalEcmp1PathList OBJECT-TYPE
     SYNTAX       DisplayString
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "Routes to networks specified in this prefix-list
                   can have upto 1 ECMP path, irrespective of
                   ecmp-max-path configuration"
     ::= { rcIpConfGlobal 10 }

rcIpConfGlobalEcmp2PathList OBJECT-TYPE
     SYNTAX       DisplayString
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "Routes to networks specified in this prefix-list
                   can have upto 2 ECMP path, irrespective of
                   ecmp-max-path configuration."
     ::= { rcIpConfGlobal 11 }

rcIpConfGlobalEcmp3PathList OBJECT-TYPE
     SYNTAX       DisplayString
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "Routes to networks specified in this prefix-list
                   can have upto 3 ECMP path, irrespective of
                   ecmp-max-path configuration."
     ::= { rcIpConfGlobal 12 }

rcIpConfGlobalEcmp4PathList OBJECT-TYPE
     SYNTAX       DisplayString
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "Routes to networks specified in this prefix-list
                   can have upto 4 ECMP path, irrespective of
                   ecmp-max-path configuration."
     ::= { rcIpConfGlobal 13 }

rcIpConfGlobalEcmpPathListApply OBJECT-TYPE
     SYNTAX       TruthValue
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "This is to apply any changes in ECMP path list
                   configuration or in the prefix-lists configured to
                   be used as path list"
     ::= { rcIpConfGlobal 14 }

rcIpConfGlobalIcmpRedirectMsg OBJECT-TYPE
     SYNTAX       TruthValue
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  ""
     ::= { rcIpConfGlobal 15 }

-- 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        deprecated
        DESCRIPTION   "A table used to maintain IP routing information 
                      for a particular interface."
        ::= { rcIpConf 8 }
 
rcIpConfV2Entry OBJECT-TYPE
        SYNTAX        RcIpConfV2Entry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "Ip interface address." 
        ::= { rcIpConfV2Entry 2 }

rcIpConfV2RowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "Row status for this entry."
        ::= { rcIpConfV2Entry 3 }

rcIpConfV2AdvertDefRte OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "Used to indicate whether this interface should
		      advertize a RIP default route." 
        ::= { rcIpConfV2Entry 4 }

rcIpConfV2AcceptDefRte OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "Used to indicate whether this interface should
		      accept a RIP default route."
        ::= { rcIpConfV2Entry 5 }

rcIpConfV2RipEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "Enable or disable RIP routing on the specified
                      interface."
        ::= { rcIpConfV2Entry 6 }
 
rcIpConfV2OspfEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "Enable or disable OSPF routing on the specified
                      interface."
        ::= { rcIpConfV2Entry 7 }
 
rcIpConfV2IgmpEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "Enable or disable IGMP on the specified
                      interface."
        ::= { rcIpConfV2Entry 8 }
 
rcIpConfV2AddrAssigned OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Indicate whether IpAddress has been assigned 
                      for this interface."
        ::= { rcIpConfV2Entry 9 }

rcIpConfV2TriggeredUpdateEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "A table used to maintain OSPF information
                      for a particular interface."
        ::= { rcIpConf 9 }
 
rcIpConfOspfV2Entry OBJECT-TYPE
        SYNTAX        RcIpConfOspfV2Entry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "IpAddress of the IP interface."
        ::= { rcIpConfOspfV2Entry 2 }

rcIpConfOspfV2RtrPriority OBJECT-TYPE
        SYNTAX        INTEGER (0..'FF'h)
        ACCESS        read-write
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "Row status for this entry."
        ::= { rcIpConfOspfV2Entry 6 }

rcIpConfOspfV2HelloInterval OBJECT-TYPE
        SYNTAX        INTEGER (1..'FFFF'h)
        ACCESS        read-write
        STATUS        deprecated
        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        deprecated
        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        deprecated
         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         deprecated
        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 }


-- Ospf Area Aggregate Table

rcIpConfOspfAreaAggregateTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpConfOspfAreaAggregateEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to maintain OSPF summary route
                        metric parameter for a particular Area range.  "
       ::= { rcIpConf 10 }

rcIpConfOspfAreaAggregateEntry OBJECT-TYPE
        SYNTAX        RcIpConfOspfAreaAggregateEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing OSPF summary route metric
                        parameter for a particular Area range.
                        An entry is automatically created in this
                        table when an area range is configured through
                        ospfAreaAggregateTable in rfc1850rcc.mib"
        INDEX         { rcIpConfOspfAreaAggregateAreaID,
                        rcIpConfOspfAreaAggregateLsdbType,
                        rcIpConfOspfAreaAggregateNet,
                        rcIpConfOspfAreaAggregateMask }
        ::= { rcIpConfOspfAreaAggregateTable 1 }

RcIpConfOspfAreaAggregateEntry ::= SEQUENCE {
        rcIpConfOspfAreaAggregateAreaID
            IpAddress,
        rcIpConfOspfAreaAggregateLsdbType
            INTEGER,
        rcIpConfOspfAreaAggregateNet
            IpAddress,
        rcIpConfOspfAreaAggregateMask
            IpAddress,
        rcIpConfOspfAreaAggregateAdvertiseMetric
            INTEGER(0.. 65535)
        }

rcIpConfOspfAreaAggregateAreaID OBJECT-TYPE
        SYNTAX   IpAddress
        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"
        ::= { rcIpConfOspfAreaAggregateEntry 1 }


rcIpConfOspfAreaAggregateLsdbType 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"
        ::= { rcIpConfOspfAreaAggregateEntry 2 }


rcIpConfOspfAreaAggregateNet 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"
        ::= { rcIpConfOspfAreaAggregateEntry 3 }

rcIpConfOspfAreaAggregateMask 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"
        ::= { rcIpConfOspfAreaAggregateEntry 4 }

rcIpConfOspfAreaAggregateAdvertiseMetric OBJECT-TYPE
        SYNTAX        INTEGER(0 .. 65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to specify a metric for a Summary LSA (type
                        3) generated by OSPF through an area range.
                        If this metric is set to 0, OSPF uses the cost
                        to the farthest point in the networks being
                        summarized as the metric."
        ::= { rcIpConfOspfAreaAggregateEntry 5 }

 
-- 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,
          rcIpAdEntMacOffset INTEGER,
          rcIpAdEntIfType INTEGER
    	}

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 }

rcIpAdEntMacOffset OBJECT-TYPE
        SYNTAX        INTEGER (0..511)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to translate the ip address into mac address.
                       The system has 512 mac addresses of which 0-507 are reserved for
                       Boardwalk box. 508-511 is reserved for MG. One can either 
                       mention a mac offset while configuring an ip on the
                       vlan or it can be alloted by the system within the above range."
        ::= { rcIpAddrEntry 9 }

rcIpAdEntIfType   OBJECT-TYPE
     SYNTAX INTEGER {
                circuitLessIP(1),
                brouterPort(2),
                vlan(3)
            } 
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "The address entry IfType indicates the type of the 
							  interface. In the case of circuit-less-IP there is   
                     no association with any ports. In other words, it can 
                     be thought of as a virtual interface. The value 
                     'brouter port' indicates this interface is associated 
                     with a specific physical port. The value 'vlan' 
                     indicates a logical port that contains one or physical 
                     ports/MLT ports."

        ::= { rcIpAddrEntry 10 }

-- 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	--excluded
        SYNTAX        SEQUENCE OF RcIpConfIgmpEntry
        ACCESS        not-accessible
        STATUS        deprecated
        DESCRIPTION   "A table used to maintain IGMP information
                      for a particular interface."
    ::= { rcIp 5 }
 
rcIpConfIgmpEntry OBJECT-TYPE
        SYNTAX        RcIpConfIgmpEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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,	--excluded
        rcIpConfIgmpLeaveEnabled            TruthValue,	--excluded
        rcIpConfIgmpRowStatus               RowStatus,
        rcIpConfIgmpRobustness              INTEGER,
        rcIpConfIgmpLastMemberQueryInterval INTEGER,
        rcIpConfIgmpSnoopEnable             TruthValue,
        rcIpConfIgmpProxySnoopEnable        TruthValue
}

rcIpConfIgmpIfIndex OBJECT-TYPE
        SYNTAX          INTEGER (0..65535)
        ACCESS          read-only
        STATUS          deprecated
        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     deprecated
         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     deprecated
         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     deprecated
         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     deprecated
         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     deprecated
         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          deprecated
        DESCRIPTION     "Status of entry."
        ::= { rcIpConfIgmpEntry 7 }

rcIpConfIgmpRobustness OBJECT-TYPE
        SYNTAX          INTEGER (2..255)
        ACCESS          read-write
        STATUS          deprecated
        DESCRIPTION     "lossiness of network."
        ::= { rcIpConfIgmpEntry 8 }

rcIpConfIgmpLastMemberQueryInterval OBJECT-TYPE
        SYNTAX          INTEGER (1..255)
        ACCESS          read-write
        STATUS          deprecated
        DESCRIPTION     "max response in GrpSpec Query."
        ::= { rcIpConfIgmpEntry 9 }

rcIpConfIgmpSnoopEnable OBJECT-TYPE
         SYNTAX     TruthValue
         ACCESS     read-write
         STATUS     deprecated
         DESCRIPTION "Enable snoop."
         DEFVAL    { true }
         ::= { rcIpConfIgmpEntry 10 }

rcIpConfIgmpProxySnoopEnable OBJECT-TYPE
         SYNTAX     TruthValue
         ACCESS     read-write
         STATUS     deprecated
         DESCRIPTION "Enable proxy snoop."
         DEFVAL    { true }
         ::= { rcIpConfIgmpEntry 11 }
 
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, 
                  rcIpRouteNextHop, rcIpRouteAltSequence }
    ::= { rcIpRouteTable 1 }

RcIpRouteEntry ::=
	SEQUENCE {
        	rcIpRouteDest IpAddress,
                rcIpRouteMask IpAddress,
                rcIpRouteNextHop IpAddress,
                rcIpRouteMetric  INTEGER,
                rcIpRouteIfIndex InterfaceIndex,
                rcIpRouteType INTEGER,
                rcIpRouteProto INTEGER,
                rcIpRouteAge INTEGER,
		            rcIpRouteRowStatus RowStatus,
                rcIpRoutePref INTEGER,
                rcIpRouteAltSequence INTEGER,
                rcIpRoutePathType INTEGER
              }

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), 
                    direct(3), 
                    indirect(4)
               }
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The type of route."
    ::= { 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 }

rcIpRoutePref OBJECT-TYPE
        SYNTAX        	INTEGER (0..255)
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	""
    ::= { rcIpRouteEntry 10 }

rcIpRouteAltSequence OBJECT-TYPE
        SYNTAX        	INTEGER 
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Alternative Route Sequence. 0 denotes Best Route."
    ::= { rcIpRouteEntry 11 }

rcIpRoutePathType OBJECT-TYPE
        SYNTAX  INTEGER {
                    iA(0),  -- Indirect Alternative Route w/o ECMP path
                    iAE(1), -- Indirect Alternative ECMP path
                    iB(2),  -- Indirect Best Route w/o ECMP path 
                    iBE(3), -- Indirect Best ECMP path
                    dB(6),   -- Direct Best Route
                    iAU(16), -- Indirect Alternative Route Unresolved
                    iAEU(17), -- Indirect Alternative ECMP Unresolved
                    iBU(18), -- Indirect Best Route Unresolved
                    iBEU(19), -- Indirect Best ECMP Unresolved
                    dBU(22) -- Direct Best Route Unresolved
               }
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	"The type of route. It is a combination of 
                       direct, indirect, best, alternative and ECMP path."
    ::= { rcIpRouteEntry 12 }

-- 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,		--excluded
		rcIpFilterMirror TruthValue,
		rcIpFilterHighPriority TruthValue,	--excluded
		rcIpFilterTcpConnect TruthValue,
		rcIpFilterIeeeVlanPriority INTEGER,
		rcIpFilterUsePktLimit TruthValue,	--excluded
		rcIpFilterPktLimit INTEGER,		--excluded
		rcIpFilterRowStatus RowStatus,
                rcIpFilterMode INTEGER,
                rcIpFilterIpTosRule INTEGER,		--excluded
		rcIpFilterStopOnMatch TruthValue,
                rcIpFilterDiffServMatchIeee8021PEnable TruthValue,
                rcIpFilterDiffServMatchIeee8021P INTEGER(0..7),
                rcIpFilterDiffServMatchDscpEnable TruthValue,
                rcIpFilterDiffServMatchDscp DisplayString(SIZE(6)),
                rcIpFilterDiffServMatchDscpReserved DisplayString(SIZE(2)),
                rcIpFilterDiffServModifyIeee8021PEnable TruthValue,
                rcIpFilterDiffServModifyIeee8021P INTEGER(0..7),
                rcIpFilterDiffServModifyDscpEnable TruthValue,
                rcIpFilterDiffServModifyDscp DisplayString(SIZE(6)),
                rcIpFilterDiffServModifyDscpReserved DisplayString(SIZE(2)),
                rcIpFilterDiffServTrafficProfileId INTEGER(0..64),
                rcIpFilterMatchIcmpRequest TruthValue,
                rcIpFilterMatchIpFragment TruthValue,
                rcIpFilterStatisticEnable TruthValue,
                rcIpFilterInOctets Counter32,
                rcIpFilterInPackets Counter32,
                rcIpFilterRateLimitDiscardPackets Counter32,
                rcIpFilterNextHopForwardIpAddr IpAddress,
                rcIpFilterNextHopUnreachableDropEnable TruthValue,
		rcIpFilterProtocolTypeUsrDefined INTEGER                       
		}

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),
                            ipsecesp(50),
                            ipsecah(51),
                            ospf(89),
                            vrrp(112),
                            usrDefined(256)
			}
        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),
                            forwardToNextHop(4)
                        }
        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.

			'forwardToNextHop' means forward the packet to the next hop
                        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 }

rcIpFilterDiffServMatchDscpEnable OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify whether the values stored in the
                        variable 'rcIpFilterDiffServMatchDscp' and
                        'rcIpFilterDiffServMatchDscpReserved' should
                        be used in this filter."
        DEFVAL          { false }
        ::= { rcIpFilterEntry 26 }

rcIpFilterDiffServMatchDscp OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(6))
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify the match value for the DSCP.
                        If the DSCP in the incoming packet matches this
                        value, then this filter will be applied to the
                        packet.

                        The DSCP represents the high-order 6 bits of
                        the TOS byte (in network order)."
        ::= { rcIpFilterEntry 27 }

rcIpFilterDiffServMatchDscpReserved OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(2))
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify the match value of the low-order
                        2 bits of the TOS byte (in network order)."
        DEFVAL          { '00'B }
        ::= { rcIpFilterEntry 28 }

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 29 }

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 30 }

rcIpFilterDiffServModifyDscpEnable OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify whether the value stored in the  
                        variable 'rcIpFilterDiffServModifyDscp' should     
                        be used in this filter."
        DEFVAL          { false }
        ::= { rcIpFilterEntry 31 }

rcIpFilterDiffServModifyDscp OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(6))
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify what the value of the DSCP
                        should be modified to if this filter is applied.
                        The modification is applied at the egress point.

                        The DSCP represents the high-order 6 bits of
                        the TOS byte (in network order)."
        ::= { rcIpFilterEntry 32 }

rcIpFilterDiffServModifyDscpReserved OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(2))
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify the modify value of the low-order
                        2 bits of the TOS byte (in network order)."
        DEFVAL          { '00'B }
        ::= { rcIpFilterEntry 33 }

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 34 }

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 35 }

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 36 }

rcIpFilterStatisticEnable OBJECT-TYPE
        SYNTAX		TruthValue
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Used to turn on/off counters for this filter."
	DEFVAL		{ false }
        ::= { rcIpFilterEntry 37 }

rcIpFilterInOctets OBJECT-TYPE
        SYNTAX          Counter32
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of In-Octets for this filter."
        ::= { rcIpFilterEntry 38 }

rcIpFilterInPackets OBJECT-TYPE
        SYNTAX          Counter32
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of In-Packets for this filter."
        ::= { rcIpFilterEntry 39 }

rcIpFilterRateLimitDiscardPackets OBJECT-TYPE
        SYNTAX          Counter32
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of packets discarded due to rate
			limiting."
        ::= { rcIpFilterEntry 40 }

rcIpFilterNextHopForwardIpAddr OBJECT-TYPE
        SYNTAX          IpAddress
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Next hop forward Ip address."
        ::= { rcIpFilterEntry 41 }

rcIpFilterNextHopUnreachableDropEnable OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "If next hop is unreachalbe, enable/disable to drop the packet."
        ::= { rcIpFilterEntry 42 }                   

rcIpFilterProtocolTypeUsrDefined OBJECT-TYPE
        SYNTAX          INTEGER (0..255)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "When rcIpFilterProtocolType is set to usrDefined(256)
                        in an IP Filter, this field represents the 8-bit user defined
                        protocol identifier."
        DEFVAL          { 0 }
        ::= { rcIpFilterEntry 43 }

-- 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 Filter Media Device Table

rcIpFilterMediaDevTableSize OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of entries in the
                         rcIpFilterMediaDevTable."
        ::= { rcIpFilter 24 }

rcIpFilterMediaDevTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpFilterMediaDevEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "A table used to store media filter list information.
                         Each row in the table contains a set of individual
                         filters that make up a particular filter list for 
                         a particular platform/device combination."
        ::= { rcIpFilter 25 }

rcIpFilterMediaDevEntry OBJECT-TYPE
        SYNTAX          RcIpFilterMediaDevEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "Device attributes and the filters' attributes."
        INDEX           { rcIpFilterMediaDevId } 
        ::= { rcIpFilterMediaDevTable 1 }

RcIpFilterMediaDevEntry ::= SEQUENCE {
			                 rcIpFilterMediaDevId              INTEGER,
			                 rcIpFilterMediaDevName            DisplayString,
			                 rcIpFilterMediaDevPlatformType    INTEGER,
			                 rcIpFilterMediaDevDeviceType      INTEGER, 
			                 rcIpFilterMediaDevIpAddress       IpAddress, 
			                 rcIpFilterMediaDevStreamsIds      IdList,
			                 rcIpFilterMediaDevMemberPorts     PortSet,
					 rcIpFilterMediaDevStatisticEnable TruthValue,
			                 rcIpFilterMediaDevRowStatus       RowStatus
	                }

rcIpFilterMediaDevId OBJECT-TYPE
        SYNTAX		INTEGER (3000..3127)
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"Media Id in the rcIpFilterMediaDevTable."
        ::= { rcIpFilterMediaDevEntry 1 }

rcIpFilterMediaDevName OBJECT-TYPE
        SYNTAX		DisplayString (SIZE(0..63)) 
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Media Device Name. This includes the platform 
                         and the physical/soft device."
        ::= { rcIpFilterMediaDevEntry 2 }

rcIpFilterMediaDevPlatformType OBJECT-TYPE
        SYNTAX     INTEGER {
                       none(0),
                       cse1k(1),
                       cse2k(2),
                       cse3k(3),
                       bcm(4),
                       meridianLineCard(5),
                       meridianTrunkCard(6),
                       msl100IP(7),
                       vcon(8),
                       minerva(9),
                       useDefined(10)
                   }
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION     "Platform identifier or type. These are the
                         currently supported platforms."
        DEFVAL     { none }
        ::= { rcIpFilterMediaDevEntry 3 }

rcIpFilterMediaDevDeviceType OBJECT-TYPE
        SYNTAX     INTEGER {
                       none(0),
                       i2002(1),
                       i2004(2),
                       i2050(3),
                       tps(4),
                       gateway(5),
                       useDefined(6)
                   }
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Device identifier or type. There are the currently
                       supported device types."
        DEFVAL     { none }
        ::= { rcIpFilterMediaDevEntry 4 }

rcIpFilterMediaDevIpAddress OBJECT-TYPE
        SYNTAX		IpAddress
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Media Device IP Address."
        ::= { rcIpFilterMediaDevEntry 5 }

rcIpFilterMediaDevStreamsIds OBJECT-TYPE
        SYNTAX		IdList (SIZE(16)) 
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"An array used to identify which streams are assigned
                       to MediaDevEntry. Each stream ID is stored as a two 
                       octet value. The first octet in the pair holds bits
                       15-8 of the stream ID, while the second octet holds 
                       bits 7-0 of the stream ID."
        ::= { rcIpFilterMediaDevEntry 6 }

rcIpFilterMediaDevMemberPorts OBJECT-TYPE
        SYNTAX		PortSet
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"Media Device port port members. These are the system 
                         physical ports." 
        ::= { rcIpFilterMediaDevEntry 7 }
	
rcIpFilterMediaDevStatisticEnable OBJECT-TYPE
        SYNTAX          TruthValue
	ACCESS          read-write
	STATUS          mandatory
	DESCRIPTION     "Used to turn on/off statistics' counters for all the filters for the device."
	DEFVAL          { false }
	::= { rcIpFilterMediaDevEntry 8 }

rcIpFilterMediaDevRowStatus OBJECT-TYPE
        SYNTAX		RowStatus
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Row Status."
        ::= { rcIpFilterMediaDevEntry 9 } 


-- IP Filter Media Stream Table 

rcIpFilterMediaStreamTableSize OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of entries in the
                         rcIpFilterMediaStreamTable."
        ::= { rcIpFilter 26 }

rcIpFilterMediaStreamTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpFilterMediaStreamEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "A table used to store tcp/udp port information
                         for a set of filters that make up a particular
                         filter list for a particular platform/device 
                         combination."
        ::= { rcIpFilter 27 }

rcIpFilterMediaStreamEntry OBJECT-TYPE
        SYNTAX          RcIpFilterMediaStreamEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "Layer 4 Port attributes and the filters' attributes."
        INDEX           { rcIpFilterMediaStreamMediaId, 
                          rcIpFilterMediaStreamStreamId } 
        ::= { rcIpFilterMediaStreamTable 1 }

RcIpFilterMediaStreamEntry ::= SEQUENCE {
			                 rcIpFilterMediaStreamMediaId      INTEGER,
			                 rcIpFilterMediaStreamStreamId     INTEGER,
			                 rcIpFilterMediaStreamName         DisplayString,
			                 rcIpFilterMediaStreamProtocol     INTEGER, 
			                 rcIpFilterMediaStreamPortMin      INTEGER, 
			                 rcIpFilterMediaStreamPortMax      INTEGER, 
			                 rcIpFilterMediaStreamPortOption   INTEGER, 
			                 rcIpFilterMediaStreamType         INTEGER, 
			                 rcIpFilterMediaStreamRemarkDscp   DisplayString, 
			                 rcIpFilterMediaStreamMatchDscp    DisplayString, 
			                 rcIpFilterMediaStreamRowStatus    RowStatus
	                }

rcIpFilterMediaStreamMediaId OBJECT-TYPE
        SYNTAX		INTEGER (3000..3127)
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"Media Id in the rcIpFilterMediaDevTable."
        ::= { rcIpFilterMediaStreamEntry 1 }

rcIpFilterMediaStreamStreamId OBJECT-TYPE
        SYNTAX		INTEGER (1..4)
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"Port range Id in the rcIpFilterMediaStreamTable."
        ::= { rcIpFilterMediaStreamEntry 2 }

rcIpFilterMediaStreamName OBJECT-TYPE
        SYNTAX		DisplayString (SIZE(0..31)) 
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Media Stream Name."
        ::= { rcIpFilterMediaStreamEntry 3 }

rcIpFilterMediaStreamProtocol OBJECT-TYPE
        SYNTAX     INTEGER {
                       tcp(6),
                       udp(17)
                   }
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION     "Type of transport protocol to filter on. Multimedia
                         applications often use UDP and some use TCP. Any 
                         Layer 4 protocol number supported by IP can be added here
                         in future."
        DEFVAL     { udp }
        ::= { rcIpFilterMediaStreamEntry 4 }

rcIpFilterMediaStreamPortMin OBJECT-TYPE
        SYNTAX     INTEGER (0..65535)
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"TCP/UDP source or destination port to filter on."
        ::= { rcIpFilterMediaStreamEntry 5 }

rcIpFilterMediaStreamPortMax OBJECT-TYPE
        SYNTAX     INTEGER (0..65535)
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"TCP/UDP source or destination port to filter on."
        ::= { rcIpFilterMediaStreamEntry 6 }

rcIpFilterMediaStreamPortOption OBJECT-TYPE
        SYNTAX     INTEGER {
                       src(1),
                       dest(2),
                       srcDest(3)
                   }
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Src port or destination port of both."
        DEFVAL     { srcDest }
        ::= { rcIpFilterMediaStreamEntry 7 }

rcIpFilterMediaStreamType OBJECT-TYPE
        SYNTAX     INTEGER {
                       signal(1),
                       media(2)
                   }
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Type of stream to filter on."
        DEFVAL     { media }
        ::= { rcIpFilterMediaStreamEntry 8 }

rcIpFilterMediaStreamRemarkDscp OBJECT-TYPE
        SYNTAX		DisplayString (SIZE(6))
        ACCESS		read-only
        STATUS		mandatory
        DESCRIPTION	"Used to specify what the value of the DSCP should
                       be modified to if this stream is identified. The
                       modification is applied at the egress point. The
                       DSCP represents the high-order 6 bits of the TOS byte
                       (in network order)."
        DEFVAL     { '000000'B }
        ::= { rcIpFilterMediaStreamEntry 9 }

rcIpFilterMediaStreamMatchDscp OBJECT-TYPE
        SYNTAX		DisplayString (SIZE(6))
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Used to specify what the value of the DSCP should
                       be match with in the stream identification. DSCP
                       represents the high-order 6 bit of the TOS byte
                       (in network order)."
        DEFVAL     { '000000'B }
        ::= { rcIpFilterMediaStreamEntry 10 }

rcIpFilterMediaStreamRowStatus OBJECT-TYPE
        SYNTAX		RowStatus
        ACCESS		read-write
        STATUS		mandatory
        DESCRIPTION	"Row Status."
        ::= { rcIpFilterMediaStreamEntry 11 } 


-- IP Policy Address Table
 
rcIpPolicy OBJECT IDENTIFIER ::= { rcIp 11 }

rcIpPolicyAddrTableSize OBJECT-TYPE
        SYNTAX        INTEGER 
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number of entries in the 
		      rcIpPolicyAddrTable."
        ::= { rcIpPolicy 1 }

rcIpPolicyAddrTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyAddrEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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	      deprecated
        DESCRIPTION   "Identifier of this entry. Used internally to identify
		      this entry."
        ::= { rcIpPolicyAddrEntry 2 }

rcIpPolicyAddrAddrListIdListSize OBJECT-TYPE
        SYNTAX	      INTEGER (0..128)
        ACCESS	      read-only
        STATUS	      deprecated
        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	      deprecated
        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		deprecated
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpPolicyAddrEntry 5 }


-- Ip Policy Network Table

rcIpPolicyNetTableSize OBJECT-TYPE
        SYNTAX        INTEGER 
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number of entries in the 
		      rcIpPolicyNetTable."
        ::= { rcIpPolicy 3 }

rcIpPolicyNetTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyNetEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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	      deprecated
        DESCRIPTION   "Used internally to recognize this entry."
        ::= { rcIpPolicyNetEntry 3 }

rcIpPolicyNetNetListIdListSize OBJECT-TYPE
        SYNTAX	      INTEGER (0..128)
        ACCESS	      read-only
        STATUS	      deprecated
        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	      deprecated
        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		deprecated
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpPolicyNetEntry 6 }


-- IP Policy Address List Table

rcIpPolicyAddrListTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION  "Used to indicate the number of entries in the
                      rcIpPolicyAddrListTable."
        ::= { rcIpPolicy 5 }
 
rcIpPolicyAddrListTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyAddrListEntry
        ACCESS        not-accessible
        STATUS        deprecated
        DESCRIPTION   "A table used to group rcIpPolicyAddrEntry(s) 
                      into a list."
        ::= { rcIpPolicy 6 }

rcIpPolicyAddrListEntry OBJECT-TYPE
        SYNTAX        RcIpPolicyAddrListEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        DESCRIPTION   "A value that uniquely identifies this list of 
                       rcIpPolicyAddrListEntry."
        ::= { rcIpPolicyAddrListEntry 1 }
 
rcIpPolicyAddrListName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "An administratively-assigned name for this list."
        ::= { rcIpPolicyAddrListEntry 3 }
 
rcIpPolicyAddrListIdListSize OBJECT-TYPE
        SYNTAX        INTEGER (0..128)
        ACCESS        read-only
        STATUS        deprecated
         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        deprecated
        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        deprecated
        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        deprecated
        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          deprecated
        DESCRIPTION     "Row status of this entry."
        ::= { rcIpPolicyAddrListEntry 8 }
 

-- RIP Announce Policy Table

rcIpPolicyRipAnnounceTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpPolicyRipAnnounceTable."
        ::= { rcIpPolicy 7 }

rcIpPolicyRipAnnounceTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyRipAnnounceEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "An administratively-assigned name for this policy."
        ::= { rcIpPolicyRipAnnounceEntry 2 }

rcIpPolicyRipAnnounceEnable OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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		deprecated
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpPolicyRipAnnounceEntry 16 }

-- OSPF Announce policy table.

rcIpPolicyOspfAnnounceTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpPolicyOspfAnnounceTable."
        ::= { rcIpPolicy 9 }


rcIpPolicyOspfAnnounceTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyOspfAnnounceEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "An administratively-assigned name for this policy."
        ::= { rcIpPolicyOspfAnnounceEntry 2 }

rcIpPolicyOspfAnnounceEnable OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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		deprecated
        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        deprecated
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpPolicyRipAcceptTable."
        ::= { rcIpPolicy 11 }

rcIpPolicyRipAcceptTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyRipAcceptEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "An administratively-assigned name for this policy."
        ::= { rcIpPolicyRipAcceptEntry 2 }

rcIpPolicyRipAcceptEnable OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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		deprecated
        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		deprecated
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpPolicyRipAcceptEntry 12 }

-- OSPF Accept policy table.
 
rcIpPolicyOspfAcceptTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpPolicyOspfAcceptTable."
        ::= { rcIpPolicy 13 }

rcIpPolicyOspfAcceptTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyOspfAcceptEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "An administratively-assigned name for this policy."
        ::= { rcIpPolicyOspfAcceptEntry 2 }

rcIpPolicyOspfAcceptEnable OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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		deprecated
        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		deprecated
        DESCRIPTION	"Row status of this entry."
        ::= { rcIpPolicyOspfAcceptEntry 10 }


-- IP Policy Network List Table

rcIpPolicyNetListTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number of entries in the
                      rcIpPolicyNetListTable."
        ::= { rcIpPolicy 15 }
 
rcIpPolicyNetListTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpPolicyNetListEntry
        ACCESS        not-accessible
        STATUS        deprecated
        DESCRIPTION   "A table used to group rcIpPolicyAddrEntry(s) 
                      into a list."
        ::= { rcIpPolicy 16 }

rcIpPolicyNetListEntry OBJECT-TYPE
        SYNTAX        RcIpPolicyNetListEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        DESCRIPTION   "A value that uniquely identifies this list of 
                       rcIpPolicyNetListEntry."
        ::= { rcIpPolicyNetListEntry 1 }
 
rcIpPolicyNetListName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "An administratively-assigned name for this list."
        ::= { rcIpPolicyNetListEntry 3 }
 
rcIpPolicyNetListIdListSize OBJECT-TYPE
        SYNTAX        INTEGER (0..128)
        ACCESS        read-only
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        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          deprecated
        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 }

rcIpDvmrpGlobalRouteExpireTimeOut OBJECT-TYPE
        SYNTAX         INTEGER (20..4000)
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "This parameter defines the route expiration timeout in seconds."
            DEFVAL         { 140 }
        ::= { rcIpDvmrpGlobal 7 }

rcIpDvmrpGlobalFwdCacheTimeOut OBJECT-TYPE
        SYNTAX         INTEGER (10..86400)
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "This is the Forward Cache Value in second.
                        This value is going to be used in aging prune entries in seconds."
            DEFVAL         { 300 }
        ::= { rcIpDvmrpGlobal 8 }

rcIpDvmrpGlobalRouteDiscardTimeOut OBJECT-TYPE
        SYNTAX         INTEGER (40..8000)
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "This parameter defines time to garbage collect route in seconds."
            DEFVAL         { 260 }
        ::= { rcIpDvmrpGlobal 9 }

rcIpDvmrpGlobalRouteSwitchTimeOut OBJECT-TYPE
        SYNTAX         INTEGER (20..2000)
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "This parameter defines the route discard timeout in seconds."
            DEFVAL         { 140 }
        ::= { rcIpDvmrpGlobal 10 }

-- 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,
                rcIpDvmrpTableAdvSelf       TruthValue,
                rcIpDvmrpTableLocalAddr     IpAddress,
		rcIpDvmrpTableInPolicyName  DisplayString,
                rcIpDvmrpTableOutPolicyName DisplayString,
                rcIpDvmrpTableDefRtLis      TruthValue,
                rcIpDvmrpTableDefRtSup      TruthValue,
                rcIpDvmrpTableDefRtMet      INTEGER,
                rcIpDvmrpTableInterfaceType 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 }

rcIpDvmrpTableAdvSelf  OBJECT-TYPE
        SYNTAX         TruthValue
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "Used to indicate whether the switch can
                        advertise this local network"
        ::= { rcIpDvmrpTableEntry 4 }

rcIpDvmrpTableLocalAddr OBJECT-TYPE
        SYNTAX               IpAddress
        ACCESS               read-only
        STATUS               mandatory
        DESCRIPTION   "The IP address of this interface."
        ::= { rcIpDvmrpTableEntry 5 }
	
rcIpDvmrpTableInPolicyName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Dvmrp Accept Policy name that is configured on this interface."
        ::= { rcIpDvmrpTableEntry 6 }

rcIpDvmrpTableOutPolicyName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Dvmrp Announce Policy name that is configured on this interface."
        ::= { rcIpDvmrpTableEntry 7 }

rcIpDvmrpTableDefRtLis OBJECT-TYPE
        SYNTAX         TruthValue
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "Used to indicate whether the switch can learn
                        DVMRP default route over this interface"
        ::= { rcIpDvmrpTableEntry 8 }

rcIpDvmrpTableDefRtSup OBJECT-TYPE
        SYNTAX         TruthValue
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "Used to indicate whether the switch should
                        supply DVMRP default route over this interface"
        ::= { rcIpDvmrpTableEntry 9 }

rcIpDvmrpTableDefRtMet OBJECT-TYPE
        SYNTAX         INTEGER
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "Used to specify the cost of the DVMRP default
                        route that this interface generates and
                        supplies when it is configured to supply default route"
        ::= { rcIpDvmrpTableEntry 10 }

rcIpDvmrpTableInterfaceType OBJECT-TYPE
        SYNTAX         INTEGER {
	                  active(1),
	                  passive(2)		  
	               }
	ACCESS         read-write
	STATUS         mandatory
	DESCRIPTION    "Dvmrp Interface type"
	DEFVAL         { active }
	::= { rcIpDvmrpTableEntry 11 }

-- 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..48),
                  rcIpUdpPortFwdListFwdIdList OCTET STRING (SIZE(96)),
                  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..48)
        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(96))
        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,
                rcIpUdpConfBroadcastIntfBroadCastMask       IpAddress
 
        }
 
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 }

rcIpUdpConfBroadcastIntfBroadCastMask OBJECT-TYPE
        SYNTAX          IpAddress
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "The subnet mask of the local interface that is
                        used for broadcasting the UDP broadcast packets."
        ::= { rcIpUdpConfBroadcastIntfEntry 10 }

--IP ToS Rule
rcIpTosRule   OBJECT IDENTIFIER       ::= { rcIp 14}	--excluded

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          deprecated
        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        deprecated
        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..255),
                rcIpStaticRouteEnable         TruthValue,
                rcIpStaticRouteStatus         INTEGER,
                rcIpStaticRouteRowStatus      RowStatus,
                rcIpStaticRouteLocalNextHop   TruthValue
 
        }
 
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..255) 
        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."
        ::= { 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 }

rcIpStaticRouteLocalNextHop OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to enable/disable this entry. True indicate that the 
                         static route becomes active only if switch has a local route
                         to the network. False indicates that the static route becomes
                         active if switch has a local route or dynamic route."
        DEFVAL        { true }
        ::= { rcIpStaticRouteEntry 10 }

--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 }

rcIpPimGlobalMode OBJECT-TYPE
        SYNTAX          INTEGER {
                                dm(1),
                                sm(2),
                                smdm(3)
                        }
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     ""
        ::= { rcIpPimGlobal 2 }

rcIpPimGlobalMbr OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "enable/disable pim multicast border router feature"
        ::= { rcIpPimGlobal 3 }

rcIpPimGlobalRegisterSuppTimer OBJECT-TYPE
        SYNTAX          INTEGER (5..65535)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Each source's DR maintains, per (S,G), a Register-                                 Suppression-timer in seconds. The Register-
                         Suppression-timer is started by the Register-Stop                                  message; upon expiration, the source's DR resumes                                  sending data packets to the RP, encapsulated in 
                         the Register message."
        DEFVAL  { 60 }
        ::= { rcIpPimGlobal 4 }

rcIpPimGlobalInterfaceTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpPimGlobal 5 }

rcIpPimGlobalStaticRP   OBJECT-TYPE
        SYNTAX    TruthValue
        ACCESS       read-write
        STATUS       mandatory
        DESCRIPTION     "Enable/Disable Static RP feature."
        DEFVAL       { false }
        ::= { rcIpPimGlobal 6 }


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(0..18724)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "frq. at which hello sent."
	DEFVAL     { 30 }
        ::= { rcIpPimEntry 4 }

rcIpPimJoinPruneInterval OBJECT-TYPE
        SYNTAX        INTEGER(0..18724)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpPimEntry 5 }

rcIpPimCBSRPreference OBJECT-TYPE
        SYNTAX        INTEGER (-1..255)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
	DEFVAL     { -1 }
        ::= { rcIpPimEntry 6 }

rcIpPimInterfaceTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpPimInterfaceEntry
        ACCESS          not-accessible 
        STATUS          mandatory 
        DESCRIPTION     "IP Pim table"
    ::= { rcIpPim 3 }

rcIpPimInterfaceEntry OBJECT-TYPE
        SYNTAX        	RcIpPimInterfaceEntry
        ACCESS        	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"An entry of Ip Pim Interface Table."
        INDEX         	{ rcIpPimInterfaceIfIndex }
        ::= { rcIpPimInterfaceTable 1 }
 
RcIpPimInterfaceEntry ::=
        SEQUENCE {
                rcIpPimInterfaceIfIndex   InterfaceIndex,
                rcIpPimInterfaceOperState INTEGER 
        }
 
rcIpPimInterfaceIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "port"
        ::= { rcIpPimInterfaceEntry 1 }

rcIpPimInterfaceOperState OBJECT-TYPE
        SYNTAX         INTEGER { 
                          up(1), 
                          down(2) 
                       }
        ACCESS         read-only
        STATUS         mandatory
        DESCRIPTION    "The current operational state of this PIM interface. 
                        This object is deprecated in favor of ifOperStatus."
        ::= { rcIpPimInterfaceEntry 2 }

rcIpPimStaticRPTable OBJECT-TYPE
    SYNTAX        SEQUENCE OF RcIpPimStaticRPEntry
    ACCESS        not-accessible
    STATUS        mandatory
    DESCRIPTION   "The table lists all the RPs configured statically for
                   various IP multicast groups."
    ::= { rcIpPim 4 }

rcIpPimStaticRPEntry OBJECT-TYPE
    SYNTAX        RcIpPimStaticRPEntry
    ACCESS        not-accessible
    STATUS        mandatory
    DESCRIPTION   "An entry (conceptual row) in the rcIpPimStaticRPTable."
    INDEX      { rcIpPimStaticRPGroupAddress,
                 rcIpPimStaticRPGroupMask,
                 rcIpPimStaticRPAddress }
    ::= { rcIpPimStaticRPTable 1 }

RcIpPimStaticRPEntry ::= SEQUENCE {
    rcIpPimStaticRPGroupAddress  IpAddress,
    rcIpPimStaticRPGroupMask     IpAddress,
    rcIpPimStaticRPAddress       IpAddress,
    rcIpPimStaticRPRowStatus     RowStatus,
    rcIpPimStaticRPStatus        INTEGER
}

rcIpPimStaticRPGroupAddress   OBJECT-TYPE
    SYNTAX        IpAddress
    ACCESS        read-only
    STATUS        mandatory
    DESCRIPTION   "The IP multicast group address which, when combined with
                   rcIpPimStaticRPGroupMask, identifies a group prefix for
                   which rcIpPimStaticRPAddress is a static-RP."
    ::= { rcIpPimStaticRPEntry 1 }

rcIpPimStaticRPGroupMask   OBJECT-TYPE
    SYNTAX        IpAddress
    ACCESS        read-only
    STATUS        mandatory
    DESCRIPTION   "The multicast group address mask which, when combined
                  with rcIpPimStaticRPGroupAddress, identifies a group
                    prefix for which rcIpPimStaticRPAddress is a static-RP."
    ::= { rcIpPimStaticRPEntry 2 }

rcIpPimStaticRPAddress  OBJECT-TYPE
    SYNTAX        IpAddress
    ACCESS        read-only
    STATUS        mandatory
    DESCRIPTION   "The (unicast) address of the static-RP."
    ::= { rcIpPimStaticRPEntry 3 }

rcIpPimStaticRPRowStatus   OBJECT-TYPE
    SYNTAX        RowStatus
    ACCESS        read-write
    STATUS        mandatory
    DESCRIPTION   "The status of this row, by which new entries may be
                   created, or old entries deleted from this table."
    ::= { rcIpPimStaticRPEntry 4 }

rcIpPimStaticRPStatus   OBJECT-TYPE
    SYNTAX        INTEGER {
	             valid(1),
		     invalid(2)
                  }
    ACCESS        read-only
    STATUS        mandatory
    DESCRIPTION   "The status of StaticRP."
    ::= { rcIpPimStaticRPEntry 5 }

rcIpPimCurrBsr OBJECT IDENTIFIER ::= { rcIpPim 5 }

rcIpPimCurrBsrAddress OBJECT-TYPE
    SYNTAX        IpAddress
    ACCESS        read-only
    STATUS        mandatory
    DESCRIPTION   "Current BSR address"
    ::= { rcIpPimCurrBsr 1 }

rcIpPimCurrBsrFragmentTag OBJECT-TYPE
    SYNTAX        INTEGER
    ACCESS        read-only
    STATUS        mandatory
    DESCRIPTION   "Current BSR Fragment Tag"
    DEFVAL        { -1 }
    ::= { rcIpPimCurrBsr 2 }

rcIpPimCurrBsrHashMask OBJECT-TYPE
    SYNTAX        IpAddress 
    ACCESS        read-only
    STATUS        mandatory
    DESCRIPTION   "Current BSR Hash Mask value"
    ::= { rcIpPimCurrBsr 3 }

rcIpPimCurrBsrPriority OBJECT-TYPE
    SYNTAX        INTEGER
    ACCESS        read-only
    STATUS        mandatory
    DESCRIPTION   "Current BSR Priority"
    DEFVAL        { 0 }
    ::= { rcIpPimCurrBsr 4 }

rcIpPimCurrBsrBootStrapTimer OBJECT-TYPE
    SYNTAX        INTEGER
    ACCESS        read-only
    STATUS        mandatory
    DESCRIPTION   "Current BSR Boot Strap Timer"
    ::= { rcIpPimCurrBsr 5 }

--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        deprecated
        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          deprecated
        DESCRIPTION     "IfIndex."
        ::= { rcIpMulticastEntry 1 }
 
rcIpMulticastMulticastIp OBJECT-TYPE
        SYNTAX          IpAddress
        ACCESS          read-write
        STATUS          deprecated
        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        deprecated
        DESCRIPTION   "Cops feature enable/disable"
        ::= { rcIpCops 1 }


-- IP Rip Interface Table

rcIpRipInterface OBJECT IDENTIFIER       ::= { rcIp 20 }

rcIpRipInterfaceTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpRipInterfaceEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "IP Rip Interface table"
        ::= { rcIpRipInterface 1 }

rcIpRipInterfaceEntry OBJECT-TYPE
        SYNTAX          RcIpRipInterfaceEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "An entry of Ip Rip Interface Table."
        INDEX           { rcIpRipInterfaceAddress }
        ::= { rcIpRipInterfaceTable 1 }

RcIpRipInterfaceEntry ::=
        SEQUENCE {
                rcIpRipInterfaceAddress                IpAddress,
                rcIpRipInterfaceIfIndex                InterfaceIndex,
                rcIpRipInterfaceRipEnable              EnableValue,
                rcIpRipInterfaceAccDefRte              TruthValue,
                rcIpRipInterfaceAdvDefRte              TruthValue,
                rcIpRipInterfaceAutoAggregate          TruthValue,
                rcIpRipInterfaceCost                   INTEGER,
                rcIpRipInterfaceListen                 TruthValue,
                rcIpRipInterfacePoison                 TruthValue,
                rcIpRipInterfaceSupply                 TruthValue,
                rcIpRipInterfaceTriggeredUpdate        TruthValue,
                rcIpRipInterfaceInPolicy               DisplayString,
                rcIpRipInterfaceOutPolicy              DisplayString
        }

rcIpRipInterfaceAddress OBJECT-TYPE
        SYNTAX        IpAddress 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Ip Address"
        ::= { rcIpRipInterfaceEntry 1 }

rcIpRipInterfaceIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Rip Interface If Index."
        ::= { rcIpRipInterfaceEntry 2 }

rcIpRipInterfaceRipEnable OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRipInterfaceEntry 3 }

rcIpRipInterfaceAccDefRte OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRipInterfaceEntry 4 }

rcIpRipInterfaceAdvDefRte OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRipInterfaceEntry 5 }

rcIpRipInterfaceAutoAggregate OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRipInterfaceEntry 6 }

rcIpRipInterfaceCost OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRipInterfaceEntry 7 }

rcIpRipInterfaceListen OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRipInterfaceEntry 8 }

rcIpRipInterfacePoison OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRipInterfaceEntry 9 }

rcIpRipInterfaceSupply OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRipInterfaceEntry 10 } 

rcIpRipInterfaceTriggeredUpdate OBJECT-TYPE
        SYNTAX        TruthValue 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRipInterfaceEntry 11 }

rcIpRipInterfaceInPolicy OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRipInterfaceEntry 12 }

rcIpRipInterfaceOutPolicy OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpRipInterfaceEntry 13 } 


-- IP Timed Prune Table

rcIpMulticastTimedPruneTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpMulticastTimedPruneEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "This feature provides the ability for the user to 
                         create (S,G)  Forwarding Entries that would not be
                         pruned until a configurable timer expires. This feature 
                         is targeted for Passport 8600. Currently
                         the timer value is set to 0."
        ::= { rcIp 21 }

rcIpMulticastTimedPruneEntry OBJECT-TYPE
        SYNTAX          RcIpMulticastTimedPruneEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "An entry of Ip Multicast Timed Prune Table."
        INDEX           { rcIpMulticastTimedPruneGroupAddress,
                          rcIpMulticastTimedPruneSourceAddress,
                          rcIpMulticastTimedPruneSrcSubnetMask }
        ::= { rcIpMulticastTimedPruneTable 1 }

RcIpMulticastTimedPruneEntry ::=
        SEQUENCE {
                rcIpMulticastTimedPruneGroupAddress    IpAddress,
                rcIpMulticastTimedPruneSourceAddress   IpAddress,
                rcIpMulticastTimedPruneSrcSubnetMask  IpAddress,
                rcIpMulticastTimedPruneAgingTimer     INTEGER,
                rcIpMulticastTimedPruneTimeLeft       INTEGER,
                rcIpMulticastTimedPruneLastActivity   TimeTicks,
                rcIpMulticastTimedPruneRowStatus      RowStatus
        }

rcIpMulticastTimedPruneGroupAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "This field indicates the IP Multicast Group 
                       Address associated with the IP multicast stream."
        ::= { rcIpMulticastTimedPruneEntry 1 }

rcIpMulticastTimedPruneSourceAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "This is the Source Subnet IP address of the 
                       sender of the IP multicast stream."
        ::= { rcIpMulticastTimedPruneEntry 2 }

rcIpMulticastTimedPruneSrcSubnetMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "This is the Source Subnet Mask IP address of 
                       the sender of the IP multicast stream."
        ::= { rcIpMulticastTimedPruneEntry 3 }

rcIpMulticastTimedPruneAgingTimer OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "This field represents the amount of time 
                       (in minutes) this timed prune entry will be 
                       kept in the forwarding table when there are no 
                       more receivers. After this timer expires, this 
                       timed prune entry would be treated as a normal 
                       DVMRP/PIM forwarding entry. Aging Timer value of 
                       0 (infinite time) indicates this timed prune entry 
                       will not be deleted even when there are no 
                       more receivers."
        DEFVAL        { 5 }
        ::= { rcIpMulticastTimedPruneEntry 4 }

rcIpMulticastTimedPruneTimeLeft OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "This read-only field represents the remaining time 
                       for which this timed prune entry will be kept in
                       the forwarding table. After this timer expires, 
                       this timed prune entry would be treated as a normal 
                       DVMRP/PIM forwarding entry. 0 in this field indicates 
                       that this entry would not be aged out."
        ::= { rcIpMulticastTimedPruneEntry 5 }

rcIpMulticastTimedPruneLastActivity OBJECT-TYPE
        SYNTAX        TimeTicks
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "This read-only field represents the actual time since 
                       the traffic has come from this Source, Group pair."
        ::= { rcIpMulticastTimedPruneEntry 6 }

rcIpMulticastTimedPruneRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rcIpMulticastTimedPruneEntry 7 }


-- ICMP Route discovery parameters

rcIpConfIcmpRdiscTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpConfIcmpRdiscEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to maintain ICMP Route discovery information
                      for a particular interface."
    ::= { rcIp 22 } 

rcIpConfIcmpRdiscEntry OBJECT-TYPE
        SYNTAX        RcIpConfIcmpRdiscEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing ICMP Rdisc 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      { rcIpConfIcmpRdiscIfIndex }
        ::= { rcIpConfIcmpRdiscTable 1 }

RcIpConfIcmpRdiscEntry ::= SEQUENCE {
        rcIpConfIcmpRdiscIfIndex            INTEGER,
        rcIpConfIcmpRdiscAdvAddress         IpAddress,
        rcIpConfIcmpRdiscAdvFlag            TruthValue,
        rcIpConfIcmpRdiscAdvLifetime        INTEGER,
        rcIpConfIcmpRdiscMaxAdvInterval     INTEGER,
        rcIpConfIcmpRdiscMinAdvInterval     INTEGER,
       rcIpConfIcmpRdiscPreferenceLevel    INTEGER
}

rcIpConfIcmpRdiscIfIndex 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)."
        ::= { rcIpConfIcmpRdiscEntry 1 }

rcIpConfIcmpRdiscAdvAddress OBJECT-TYPE
         SYNTAX     IpAddress
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION "Advertisement address to which the route discovery
                      advertisements transmitted on this interface."
         ::= { rcIpConfIcmpRdiscEntry 2 }

rcIpConfIcmpRdiscAdvFlag OBJECT-TYPE
         SYNTAX     TruthValue
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION "Flag to indicate whether or not the address is to
                     be advertised on this interface."
         ::= { rcIpConfIcmpRdiscEntry 3 }

rcIpConfIcmpRdiscAdvLifetime OBJECT-TYPE
         SYNTAX     INTEGER (4..9000)
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION "The value to be placed in the lifetime field of
                     Router Advertisements sent from the interface."
         ::= { rcIpConfIcmpRdiscEntry 4 }

rcIpConfIcmpRdiscMaxAdvInterval OBJECT-TYPE
         SYNTAX     INTEGER (4..1800)
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION "The maximum time allowed between sending
                     Router Advertisements from this interface."
         ::= { rcIpConfIcmpRdiscEntry 5 }

rcIpConfIcmpRdiscMinAdvInterval OBJECT-TYPE
         SYNTAX     INTEGER (3..1800)
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION "The minimum time allowed between sending
                      Router Advertisements from this interface."
         ::= { rcIpConfIcmpRdiscEntry 6 }


rcIpConfIcmpRdiscPreferenceLevel OBJECT-TYPE
         SYNTAX     INTEGER (-2147483648..2147483647)
         ACCESS     read-write
         STATUS     mandatory
         DESCRIPTION "Preferability of the router address as a default
                      Router "
         ::= { rcIpConfIcmpRdiscEntry 7 }


--IP Mcast Software Forwarding Group

rcIpMulticastSoftwareForwarding OBJECT IDENTIFIER ::= { rcIp 23 } 

rcIpMulticastSoftwareForwardingEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable/Disable multicast software
forwarding."
        DEFVAL { false }
        ::= { rcIpMulticastSoftwareForwarding 1 }

rcIpMulticastSoftwareForwardingThreshold OBJECT-TYPE
        SYNTAX        INTEGER (1..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Threshold to switch from software forwarding to hardware forwarding. Unit = pkt per second"
        DEFVAL { 5 }
        ::= { rcIpMulticastSoftwareForwarding 2 }

--IP Mroute-Hw

rcIpMrouteHw OBJECT IDENTIFIER       ::= { rcIp 24 }

rcIpMrouteHwTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpMrouteHwEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "The (conceptual) table containing hardware entries of
                       multicast routing information for all the Group Address."
        ::= { rcIpMrouteHw 1 }

rcIpMrouteHwEntry OBJECT-TYPE
        SYNTAX        RcIpMrouteHwEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "An entry (conceptual row) containing hardware entries of
	                    multicast routing information for a particular Group 
		                 Address."
        INDEX         { rcIpMrouteHwGroupAddress,
                        rcIpMrouteHwSubnet, 
                        rcIpMrouteHwInvlan,
                        rcIpMrouteHwIndex }
        ::= { rcIpMrouteHwTable 1 }

RcIpMrouteHwEntry ::=
        SEQUENCE {
                rcIpMrouteHwGroupAddress        IpAddress,
                rcIpMrouteHwSubnet              IpAddress,
                rcIpMrouteHwInvlan              INTEGER,
                rcIpMrouteHwPruned              TruthValue,
                rcIpMrouteHwIndex               INTEGER
        }

rcIpMrouteHwGroupAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP multicast group address for which this entry
                       contains multicast routing information."
        ::= { rcIpMrouteHwEntry 1 }

rcIpMrouteHwSubnet OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The network address from where the source is sending the
                       stream of traffic for which this entry contains multicast
                       routing information."
        ::= { rcIpMrouteHwEntry 2 }

rcIpMrouteHwInvlan OBJECT-TYPE
        SYNTAX        INTEGER (1..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The Ingress vlan Id from where the traffic is coming for
                       which this entry contains multicast routing information."
        ::= { rcIpMrouteHwEntry 3 }

rcIpMrouteHwPruned OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "This is to show weather the entry containing multicast
                       routing information has received Prune message or not."
        ::= { rcIpMrouteHwEntry  4 }

rcIpMrouteHwIndex OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "This Index value keep tracks of the hardware record that
                       has been accessed for displaying the entry containing                           multicast routing information."
        ::= { rcIpMrouteHwEntry  5 }

rcIpMrouteHwPrunesTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpMrouteHwPrunesEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "The (conceptual) table containing prune entries of
                       multicast routing information for the Group Address."
        ::= { rcIpMrouteHw 2 }

rcIpMrouteHwPrunesEntry OBJECT-TYPE
        SYNTAX        RcIpMrouteHwPrunesEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "An entry (conceptual row) containing prune entries of
                       multicast routing information for a particular Group 
                       Address."
        INDEX         { rcIpMrouteHwPrunesGroupAddress,
                        rcIpMrouteHwPrunesSubnet,
                        rcIpMrouteHwPrunesInvlan,
                        rcIpMrouteHwPrunesNeighbor }
        ::= { rcIpMrouteHwPrunesTable 1 }

RcIpMrouteHwPrunesEntry ::=
        SEQUENCE {
                rcIpMrouteHwPrunesGroupAddress  IpAddress,
                rcIpMrouteHwPrunesSubnet        IpAddress,
                rcIpMrouteHwPrunesInvlan        INTEGER,
                rcIpMrouteHwPrunesNeighbor      IpAddress,
                rcIpMrouteHwPrunesTimer         INTEGER
        }

rcIpMrouteHwPrunesGroupAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP multicast group address for which this entry
                       contains multicast routing information."
        ::= { rcIpMrouteHwPrunesEntry 1 }

rcIpMrouteHwPrunesSubnet OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The network address from where the source is sending the
                       stream of traffic for which this entry contains 
                       multicast routing information."
        ::= { rcIpMrouteHwPrunesEntry 2 }

rcIpMrouteHwPrunesInvlan OBJECT-TYPE
        SYNTAX        INTEGER (1..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The Ingress vlan Id from where the traffic is coming for
                       which this entry contains multicast routing information."
        ::= { rcIpMrouteHwPrunesEntry 3 }

rcIpMrouteHwPrunesNeighbor OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IpAddress from where the Prune message has been
                       received."
        ::= { rcIpMrouteHwPrunesEntry 4 }

rcIpMrouteHwPrunesTimer OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "This is to show how much time is left for this particular
                       entry containing multicast routing information during 
                       which  the graft message can be sent."
        ::= { rcIpMrouteHwPrunesEntry 5 }

rcIpMrouteHwSourcesTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpMrouteHwSourcesEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "The (conceptual) table containing source entries of
                       multicast routing information for the Group Address."
        ::= { rcIpMrouteHw 3 }

rcIpMrouteHwSourcesEntry OBJECT-TYPE
        SYNTAX        RcIpMrouteHwSourcesEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "An entry (conceptual row) containing source entries of
                       multicast routing information for a particular Group 
                       Address."
        INDEX         { rcIpMrouteHwSourcesGroupAddress,
                        rcIpMrouteHwSourcesSubnet,
                        rcIpMrouteHwSourcesInvlan,
                        rcIpMrouteHwSourcesAddress }
        ::= { rcIpMrouteHwSourcesTable 1 }

RcIpMrouteHwSourcesEntry ::=
        SEQUENCE {
                rcIpMrouteHwSourcesGroupAddress  IpAddress,
                rcIpMrouteHwSourcesSubnet        IpAddress,
                rcIpMrouteHwSourcesInvlan        INTEGER,
                rcIpMrouteHwSourcesAddress       IpAddress,
                rcIpMrouteHwSourcesIngressPort   PortSet
        }

rcIpMrouteHwSourcesGroupAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP multicast group address for which this entry
                       contains multicast routing information."
        ::= { rcIpMrouteHwSourcesEntry 1 }

rcIpMrouteHwSourcesSubnet OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The network address from where the source is sending the
                       stream of traffic for which this entry contains 
                       multicast routing information."
        ::= { rcIpMrouteHwSourcesEntry 2 }

rcIpMrouteHwSourcesInvlan OBJECT-TYPE
        SYNTAX        INTEGER (1..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The Ingress vlan Id from where the traffic is coming for
                       which this entry contains multicast routing information."
        ::= { rcIpMrouteHwSourcesEntry 3 }

rcIpMrouteHwSourcesAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The Source Address from where the stream of traffic is                          reaching the corresponding Group Address for which this 
                       entry contains multicast routing information."
        ::= { rcIpMrouteHwSourcesEntry 4 }

rcIpMrouteHwSourcesIngressPort OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The Ingress vlan ports from where the traffic is coming,
                       for which this entry contains multicast routing 
                       information."
        ::= { rcIpMrouteHwSourcesEntry 5 }

rcIpMrouteHwEgressVlansTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpMrouteHwEgressVlansEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "The (conceptual) table containing egress vlan entries of
                       multicast routing information for the Group Address."
        ::= { rcIpMrouteHw 4 }

rcIpMrouteHwEgressVlansEntry OBJECT-TYPE
        SYNTAX        RcIpMrouteHwEgressVlansEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "An entry (conceptual row) containing egress vlan entries
                       of multicast routing information for a particular Group 
                       Address."
        INDEX         { rcIpMrouteHwEgressVlansGroupAddress,
                        rcIpMrouteHwEgressVlansSubnet,
                        rcIpMrouteHwEgressVlansInvlan,
                        rcIpMrouteHwEgressVlansId,
                        rcIpMrouteHwEgressVlansIndex }
        ::= { rcIpMrouteHwEgressVlansTable 1 }

RcIpMrouteHwEgressVlansEntry ::=
        SEQUENCE {
                rcIpMrouteHwEgressVlansGroupAddress IpAddress,
                rcIpMrouteHwEgressVlansSubnet       IpAddress,
                rcIpMrouteHwEgressVlansInvlan       INTEGER,
                rcIpMrouteHwEgressVlansId           INTEGER,
                rcIpMrouteHwEgressVlansPorts        PortSet,
                rcIpMrouteHwEgressVlansIndex        INTEGER
        }

rcIpMrouteHwEgressVlansGroupAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP multicast group address for which this entry 
                       contains multicast routing information."
        ::= { rcIpMrouteHwEgressVlansEntry 1 }

rcIpMrouteHwEgressVlansSubnet OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The network address from where the source is sending the
                       stream of traffic for which this entry contains 
                       multicast routing information."
        ::= { rcIpMrouteHwEgressVlansEntry 2 }

rcIpMrouteHwEgressVlansInvlan OBJECT-TYPE
        SYNTAX        INTEGER (1..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The Ingress vlan Id from where the traffic is coming for
                       which this entry contains multicast routing information."
        ::= { rcIpMrouteHwEgressVlansEntry 3 }

rcIpMrouteHwEgressVlansId OBJECT-TYPE
        SYNTAX        INTEGER (1..4094)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The Egress vlan Id from where the traffic is going out
                       for which this entry contains multicast routing
                       information"
        ::= { rcIpMrouteHwEgressVlansEntry 4 }

rcIpMrouteHwEgressVlansPorts OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "he Egress vlan ports from where the traffic is going out
                       for which this entry contains multicast routing 
                       information."
        ::= { rcIpMrouteHwEgressVlansEntry 5 }

rcIpMrouteHwEgressVlansIndex OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "This Index value keep tracks of the hardware record that
                       has been accessed for displaying the entry containing 
                       multicast routing information."
        ::= { rcIpMrouteHwEgressVlansEntry  6 }


--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 (1..1024)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Path Access List entry Id."
        ::= { rcIpAsPathAccessListEntry 1 }

rcIpAsPathAccessListMemberId OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        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   "Path Access List Mode, permit or deny."
        ::= { rcIpAsPathAccessListEntry 3 }

rcIpAsPathAccessListAsRegularExpression OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..256))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IP Path Access List Regular Expression"
        ::= { rcIpAsPathAccessListEntry 4 }

rcIpAsPathAccessListRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Table row status."
        ::= { 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 (1..1024)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "IP CommunityAccess entry List Id"
        ::= { rcIpCommunityAccessListEntry 1 }

rcIpCommunityAccessListMemberId OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        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   "IP Community Access List Mode, permit or deny."
        ::= { rcIpCommunityAccessListEntry 3 }

rcIpCommunityAccessListCommunity OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..256))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IP Community Access List Community string."
        ::= { rcIpCommunityAccessListEntry 4 }

rcIpCommunityAccessListRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IP Community Access Table Row Status."
        ::= { 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, 
                      	  rcIpPrefixListPrefix, 
                      	  rcIpPrefixListPrefixMaskLen }
        ::= { rcIpPrefixListTable 1 }

RcIpPrefixListEntry ::=
        SEQUENCE {
                rcIpPrefixListId               INTEGER,
                rcIpPrefixListPrefix           IpAddress,
                rcIpPrefixListPrefixMaskLen    INTEGER,
                rcIpPrefixListMaskLenFrom      INTEGER,
                rcIpPrefixListMaskLenUpto      INTEGER,
                rcIpPrefixListName             DisplayString,
                rcIpPrefixListRowStatus        RowStatus
        }

rcIpPrefixListId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "ListId"
        ::= { rcIpPrefixListEntry 1 }

rcIpPrefixListPrefix OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Is a member of a specific prefix list.
                       Adding the prefix to the given prefix list"
        ::= { rcIpPrefixListEntry 2 }

rcIpPrefixListPrefixMaskLen OBJECT-TYPE
        SYNTAX        INTEGER (0..32)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "prefix mask length"
        ::= { rcIpPrefixListEntry 3 }

rcIpPrefixListMaskLenFrom OBJECT-TYPE
        SYNTAX        INTEGER (0..32)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "used with mask len"
        ::= { rcIpPrefixListEntry 4 }

rcIpPrefixListMaskLenUpto OBJECT-TYPE
        SYNTAX        INTEGER (0..32)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "used with mask len"
        ::= { rcIpPrefixListEntry 5 }

rcIpPrefixListName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(1..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "list name"
        ::= { rcIpPrefixListEntry 6 }

rcIpPrefixListRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rcIpPrefixListEntry 7 }  



-- Ip Route Policy Table

rcIpRoutePolicyTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 11 }

rcIpRoutePolicyApply OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpGenPolicy 12 }

rcIpRoutePolicyTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpRoutePolicyEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "IP Route Map table"
        ::= { rcIpGenPolicy 13 }

rcIpRoutePolicyEntry OBJECT-TYPE
        SYNTAX          RcIpRoutePolicyEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "An entry of Ip Route Map Table."
        INDEX           { rcIpRoutePolicyId, rcIpRoutePolicySequenceNumber }
        ::= { rcIpRoutePolicyTable 1 }

RcIpRoutePolicyEntry ::=
        SEQUENCE {
                rcIpRoutePolicyId                          INTEGER,
                rcIpRoutePolicySequenceNumber              INTEGER,
                rcIpRoutePolicyName                        DisplayString,
                rcIpRoutePolicyEnable                      TruthValue,
                rcIpRoutePolicyMode                        INTEGER,
                rcIpRoutePolicyMatchProtocol               INTEGER,
                rcIpRoutePolicyMatchAsPath                 DisplayString,
                rcIpRoutePolicyMatchCommunity              DisplayString,
                rcIpRoutePolicyMatchCommunityExact         EnableValue,
                rcIpRoutePolicyMatchNetwork                DisplayString,
                rcIpRoutePolicyMatchIpRouteSource          DisplayString,
                rcIpRoutePolicyMatchNextHop                DisplayString,
                rcIpRoutePolicyMatchInterface              DisplayString,
                rcIpRoutePolicyMatchRouteType              INTEGER,
                rcIpRoutePolicyMatchMetric                 INTEGER,
                rcIpRoutePolicyMatchTag                    DisplayString,
                rcIpRoutePolicySetRoutePreference          INTEGER,
                rcIpRoutePolicySetAsPath                   DisplayString,
                rcIpRoutePolicySetAsPathMode               INTEGER,
                rcIpRoutePolicySetAutomaticTag             EnableValue,
                rcIpRoutePolicySetCommunityNumber          DisplayString,
                rcIpRoutePolicySetCommunityMode            INTEGER,
                rcIpRoutePolicySetMetricTypeInternal       INTEGER,
                rcIpRoutePolicySetMetric                   INTEGER,
                rcIpRoutePolicySetMetricType               INTEGER,
                rcIpRoutePolicySetNextHop                  IpAddress,
                rcIpRoutePolicySetOrigin                   INTEGER,
                rcIpRoutePolicySetLocalPref                INTEGER,
                rcIpRoutePolicySetOriginEgpAs              INTEGER,
                rcIpRoutePolicySetTag                      INTEGER,
                rcIpRoutePolicySetWeight                   INTEGER,
                rcIpRoutePolicySetInjectNetList            DisplayString,
                rcIpRoutePolicyRowStatus                   RowStatus,
                rcIpRoutePolicySetMask                   IpAddress,
                rcIpRoutePolicyNssaPbit                   EnableValue
        }

rcIpRoutePolicyId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Index used to identify a group of policies in
                       the route policy tableRoute map id"
        ::= { rcIpRoutePolicyEntry 1 }

rcIpRoutePolicySequenceNumber OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "second index used to identify a specific policy
                       with in the route policy group (grouped by Id).
                       This field allows users to specify different
                       MATCH, SET parameters and an action."
        ::= { rcIpRoutePolicyEntry 2 }

rcIpRoutePolicyName OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(1..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Is used to group a set of policies with different
            sequence number. Id & Name have one-on-one
                       relationship. Different policy groups can
                       contain same sequence number, whereas with in
                       a group the sequence number must be different."
        ::= { rcIpRoutePolicyEntry 3 }

rcIpRoutePolicyEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Value specified here indicate whether
                       this policy is enabled or not. If
                       disabled policy sould not be used."
	       DEFVAL        { false } 
        ::= { rcIpRoutePolicyEntry 4 }

rcIpRoutePolicyMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          permit(1),
                          deny(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "specifies the action to be taken when this
                       policy is selected for a specific route.
                       This can be permit or deny or continue.
                       Permit indicates allow the route, deny indicates
                       ignore the route. Continue means continue
                       checking the next match criteria set in the
                       next policy seq, if none take the default action
                       in the given context."
	       DEFVAL        { permit } 
        ::= { rcIpRoutePolicyEntry 5 }


rcIpRoutePolicyMatchProtocol OBJECT-TYPE
        SYNTAX        INTEGER { 
                          direct(1),
                          static(2),
                          rip(4),
                          ospf(8),
                          bgp(16),
                          dvmrp(32),
                          any(63) 
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Match protocol. Used for RIP and DVMRP announce 
                       policy only."
        ::= { rcIpRoutePolicyEntry 6 }

rcIpRoutePolicyMatchAsPath OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Applicable to BGP protocol only. Match the BGP
                       autonomous system path. This will override the
                         BGP neighbor filter list info."
        ::= { rcIpRoutePolicyEntry 7 }

rcIpRoutePolicyMatchCommunity OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Applicable to BGP protocol only. Filter
                       incoming/outgoing updates based on communities."
        ::= { rcIpRoutePolicyEntry 8 }

rcIpRoutePolicyMatchCommunityExact OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "If enabled indicates the match has be an exact
                       (i.e., all of the communities specified in the
                       path has to be matched)."
        DEFVAL         {disable}
        ::= { rcIpRoutePolicyEntry 9 }

rcIpRoutePolicyMatchNetwork OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "can specify one or more prefix list name or id(s)"
        DEFVAL        {""}
        ::= { rcIpRoutePolicyEntry 10 }

rcIpRoutePolicyMatchIpRouteSource OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "In case of Rip routes this is equivalent to
                       RipInterface. In case of DVMRP routes this is
                       equivalent to DVMRP gateway. Can specify one
                       or more prefix list name(s) or id(s) seperated by comma."
        DEFVAL        {""}
        ::= { rcIpRoutePolicyEntry 11 }

rcIpRoutePolicyMatchNextHop OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "In case of Rip routes this is equivalent to
                       RipInterface. In case of DVMRP routes this is
                       equivalent to DVMRP gateway. Can specify one
                       or more prefix list name(s) or id(s) seperated by comma."
        DEFVAL        {""}
        ::= { rcIpRoutePolicyEntry 12 } 

rcIpRoutePolicyMatchInterface OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Match received interface. Only for rip routes. 
                       Ignored in all other cases."
        DEFVAL        {""}
        ::= { rcIpRoutePolicyEntry 13 }

rcIpRoutePolicyMatchRouteType OBJECT-TYPE
        SYNTAX        INTEGER {
                          any(0),
                          local(1),
                          internal(2),
                          external(3),
                          externaltype1(4),
                          externaltype2(5)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "For BGP this choice refers to locally generated
                       routes external routes learned via ebgp nbr. For
            OSPF internal refers to intra and inter area
                       routes (belongs to local autonomous system).
                       External (type1|type2) refers to the routes
                       learned from other ASs and imported as either
                       type1 or type2. if type1/type2 is specified
                       then match only type1/type2."
        DEFVAL         {any}
        ::= { rcIpRoutePolicyEntry 14 }

rcIpRoutePolicyMatchMetric OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Match mec field in the incoming advertisement."
	DEFVAL        { 0 } 
        ::= { rcIpRoutePolicyEntry 15 }

rcIpRoutePolicyMatchTag OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "specifies a list of tag(s), that will be used
                       during the match criteria process.contains one
                       or more tag values.."
        ::= { rcIpRoutePolicyEntry 16 } 

rcIpRoutePolicySetRoutePreference OBJECT-TYPE
        SYNTAX        INTEGER (0..255)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "if non-zero specifies the route preference
                       value to be assigned to the routes that applies
                       this policy.contains one or more tag values.."
        ::= { rcIpRoutePolicyEntry 17 }

rcIpRoutePolicySetAsPath OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The AS path vaule to be used whether the
                       SetAsPathMode is Tag or Prepend.as-path string.."
        ::= { rcIpRoutePolicyEntry 18 }

rcIpRoutePolicySetAsPathMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          tag(1),
                          prepend(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "It can be either tag or prepend tag.
                       applicable only while redistributing routes to
                       BGP.Converts the tag of a route into AS path."
        DEFVAL         {prepend}
        ::= { rcIpRoutePolicyEntry 19 }

rcIpRoutePolicySetAutomaticTag OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        DEFVAL        {disable}
        ::= { rcIpRoutePolicyEntry 20 }

rcIpRoutePolicySetCommunityNumber OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "this value can be a number (1..42949672000)
                       or no-export or no-advertise. Applicable to
                       BGP advertisments.community number."
        ::= { rcIpRoutePolicyEntry 21 }

rcIpRoutePolicySetCommunityMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          unchanged(0),
                          none(1),
                          append(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "this value can be either append or none
                       unchanged - keep the community attribute in the
                                   route path as it is.
                       none - remove the community in the route path
                       additive - adds the community-number specified
                                  in SetCommunityNumber to the
                                  community list attribute.  Applicable
                       to BGP advertisments."
        DEFVAL         {unchanged}
        ::= { rcIpRoutePolicyEntry 22 }

rcIpRoutePolicySetMetricTypeInternal OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Indicates to set the MED value for routes
                       advertised to ebgp nbrs to the IGP metric value."
        DEFVAL         {0}
        ::= { rcIpRoutePolicyEntry 23 }

rcIpRoutePolicySetMetric OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Value of the metric to be used while sending an
                       update for the routes that match the matching
                       criteria in this route policy.
                       Default - 0 indicates the internal value defined
            for protocol"
	DEFVAL        { 0 } 
        ::= { rcIpRoutePolicyEntry 24 }

rcIpRoutePolicySetMetricType OBJECT-TYPE
        SYNTAX        INTEGER {
                          type1(1),
                          type2(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Metric type for the routes to be imported into
                       OSPF routing protocol, which passed the matching
            criteria configured in this route policy."
	    DEFVAL        { type2 } 
        ::= { rcIpRoutePolicyEntry 25 }

rcIpRoutePolicySetNextHop OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IpAddress of the next hop router.  Ignored for 
                       DVMRP routes."
        DEFVAL   { '00000000'H }    -- 0.0.0.0
        ::= { rcIpRoutePolicyEntry 26 }

rcIpRoutePolicySetOrigin OBJECT-TYPE
        SYNTAX        INTEGER {
                          unchanged(0),
                          igp(1),
                          egp(2),
                          incomplete(3)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "igp/egp/incomplete Applicable to BGP protocol
                       only. If not set uses the route origin from
                       the Ip routing table (protocol)."
        DEFVAL         {unchanged}
        ::= { rcIpRoutePolicyEntry 27 }

rcIpRoutePolicySetLocalPref OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "this value will be used during route decision
                       process in the BGP protocol. Applicable to BGP
                       only."
        DEFVAL         {0}
        ::= { rcIpRoutePolicyEntry 28 }

rcIpRoutePolicySetOriginEgpAs OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "indicates the Remote autonomous sys number.
                       Applicable to BGP only."
        DEFVAL         {0}
        ::= { rcIpRoutePolicyEntry 29 }

rcIpRoutePolicySetTag OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Value to be used for setting tag of the
                       destination routing protocol. If not specified
                       forward the tag value in the source routing
                       protocol. Value 0 indicates not set"
        DEFVAL         {0}
        ::= { rcIpRoutePolicyEntry 30 }

rcIpRoutePolicySetWeight OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Should be using with match as-path condition.
                       Weight value for the routing table. For BGP
                       this value will override the weight configured
                       through NetworkTableEntry or FilterListWeight or
                       NeighborWeight. Used for BGP only.Value 0
                       indicates not set"
        DEFVAL         {0}
        ::= { rcIpRoutePolicyEntry 31 }

rcIpRoutePolicySetInjectNetList OBJECT-TYPE
        SYNTAX        DisplayString 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "specifies the prefix list to be used either
                       for injecting the routes into the routing
                       table or to include the networks in the
                       advertisement. Ignored for DVMRP."
        DEFVAL        {""}
        ::= { rcIpRoutePolicyEntry 32 }

rcIpRoutePolicyRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rcIpRoutePolicyEntry 33 }

rcIpRoutePolicySetMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Set Mask Ip Address"
        DEFVAL   { '00000000'H }    -- 0.0.0.0
        ::= { rcIpRoutePolicyEntry 34 }

rcIpRoutePolicyNssaPbit OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Set/Reset P bit in specified type 7 LSA.
                       By default P bit is always set in case user
                       set it to disable state for particular route
                       policy than all type 7 LSAs associated with
                       that route policy will have P bit cleared, 
                       with this intact NSSA ABR will not perform
                       translation of these LSAs to type 5."
        DEFVAL        { enable }
        ::= { rcIpRoutePolicyEntry 35 }


-- Ip Redistribute Table

rcIpRedistributeTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 14 }

rcIpRedistributeApply OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
	       DEFVAL        { true } 
        ::= { rcIpGenPolicy 15 }

rcIpRedistributeTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpRedistributeEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "IP Redistribute table"
        ::= { rcIpGenPolicy 16 }

rcIpRedistributeEntry OBJECT-TYPE
        SYNTAX          RcIpRedistributeEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "An entry of Ip Redistribute Table."
        INDEX           { rcIpRedistributeProtocol,
                           rcIpRedistributeRouteSource }
        ::= { rcIpRedistributeTable 1 }

RcIpRedistributeEntry ::=
        SEQUENCE {
                rcIpRedistributeProtocol         INTEGER,
                rcIpRedistributeRouteSource      INTEGER,
                rcIpRedistributeEnable           EnableValue,
                rcIpRedistributeMetric           INTEGER,
                rcIpRedistributeMetricType       INTEGER,
                rcIpRedistributeMatchRouteType   INTEGER,
                rcIpRedistributeSetTag           INTEGER,
                rcIpRedistributeSubnets          INTEGER,
                rcIpRedistributeRoutePolicy      DisplayString,
                rcIpRedistributeASNumber         INTEGER,
                rcIpRedistributeWeight           INTEGER,
                rcIpRedistributeDefaultOriginate INTEGER,
                rcIpRedistributeRowStatus        RowStatus
        }

rcIpRedistributeProtocol OBJECT-TYPE
        SYNTAX        INTEGER {
                          ospf(1),
                          bgp(2)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Protocol is any one of the dynamic routing
                       protocol, which  is interested in receiving
                       the external routing info."
        ::= { rcIpRedistributeEntry 1 }

rcIpRedistributeRouteSource OBJECT-TYPE
        SYNTAX        INTEGER {
                          direct(1),
                          static(2),
                          rip(3),
                          ospf(4),
                          bgp(5)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "equivalent to the owner field in the routing
                       table. This field indicates that the protocol
                       is interested in knowing/not-knowing the routes
                       learned from this source."
        ::= { rcIpRedistributeEntry 2 }

rcIpRedistributeEnable OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable/Disable. By default this is enabled."
        DEFVAL        { disable }
        ::= { rcIpRedistributeEntry 3 }

rcIpRedistributeMetric OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "value of the metric to be announced in the
                       advertisment"
        DEFVAL        { 0 }
        ::= { rcIpRedistributeEntry 4 }

rcIpRedistributeMetricType OBJECT-TYPE
        SYNTAX        INTEGER {
                          type1(1),
                          type2(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "specifies the type of the metric type, useful
                       for OSPF and  BGP only."
        DEFVAL        { type2 }
        ::= { rcIpRedistributeEntry 5 }

rcIpRedistributeMatchRouteType OBJECT-TYPE
        SYNTAX        INTEGER {
                          internal(1),
                          external1(2),
                          external2(3)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "used to filter a route based on the route type.
                       applicable to BGP."
        ::= { rcIpRedistributeEntry 6 }

rcIpRedistributeSetTag OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Tag value to be set in the advertisment."
        ::= { rcIpRedistributeEntry 7 }

rcIpRedistributeSubnets OBJECT-TYPE
        SYNTAX        INTEGER {
                          allow(1),
                          supress(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "applicable to OSPF only. Indicates that all the
                       subnets need to be advertised individually."
        DEFVAL        { allow }
        ::= { rcIpRedistributeEntry 8 }

rcIpRedistributeRoutePolicy OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "specify the route policy to achieve the final
                       granularity in filtering to determine whether
                       or not a specific route should be advertised
                       to the given protocol.Route map name"
        ::= { rcIpRedistributeEntry 9 }

rcIpRedistributeASNumber OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Autonomous system number. Used only for the
                       BGP protocol."
        ::= { rcIpRedistributeEntry 10 }

rcIpRedistributeWeight OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "used only for the BGP protocol."
        ::= { rcIpRedistributeEntry 11 }

rcIpRedistributeDefaultOriginate OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "indicates the given protocol will
                        originate/advertise a default route."
        ::= { rcIpRedistributeEntry 12 }

rcIpRedistributeRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rcIpRedistributeEntry 13 }


-- IP Ospf In Filter Table

rcIpOspfInFilterTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 17 }

rcIpOspfInFilterApply OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpGenPolicy 18 }

rcIpOspfInFilterTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpOspfInFilterEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "IP Ospf In Filter table"
        ::= { rcIpGenPolicy 19 }

rcIpOspfInFilterEntry OBJECT-TYPE
        SYNTAX          RcIpOspfInFilterEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "An entry of Ip Ospf In Filter Table."
        INDEX           { rcIpOspfInFilterAdvertisingRtr }
        ::= { rcIpOspfInFilterTable 1 }

RcIpOspfInFilterEntry ::=
        SEQUENCE {
                rcIpOspfInFilterAdvertisingRtr  IpAddress,
                rcIpOspfInFilterEnable          EnableValue,
                rcIpOspfInFilterMetricType      INTEGER,
                rcIpOspfInFilterPolicyName      DisplayString,
                rcIpOspfInFilterRowStatus       RowStatus
        }

rcIpOspfInFilterAdvertisingRtr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpOspfInFilterEntry 1 }

rcIpOspfInFilterEnable OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IfIndex"
        DEFVAL        { disable }
        ::= { rcIpOspfInFilterEntry 2 }

rcIpOspfInFilterMetricType OBJECT-TYPE
        SYNTAX        INTEGER {
                          type1(1),
                          type2(2),
                          any(3)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        DEFVAL        { any }
        ::= { rcIpOspfInFilterEntry 3 }

rcIpOspfInFilterPolicyName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpOspfInFilterEntry 4 }

rcIpOspfInFilterRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIpOspfInFilterEntry 5 }


-- Ip Route Pref Table


rcIpRoutePrefTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpGenPolicy 20 }

rcIpRoutePrefTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpRoutePrefEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "IP Route Pref table"
        ::= { rcIpGenPolicy 21 }

rcIpRoutePrefEntry OBJECT-TYPE
        SYNTAX          RcIpRoutePrefEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "An entry of Ip Route Pref Table."
        INDEX           { rcIpRoutePrefProtocol }
        ::= { rcIpRoutePrefTable 1 }

RcIpRoutePrefEntry ::=
        SEQUENCE {
                rcIpRoutePrefProtocol    INTEGER,
                rcIpRoutePrefDefault     INTEGER,
                rcIpRoutePrefConfigured  INTEGER
        }

rcIpRoutePrefProtocol OBJECT-TYPE
        SYNTAX        INTEGER {
                          local(1),
                          static(2),
                          mpls(3),
                          ospfIntra(4),
                          ospfInter(5),
                          isisLevel1(6),
                          isisLevel2(7),
                          ebgp(8),
                          rip(9),
                          ospfExternal1(10),
                          ospfExternal2(11),
                          ibgp(12)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Protocol"
        ::= { rcIpRoutePrefEntry 1 }

rcIpRoutePrefDefault OBJECT-TYPE
        SYNTAX        INTEGER (0..255)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Shows the default preference value for the given
                       protocol."
        ::= { rcIpRoutePrefEntry 2 }

rcIpRoutePrefConfigured OBJECT-TYPE
        SYNTAX        INTEGER (0..255)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "This value is configurable by the user"
        ::= { rcIpRoutePrefEntry 3 }


-- Ip BGP


rcIpBgp OBJECT IDENTIFIER ::= { rcIp 101 }

rcIpBgpGeneralGroup OBJECT IDENTIFIER ::= { rcIpBgp 1 }

rcIpBgpGeneralGroupLocalAs OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Local Autonomous system number"
        ::= { rcIpBgpGeneralGroup 1 }

rcIpBgpGeneralGroupAdminStatus OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Disable or Enable group administrative"
        DEFVAL { enable }
        ::= { rcIpBgpGeneralGroup 2 }

rcIpBgpGeneralGroupDefaultMetric OBJECT-TYPE
        SYNTAX        INTEGER (-1..2147483647)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The default-metric is used in conjunction with
                       the redistribute router configuration command to cause
                       the bgp routing protocol to use this metric as MED"
        DEFVAL        { -1 }
        ::= { rcIpBgpGeneralGroup 3 }

rcIpBgpGeneralGroupDefaultLocalPreference OBJECT-TYPE
        SYNTAX        INTEGER (0..2147483647)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   " Default local preference attribute value to be used "
        DEFVAL {100}
        ::= { rcIpBgpGeneralGroup 4 }

rcIpBgpGeneralGroupDefaultInformationOriginate OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "allows the redistribution of network 0.0.0.0 into BGP"
        DEFVAL {false}
        ::= { rcIpBgpGeneralGroup 5 }

rcIpBgpGeneralGroupBestPathMissingAsWorst OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable to consider a missing MED attribute in a path
                       as having a value of infinity, making the path without a
                       MED value the least desirable path. To return the router
                       to the default (assign a value of 0 to the missing MED),
                        set the value to disable."
        DEFVAL        {enable}
        ::= { rcIpBgpGeneralGroup 6 }

rcIpBgpGeneralGroupBestPathMedConfed OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "To enable MED comparison among paths learned from
                       confederation peers. Disable to prevent considering
                       the MED attribute in comparing paths"
        DEFVAL          {disable}
        ::= { rcIpBgpGeneralGroup 7 }

rcIpBgpGeneralGroupIgnoreIllegalRouterId OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Configures BGP to overlook an illegal router ID.
                       Enables or disable accepting a connection from a peer
                       that sends its open message with a router ID of 0."
        DEFVAL          {disable}
        ::= { rcIpBgpGeneralGroup 8 }

rcIpBgpGeneralGroupAlwaysCompareMed OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable to allow the comparison of the Multi Exit
                       Discriminator (MED) for paths from neighbors in
                       different autonomous systems."
        DEFVAL        {disable}
        ::= { rcIpBgpGeneralGroup 9 }

rcIpBgpGeneralGroupAutoPeerRestart OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable the feature that automatically restarts the
                       connection to a BGP peer when the connection goes down."
        DEFVAL        {enable}
        ::= { rcIpBgpGeneralGroup 10 }

rcIpBgpGeneralGroupAutoSummary OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable BGP to summarize networks based on class limlts
                       (Class A,B,C networks)."
        DEFVAL        {enable}
        ::= { rcIpBgpGeneralGroup 11 }

rcIpBgpGeneralGroupSynchronization OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enables and disables the router from accepting routes
                       from BGP peers without waiting for an update from the
                       IBGP."
        DEFVAL        {enable}
        ::= { rcIpBgpGeneralGroup 12 }

rcIpBgpGeneralGroupMaxEqualcostRoutes OBJECT-TYPE
        SYNTAX        INTEGER (1..4)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Sets the number of maximum number of equal-cost routes
                       that can be stored in the routing table."
        DEFVAL          {1}
        ::= { rcIpBgpGeneralGroup 13 }

rcIpBgpGeneralGroupIbgpReportImportRoute OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Configure BGP to report imported routes to an interior
                       BGP peer."
        DEFVAL        {enable}
        ::= { rcIpBgpGeneralGroup 14 }

rcIpBgpGeneralGroupAggregate OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   " "
        DEFVAL        {enable}
        ::= { rcIpBgpGeneralGroup 15 }

rcIpBgpGeneralGroupFlapDampEnable OBJECT-TYPE
        SYNTAX  EnableValue 
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION "Enabled or Disabled"
        DEFVAL  { disable }
        ::= { rcIpBgpGeneralGroup 16 }

rcIpBgpGeneralGroupDebugMask OBJECT-TYPE
        SYNTAX          INTEGER (0..511) 
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    " value is one of multiple (logiacally by 'OR' of
                         following value:
                                 none (0),
                                 error(1),
                                 packet(2),
                                 event(4),
                                 trace(8),
                                 warning(16),
                                 state(32),
                                 init(64),
                                 filter(128),
                                 update(256),
                                 all(511)
			all: Enables all debugging messages.
                        none: Disables all debugging messages.
                        error: Enables disolay of debug error messages.
                        packet: Enables display of debug packet messages.
                        event: Enables display of debug event messages.
                        trace: Enables display debug trace messages.
                        warning: Enables display debug warning messages.
                        state: Enables display of debug state transtion
                               messages.
                        init: Enables display of debug initialization messages.
                        filter: Enables display of debug messages related to
                                filtering.
                        update: Enables display of debug messages related to
                                sending and receiving updates."
        DEFVAL {0}
        ::= { rcIpBgpGeneralGroup 17 }

rcIpBgpAggregateTableSize OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Size of Aggregate Table"
        ::= { rcIpBgp 2 }

rcIpBgpAggregateTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpBgpAggregateEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "To specify the list of aggregate prefixes to be
                         created  by the BGP routing process and the options
                         to be used while aggregating."
        ::= { rcIpBgp 3 }

rcIpBgpAggregateEntry OBJECT-TYPE
        SYNTAX          RcIpBgpAggregateEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "An entry of rcIpBgp Aggregate Address In Table."
        INDEX           { rcIpBgpAggregateAddress,
                          rcIpBgpAggregateMask }
        ::= { rcIpBgpAggregateTable 1 }

RcIpBgpAggregateEntry ::=
        SEQUENCE {
                  rcIpBgpAggregateAddress                IpAddress,
                  rcIpBgpAggregateMask                   IpAddress,
                  rcIpBgpAggregateAsSetGenerate          EnableValue,
                  rcIpBgpAggregateSummaryOnly            EnableValue,
                  rcIpBgpAggregateSuppressPolicy         DisplayString,
                  rcIpBgpAggregateAdvertisePolicy        DisplayString,
                  rcIpBgpAggregateAttributePolicy        DisplayString,
                  rcIpBgpAggregateRowStatus              RowStatus
                 }

rcIpBgpAggregateAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Prefix to create an aggregate address in BGP routing table."
        ::= { rcIpBgpAggregateEntry 1 }

rcIpBgpAggregateMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Mask for the aggregrate"
        ::= { rcIpBgpAggregateEntry 2 }

rcIpBgpAggregateAsSetGenerate OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable Generates autonomous system set path
                       information."
        DEFVAL        {disable}
        ::= { rcIpBgpAggregateEntry 3 }

rcIpBgpAggregateSummaryOnly OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Filters all more specific routes from updates."
        DEFVAL        {disable}
        ::= { rcIpBgpAggregateEntry 4 }

rcIpBgpAggregateSuppressPolicy OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Name of route policy used to select the
                       routes to be suppressed."
        ::= { rcIpBgpAggregateEntry 5 }

rcIpBgpAggregateAdvertisePolicy OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Name of route policy used to select the
                       routes to create AS-SET origin communities."
        ::= { rcIpBgpAggregateEntry 6 }

rcIpBgpAggregateAttributePolicy OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Name of route policy used to set the
                       attribute of the aggregate route."
        ::= { rcIpBgpAggregateEntry 7 }

rcIpBgpAggregateRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Row status for create/delete."
        ::= { rcIpBgpAggregateEntry 8 }

rcIpBgpConfederationGroup OBJECT IDENTIFIER ::= { rcIpBgp 4 }

rcIpBgpConfederationIdentifier OBJECT-TYPE
        SYNTAX        INTEGER  (0..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Confederation AS identifier"
        ::= { rcIpBgpConfederationGroup 1 }

rcIpBgpConfederationPeers OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(255))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The string represents ConfederatoinPeers as <length,
                       value>. Maximum size 255,if any, will not be recorded 
                       by this object.
                       The length is a 1-octet field containing the numbner 
                       of peers in the value field.
                       The value field contains one or more peers (AS numbers
                       which are part of the confederation).
                       Each AS is represented in the octet
                       string as a pair of octets according to the
                       following algorithm:
                          first-byte-of-pair = ASNumber / 256;
                          second-byte-of-pair = ASNumber & 255;"
        ::= { rcIpBgpConfederationGroup 2 }


rcIpBgpRouteReflectorGroup OBJECT IDENTIFIER ::= { rcIpBgp 5 }

rcIpBgpRouteReflectionEnable OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable Route Reflection on this router"
        DEFVAL        {disable}
        ::= { rcIpBgpRouteReflectorGroup 1 }

rcIpBgpRouteReflectorClusterId OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Cluster ID of this router acting as a route reflector"
        ::= { rcIpBgpRouteReflectorGroup 2 }

rcIpBgpRouteReflectorClientToClientReflection OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "When this router is configured as a route reflector, and
                       the clients are fully meshed, a Disable value disables
                       reflection of routes from one client to another."
        DEFVAL  {disable}
        ::= { rcIpBgpRouteReflectorGroup 3 }

rcIpBgpNetworkTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Network Prefix table size"
        ::= { rcIpBgp 6 }

rcIpBgpNetworkTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpBgpNetworkEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "The networks in this table are either static/directly
                         connected or learned routes. Bgp advertises these
                         network provided they are reachable and are in the IP
                         routing table"
        ::= { rcIpBgp 7 }

rcIpBgpNetworkEntry OBJECT-TYPE
        SYNTAX          RcIpBgpNetworkEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "An entry In NetworkTable."
        INDEX           { rcIpBgpNetworkAddr,
                          rcIpBgpNetworkMask }
        ::= { rcIpBgpNetworkTable 1 }

RcIpBgpNetworkEntry ::=
        SEQUENCE {
                  rcIpBgpNetworkAddr  IpAddress,
                  rcIpBgpNetworkMask  IpAddress,
		  rcIpBgpNetworkRowStatus RowStatus
                 }

rcIpBgpNetworkAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Network prefix that BGP will advertise."
        ::= { rcIpBgpNetworkEntry 1 }

rcIpBgpNetworkMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Network mask"
        ::= { rcIpBgpNetworkEntry 2 }

rcIpBgpNetworkRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Row status for create/delete."
        ::= { rcIpBgpNetworkEntry 3 }


-- Bgp Peer Table

rcIpBgpPeerTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "BGP peer table size"
        ::= { rcIpBgp 8 }

rcIpBgpPeerTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpBgpPeerEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "IP BGP Peer table"
        ::= { rcIpBgp 9 }

rcIpBgpPeerEntry OBJECT-TYPE
        SYNTAX          RcIpBgpPeerEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "An entry of Ip rcIpBgp Peer Table."
        INDEX           { rcIpBgpPeerIpAddress }
        ::= { rcIpBgpPeerTable 1 }

RcIpBgpPeerEntry ::=
        SEQUENCE {
                rcIpBgpPeerEnable                INTEGER,
                rcIpBgpPeerIpAddress             IpAddress,
                rcIpBgpPeerRemoteAs              INTEGER,
                rcIpBgpPeerGroupName         DisplayString,
                rcIpBgpPeerDefaultOriginate      EnableValue,
                rcIpBgpPeerEbgpMultiHop          EnableValue,
                rcIpBgpPeerAdvertisementInterval INTEGER,
                rcIpBgpPeerPassword              DisplayString,
                rcIpBgpPeerWeight                INTEGER,
                rcIpBgpPeerMaxPrefix             INTEGER,
                rcIpBgpPeerNextHopSelf           TruthValue,
                rcIpBgpPeerRoutePolicyIn         DisplayString,
                rcIpBgpPeerRoutePolicyOut        DisplayString,
                rcIpBgpPeerRouteReflectorClient  TruthValue,
                rcIpBgpPeerSoftReconfigurationIn EnableValue,
                rcIpBgpPeerSoftReconfiguration   INTEGER,
                rcIpBgpPeerRemovePrivateAs       EnableValue,
                rcIpBgpPeerRowStatus             RowStatus,
		rcIpBgpPeerMD5Authentication	 EnableValue,
		rcIpBgpPeerDebugMask		 INTEGER,
	        rcIpBgpPeerSendCommunity	 EnableValue,
		rcIpBgpPeerUpdateSourceInterface IpAddress
-- OM 2.0 place holder 
--              rcIpBgpPeerBgpMplsCutThroughType INTEGER,
--              rcIpBgpPeerBgpMplsCutThroughId   INTEGER
        }

rcIpBgpPeerEnable OBJECT-TYPE
        SYNTAX  INTEGER {
                    enabled(1),
                    disabled(2)
                }
        ACCESS  read-write
        STATUS  mandatory
        DESCRIPTION
                "Enable/Disable: controls whether the peer connection is enabled
                or disabled"
        DEFVAL  { disabled }
        ::= { rcIpBgpPeerEntry 1 }

rcIpBgpPeerIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The Ip address of this peer"
        ::= { rcIpBgpPeerEntry 2 }

rcIpBgpPeerRemoteAs OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Remote Autonomous system number of this peer"
        ::= { rcIpBgpPeerEntry 3 }

rcIpBgpPeerGroupName OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(0..255))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Peer group name to which this peer belongs (optional)"
        ::= { rcIpBgpPeerEntry 4 }

rcIpBgpPeerDefaultOriginate OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "To allow a BGP speaker (the local router) to send
                       the default route 0.0.0.0 to a neighbor for use as
                       a default route"
        DEFVAL        {disable}
        ::= { rcIpBgpPeerEntry 5 }

rcIpBgpPeerEbgpMultiHop OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "To accept and attempt BGP connections to external
                       peers residing on networks that are not directly
                       connected"
        DEFVAL          {disable}
        ::= { rcIpBgpPeerEntry 6 }

rcIpBgpPeerAdvertisementInterval OBJECT-TYPE
        SYNTAX        INTEGER (5..120)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "To set the minimum interval between the sending of
                       BGP routing updates Time in seconds. Integer from 5
                       to 120."
        DEFVAL        { 30 }
        ::= { rcIpBgpPeerEntry 7 }

rcIpBgpPeerPassword OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(0..80))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "To enable MD5 authentication on a TCP connection
                       between two BGP peers Case-sensitive password of
                       up to 80 character"
        ::= { rcIpBgpPeerEntry 8 }

rcIpBgpPeerWeight OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "To assign an absolute weight to a BGP network.
                       It can be an integer from 0 to  65535."
        DEFVAL        { 100 }
        ::= { rcIpBgpPeerEntry 9 }

rcIpBgpPeerMaxPrefix OBJECT-TYPE
        SYNTAX        INTEGER (0..2147483647)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Sets a limit on the number of routes that will be
                       accepted from a neighbor. A value of zero indicates no
                       limit"
        DEFVAL          {12000}
        ::= { rcIpBgpPeerEntry 10 }

rcIpBgpPeerNextHopSelf  OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Set NextHop Attribute to local router address before
                       sending updates to remote peer"
        DEFVAL        { false }
        ::= { rcIpBgpPeerEntry 11 }

rcIpBgpPeerRoutePolicyIn OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Route Policy Name that will be applied to all networks
                       learned from this peer"
        ::= { rcIpBgpPeerEntry 12 }

rcIpBgpPeerRoutePolicyOut OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Route policy name that will be applied to all outgoing
                       updates"
        ::= { rcIpBgpPeerEntry 13 }

rcIpBgpPeerRouteReflectorClient OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Indicates whether this peer is a route reflector client."
        DEFVAL        {false}
        ::= { rcIpBgpPeerEntry 14 }

rcIpBgpPeerSoftReconfigurationIn OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "If Peer soft reconfiguration is enabled in the in-bound
                       direction, policy can be changed and routes can
                       re-learned without having to reset the bgp connection.
                       Enabling soft reconfig-in causes all bgp routes to be
                       stored in local memory (even non-best routes)"
        DEFVAL        {enable}
        ::= { rcIpBgpPeerEntry 15 }

rcIpBgpPeerSoftReconfiguration OBJECT-TYPE
        SYNTAX        INTEGER {
                                in (1),
                                out(2)
                              }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "If rcIpBgpPeerSoftReconfigurationIn is enabled in the
                       in-bound direction, policy can be changed and routes can
                       re-learned without having to reset the bgp connection by
                       setting rcIpBgpPeerSoftReconfiguration to in(1). Setting
                       the value to out (2) forces the neighbor to send out all
                       the updates to the remote neighbor without resetting the
                       connection."
        ::= { rcIpBgpPeerEntry 16 }

rcIpBgpPeerRemovePrivateAs OBJECT-TYPE
        SYNTAX       EnableValue
        ACCESS       read-write
        STATUS       mandatory
        DESCRIPTION  "Enable and disable private AS number from being
                      stripped when sending an update"
        DEFVAL          { enable  }
        ::= { rcIpBgpPeerEntry 17 }

rcIpBgpPeerRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        ACCESS      read-write
        STATUS      mandatory
        DESCRIPTION "Used to create/delete entries in the Table."
        ::= { rcIpBgpPeerEntry 18 }

rcIpBgpPeerMD5Authentication  OBJECT-TYPE
	SYNTAX	    EnableValue
	ACCESS	    read-write
	STATUS	    mandatory
	DESCRIPTION "Enable and Disable MD5 authentication"
	DEFVAL	     { disable }
	::= { rcIpBgpPeerEntry 19 }

rcIpBgpPeerDebugMask OBJECT-TYPE
        SYNTAX          INTEGER (0..511) 
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    " value is one of multiple (logiacally by 'OR' of
                         following value:
                                 none (0),
                                 error(1),
                                 packet(2),
                                 event(4),
                                 trace(8),
                                 warning(16),
                                 state(32),
                                 init(64),
                                 filter(128),
                                 update(256),
                                 all(511)
                        all: Enables all debugging messages.
                        none: Disables all debugging messages.
                        error: Enables disolay of debug error messages.
                        packet: Enables display of debug packet messages.
                        event: Enables display of debug event messages.
                        trace: Enables display debug trace messages.
                        warning: Enables display debug warning messages.
                        state: Enables display of debug state transtion
                               messages.
                        init: Enables display of debug initialization messages.
                        filter: Enables display of debug messages related to
                                filtering.
                        update: Enables display of debug messages related to
                                sending and receiving updates."
        DEFVAL {0}
        ::=  { rcIpBgpPeerEntry 20 }

rcIpBgpPeerSendCommunity  OBJECT-TYPE
        SYNTAX      EnableValue
        ACCESS      read-write
        STATUS      mandatory
        DESCRIPTION "----------------------------"
        DEFVAL       { disable }
        ::= { rcIpBgpPeerEntry 21 }

rcIpBgpPeerUpdateSourceInterface  OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The IP address to be used for Circuitless IP."
        ::= { rcIpBgpPeerEntry 22 }

-- IP rcIpBgp Peer Group Table

rcIpBgpPeerGroupTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "BGP Peer Group table size"
        ::= { rcIpBgp 10 }

rcIpBgpPeerGroupTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpBgpPeerGroupEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "IP rcIpBgp Peer Group table. This table contains rows
                         which are template configuration parameters which are
                         shared by a group of peers. Peers belonging to the
                         same group will refer to the same row in this table
                         using a peer group name"
        ::= { rcIpBgp 11 }

rcIpBgpPeerGroupEntry OBJECT-TYPE
        SYNTAX          RcIpBgpPeerGroupEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "An entry of Ip rcIpBgp Peer Group Table."
        INDEX           { rcIpBgpPeerGroupIndex }
        ::= { rcIpBgpPeerGroupTable 1 }

RcIpBgpPeerGroupEntry ::=
        SEQUENCE {
                rcIpBgpPeerGroupEnable                       EnableValue,
                rcIpBgpPeerGroupIndex                   INTEGER,
                rcIpBgpPeerGroupGroupName                    DisplayString,
                rcIpBgpPeerGroupRemoteAs                INTEGER,
                rcIpBgpPeerGroupDefaultOriginate        INTEGER,
                rcIpBgpPeerGroupEbgpMultiHop            INTEGER,
                rcIpBgpPeerGroupAdvertisementInterval   INTEGER,
                rcIpBgpPeerGroupKeepAlive               INTEGER,
                rcIpBgpPeerGroupHoldTime                INTEGER,
                rcIpBgpPeerGroupWeight                  INTEGER,
                rcIpBgpPeerGroupMaxPrefix               INTEGER,
                rcIpBgpPeerGroupNextHopSelf             TruthValue,
                rcIpBgpPeerGroupRoutePolicyIn           DisplayString,
                rcIpBgpPeerGroupRoutePolicyOut          DisplayString,
                rcIpBgpPeerGroupRouteReflectorClient    TruthValue,
                rcIpBgpPeerGroupSoftReconfigurationIn   EnableValue,
                rcIpBgpPeerGroupSoftReconfiguration     INTEGER,
                rcIpBgpPeerGroupPassword                DisplayString,
                rcIpBgpPeerGroupRemovePrivateAs         EnableValue,
                rcIpBgpPeerGroupRowStatus               RowStatus,
		rcIpBgpPeerGroupMD5Authentication	EnableValue,
                rcIpBgpPeerGroupSendCommunity                EnableValue,
		rcIpBgpPeerGroupUpdateSourceInterface	IpAddress
        }

rcIpBgpPeerGroupEnable OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Allows disabling a group of peers"
        DEFVAL        { disable }
        ::= { rcIpBgpPeerGroupEntry 1 }

rcIpBgpPeerGroupIndex OBJECT-TYPE
        SYNTAX        INTEGER (1..1024)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Index in to the Peer Group Table"
	DEFVAL	      {1}	
        ::= { rcIpBgpPeerGroupEntry 2 }

rcIpBgpPeerGroupGroupName OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(0..255))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Name of the BGP peer group to which this neighbor belong"
        ::= { rcIpBgpPeerGroupEntry 3 }

rcIpBgpPeerGroupRemoteAs OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Remote Autonomous system number of this peer group
                       (optional)"
        ::= { rcIpBgpPeerGroupEntry 4 }

rcIpBgpPeerGroupDefaultOriginate OBJECT-TYPE
        SYNTAX        INTEGER {
                               enable(1),
                               disable(2)
                              }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enabling this attribute allows a BGP speaker
                      (the local router) to send the default route 0.0.0.0 to
                      the group of neighbors for use as a default route."
        DEFVAL { disable }
        ::= { rcIpBgpPeerGroupEntry 5 }

rcIpBgpPeerGroupEbgpMultiHop OBJECT-TYPE
        SYNTAX        INTEGER {
                               enable(1),
                               disable(2)
				}
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "To accept and attempt BGP connections to external
                       peers residing on networks that are not directly
                       connected"
	DEFVAL { disable }
        ::= { rcIpBgpPeerGroupEntry 6 }

rcIpBgpPeerGroupAdvertisementInterval OBJECT-TYPE
        SYNTAX        INTEGER (1..120)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "To set the minimum interval between the sending of
                       BGP routing updates Time in seconds. Integer from 1
                       to 120."
        DEFVAL          {30}
        ::= { rcIpBgpPeerGroupEntry 7 }

rcIpBgpPeerGroupKeepAlive OBJECT-TYPE
        SYNTAX        INTEGER (1..21845)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "To set the time interval in seconds between the sending
                       of BGP keep alive messages to remote peers."
        DEFVAL          {60}
        ::= { rcIpBgpPeerGroupEntry 8 }

rcIpBgpPeerGroupHoldTime OBJECT-TYPE
        SYNTAX        INTEGER (3..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "To configure the hold time for the group of peers in
                       seconds. Usually set to three times the value of the
                       Keepalive time"
        DEFVAL          {180}
        ::= { rcIpBgpPeerGroupEntry 9 }

rcIpBgpPeerGroupWeight OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "To assign an absolute weight to a BGP network.
                       Absolute weight, or importance.
                       It can be an integer from 0 to  65535."
        DEFVAL          {100}
        ::= { rcIpBgpPeerGroupEntry 10 }

rcIpBgpPeerGroupMaxPrefix OBJECT-TYPE
        SYNTAX        INTEGER (0..2147483647)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Sets a limit on the number of routes that will be
                       accepted from this group of neighbors. A value of zero
                       indicates no limit"
        DEFVAL          {12000}
        ::= { rcIpBgpPeerGroupEntry 11 }

rcIpBgpPeerGroupNextHopSelf     OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Set NextHop Attribute to local router address before
                       sending updates to remote peers"
        DEFVAL        { false }
        ::= { rcIpBgpPeerGroupEntry 12 }

rcIpBgpPeerGroupRoutePolicyIn OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Route Policy Name that will be applied to all networks
                       learned from this group of peers"
        ::= { rcIpBgpPeerGroupEntry 13 }

rcIpBgpPeerGroupRoutePolicyOut OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(0..64))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Route policy name that will be applied to all
                       outgoing updates to this group of peers"
        ::= { rcIpBgpPeerGroupEntry 14 }

rcIpBgpPeerGroupRouteReflectorClient OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Indicates whether this group of peers is a route reflector client."
        DEFVAL        { false }
        ::= { rcIpBgpPeerGroupEntry 15 }

rcIpBgpPeerGroupSoftReconfigurationIn OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "If Peer soft reconfiguration is enabled in the in bound
                       direction, policy can be changed and routes can
                       re-learned without having to reset the bgp connection.
                       Enabling soft reconfig-in causes all bgp routes to be
                       stored in local memory (even non-best routes)"
        DEFVAL        {enable}
        ::= { rcIpBgpPeerGroupEntry 16 }

rcIpBgpPeerGroupSoftReconfiguration OBJECT-TYPE
        SYNTAX        INTEGER {
                                in (1),
                                out(2)
                              }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "If Peer soft reconfiguration-in is enabled in the in
                       bound direction, policy can be changed and routes can
                       re-learned without having to reset the bgp connection by
                       setting rcIpBgpPeerGroupSoftReconfiguration to in(1).
                       Setting the value to out (2) forces the neighbor to send
                       out all the updates to the remote neighbor without
                       resetting the connection."
        ::= { rcIpBgpPeerGroupEntry 17 }

rcIpBgpPeerGroupPassword OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(0..80))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "To enable MD5 authentication on  TCP connections
                       between this local speaker and this group of BGP peers.
                       Case-sensitive password of up to 80 character"
        ::= { rcIpBgpPeerGroupEntry 18 }

rcIpBgpPeerGroupRemovePrivateAs OBJECT-TYPE
        SYNTAX       EnableValue
        ACCESS       read-write
        STATUS       mandatory
        DESCRIPTION  "Enable and disable private AS number from being
                      stripped when sending an update"
        DEFVAL          { enable  }
        ::= { rcIpBgpPeerGroupEntry 19 }

rcIpBgpPeerGroupRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rcIpBgpPeerGroupEntry 20 }

rcIpBgpPeerGroupMD5Authentication  OBJECT-TYPE
        SYNTAX      EnableValue
        ACCESS      read-write
        STATUS      mandatory
        DESCRIPTION "Enable and Disable MD5 authentication"
        DEFVAL       { disable }
        ::= { rcIpBgpPeerGroupEntry 21 }

rcIpBgpPeerGroupSendCommunity  OBJECT-TYPE
        SYNTAX      EnableValue
        ACCESS      read-write
        STATUS      mandatory
        DESCRIPTION "----------------------------"
        DEFVAL       { disable }
        ::= { rcIpBgpPeerGroupEntry 22 }

rcIpBgpPeerGroupUpdateSourceInterface OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The IP address to used for circuitless IP for this peer group."
        ::= { rcIpBgpPeerGroupEntry 23 }

rcIpBgpRcvdDampenedPathAttrTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpBgp 12 }

rcIpBgpRcvdDampenedPathAttrTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpBgpDampenedPathAttrEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "This table contains info about paths to destination
                       networks received from all BGP-4 peers"
        ::= { rcIpBgp 13 }

rcIpBgpDampenedPathAttrEntry OBJECT-TYPE
        SYNTAX        RcIpBgpDampenedPathAttrEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Information about a path to a networks"
        INDEX         { rcIpBgpPathAttrIpAddrPrefix,
                        rcIpBgpPathAttrIpAddrPrefixLen,
                        rcIpBgpPathAttrPeer
                      }
        ::=  { rcIpBgpRcvdDampenedPathAttrTable 1 }

RcIpBgpDampenedPathAttrEntry ::=
           SEQUENCE {

                   rcIpBgpPathAttrPeer              IpAddress,
                   rcIpBgpPathAttrIpAddrPrefixLen   INTEGER,
                   rcIpBgpPathAttrIpAddrPrefix      IpAddress,
                   rcIpBgpPathAttrFlapPenalty       INTEGER,
                   rcIpBgpPathAttrFlapCount         INTEGER,
                   rcIpBgpPathAttrRouteDampened     INTEGER,
		   rcIpBgpPathAttrReuseTime	    INTEGER
           }

rcIpBgpPathAttrPeer OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP address of the peer where the path info was
                       learned"
        ::=   { rcIpBgpDampenedPathAttrEntry 1 }

rcIpBgpPathAttrIpAddrPrefixLen OBJECT-TYPE
        SYNTAX        INTEGER (0..32)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Length in bits of the IP address prefix in the network
                       Layer Reachablity Information field."
        ::=   { rcIpBgpDampenedPathAttrEntry 2 }

rcIpBgpPathAttrIpAddrPrefix OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An Ip address prefix in the NLRI Information field.
                       This object is an IP address containing the prefix
                       with length specified by rcIpBgpPathAttrIpAddrPrefixLen
                       are zeroed."
        ::=   { rcIpBgpDampenedPathAttrEntry 3 }

rcIpBgpPathAttrFlapPenalty OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION "Penalty value based on number of route flaps"
        ::= { rcIpBgpDampenedPathAttrEntry 4 }

rcIpBgpPathAttrFlapCount OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of times a route flapped since the last time the
                      penalty was reset to zero"
        ::= { rcIpBgpDampenedPathAttrEntry 5 }

rcIpBgpPathAttrRouteDampened OBJECT-TYPE
        SYNTAX  INTEGER {
                    announced(1),
                    suppressed(2)
                }
        ACCESS  read-only
        STATUS  mandatory
        DESCRIPTION "Shows whether this route is currently suppressed from
                     being announced"
        ::= { rcIpBgpDampenedPathAttrEntry 6 }

rcIpBgpPathAttrReuseTime OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Re use time "
        ::= { rcIpBgpDampenedPathAttrEntry 7 }

rcIpBgp4PathAttrTableSize OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "table size"
        ::= { rcIpBgp 14 }

rcIpBgp4PathAttrTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpBgp4PathAttrEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "This table contains info about paths to destination
                       networks received from all BGP-4 peers"
        ::= { rcIpBgp 15 }

rcIpBgp4PathAttrEntry OBJECT-TYPE
        SYNTAX        RcIpBgp4PathAttrEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
        INDEX         { rcIpBgp4PathAttrIpAddrPrefix,
                        rcIpBgp4PathAttrIpAddrPrefixLen,
                        rcIpBgp4PathAttrPeer
                      }
        ::=  { rcIpBgp4PathAttrTable 1 }

RcIpBgp4PathAttrEntry ::=
           SEQUENCE {
                   rcIpBgp4PathAttrPeer              IpAddress,
                   rcIpBgp4PathAttrIpAddrPrefixLen   INTEGER,
                   rcIpBgp4PathAttrIpAddrPrefix      IpAddress,
                   rcIpBgp4PathAttrCommunities       OCTET STRING,
                   rcIpBgp4PathAttrOriginateId       IpAddress,
                   rcIpBgp4PathAttrClusterId         OCTET STRING
           }

rcIpBgp4PathAttrPeer OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP address of the peer where the path info was
                       learned"
        ::=   { rcIpBgp4PathAttrEntry 1 }

rcIpBgp4PathAttrIpAddrPrefixLen OBJECT-TYPE
        SYNTAX        INTEGER (0..32)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Length in bits of the IP address prefix in the network
                       Layer Reachablity Information field."
        ::=   { rcIpBgp4PathAttrEntry 2 }

rcIpBgp4PathAttrIpAddrPrefix OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "An Ip address prefix in the NLRI Information field.
                       This object is an IP address containing the prefix
                       with length specified by rcIpBgpPathAttrIpAddrPrefixLen
                       are zeroed."
        ::=   { rcIpBgp4PathAttrEntry 3 }

rcIpBgp4PathAttrCommunities OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(255))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The string represents community path attributes as <length,value>
                        The length is a 1-octet field containing the numbner of community
                        numbers in the value field.The value field contains one or more
                        Community numbers,each community is represented in the octet
                        string as 4 octets.The community numbers in the string beyond
                        maximum size 255,if any, will not be recorded by this object."
        ::=   { rcIpBgp4PathAttrEntry 4 }

rcIpBgp4PathAttrOriginateId OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The IP address of the route who originates the routes"
        ::=   { rcIpBgp4PathAttrEntry 5 }

rcIpBgp4PathAttrClusterId OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(255))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The string represents Cluster Id path attributes as <length,value>
                        The length is a 1-octet field containing the number of Cluster Id
                        numbers in the value field.The value field contains one or more
                        Cluster Id numbers,each Cluster Id is represented in the octet
                        string as 4 octets,each four octets is the IpAddress of the
                        router acting as a route reflector.The Cluster Id numbers in the
                        string beyond maximum size 255,if any, will not be recorded by
                        this object."
        ::=   { rcIpBgp4PathAttrEntry 6 }

-- 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        deprecated
        DESCRIPTION   "ARP extension table.  This table augments the
		      standard ipNetToMediaTable defined in RFC1213."
        ::= { rcArp 3 }

rcArpExtV2Entry OBJECT-TYPE
        SYNTAX        RcArpExtV2Entry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "Ip Address"
        ::= { rcArpExtV2Entry 2 }
 
rcArpExtV2EntDoProxy OBJECT-TYPE
        SYNTAX        INTEGER {
		         disable(1),
			 enable(2)
		      }
        ACCESS        read-write
        STATUS        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "RIP extension table.  This table augments the
		      standard IfConfTable table in RFC1389."
        ::= { rcRip 4 }

rcRipExtV2Entry OBJECT-TYPE
        SYNTAX        RcRipExtV2Entry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "Ip Address."
        ::= { rcRipExtV2Entry 2 }
 
rcRipExtV2EntTalk OBJECT-TYPE
        SYNTAX       INTEGER {
                        disable(1),
                        enable(2)
		      }	
        ACCESS        read-write
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "A table used to store Mlt Ip statistics."
        ::= { rcStatMlt 3 }
 
rcStatMltIpEntry OBJECT-TYPE
        SYNTAX        RcStatMltIpEntry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        DESCRIPTION   "Mlt Id"
        ::= { rcStatMltIpEntry 1 }
 
rcStatMltIpInReceives OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "all incoming packets"
        ::= { rcStatMltIpEntry 2 }

rcStatMltIpInHdrErrors OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "hdr errors detected"
        ::= { rcStatMltIpEntry 3 }
 
rcStatMltIpInAddrErrors OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "bad dest. ip addr"
        ::= { rcStatMltIpEntry 4 }
 
rcStatMltIpForwDatagrams OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "packets forwarded"
        ::= { rcStatMltIpEntry 5 }
 
rcStatMltIpInUnknownProtos OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "unsupported protocol"
        ::= { rcStatMltIpEntry 6 }
 
rcStatMltIpInDiscards OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "good, but no buffer"
        ::= { rcStatMltIpEntry 7 }
 
rcStatMltIpInDelivers OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "pkts delivered to upper"
        ::= { rcStatMltIpEntry 8 }
 
rcStatMltIpOutRequest OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "pkts received from upper"
        ::= { rcStatMltIpEntry 9 }
 
rcStatMltIpOutDiscards OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "good, but no buffer"
        ::= { rcStatMltIpEntry 10 }
 
rcStatMltIpOutNoRoutes OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "no route to destination"
        ::= { rcStatMltIpEntry 11 }

rcStatMltIpReasmReqds OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "fragments to reassem"
        ::= { rcStatMltIpEntry 12 }

rcStatMltIpReasmOKs OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "reassembled successfully"
        ::= { rcStatMltIpEntry 13 }

rcStatMltIpReasmFails OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "reassembly failures"
        ::= { rcStatMltIpEntry 14 }

rcStatMltIpFragOKs OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "fragment successfully"
        ::= { rcStatMltIpEntry 15 }

rcStatMltIpFragFails OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "fragment failure"
        ::= { rcStatMltIpEntry 16 }

rcStatMltIpFragCreates OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "pkts due to fragmenting"
        ::= { rcStatMltIpEntry 17 }

rcStatMltIpRoutingDiscards OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Route entries removed"
        ::= { rcStatMltIpEntry 18 }

rcStatSmltIstDownCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts how the session between the
                       two peering switches has done down since last boot."
        ::= { rcStatMlt 4 } 

rcStatSmltHelloTxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the tx hello msg."
        ::= { rcStatMlt 5 } 

rcStatSmltHelloRxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the rx hello msg."
        ::= { rcStatMlt 6 } 

rcStatSmltLearnMacAddrTxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the tx learn Mac Address msg."
        ::= { rcStatMlt 7 } 

rcStatSmltLearnMacAddrRxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the rx learn Mac Address msg."
        ::= { rcStatMlt 8 } 

rcStatSmltMacAddrAgeOutTxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the tx Mac Address Aging Out msg."
        ::= { rcStatMlt 9 } 

rcStatSmltMacAddrAgeOutRxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the rx Mac Address Aging Out msg."
        ::= { rcStatMlt 10 } 

rcStatSmltMacAddrAgeExpTxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the tx Mac Address age expired msg."
        ::= { rcStatMlt 11 } 

rcStatSmltMacAddrAgeExpRxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the rx Mac Address age expired msg."
        ::= { rcStatMlt 12 } 

rcStatSmltStgInfoTxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the tx Stg information msg."
        ::= { rcStatMlt 13 } 

rcStatSmltStgInfoRxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the rx Stg information msg."
        ::= { rcStatMlt 14 } 

rcStatSmltDelMacAddrTxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the tx deleted MAC address msg."
        ::= { rcStatMlt 15 } 

rcStatSmltDelMacAddrRxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the rx deleted MAC address msg."
        ::= { rcStatMlt 16 } 

rcStatSmltSmltDownTxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the tx Smlt Down msg."
        ::= { rcStatMlt 17 } 

rcStatSmltSmltDownRxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the rx Smlt Down msg."
        ::= { rcStatMlt 18 } 

rcStatSmltSmltUpTxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the tx Smlt Up msg."
        ::= { rcStatMlt 19 }

rcStatSmltSmltUpRxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the rx Smlt Up msg."
        ::= { rcStatMlt 20 }

rcStatSmltSendMacTblTxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the tx Send Mac Table msg."
        ::= { rcStatMlt 21 } 

rcStatSmltSendMacTblRxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the rx Send Mac Table msg."
        ::= { rcStatMlt 22 } 

rcStatSmltIgmpTxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the tx Igmp msg."
        ::= { rcStatMlt 23 } 

rcStatSmltIgmpRxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the rx Igmp msg."
        ::= { rcStatMlt 24 } 

rcStatSmltPortDownTxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the tx port down msg."
        ::= { rcStatMlt 25 } 

rcStatSmltPortDownRxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the rx port down msg."
        ::= { rcStatMlt 26 } 

rcStatSmltReqMacTblTxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the tx request Mac table msg."
        ::= { rcStatMlt 27 } 

rcStatSmltReqMacTblRxMsgCnt OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Counters that counts the rx request Mac table msg."
        ::= { rcStatMlt 28 } 


-- Stat Ospf Ip Interface Table
-- replaces Stat Ospf Interface Table

rcStatOspfIfV2Table OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcStatOspfIfV2Entry
        ACCESS        not-accessible
        STATUS        deprecated
        DESCRIPTION   "A table used to store OSPF interface
                      statistics."
        ::= { rcStat 7 }
 
rcStatOspfIfV2Entry OBJECT-TYPE
        SYNTAX        RcStatOspfIfV2Entry
        ACCESS        not-accessible
        STATUS        deprecated
        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        deprecated
        DESCRIPTION   "An unique value that is used to identify a
                      physical interface."
        ::= { rcStatOspfIfV2Entry 1 }
 
rcStatOspfIfV2Addr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Ip Address"
        ::= { rcStatOspfIfV2Entry 2 }
 
rcStatOspfIfV2RxHellos OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number hello packets
                      received by this interface."
        ::= { rcStatOspfIfV2Entry 3 }

rcStatOspfIfV2RxDBDescrs OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number database descriptor
                      packets received by this interface."
        ::= { rcStatOspfIfV2Entry 4 }
 
rcStatOspfIfV2RxLSUpdates OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "Used to indicate the number hello packets
                      transmitted by this interface."
        ::= { rcStatOspfIfV2Entry 8 }
 
rcStatOspfIfV2TxDBDescrs OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number database descriptor
                      packets transmitted by this interface."
        ::= { rcStatOspfIfV2Entry 9 }
 
rcStatOspfIfV2TxLSUpdates OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        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        deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "Used to indicate the number version
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 13 }

rcStatOspfIfV2AreaMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number area
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 14 }

rcStatOspfIfV2AuthTypeMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number AuthType 
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 15 }

rcStatOspfIfV2AuthFailures OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number Authentication
                      failures."
        ::= { rcStatOspfIfV2Entry 16 }

rcStatOspfIfV2NetMaskMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number net mask
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 17 }

rcStatOspfIfV2HelloIntervalMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number hello interval
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 18 }

rcStatOspfIfV2DeadIntervalMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "Used to indicate the number dead interval
                      mismatches received by this interface."
        ::= { rcStatOspfIfV2Entry 19 }

rcStatOspfIfV2OptionMismatches OBJECT-TYPE 
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        deprecated
        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 }

rcStatBgp			OBJECT IDENTIFIER ::= { rcStat 10 }

rcStatBgpStarts OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of times BGP connection started"
        ::= { rcStatBgp 1 }

rcStatBgpStops OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of times BGP connection stopped"
        ::= { rcStatBgp 2 }

rcStatBgpOpens OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of times BGP opens TCP"
        ::= { rcStatBgp 3 }

rcStatBgpCloses OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of times BGP closes TCP"
        ::= { rcStatBgp 4 }

rcStatBgpFails OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of times TCP attempts failed"
        ::= { rcStatBgp 5 }

rcStatBgpFatals OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of times TCP crashes due to fatal error"
        ::= { rcStatBgp 6 }

rcStatBgpConnExps OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of times TCP retry timer expired"
        ::= { rcStatBgp 7 }

rcStatBgpHoldExps OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of times hold timer expired"
        ::= { rcStatBgp 8 }

rcStatBgpKeepExps OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of times keepalive timer expired"
        ::= { rcStatBgp 9 }

rcStatBgpRxOpens OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of OPENs BGP receives"
        ::= { rcStatBgp 10 }

rcStatBgpRxKeeps OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of KEEPALIVEs BGP recieves"
        ::= { rcStatBgp 11 }

rcStatBgpRxUpdates OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of UPDATEs BGP recieves "
        ::= { rcStatBgp 12 }

rcStatBgpRxNotifys OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number NOTIFICATIONs BGP recieves "
        ::= { rcStatBgp 13 }

rcStatBgpTxOpens OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of OPENs BGP transmitted"
        ::= { rcStatBgp 14 }

rcStatBgpTxKeeps OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of KEEPALIVEs BGP transmitted"
        ::= { rcStatBgp 15 }

rcStatBgpTxUpdates OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of UPDATEs BGP transmits"
        ::= { rcStatBgp 16 }

rcStatBgpTxNotifys OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of NOTIFICATIONs BGP transmits"
        ::= { rcStatBgp 17 }

rcStatBgpBadEvents OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of invalid events FSM received"
        ::= { rcStatBgp 18 }

rcStatBgpSyncFails OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Number of times FDB sync failed"
        ::= { rcStatBgp 19 }

rcStatBgpTrEvent OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Trace event"
        ::= { rcStatBgp 20 }

-- Rx
rcStatBgpRxECodeHeader OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Total Header errors received"
        ::= { rcStatBgp 21 }

rcStatBgpRxECodeOpen OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Total Open errors received"
        ::= { rcStatBgp 22 }

rcStatBgpRxECodeUpdate OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Total Update errors received"
        ::= { rcStatBgp 23 }

rcStatBgpRxECodeHoldtimer OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Total Holdtimer errors received"
        ::= { rcStatBgp 24 }

rcStatBgpRxECodeFSM OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Total FSM errors received"
        ::= { rcStatBgp 25 }

rcStatBgpRxECodeCease OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Total Cease errors received"
        ::= { rcStatBgp 26 }

-- Header
rcStatBgpRxHdrCodeNoSync OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Header  Not Synchronized errors received"
        ::= { rcStatBgp 27 }

rcStatBgpRxHdrCodeInvalidMsgLen OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Header Invalid msg len errors received"
        ::= { rcStatBgp 28 }

rcStatBgpRxHdrCodeInvalidMsgType OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Header Invalid msg type errors received"
        ::= { rcStatBgp 29 }


-- Open
rcStatBgpRxOpCodeBadVer OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Open errors received: Bad Version"
        ::= { rcStatBgp 30 }

rcStatBgpRxOpCodeBadAs OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Open errors received: Bad AS Number"
        ::= { rcStatBgp 31 }

rcStatBgpRxOpCodeBadRtID OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Open errors received: Bad BGP Rtr ID"
        ::= { rcStatBgp 32 }

rcStatBgpRxOpCodeUnsuppOption OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Open errors received: Unsupported Option"
        ::= { rcStatBgp 33 }

rcStatBgpRxOpCodeAuthFail OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Open errors received: Auth Failures"
        ::= { rcStatBgp 34 }

rcStatBgpRxOpCodeBadHold OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Open errors received: Bad Hold Value"
        ::= { rcStatBgp 35 }

-- Update

rcStatBgpRxUpdCodeMalformedAttrList OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors received:Malformed Attr List"
        ::= { rcStatBgp 36 }

rcStatBgpRxUpdCodeWelknownAttrUnrecog OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors received: Welknown Attr Unrecog"
        ::= { rcStatBgp 37 }

rcStatBgpRxUpdCodeWelknownAttrMiss OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors received: Welknown Attr Missing"
        ::= { rcStatBgp 38 }

rcStatBgpRxUpdCodeAttrFlagError OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors received: Attr Flag Error"
        ::= { rcStatBgp 39 }

rcStatBgpRxUpdCodeAttrLenError OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors received: Attr Len Error"
        ::= { rcStatBgp 40 }

rcStatBgpRxUpdCodeBadORIGINAttr OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors received: Bad ORIGIN Attr"
        ::= { rcStatBgp 41 }

rcStatBgpRxUpdCodeASRoutingLoop OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors received: AS Routing Loop"
        ::= { rcStatBgp 42 }

rcStatBgpRxUpdCodeBadNHAttr OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors received: Bad NEXT-HOP Attr"
        ::= { rcStatBgp 43 }

rcStatBgpRxUpdCodeOptionalAttrError OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors received: Optional Attr Error"
        ::= { rcStatBgp 44 }

rcStatBgpRxUpdCodeBadNetworkField OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors received: Bad Network Field"
        ::= { rcStatBgp 45 }

rcStatBgpRxUpdCodeMalformedASPath OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors received: Malformed AS Path"
        ::= { rcStatBgp 46 }

-- Tx
rcStatBgpTxECodeHeader OBJECT-TYPE
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Total Header errors transmitted"
        ::= { rcStatBgp 47 }

rcStatBgpTxECodeOpen OBJECT-TYPE
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Total Open errors transmitted"
        ::= { rcStatBgp 48 }

rcStatBgpTxECodeUpdate OBJECT-TYPE
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Total Update errors transmitted"
        ::= { rcStatBgp 49 }

rcStatBgpTxECodeHoldtimer OBJECT-TYPE
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Total Holdtimer errors transmitted"
        ::= { rcStatBgp 50 }

rcStatBgpTxECodeFSM OBJECT-TYPE
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Total FSM errors transmitted"
        ::= { rcStatBgp 51 }

rcStatBgpTxECodeCease OBJECT-TYPE
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Total Cease errors transmitted"
        ::= { rcStatBgp 52 }

-- Header
rcStatBgpTxHdrCodeNoSync OBJECT-TYPE
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Header  Not Synchronized errors transmitted"
        ::= { rcStatBgp 53 }

rcStatBgpTxHdrCodeInvalidMsgLen OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Header Invalid msg len errors transmitted"
        ::= { rcStatBgp 54 }

rcStatBgpTxHdrCodeInvalidMsgType OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Header Invalid msg type errors transmitted"
        ::= { rcStatBgp 55 }


-- Open
rcStatBgpTxOpCodeBadVer OBJECT-TYPE
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Open errors transmitted: Bad Version"
        ::= { rcStatBgp 56 }

rcStatBgpTxOpCodeBadAs OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Open errors transmitted: Bad AS Number"
        ::= { rcStatBgp 57 }

rcStatBgpTxOpCodeBadRtID OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Open errors transmitted: Bad BGP Rtr ID"
        ::= { rcStatBgp 58 }

rcStatBgpTxOpCodeUnsuppOption OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Open errors transmitted: Unsupported Option"
        ::= { rcStatBgp 59 }

rcStatBgpTxOpCodeAuthFail OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Open errors transmitted: Auth Failures"
        ::= { rcStatBgp 60 }

rcStatBgpTxOpCodeBadHold OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Open errors transmitted: Bad Hold Value"
        ::= { rcStatBgp 61 }

-- Update

rcStatBgpTxUpdCodeMalformedAttrList OBJECT-TYPE
        SYNTAX        Counter 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors transmitted:Malformed Attr List"
		::= { rcStatBgp 62 } 

rcStatBgpTxUpdCodeWelknownAttrUnrecog OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors transmitted: Welknown Attr Unrecog"
        ::= { rcStatBgp 63 }

rcStatBgpTxUpdCodeWelknownAttrMiss OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors transmitted: Welknown Attr Missing"
        ::= { rcStatBgp 64 }

rcStatBgpTxUpdCodeAttrFlagError OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors transmitted: Attr Flag Error"
        ::= { rcStatBgp 65 }

rcStatBgpTxUpdCodeAttrLenError OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors transmitted: Attr Len Error"
        ::= { rcStatBgp 66 }

rcStatBgpTxUpdCodeBadORIGINAttr OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors transmitted: Bad ORIGIN Attr"
        ::= { rcStatBgp 67 }

rcStatBgpTxUpdCodeASRoutingLoop OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors transmitted: AS Routing Loop"
        ::= { rcStatBgp 68 }

rcStatBgpTxUpdCodeBadNHAttr OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors transmitted: Bad NEXT-HOP Attr"
        ::= { rcStatBgp 69 }

rcStatBgpTxUpdCodeOptionalAttrError OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors transmitted: Optional Attr Error"
        ::= { rcStatBgp 70 }

rcStatBgpTxUpdCodeBadNetworkField OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors transmitted: Bad Network Field"
        ::= { rcStatBgp 71 }

rcStatBgpTxUpdCodeMalformedASPath OBJECT-TYPE
        SYNTAX        Counter
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Update errors transmitted: Malformed AS Path"
        ::= { rcStatBgp 72 }

rcStatBgpReset OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "reset Bgp global stats"
        DEFVAL          {disable}
        ::= { rcStatBgp 73 }

-- BGP Peer Stats

rcStatBgpPeerTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcStatBgpPeerEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A table used to store Bgp Peer statistics."
        ::= { rcStat 11 }

rcStatBgpPeerEntry OBJECT-TYPE
        SYNTAX        RcStatBgpPeerEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Bgp Peer statistics"
        INDEX         { rcStatBgpPeerAddr }
        ::= { rcStatBgpPeerTable 1 }

RcStatBgpPeerEntry ::= SEQUENCE {
         rcStatBgpPeerAddr                           IpAddress,
         rcStatBgpPeerStarts                         Counter,
         rcStatBgpPeerStops                          Counter,
         rcStatBgpPeerOpens                          Counter,
         rcStatBgpPeerCloses                         Counter,
         rcStatBgpPeerFails                          Counter,
         rcStatBgpPeerFatals                         Counter,
         rcStatBgpPeerConnExps                       Counter,
         rcStatBgpPeerHoldExps                       Counter,
         rcStatBgpPeerKeepExps                       Counter,
         rcStatBgpPeerTxMsgs                         Counter,
         rcStatBgpPeerTxOpens                        Counter,
         rcStatBgpPeerTxKeeps                        Counter,
         rcStatBgpPeerTxUpdates                      Counter,
         rcStatBgpPeerTxNotifys                      Counter,
         rcStatBgpPeerRxMsgs                         Counter,
         rcStatBgpPeerRxInCompPkts                   Counter,
         rcStatBgpPeerRxOpens                        Counter,
         rcStatBgpPeerRxKeeps                        Counter,
         rcStatBgpPeerRxUpdates                      Counter,
         rcStatBgpPeerRxNotifys                      Counter,
         rcStatBgpPeerBadEvents                      Counter,
         rcStatBgpPeerSyncFails                      Counter,
         rcStatBgpPeerRcvdTooShort                   Counter,
         rcStatBgpPeerNoMarker                       Counter,
         rcStatBgpPeerDropped                        Counter,
         rcStatBgpPeerBadMsgTypes                    Counter,
         rcStatBgpPeerTrEvent                        Counter,
         rcStatBgpPeerTxRoutes                       Counter,
         rcStatBgpPeerRxRoutesAdded                  Counter,
         rcStatBgpPeerRxRoutesReplaced               Counter,
         rcStatBgpPeerRxNlri                         Counter,
         rcStatBgpPeerRxValidUpdates                 Counter,
-- Rx
         rcStatBgpPeerRxECodeHeader                  Counter,
         rcStatBgpPeerRxECodeOpen                    Counter,
         rcStatBgpPeerRxECodeUpdate                  Counter,
         rcStatBgpPeerRxECodeHoldtimer               Counter,
         rcStatBgpPeerRxECodeFSM                     Counter,
         rcStatBgpPeerRxECodeCease                   Counter,
         rcStatBgpPeerRxHdrCodeNoSync                Counter,
         rcStatBgpPeerRxHdrCodeInvalidMsgLen         Counter,
         rcStatBgpPeerRxHdrCodeInvalidMsgType        Counter,
         rcStatBgpPeerRxOpCodeBadVer                 Counter,
         rcStatBgpPeerRxOpCodeBadAs                  Counter,
         rcStatBgpPeerRxOpCodeBadRtID                Counter,
         rcStatBgpPeerRxOpCodeUnsuppOption           Counter,
         rcStatBgpPeerRxOpCodeAuthFail               Counter,
         rcStatBgpPeerRxOpCodeBadHold                Counter,
         rcStatBgpPeerRxUpdCodeMalformedAttrList     Counter,
         rcStatBgpPeerRxUpdCodeWelknownAttrUnrecog   Counter,
         rcStatBgpPeerRxUpdCodeWelknownAttrMiss      Counter,
         rcStatBgpPeerRxUpdCodeAttrFlagError         Counter,
         rcStatBgpPeerRxUpdCodeAttrLenError          Counter,
         rcStatBgpPeerRxUpdCodeBadORIGINAttr         Counter,
         rcStatBgpPeerRxUpdCodeASRoutingLoop         Counter,
         rcStatBgpPeerRxUpdCodeBadNHAttr             Counter,
         rcStatBgpPeerRxUpdCodeOptionalAttrError     Counter,
         rcStatBgpPeerRxUpdCodeBadNetworkField       Counter,
         rcStatBgpPeerRxUpdCodeMalformedASPath       Counter,
-- Tx
         rcStatBgpPeerTxECodeHeader                  Counter,
         rcStatBgpPeerTxECodeOpen                    Counter,
         rcStatBgpPeerTxECodeUpdate                  Counter,
         rcStatBgpPeerTxECodeHoldtimer               Counter,
         rcStatBgpPeerTxECodeFSM                     Counter,
         rcStatBgpPeerTxECodeCease                   Counter,
         rcStatBgpPeerTxHdrCodeNoSync                Counter,
         rcStatBgpPeerTxHdrCodeInvalidMsgLen         Counter,
         rcStatBgpPeerTxHdrCodeInvalidMsgType        Counter,
         rcStatBgpPeerTxOpCodeBadVer                 Counter,
         rcStatBgpPeerTxOpCodeBadAs                  Counter,
         rcStatBgpPeerTxOpCodeBadRtID                Counter,
         rcStatBgpPeerTxOpCodeUnsuppOption           Counter,
         rcStatBgpPeerTxOpCodeAuthFail               Counter,
         rcStatBgpPeerTxOpCodeBadHold                Counter,
         rcStatBgpPeerTxUpdCodeMalformedAttrList     Counter,
         rcStatBgpPeerTxUpdCodeWelknownAttrUnrecog   Counter,
         rcStatBgpPeerTxUpdCodeWelknownAttrMiss      Counter,
         rcStatBgpPeerTxUpdCodeAttrFlagError         Counter,
         rcStatBgpPeerTxUpdCodeAttrLenError          Counter,
         rcStatBgpPeerTxUpdCodeBadORIGINAttr         Counter,
         rcStatBgpPeerTxUpdCodeASRoutingLoop         Counter,
         rcStatBgpPeerTxUpdCodeBadNHAttr             Counter,
         rcStatBgpPeerTxUpdCodeOptionalAttrError     Counter,
         rcStatBgpPeerTxUpdCodeBadNetworkField       Counter,
         rcStatBgpPeerTxUpdCodeMalformedASPath       Counter,
         rcStatBgpPeerReset                          EnableValue

        }

rcStatBgpPeerAddr        OBJECT-TYPE
         SYNTAX         IpAddress
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "----------------------------"
                ::= { rcStatBgpPeerEntry 1 }

rcStatBgpPeerStarts        OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of times peer BGP connection started"
                ::= { rcStatBgpPeerEntry 2 }

rcStatBgpPeerStops         OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of times peer BGP connection stopped"
         ::= { rcStatBgpPeerEntry 3 }

rcStatBgpPeerOpens         OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of times peer opens TCP"
         ::= { rcStatBgpPeerEntry 4 }

rcStatBgpPeerCloses        OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of times peer closes TCP"
         ::= { rcStatBgpPeerEntry 5 }

rcStatBgpPeerFails         OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of times peer TCP attempts failed"
         ::= { rcStatBgpPeerEntry 6 }

rcStatBgpPeerFatals        OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of times peer TCP crashes due to fatal error"
         ::= { rcStatBgpPeerEntry 7 }

rcStatBgpPeerConnExps      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of times peer TCP retry timer expired"
         ::= { rcStatBgpPeerEntry 8 }

rcStatBgpPeerHoldExps      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of times peer hold timer expired"
         ::= { rcStatBgpPeerEntry 9 }

rcStatBgpPeerKeepExps      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of times peer keepalive timer expired"
         ::= { rcStatBgpPeerEntry 10 }

rcStatBgpPeerTxMsgs        OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total messages send by the peer"
         ::= { rcStatBgpPeerEntry 11 }

rcStatBgpPeerTxOpens       OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Opens sent by the peer"
         ::= { rcStatBgpPeerEntry 12 }

rcStatBgpPeerTxKeeps       OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Keepalives sent by the peer"
         ::= { rcStatBgpPeerEntry 13 }

rcStatBgpPeerTxUpdates     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Updates sent by the peer"
         ::= { rcStatBgpPeerEntry 14 }

rcStatBgpPeerTxNotifys     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Notifications sent by the peer"
         ::= { rcStatBgpPeerEntry 15 }

rcStatBgpPeerRxMsgs        OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total messages received by the peer"
         ::= { rcStatBgpPeerEntry 16 }

rcStatBgpPeerRxInCompPkts  OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Incomplete message received by the peer"
         ::= { rcStatBgpPeerEntry 17 }

rcStatBgpPeerRxOpens       OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Opens received by the peer"
         ::= { rcStatBgpPeerEntry 18 }

rcStatBgpPeerRxKeeps       OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Keepalives received by the peer"
         ::= { rcStatBgpPeerEntry 19 }

rcStatBgpPeerRxUpdates     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Updates received by the peer"
         ::= { rcStatBgpPeerEntry 20 }

rcStatBgpPeerRxNotifys     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Notifications received by the peer"
         ::= { rcStatBgpPeerEntry 21 }

rcStatBgpPeerBadEvents     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of invalid events received by the peer"
         ::= { rcStatBgpPeerEntry 22 }

rcStatBgpPeerSyncFails     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of times FDB sync failed of the peer"
         ::= { rcStatBgpPeerEntry 23 }

rcStatBgpPeerRcvdTooShort  OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of messages recieved by the peer that is too sho
rt"
         ::= { rcStatBgpPeerEntry 24 }

rcStatBgpPeerNoMarker      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of messages without marker recieved by the peer"
         ::= { rcStatBgpPeerEntry 25 }

rcStatBgpPeerDropped       OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of messages the peer has dropped"
         ::= { rcStatBgpPeerEntry 26 }

rcStatBgpPeerBadMsgTypes   OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of messages with invalid message type"
         ::= { rcStatBgpPeerEntry 27 }

rcStatBgpPeerTrEvent       OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Peer trace event"
         ::= { rcStatBgpPeerEntry 28 }

rcStatBgpPeerTxRoutes      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of NLRI sent by peer"
         ::= { rcStatBgpPeerEntry 29 }

rcStatBgpPeerRxRoutesAdded         OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of routes added into loc_rib by this peer"
         ::= { rcStatBgpPeerEntry 30 }

rcStatBgpPeerRxRoutesReplaced      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of routes replaced by the routes received by the
 peer"
         ::= { rcStatBgpPeerEntry 31 }

rcStatBgpPeerRxNlri        OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of NLRI received by the peer"
         ::= { rcStatBgpPeerEntry 32 }

rcStatBgpPeerRxValidUpdates        OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Number of valid UPDATEs received by the peer"
         ::= { rcStatBgpPeerEntry 33 }

rcStatBgpPeerRxECodeHeader       OBJECT-TYPE
         SYNTAX          Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total errors peer received: Header"
         ::= { rcStatBgpPeerEntry 34 }

rcStatBgpPeerRxECodeOpen       OBJECT-TYPE
         SYNTAX          Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total errors peer received: Open"
         ::= { rcStatBgpPeerEntry 35 }

rcStatBgpPeerRxECodeUpdate       OBJECT-TYPE
         SYNTAX          Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total errors peer received: Update"
         ::= { rcStatBgpPeerEntry 36 }

rcStatBgpPeerRxECodeHoldtimer       OBJECT-TYPE
         SYNTAX          Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total errors peer received: Hold"
         ::= { rcStatBgpPeerEntry 37 }

rcStatBgpPeerRxECodeFSM       OBJECT-TYPE
         SYNTAX          Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total errors peer received: Fsm"
         ::= { rcStatBgpPeerEntry 38 }

rcStatBgpPeerRxECodeCease       OBJECT-TYPE
         SYNTAX          Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total errors peer received: Cease"
         ::= { rcStatBgpPeerEntry 39 }

rcStatBgpPeerRxHdrCodeNoSync     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Header errors peer received: Not Synchronized"
         ::= { rcStatBgpPeerEntry 40 }

rcStatBgpPeerRxHdrCodeInvalidMsgLen     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Header errors peer received: Invalid message length"
         ::= { rcStatBgpPeerEntry 41 }

rcStatBgpPeerRxHdrCodeInvalidMsgType     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Header errors peer received: Invalid message type"
         ::= { rcStatBgpPeerEntry 42 }

rcStatBgpPeerRxOpCodeBadVer      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Open errors peer received: Bad Version"
         ::= { rcStatBgpPeerEntry 43 }

rcStatBgpPeerRxOpCodeBadAs      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Open errors peer received: Bad AS number"
         ::= { rcStatBgpPeerEntry 44 }

rcStatBgpPeerRxOpCodeBadRtID      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Open errors peer received: Bad BGP ID"
         ::= { rcStatBgpPeerEntry 45 }

rcStatBgpPeerRxOpCodeUnsuppOption      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Open errors peer received: Unsupported Options"
         ::= { rcStatBgpPeerEntry 46 }

rcStatBgpPeerRxOpCodeAuthFail      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Open errors peer received: Authorization failures"
         ::= { rcStatBgpPeerEntry 47 }

rcStatBgpPeerRxOpCodeBadHold      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Open errors peer received: Bad Hold value"
         ::= { rcStatBgpPeerEntry 48 }

rcStatBgpPeerRxUpdCodeMalformedAttrList     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 49 }

rcStatBgpPeerRxUpdCodeWelknownAttrUnrecog     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 50 }

rcStatBgpPeerRxUpdCodeWelknownAttrMiss     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 51 }

rcStatBgpPeerRxUpdCodeAttrFlagError     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 52 }

rcStatBgpPeerRxUpdCodeAttrLenError     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 53 }

rcStatBgpPeerRxUpdCodeBadORIGINAttr     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 54 }

rcStatBgpPeerRxUpdCodeASRoutingLoop     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 55 }

rcStatBgpPeerRxUpdCodeBadNHAttr     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 56 }

rcStatBgpPeerRxUpdCodeOptionalAttrError     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 57 }

rcStatBgpPeerRxUpdCodeBadNetworkField     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 58 }

rcStatBgpPeerRxUpdCodeMalformedASPath     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 59 }

rcStatBgpPeerTxECodeHeader       OBJECT-TYPE
         SYNTAX          Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total errors peer received: Header"
         ::= { rcStatBgpPeerEntry 60 }

rcStatBgpPeerTxECodeOpen       OBJECT-TYPE
         SYNTAX          Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total errors peer received: Open"
         ::= { rcStatBgpPeerEntry 61 }

rcStatBgpPeerTxECodeUpdate       OBJECT-TYPE
         SYNTAX          Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total errors peer received: Update"
         ::= { rcStatBgpPeerEntry 62 }

rcStatBgpPeerTxECodeHoldtimer       OBJECT-TYPE
         SYNTAX          Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total errors peer received: Hold"
         ::= { rcStatBgpPeerEntry 63 }

rcStatBgpPeerTxECodeFSM       OBJECT-TYPE
         SYNTAX          Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total errors peer received: Fsm"
         ::= { rcStatBgpPeerEntry 64 }

rcStatBgpPeerTxECodeCease       OBJECT-TYPE
         SYNTAX          Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Total errors peer received: Cease"
         ::= { rcStatBgpPeerEntry 65 }

rcStatBgpPeerTxHdrCodeNoSync     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Header errors peer received: Not Synchronized"
         ::= { rcStatBgpPeerEntry 66 }

rcStatBgpPeerTxHdrCodeInvalidMsgLen     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Header errors peer received: Invalid message length"
         ::= { rcStatBgpPeerEntry 67 }

rcStatBgpPeerTxHdrCodeInvalidMsgType     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Header errors peer received: Invalid message type"
         ::= { rcStatBgpPeerEntry 68 }

rcStatBgpPeerTxOpCodeBadVer      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Open errors peer received: Bad Version"
         ::= { rcStatBgpPeerEntry 69 }

rcStatBgpPeerTxOpCodeBadAs      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Open errors peer received: Bad AS number"
         ::= { rcStatBgpPeerEntry 70 }

rcStatBgpPeerTxOpCodeBadRtID      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Open errors peer received: Bad BGP ID"
         ::= { rcStatBgpPeerEntry 71 }

rcStatBgpPeerTxOpCodeUnsuppOption      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Open errors peer received: Unsupported Options"
         ::= { rcStatBgpPeerEntry 72 }

rcStatBgpPeerTxOpCodeAuthFail      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Open errors peer received: Authorization failures"
         ::= { rcStatBgpPeerEntry 73 }

rcStatBgpPeerTxOpCodeBadHold      OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Open errors peer received: Bad Hold value"
         ::= { rcStatBgpPeerEntry 74 }

rcStatBgpPeerTxUpdCodeMalformedAttrList     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 75 }

rcStatBgpPeerTxUpdCodeWelknownAttrUnrecog     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 76 }

rcStatBgpPeerTxUpdCodeWelknownAttrMiss     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 77 }

rcStatBgpPeerTxUpdCodeAttrFlagError     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 78 }

rcStatBgpPeerTxUpdCodeAttrLenError     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 79 }

rcStatBgpPeerTxUpdCodeBadORIGINAttr     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 80 }

rcStatBgpPeerTxUpdCodeASRoutingLoop     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 81 }

rcStatBgpPeerTxUpdCodeBadNHAttr     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 82 }

rcStatBgpPeerTxUpdCodeOptionalAttrError     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 83 }

rcStatBgpPeerTxUpdCodeBadNetworkField     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 84 }

rcStatBgpPeerTxUpdCodeMalformedASPath     OBJECT-TYPE
         SYNTAX         Counter
         ACCESS         read-only
         STATUS         mandatory
         DESCRIPTION    "Update errors peer received: Malformed Attr List"
         ::= { rcStatBgpPeerEntry 85 }

rcStatBgpPeerReset OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "reset peer stats"
        DEFVAL          {disable}
        ::= { rcStatBgpPeerEntry 86 }

-- end of Statistics

-- 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,
		rcStgType   INTEGER
        }

rcStgId OBJECT-TYPE 
        SYNTAX  	INTEGER (1..64)
        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 }

rcStgType OBJECT-TYPE
        SYNTAX          INTEGER {
                           normal(1), 
                           svlan(2) 
                        }
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Type of Stg."
        DEFVAL     { normal }
        ::= { rcStgEntry 25 }


-- 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,
                  rcStgPortChangeDetection TruthValue


              }

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 }

rcStgPortChangeDetection OBJECT-TYPE
        SYNTAX           TruthValue
        ACCESS           read-write
        STATUS           mandatory
        DESCRIPTION      "If disabled, topology change notifications 
                          are not sent for the port."
        DEFVAL           { true }
        ::= { rcStgPortEntry 19 }

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, rcBridgeFdbVlanId }
	::= { rcBridgeFdbTable 1 }

RcBridgeFdbEntry ::=
	SEQUENCE {
                  rcBridgeFdbStatus INTEGER,
                  rcBridgeFdbAddress MacAddress,
                  rcBridgeFdbPort InterfaceIndex,
                  rcBridgeFdbMonitor TruthValue,
                  rcBridgeFdbPriority INTEGER,	--excluded
                  rcBridgeFdbQosLevel INTEGER,
                  rcBridgeFdbSmltRemote TruthValue,
                  rcBridgeFdbVlanId 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 }

rcBridgeFdbSmltRemote OBJECT-TYPE
        SYNTAX    TruthValue 
        ACCESS    read-only
        STATUS    mandatory
        DESCRIPTION  "A MAC address indicate for remote learnt,
                       either local or remote."
        ::= { rcBridgeFdbEntry 7 }

rcBridgeFdbVlanId OBJECT-TYPE
        SYNTAX    INTEGER (1..4094) 
        ACCESS    read-only
        STATUS    mandatory
        DESCRIPTION  ""
        ::= { rcBridgeFdbEntry 8 }

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, rcBridgeStaticVlanId }
              ::= { rcBridgeStaticTable 1 }
 
RcBridgeStaticEntry ::=
SEQUENCE {
	  rcBridgeStaticAddress  MacAddress,
	  rcBridgeStaticPort     InterfaceIndex,
	  rcBridgeStaticMonitor  TruthValue,
	  rcBridgeStaticPriority INTEGER,	--excluded
	  rcBridgeStaticStatus   INTEGER,
	  rcBridgeStaticQosLevel INTEGER,
	  rcBridgeStaticVlanId   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 }

rcBridgeStaticVlanId OBJECT-TYPE
        SYNTAX  	INTEGER (1..4094)
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION   	""
        ::= { rcBridgeStaticEntry 7 }

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, rcBridgeFilterVlanId }
        ::= { rcBridgeFilterTable 1 }
 
RcBridgeFilterEntry ::=
        SEQUENCE {
	     rcBridgeFilterAddress        MacAddress,
	     rcBridgeFilterPort           InterfaceIndex,
	     rcBridgeFilterNotAllowedFrom OCTET STRING,
	     rcBridgeFilterStatus         INTEGER,
	     rcBridgeFilterVlanId         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 }

rcBridgeFilterVlanId OBJECT-TYPE
        SYNTAX  	INTEGER (1..4094)
        ACCESS  	read-only
        STATUS  	mandatory
        DESCRIPTION 	""
        ::= { rcBridgeFilterEntry 5 }

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,
	    rcBridgeUnknownMacDiscardMacCountMax              INTEGER,
	    rcBridgeUnknownMacDiscardMacCountCur              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  	deprecated
        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          deprecated
        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 }

rcBridgeUnknownMacDiscardMacCountMax OBJECT-TYPE
        SYNTAX          INTEGER (0..2048)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "This variable represents the maxium number of MACc that
                         can be added to some port."
        DEFVAL          { 2048 }
        ::= { rcBridgeUnknownMacDiscardEntry 10 }

rcBridgeUnknownMacDiscardMacCountCur OBJECT-TYPE
        SYNTAX          INTEGER (0..2048)
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "This variable represents the current number of MACs that have
                         been added to some port."
        DEFVAL          { 0 }
        ::= { rcBridgeUnknownMacDiscardEntry 11 }

-- 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	--excluded
	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, rcBridgeStaticMulticastVlanId }
        ::= { rcBridgeStaticMulticastTable 1 }
 
RcBridgeStaticMulticastEntry ::=
        SEQUENCE {
	    rcBridgeStaticMulticastAddress         MacAddress,
	    rcBridgeStaticMulticastForwardingPorts PortSet,
	    rcBridgeStaticMulticastMltIds          IdList,
	    rcBridgeStaticMulticastRowStatus       RowStatus,
	    rcBridgeStaticMulticastVlanId          INTEGER,
	    rcBridgeStaticMulticastNumMltIds       INTEGER
        }

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 }

rcBridgeStaticMulticastVlanId OBJECT-TYPE  
        SYNTAX           INTEGER (1..4095)	
        ACCESS        	read-only  
        STATUS        	mandatory  
        DESCRIPTION   	"Vlan Id"
        ::= { rcBridgeStaticMulticastEntry 5 } 

rcBridgeStaticMulticastNumMltIds OBJECT-TYPE  
        SYNTAX        	INTEGER
        ACCESS        	read-only  
        STATUS        	mandatory  
        DESCRIPTION   	"number of mlts Ids"
        ::= { rcBridgeStaticMulticastEntry 6 }

rcBridgeStaticMulticastTblSize OBJECT-TYPE  	--excluded
        SYNTAX        	INTEGER  
        ACCESS        	read-only  
        STATUS        	deprecated  
        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,
            rcRateLimitIfAllowedRatePps INTEGER
        }

rcRateLimitIfIndex OBJECT-TYPE
        SYNTAX          InterfaceIndex
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Port ifindex."
        ::= { rcRateLimitEntry 1 }

rcRateLimitIfTrafficType OBJECT-TYPE
        SYNTAX          INTEGER {
                                multicast(1),
                                broadcast(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. If chassis type is 8100."
        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 }

rcRateLimitIfAllowedRatePps OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Allowed traffic rate per second. If chassis type is 8600."
        ::= { rcRateLimitEntry 5 }


-- 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          deprecated
        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        	deprecated
        DESCRIPTION   	"Used to indicate the primary choice to get
                         a system software image."
        ::= { rcDevice 2 } 
 
rcDevicePrimarySourceFileName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(0..255))
        ACCESS          read-write
        STATUS          deprecated
        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        	deprecated
        DESCRIPTION   	"Used to indicate the secondary choice to get
                         a system software image."
        ::= { rcDevice 4 } 
 
rcDeviceSecondarySourceFileName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(0..255))
        ACCESS          read-write
        STATUS          deprecated
        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        	deprecated
        DESCRIPTION   	"Used to indicate the tertiary choice to get
                         a system software image."
        ::= { rcDevice 6 } 
 
rcDeviceTertiarySourceFileName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(0..255))
        ACCESS          read-write
        STATUS          deprecated
        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        	deprecated
        DESCRIPTION   	"Used to indicate the location to get a system 
			configuration file during system boot."
        ::= { rcDevice 8 } 
 
rcDeviceConfigSourceFileName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE(0..255))
        ACCESS          read-write
        STATUS          deprecated
        DESCRIPTION     "Used to indicate a file name, if applicable."
        ::= { rcDevice 9 } 

rcDeviceFlashBytesUsed OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          deprecated
        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          deprecated
        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          deprecated
        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          deprecated
        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        	deprecated
        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        	deprecated
        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          deprecated
        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          deprecated
        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  	deprecated
	DESCRIPTION 	"Flash table."
	::= { rcDevice 25 }
 
rcDeviceFlashEntry OBJECT-TYPE
	SYNTAX  	RcDeviceFlashEntry
	ACCESS  	not-accessible
	STATUS  	deprecated
	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  	deprecated
        DESCRIPTION 	"Used to indicate a particular file in flash."
        ::= { rcDeviceFlashEntry 1 }
 
rcDeviceFlashFileName OBJECT-TYPE
        SYNTAX  	DisplayString
        ACCESS  	read-only
        STATUS  	deprecated
        DESCRIPTION 	"Used to indicate a flash file's name."
        ::= { rcDeviceFlashEntry 2 }
 
rcDeviceFlashFileVersion OBJECT-TYPE
        SYNTAX  	DisplayString
        ACCESS  	read-only
        STATUS  	deprecated
        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  	deprecated
        DESCRIPTION     "Used to indicate the flash file's type."
        ::= { rcDeviceFlashEntry 4 }
 
rcDeviceFlashFileMode OBJECT-TYPE
        SYNTAX  	INTEGER {
                           compressed(1),
                           uncompressed(2)
                        }
        ACCESS  	read-only
        STATUS  	deprecated
        DESCRIPTION     "Used to indicate the flash file's mode."
        ::= { rcDeviceFlashEntry 5 }
 
rcDeviceFlashFileSize OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	deprecated
        DESCRIPTION     "Used to indicate the flash file's size."
        ::= { rcDeviceFlashEntry 6 }
 
rcDeviceFlashFileCrc OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	deprecated
        DESCRIPTION     "Used to indicate the flash file's CRC."
        ::= { rcDeviceFlashEntry 7 }
 
rcDeviceFlashFileStatus OBJECT-TYPE
        SYNTAX  	INTEGER {
                           active(1),
                           deleted(2)
                        }
        ACCESS  	read-only
        STATUS  	deprecated
        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  	deprecated
        DESCRIPTION 	"Row status."
        ::= { rcDeviceFlashEntry 9 }


-- The Device Pcmcia Table

rcDevicePcmciaTable OBJECT-TYPE
	SYNTAX  	SEQUENCE OF RcDevicePcmciaEntry
	ACCESS  	not-accessible
	STATUS  	deprecated
	DESCRIPTION 	"PCMCIA table."
	::= { rcDevice 26 }
 
rcDevicePcmciaEntry OBJECT-TYPE
	SYNTAX  	RcDevicePcmciaEntry
	ACCESS  	not-accessible
	STATUS  	deprecated
        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  	deprecated
        DESCRIPTION     "Used to indicate a particular file in PCMCIA."
        ::= { rcDevicePcmciaEntry 1 }
 
rcDevicePcmciaFileName OBJECT-TYPE
        SYNTAX  	DisplayString
        ACCESS  	read-only
        STATUS  	deprecated
        DESCRIPTION     "Used to indicate the PCMCIA file's name."
        ::= { rcDevicePcmciaEntry 2 }
 
rcDevicePcmciaFileVersion OBJECT-TYPE
        SYNTAX  	DisplayString
        ACCESS  	read-only
        STATUS  	deprecated
        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  	deprecated
        DESCRIPTION     "Used to indicate the PCMCIA file's type."
        ::= { rcDevicePcmciaEntry 4 }
 
rcDevicePcmciaFileMode OBJECT-TYPE
        SYNTAX  	INTEGER {
                           compressed(1),
                           uncompressed(2)
                        }
        ACCESS  	read-only
        STATUS  	deprecated
        DESCRIPTION     "Used to indicate a particular file in mode."
        ::= { rcDevicePcmciaEntry 5 }
 
rcDevicePcmciaFileSize OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	deprecated
        DESCRIPTION     "Used to indicate the PCMCIA file's size."
        ::= { rcDevicePcmciaEntry 6 }
 
rcDevicePcmciaFileCrc OBJECT-TYPE
        SYNTAX  	INTEGER
        ACCESS  	read-only
        STATUS  	deprecated
        DESCRIPTION     "Used to indicate the PCMCIA file's CRC."
        ::= { rcDevicePcmciaEntry 7 }
 
rcDevicePcmciaFileStatus OBJECT-TYPE
        SYNTAX  	INTEGER {
                           active(1),
                           deleted(2)
                        }
        ACCESS  	read-only
        STATUS  	deprecated
        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  	deprecated
        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 }

rcMltIstSessionEnable OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to enable/disable mlt functionality."
        ::= { rcMlt 3 }

rcMltIstSessionStatus OBJECT-TYPE
        SYNTAX        INTEGER {
                           up(1),
                           down(2)
                        }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to enable/disable mlt functionality."
        ::= { rcMlt 4 }

rcMltIstPeerIp OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IST mlt Peer Ip address."
        ::= { rcMlt 5 }

rcMltIstVlanId OBJECT-TYPE
        SYNTAX      	INTEGER (1..4095)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IST mlt Vlan Id."
        ::= { rcMlt 6 }


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,
		rcMltMltType   		    INTEGER,
		rcMltSmltId		    INTEGER,
		rcMltRunningType            INTEGER,
		rcMltSvlanPortType          INTEGER,
		rcMltMulticastDistribution  EnableValue
        }

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-only
        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 }

rcMltMltType OBJECT-TYPE
        SYNTAX        INTEGER {
                        	normalMLT(1),
                        	istMLT(2),
                        	splitMLT(3)
                      } 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "MLT type."
        ::= { rcMltEntry 12 }

rcMltSmltId OBJECT-TYPE
        SYNTAX        INTEGER (1..32)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Split MLT id."
        ::= { rcMltEntry 13 }

rcMltRunningType OBJECT-TYPE
        SYNTAX        INTEGER {
                        	normalMLT(1),
                        	istMLT(2),
                        	splitMLT(3)
                      } 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Split MLT running type."
        ::= { rcMltEntry 14 } 

rcMltSvlanPortType OBJECT-TYPE
        SYNTAX        INTEGER {
                        	normal(1),
                        	uni(2),
                        	nni(3)
                      } 
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Set MLT port type."
        DEFVAL   { normal }
        ::= { rcMltEntry 15 }

rcMltMulticastDistribution OBJECT-TYPE           
        SYNTAX        EnableValue
	ACCESS        read-write            
	STATUS        mandatory             
	DESCRIPTION   "Enable/Disable multicast distribution per mlt."
	DEFVAL        { disable }
        ::= { rcMltEntry 16 }

rcMltMcastDistribution OBJECT IDENTIFIER       ::= { rcMlt 11 }

rcMltMcastDistributionEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to enable/disable this feature to
                       distribute multicast traffic on MLT ports. All
                       the cards in the system must be E-Tickets.
                       Cannot perform distribution in a mixed mode."
        ::= { rcMltMcastDistribution 1 }

rcMltMcastDistributionGrpMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Group Mask. Create a MLT abstraction layer to
                       distribute traffic basd on (source, group) information
                       of the multicast packet. The algorithm to pick
                       the actual port nedds to generate a fairly random
                       number for different combinations but a lways generate
                       the same number for a given (source, group) pair. By
                       default, the number of active ports of the MLT is used
                       to MOD the pseudo-random number generated by the XOR
                       of each byte of the masked group address with the
                       masked source address."
        ::= { rcMltMcastDistribution 2 }

rcMltMcastDistributionSrcMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Source Mask."
        ::= { rcMltMcastDistribution 3 }

rcMltMcastDistributionRedistributionEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable redistribution."
        ::= { rcMltMcastDistribution 4 }

-- 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 }

rcWebHttpPort OBJECT-TYPE
        SYNTAX        INTEGER (1..49151)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "the HTTP port for web access"
	DEFVAL	      { 80 }
        ::= { rcWeb 25 }
 

-- 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 }

rcCliPasswordChange OBJECT-TYPE
        SYNTAX        INTEGER {
                         ro(1),
                         l1(2),
                         l2(3),
                         l3(4),
                         rw(5),
                         rwa(6),
                         slboper(7),
                         l4oper(8),
                         oper(9),
                         slbadmin(10),
                         l4admin(11)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indication which password is changed when
                       sending a rcCliPasswordChange trap."
        ::= { rcCli 17 }

rcCliPassChangeResult OBJECT-TYPE
        SYNTAX        INTEGER {
                         success(1),
                         fail(2)
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indication the result of changing password when
                       sending a rcPasswordChange trap."
        ::= { rcCli 18 }


-- 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 }

-- 
-- *** THIS SECTION IS GENERATED FROM ../mib_tools/error.mib ***

-- This is generated by str2c.py -mib
-- Do not edit this file
-- Instead, edit $(TOPDIR)/mib/mib_tools/error_input.txt

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),
		unknownErrorCode1(129),
		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),
		invalidOspfAreaRangeNet(162),
		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),
		invalidSyslogMaxHostsSettings(273),
		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),
		noDesiredSyslogHostEntryFound(293),
		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),
		invalidDscpField(416),
		invalidDscpReservedField(417),
		disablePortPriorToChangingDiffServPortType(418),
		ipFilterInvalidId(419),
		rateLimitingExceeded(420),
		diagEntryMaxExceeded(421),
		onlyOneMirroringPortAllow(422),
		radiusServerExist(423),
		radiusServerNotExist(424),
		radiusServerInUse(425),
		radiusMaxServerNumExceeded(426),
		radiusInvalidAttribute(427),
		canNotChangeLocking(428),
		activationDisabled(429),
		zeroMac(430),
		atmBadVpi(431),
		atmBadVci(432),
		atmBadFramingMode(433),
		atmDestroyPvcFailed(434),
		atmBadName(435),
		atmBadEnable(436),
		atmBadpvcEncapsulation(437),
		atmBadPvdServiceType(438),
		atmBadPeakCellRate(439),
		atmBadSustainedCellRate(440),
		atmBadMaxBurstSize(441),
		atmBadMaxMtuSize(442),
		atmBadElanId(443),
		atmUnknownOperation(444),
		atmDestroy1483ElanFailed(445),
		atmBadPerformTagging(446),
		atmIlleagalElanDefinition(447),
		atmCreate1483ElanFailed(448),
		atmBadSnmpMessage(449),
		atmBadScrambleEnable(450),
		atmBadSignalingEnable(451),
		atmBadClockSource(452),
		atmBadLoopback(453),
		badRowStatus(454),
		atmBadLaneConfigMode(455),
		atmLecCreationFailed(456),
		atmBad1438Inarp(457),
		atmF5StartFailed(458),
		atmBadPvcId(459),
		atmBadConnectType(460),
		atmBadIpxEncapMethod(461),
		atmBadUniVersion(462),
		atmCreatePvcFailed(463),
		invalidLoginPromptLength(464),
		invalidPasswordPromptLength(465),
		invalidCliBannerLength(466),
		invalidCliBannerSize(467),
		invalidCliMotdLength(468),
		invalidCliMotdSize(469),
		invalidPortNameLength(470),
		invalidPortName(471),
		invalidMaxAdvertiseInterval(472),
		invalidMinAdvertiseInterval(473),
		invalidMaxInitialAdvertiseInterval(474),
		invalidMaxInitalAdvertments(475),
		invalidNeigborDeadInterval(476),
		invalidUserSetTimeYearValue(477),
		invalidUserSetTimeMonthValue(478),
		invalidUserSetTimeDateValue(479),
		invalidUserSetTimeHourValue(480),
		invalidUserSetTimeMinuteValue(481),
		invalidUserSetTimeSecondValue(482),
		rtcIsNotPresent(483),
		rtcIsNotRunning(484),
		maxMacCount(485),
		maxAdvertiseIntLessThanMinAdvertiseInt(486),
		minAdvertiseIntGreaterThanMaxAdvertiseInt(487),
		dvmrpNotEnabledGlobally(488),
		vrrpCriticalIpAddrNotEnable(489),
		vrrpInvalidCriticalIpAddr(490),
		metricConfigNotAllowed(491),
		posActiveNonBcpEnabledPort(492),
		posVlanNoMorePorts(493),
		posPortCanBeAdded(494),
		posNonBcpCanNotBeEnabled(495),
		posImageFilenameTooLong(496),
		posNoIpcpEnableOnMltPorts(497),
		posNoIpcpEnableOnTagPort(498),
		posNoIpxcpEnableOnMltPort(499),
		posNoIpxcpEnableOnTagPort(500),
		posDisableTagBeforeBcpDisable(501),
		posAssignIpBeforeIpcpEnable(502),
		posAssignIpxBeforeIpxcpEnable(503),
		posAssignIpBeforeRemoteIp(504),
		posKeepRemoteIpInSameSubnet(505),
		staticRouteEnabled(506),
		cannotChangeAutoLearnState(507),
		invalidVirtualIpAddr(508),
		virtualAndPhysicalIpNotInSameSubnet(509),
		vidNotAvailable(510),
		mgidNotAvailable(511),
		posNoIpcpEnableOnPolicyVlanPort(512),
		posNoIpxcpEnableOnPolicyVlanPort(513),
		posVrrpNotAllowed(514),
		webInvalidHttpPort(515),
		cannotAddMulticastStaticMac(516),
		posNoStpEnableWithBCPClosed(517),
		posAtmNoRip1(518),
		ipfFilterNumOverFilterSetLimit(519),
		ipfQosTrafficAverageRateOverLimit(520),
		ipfQosTrafficProfileNotExist(521),
		atmNoIpIpxConfigOnVlan(522),
		atmPvcIsInUse(523),
		globalFilterNotDisabled(524),
		dhcpNotOnByIpSubnetVlan(525),
		cannotConfigureDefaultGateway(526),
		routeExists(527),
		gatewayNotOnMgmtInterfaceSubnet(528),
		mgmtRouteTableFull(529),
		routeNotExists(530),
		invalidMacOffsetRangeForBW(531),
		invalidMacOffsetRangeForMG(532),
		atmPvcBadPeakCellRate(533),
		atmPvcBadSustainedCellRate(534),
		qosReservedQosLevel(535),
		dvmrpGlobInvalidFwdCacheTimeOut(536),
		dvmrpGlobInvalidRouteExpireTimeOut(537),
		dvmrpGlobInvalidRouteDiscardTimeOut(538),
		dvmrpGlobInvalidRouteSwitchTimeOut(539),
		pimCondRPGroupExists(540),
		pimCandRPAddressInvalid(541),
		pimGroupAddressInvalid(542),
		pimNotEnabled(543),
		pimInvalidJPInterval(544),
		pimInvalidMode(545),
		pimInvalidHelloInt(546),
		pimInvalidCBSRPRef(547),
		pimInvalidEnable(548),
		pimAlreadyEnabled(549),
		ipDvmrpAlreadyEnabled(550),
		ospfIntfChangeNotAllowedWhenEnabled(551),
		ospfIntfChangeFromNBMANotAllowed(552),
		ospfPollIntIsnotMultOfHelloInt(553),
		ospfNeigNoCircuit(554),
		ospfNeigSameIp(555),
		ospfCircNotNBMA(556),
		ospfCircPriZero(557),
		ospfNBMANeigExist(558),
		ospfNBMANeigNotFound(559),
		ospfDynNeigExist(560),
		pgmInvalidSessionLifetime(561),
		pgmInvalidMaxRetxStates(562),
		pgmInvalidMaxSessions(563),
		pgmInvalidIfNakRetxInterval(564),
		pgmInvalidIfMaxNakRetxCnt(565),
		pgmInvalidIfNakRdataInt(566),
		pgmInvalidIfNakElimInt(567),
		maxOfMirroringPortAllowedExceed(568),
		duplicatedRoutePolicyEntry(569),
		specifiedRoutePolicyEntryNotFound(570),
		specifiedPrefixListNotFound(571),
		routePolicyListNotSpecify(572),
		routePolicyPrefixListOverLimit(573),
		ipPrefixListDuplicate(574),
		ipPrefixListDuplicateEntry(575),
		ipPrefixListEntryNotFound(576),
		ipPrefixListInvalidName(577),
		ipRedistributeDuplicateEntry(578),
		ipRedistributeEntryNotFound(579),
		ipOspfInFilterDuplicateEntry(580),
		ipOspfInFilterEntryNotFound(581),
		ipEcmpNotDisabled(582),
		ipEcmpMaxExceeded(583),
		ipfQosTrafficAvgRateZeroProfileEnable(584),
		ipmTimePruneEntryInvalidGroup(585),
		ipmTimePruneEntryDuplicate(586),
		ipmTimePruneEntryNotExist(587),
		ipmTimePruneEntryInvalidExpireTime(588),
		smltIstExist(589),
		smltSmltIdExist(590),
		smltIstNotExist(591),
		smltSmltIsEnabled(592),
		smltSmltLocalIpNotExist(593),
		smltInvalidPortTypeForIstMlt(594),
		ntpServerAlreadyExist(595),
		ntpServerDoesNotExist(596),
		ntpKeyAlreadyExists(597),
		ntpKeyDoesNotExist(598),
		ntpMaxKeyExceeded(599),
		ntpServerAlreadyEnabled(600),
		ntpServerAlreadyDisabled(601),
		ntpNoServerConfigured(602),
		ntpMaxServerNumExceeded(603),
		ntpInvalidIntervalValue(604),
		ecmpNotEnabled(605),
		ipfInvalidProtocolType(606),
		assignIpToPortInRouteVlan(607),
		assignIpToVlanWithRoutePortMember(608),
		ipfIstPort(609),
		smltMltIpfExist(610),
		smltMltPortIpfExist(611),
		smltL2fIstPort(612),
		smltMltL2fExist(613),
		smltMltPortL2fExist(614),
		portMirroringEgressNotSupportFullDuplexMode(615),
		pimGlobInvalidRegSupprTimeOut(616),
		smltNotAvailableIn8100(617),
		mltNoPort(618),
		mltInvalidPortType(619),
		inUsedByATM1483Elan(620),
		smltIstStpEnableNotAllowed(621),
		invalidHighestVrrpPrio(622),
		dynamicPortMemberIn8100IsNotAllowed(623),
		ipfGlobalNextHopModeNotSupported(624),
		smltPeerIpNotExist(625),
		smltMltNoThisVlan(626),
		smltNotANormalMlt(627),
		validStaticRtExist(628),
		validBlkHolRtExist(629),
		pimOrIgmpAlreadyEnabled(630),
		communityAlreadyExists(9101),
		communityDoesnotExist(9102),
		communityStorageTypePermanent(9103),
		defaultEntryNotDeletable(9104),
		portMirroringTxNotSupportForThisHardwareRevision(9301),
		cannotSetMode(9302),
		cannotSetFraming(9303),
		cannotModifyInLaneMode(9304),
		stpIsNotAllowedToBeEnabledOnIstPort(9305),
		mirroredPortSupportRXModeOnly(9306),
		recordReserveTypeInvalid(9401),
		recordReserveOutOfRange(9402),
		recordReserveExceedPhyLim(9403),
		cannotUpNonEticketCard(9404),
		cannotUpNon128KCard(9405),
		tenGEMltPortCannotBeAddedToStgWithSMLT(9501),
		tenGEPortCannotBeAddedToStgWithSMLT(9502),
		ospfOverlappingSummarizedRange(9601),
		vlanWithIPXEnabledCannotAdd10GEPortOrMlt(1101),
		dynModMaxModule(1201),
		dynModUnknown(1202),
		dynModAlreadyLoaded(1203),
		dynModCantOpenFile(1204),
		dynModNotEnoughSpace(1205),
		circuitlestInvalidIpInterfaceId(1501),
		circuitlessMaxNumberIpInterfacesReached(1502),
		circuitDoesNotExist(1503),
		circuitAlreadyExists(1504),
		circuitlessIpInterfacesOperationNotAllowed(1505),
		priority255SpecialForPhyIpSameAsVrIp(1506),
		icmpRdiscInvalidPreferenceLevel(1507),
		icmpRdiscAdvAddrIsNotBroadcastOrMulticastAddr(1508),
		icmpRdiscInvalidMaxAdvInt(1509),
		icmpRdiscMinAdvIntvGreaterThanMaxAdvIntvOrLessThan3Secs(1510),
		icmpRdiscLifeTimeLessThanMaxAdvIntvOrGreaterThan9000Secs(1511),
		vrrpInvalidFasterAdvertInterval(1512),
		vrrpFasterAdvEnabled(1513),
		vrrpFasterAdvDisabled(1514),
		vrrpInvalidFastAdvEnableValue(1515),
		globalFiltersNotSupportFwdingNextHopMode(1516),
		vrrpPreemptActionNotAllowed(1517),
		rcPimModeIgmpVersionIncompatible(1518),
		invalidOrInconsistentBroadCastMaskValue(1519),
		igmpOutOfSsmRange(2301),
		igmpDuplicateSsmTblEntry(2302),
		igmpSsmEntryDoesNotExist(2303),
		igmpSsmTblNotEmpty(2304),
		igmpRpSetExistsInSsmRange(2305),
		igmpCandidateRpExistsInSsmRange(2306),
		igmpIfInvalidQIntervalMrt(2307),
		ipfStreamAlreadyExists(2401),
		ipfStreamDoesNotExists(2402),
		ipfStreamInvalidStreamType(2403),
		ipfStreamInvalidPortOption(2404),
		ipfStreamNameTooLong(2405),
		ipfStreamInvalidProtocol(2406),
		ipfStreamInvalidDscp(2407),
		ipfDeviceAlreadyExists(2408),
		ipfDeviceUnknownPlatform(2409),
		ipfDeviceUnknownDevice(2410),
		ipfDeviceDoesNotExists(2411),
		ipfDeviceNameTooLong(2412),
		ipfOneZeroIpDestFilterIsAllowed(2413),
		ipfGlobalFilterMaxPerOctapid(2414),
		ipfDeviceMaxPerPort(2415),
		ipfDeviceMaxPerBox(2416),
		ipfDeviceMaxFilterList(2417),
		cannotDeleteIntMltId(2501),
		mltNoThisVlan(2502),
		mltPortsDifferentFramingMode(2503),
		moreThan2PortsInMlt(2504),
		portCannotBeAddedToDefualtVLANWithIPXEnabled(2505),
		portMemberNotSupportSMLT(2506),
		tenGEMltPortOrMltCannotBeAddedToVlanWithSmltMember(2507),
		tenGEMltPortCannotRunTogetherWithSMLT(2508),
		portCannotBeAddedToDefualtVLANWithSMLT(2509),
		tenGEPortOrMltCannotBeAddedToVlanWithSmltMember(2510),
		tenGEPortOrMltCannotRunTogetherWithSMLT(2511),
		tenGEPortNotSupportMcastDistribution(2512),
		tenGEPortNotSupportMLT(2513),
		asListOverLimit(2601),
		communityListOverLimit(2602),
		mcastMltNotEnabled(2701),
		mcastMltInvalidSrcMask(2702),
		mcastMltInvalidGrpMask(2703),
		mcastMltRedistrNotEnabled(2704),
		mcastMltDiscontinguousSrcMaskValue(2705),
		mcastMltDiscontinguousGrpMaskValue(2706),
		mcastMltNotEnabledOnMlt(2707),
		mcastMltPortOnNonEtkt(2708),
		mcastMltConfMaskDisableMcastMlt(2709),
		ipxPolicyNetEntryNotFound(3101),
		ipxPolicyNetDuplicateEntry(3102),
		ipxPolicyNetListEntryNotFound(3103),
		ipxPolicyNetListDuplicateEntry(3104),
		ipxPolicyServEntryNotFound(3105),
		ipxPolicyServDuplicateEntry(3106),
		ipxPolicyServeListEntryNotFound(3107),
		ipxPolicyServListDuplicateEntry(3108),
		ipxPolicyPolicyEntryNotFound(3109),
		ipxPlicyPolicyDuplicateEntry(3110),
		ipxRoutePolicyNetListOverLimit(3111),
		ipxRoutePolicyServListOverLimit(3112),
		ipxPolicyRipOutFilterEntryNotFound(3113),
		ipxPolicySapOutFilterEntryNotFound(3114),
		ipxPolicyRipInFilterEntryNotFound(3115),
		ipxPolicySapInFilterEntryNotFound(3116),
		ipxPolicyIpxNetEntryInvalidName(3117),
		ipxPolicyIpxServEntryInvalidName(3118),
		ipxPolicyPolicyEntryInvalidName(3119),
		vlanHas10GEMemberWhichNotSupportIPX(3120),
		invalidModeForAtmMDAType(3901),
		atmInvalidPVCEncapTypeForElan(3902),
		atmInvalidPVCPCRRange(3903),
		radiusAuthAcctAttrSame(4101),
		radiusAuthAcctPortSame(4102),
		radiusAuthAcctNoServerConfig(4103),
		pimGlobInvalidUniRouteChangeTimeOut(4801),
		pimGlobInvalidDiscDataTimeOut(4802),
		pimGlobInvalidCRPADVTimeOut(4803),
		pimGlobInvalidBootStrapPeriod(4804),
		pimStaticRpEnabled(4805),
		pimStaticRpNotEnabled(4806),
		pimStaticRpEntryExists(4807),
		pimStaticRpNoRoute(4808),
		pimAddressInSsmRange(4809),
		pimInvalidModeChange(4810),
		pimStaticRpNotAllowed(4811),
		tcpConnectionNotFound(5101),
		tcpInvalidState(5102),
		bgpPeerNotFound(5201),
		bgpInvalidPeerEnable(5202),
		bgpInvalidPeerRemoteas(5203),
		bgpInvalidPeerGroupName(5204),
		bgpInvalidPeerDefaultOriginate(5205),
		bgpInvalidPeerEbgpMultiNop(5206),
		bgpInvalidPeerAdvertisementInterval(5207),
		bgpInvalidPeerPassword(5208),
		bgpInvalidPeerWeight(5209),
		bgpInvalidPeerNextHopSelf(5210),
		bgpInvalidPeerRoutePolicyIn(5211),
		bgpInvalidPeerRoutePolicyOut(5212),
		bgpInvalidPeerRouteReflectorClient(5213),
		bgpInvalidPeerSoftReconfigurationIn(5214),
		bgpInvalidPeerSoftReconfiguration(5215),
		bgpInvalidPeerRemovePrivateAs(5216),
		bgpInvalidPeerRowStatus(5217),
		bgpNetworkNotFound(5218),
		bgpPeerGroupNotFound(5219),
		bgpInvalidPeerGroupEnable(5220),
		bgpInvalidPeerGroupRemoteAs(5221),
		bgpInvalidPeerGroupDefaultOriginate(5222),
		bgpInvalidPeerGroupUpdateSource(5223),
		bgpInvalidPeerGroupEbgpMultiHop(5224),
		bgpInvalidPeerGroupAdvertisementInterval(5225),
		bgpInvalidPeerGroupPassword(5226),
		bgpInvalidPeerGroupWeight(5227),
		bgpInvalidPeerGroupNextHopSelf(5228),
		bgpInvalidPeerGroupRoutePolicyIn(5229),
		bgpInvalidPeerGroupRoutePolicyOut(5230),
		bgpInvalidPeerGroupRouteReflectorClient(5231),
		bgpInvalidPeerGroupSoftReconfigurationIn(5232),
		bgpInvalidPeerGroupSoftReconfiguration(5233),
		bgpInvalidPeerGroupRemovePrivateAs(5234),
		bgpInvalidPeerGroupHoldTime(5235),
		bgpInvalidPeerGroupKeepAlive(5236),
		bgpInvalidPeerGroupRowStatus(5237),
		bgpInvalidPeerGroupGroupName(5238),
		bgpAggregateNotFound(5239),
		bgpInvalidAggregateAsSetGenerate(5240),
		bgpInvalidAggregateSummaryOnly(5241),
		bgpInvalidAggregateSuppressPolicy(5242),
		bgpInvalidAggregateAdvertisePolicy(5243),
		bgpInvalidAggregateAttributePolicy(5244),
		bgpOperationNotAllowedWhenBgpIsEnabled(5245),
		bgpInvalidPeerHoldTime(5246),
		bgpInvalidPeerKeepAlive(5247),
		bgpInvalidPeerMaxPrefix(5248),
		bgpInvalidPeerGroupMaxPrefix(5249),
		bgpInvalidPeerMD5Authentication(5250),
		bgpInvalidPeerGroupMD5Authentication(5251),
		bgpInvalidPeerGroupIndex(5252),
		bgpInvalidConfederationIdentifier(5253),
		bgpInvalidConfederationPeerAsNumber(5254),
		bgpInvalidConfederationPeerNotFound(5255),
		bgpInvalidConfederationPeerAlreadyExist(5256),
		bgpOperationNotAllowedWhenSoftReconfigInIsDisabled(5257),
		bgpNotAllowedSoftRecfgInIsDisabledForTheGrpOrAnyPeerInGrp(5258),
		bgpCanNotEnablePeerWithoutCfgRemoteAsForThePeer(5259),
		bgpCanNotEnablePeerGrpWoCfgRemoteASPeerGrpOrAnyPeerInGrp(5260),
		bgpOperationNotAllowedWhenPeerIsBGPON(5261),
		bgpOperationNotAllowedWhenPeerGrpOrAnyPeerInGrpIsBGPON(5262),
		bgpOperationNotAllowedExternalPeer(5263),
		bgpOperationNotAllowedInternalPeer(5264),
		asListNotFound(5265),
		asListDuplicate(5266),
		asListAsPathEntryNotFound(5267),
		asListAsPathEntryDuplicate(5268),
		asListInvalidModeOfAsPathEntry(5269),
		asListInvalidAsRegularExpressionOfAsPathEntry(5270),
		asListInvalidRowStatusOfAsPathEntry(5271),
		communityListNotFound(5272),
		communityListDuplicate(5273),
		communityListCommunityPathEntryNotFound(5274),
		communityListCommunityPathEntryDuplicate(5275),
		communityListInvalidModeOfCommunityPathEntry(5276),
		communityListInvalidValueOfCommunityEntry(5277),
		communityListInvalidRowStatusOfCommunityEntry(5278),
		bgpFeatureNotSupport(5279),
		bgpMd5EnabledWithoutPasswd(5280),
		bgpEnabledWithoutLocalAs(5281),
		bgpAggregateAdvertisePolicyWithoutAsSet(5282),
		bgpPeerHoldTimeLessThanKeepAliveTime(5283),
		bgpCommListCommunityStringUsed(5284),
		sshEnableTrue(5501),
		rsaKeyNotExist(5502),
		dsaKeyNotExist(5503),
		rsaKeyGenMiss(5504),
		dsaKeyGenMiss(5505),
		sshShutDownInProcess(5506),
		invalidOperationOnWsmStg(5601),
		invalidOperationOnWsmVlan(5602),
		invalidOperationOnWsmPort(5603),
		readWriteAccessReadOnly(900),
		readWriteAccessLevelOne(901),
		readWriteAccessLevelTwo(902),
		readWriteAccessLevelThree(903),
		readWriteAccessReadWrite(904),
		readWriteAccessReadWriteAll(905),
		readWriteAccessUnknownLevel(906)

	}
	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 }
	
-- *** ABOVE SECTION IS GENERATED FROM ../mib_tools/error.mib ***

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        current
        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        current
        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 }

rc2kAtmPvcLinkStateChange NOTIFICATION-TYPE
        OBJECTS       { rc2kAtmPvcIfIndex, 
                        rc2kAtmPvcVpi, 
                        rc2kAtmPvcVci, 
                        rc2kAtmPvcOamVcStatus }    
        STATUS        current
        DESCRIPTION   "A rc2kAtmPvcLinkStateChange trap signifies that the 
                       SNMPv2 entity, acting in an agent role, has detected 
                       that the rc2kAtmPvcOamVcStatus object for one of PVC is
                       about to transition into different state, either from 
                       up to down or from down to up."
        ::= { rcTraps 15 } 

rcStpTCN NOTIFICATION-TYPE
       OBJECTS        { rcStgId, rcPortIndex, rcStgBridgeAddress }
       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 16 }

rcSmltIstLinkUp NOTIFICATION-TYPE
        STATUS        current
        DESCRIPTION   "A rcSmltIstLinkUp trap signifies that the split
                      MLT link is from down to up."
        ::= { rcTraps 17 }

rcSmltIstLinkDown NOTIFICATION-TYPE
        STATUS        current
        DESCRIPTION   "A rcSmltIstLinkDown trap signifies that the
                      split MLT link is from up to down."
        ::= { rcTraps 18 }

rcSmltLinkUp NOTIFICATION-TYPE
        OBJECTS       { rcMltSmltId }
        STATUS        current
        DESCRIPTION   "A rcMltSmltId trap signifies that the split 
                      SMLT link is up."
        ::= { rcTraps 19 }

rcSmltLinkDown NOTIFICATION-TYPE
        OBJECTS       { rcMltSmltId }
        STATUS        current
        DESCRIPTION   "A rcMltSmltId trap signifies that the split 
                      SMLT link is down."
        ::= { rcTraps 20 }

rcChasFanUp NOTIFICATION-TYPE
        OBJECTS       { rcChasFanId, rcChasFanOperStatus}
        STATUS        current
        DESCRIPTION   "A rcChasFanUp 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 up state."
        ::= { rcTraps 21 }

rcPasswordChange NOTIFICATION-TYPE
        OBJECTS       { rcCliPasswordChange, rcCliPassChangeResult}
        STATUS        current
        DESCRIPTION   "A rcPasswordChange trap signifies that the
                      SNMPv2 entity, acting in an agent role, has
                      detected that the one of the cli password is
                      changed."
        ::= { rcTraps 22 }

rcEmError NOTIFICATION-TYPE
        OBJECTS       { rc2kCardIndex, rcChasEmModeError}
        STATUS        current
        DESCRIPTION   "A rcEmError trap signifies that the
                      SNMPv2 entity, acting in an agent role, has
                      detected Em error."
        ::= { rcTraps 23 }

-- OM 2.0 place holder
-- rcVpnTrap NOTIFICATION-TYPE
--         OBJECTS       { rcVpnVpnId, rcErrorText, rcVpnTunnelLspId,
--                         rcIpMplsGlobalRouterId, rcVpnRemotePeerId, 
--                         rcSyslogHostSeverity}    
--         STATUS        current
--         DESCRIPTION   "L2Vpn will send trap when the Lsp goes down, which
--                        would affect the operational status of the Vpn (given
--                        by the VpnId). The Cause will indicate the reason for
--                        sending the trap. It can either LSP down/failure or
--                        to the bandwidth requirements cannot be fulfilled.
--                        Severity Level can be Warning/Error/Fatal."
--         ::= { rcTraps 24 }

-- 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,
                rcDiagMirrorByPortOctapidId     INTEGER
        }

rcDiagMirrorByPortId OBJECT-TYPE
        SYNTAX        	INTEGER(1..383) 
        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),
                         	rxFilter(4)
                      	}
        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.
			'rxFilter' means packets received on the 'mirrored'
			port is copied only if it macthes filter criteria."
	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 }

rcDiagMirrorByPortOctapidId OBJECT-TYPE
        SYNTAX        	INTEGER
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION   	"Octapid Id for a port."
        ::= { rcDiagMirrorByPortEntry 7 }


-- 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        deprecated
        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        deprecated
        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,
                rcIpxAddrTicks       INTEGER
    	}

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 }

rcIpxAddrTicks OBJECT-TYPE
        SYNTAX        INTEGER (1..2147483647)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The tick value gets updated to the routing
                       table when an ipx address is being assigned
                       to a vlan."
        DEFVAL { 1 }
        ::= { rcIpxAddrEntry 5 }


-- IPX Policy Net Table

rcIpxPolicyNetTableSize OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of entries in the table."
        ::= { rcIpx 3 }

rcIpxPolicyNetTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpxPolicyNetEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Net Table is used to store the IPX
                       network address range. This entry is
                       used for Net List Table."
        ::= { rcIpx 4 }

rcIpxPolicyNetEntry OBJECT-TYPE
        SYNTAX        RcIpxPolicyNetEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "table entry."
        INDEX         { rcIpxPolicyNetId, rcIpxPolicyNetFromNet, rcIpxPolicyNetToNet}
        ::= { rcIpxPolicyNetTable 1 }

RcIpxPolicyNetEntry ::=
        SEQUENCE {
                rcIpxPolicyNetId                   INTEGER,
                rcIpxPolicyNetFromNet              OCTET STRING (SIZE(4)),
                rcIpxPolicyNetToNet                OCTET STRING (SIZE(4)),
                rcIpxPolicyNetName                 DisplayString,
                rcIpxPolicyNetRowStatus            RowStatus
        }

rcIpxPolicyNetId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Unique ID to represent the entry in the table."
        ::= { rcIpxPolicyNetEntry 1 }

rcIpxPolicyNetFromNet OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(4))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IPX Network Address."
        ::= { rcIpxPolicyNetEntry 2 }

rcIpxPolicyNetToNet OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(4))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "This is used to specify a range of IPX network addresses.
                       This is an optional parameter. The default value is
                       NetAddr. In that case the entry refers to a single
                       IPX network."
        ::= { rcIpxPolicyNetEntry 3 }

rcIpxPolicyNetName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Unique Name to represent the entry in the table.
                        Id & Name have one-to-one relationship."
        ::= { rcIpxPolicyNetEntry 4 }

rcIpxPolicyNetRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "."
        ::= { rcIpxPolicyNetEntry 5 }

-- IPX Policy Service Table

rcIpxPolicyServTableSize OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of entries in the table."
        ::= { rcIpx 5 }

rcIpxPolicyServTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpxPolicyServEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Service Table is used to store Service Type
                       and Service Name. This is used only for SAP Updates."
        ::= { rcIpx 6 }

rcIpxPolicyServEntry OBJECT-TYPE
        SYNTAX        RcIpxPolicyServEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "table entry."
        INDEX         { rcIpxPolicyServId, rcIpxPolicyServServiceType, rcIpxPolicyServServiceName}
        ::= { rcIpxPolicyServTable 1 }

RcIpxPolicyServEntry ::=
        SEQUENCE {
                rcIpxPolicyServId                   INTEGER,
                rcIpxPolicyServServiceType          INTEGER,
                rcIpxPolicyServServiceName          DisplayString,
                rcIpxPolicyServName                 DisplayString,
                rcIpxPolicyServRowStatus            RowStatus
        }

rcIpxPolicyServId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to store the service Id."
        ::= { rcIpxPolicyServEntry 1 }

rcIpxPolicyServServiceType OBJECT-TYPE
        SYNTAX        INTEGER (0..65535)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to store the service type."
        ::= { rcIpxPolicyServEntry 2 }

rcIpxPolicyServServiceName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..47))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to store the service Name. This is an optional parameter.
                       If not entered, '*' is taken as default value. This is
                       matched to any service name. Also, '*' can be used to
                       match wildcard characters. This is supported only
                       at the end of the service name.
                       For Eg: Printer* will be matched to Printer1, Printer2,
                       Printer123 etc. Service Name matching is CASE SENSITIVE"
        ::= { rcIpxPolicyServEntry 3 }

rcIpxPolicyServName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to store the entry name.  Id & Name have
                       one-to-one relationship."
        ::= { rcIpxPolicyServEntry 4 }

rcIpxPolicyServRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "."
        ::= { rcIpxPolicyServEntry 5 }


-- IPX Policy Table

rcIpxPolicyListTableSize OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of entries in the table."
        ::= { rcIpx 7 }

rcIpxPolicyListTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpxPolicyListEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "PolicyList Table is used to store generic policies
                       that can be used by both RIP and SAP as their in/out policies."
        ::= { rcIpx 8 }

rcIpxPolicyListEntry OBJECT-TYPE
        SYNTAX        RcIpxPolicyListEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "table entry."
        INDEX         { rcIpxPolicyListId, rcIpxPolicyListSeqnum}
        ::= { rcIpxPolicyListTable 1 }

RcIpxPolicyListEntry ::=
        SEQUENCE {
                rcIpxPolicyListId               INTEGER,
                rcIpxPolicyListSeqnum           INTEGER,
                rcIpxPolicyListName             DisplayString,
                rcIpxPolicyListEnable           TruthValue,
                rcIpxPolicyListAction           INTEGER,
                rcIpxPolicyListRouteSource      INTEGER,
                rcIpxPolicyListMatchNetList     DisplayString,
                rcIpxPolicyListMatchServList    DisplayString,
                rcIpxPolicyListHops             INTEGER,
                rcIpxPolicyListTicks            INTEGER,
                rcIpxPolicyListRowStatus        RowStatus
        }

rcIpxPolicyListId OBJECT-TYPE
        SYNTAX        INTEGER (1..65535) 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Index used to uniquely Identify a group of policies
                       in the route policy table."
        ::= { rcIpxPolicyListEntry 1 }

rcIpxPolicyListSeqnum OBJECT-TYPE
        SYNTAX        INTEGER (1..65535)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Second Index used to identify a specific policy
                       with in the route policy group (grouped by Id).
                       This field allows users to specify different
                       MATCH, SET parameters and an action. Also
                       used to resolve the tie between 2 matching policies.
                       The policy with lower sequence number is used."
        ::= { rcIpxPolicyListEntry 2 }

rcIpxPolicyListName OBJECT-TYPE
        SYNTAX        DisplayString (SIZE (0..15))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Is used to group a set of policies with different
                       sequence number. Id & Name have one-to-one relationship
                       Different policy groups can have same sequence
                       number, whereas with in a group the sequence
                       must be different."
        ::= { rcIpxPolicyListEntry 3 }

rcIpxPolicyListEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "value specified here indicates whether the policy is
                       enabled or not. If disabled, the policy should not be
                       used."
        DEFVAL { false }
        ::= { rcIpxPolicyListEntry 4 }

rcIpxPolicyListAction OBJECT-TYPE
        SYNTAX        INTEGER {
                         permit(1),
                         deny(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "This determines what to do with the RIP/SAP packet. If
                       the value is 'permit', then only in or out the packet.
                       Otherwise, drop the packet."
        DEFVAL { permit }
        ::= { rcIpxPolicyListEntry 5 }

rcIpxPolicyListRouteSource OBJECT-TYPE
        SYNTAX        INTEGER{
                         direct(1),
                         nlsp(2),
                         rip(4),
                         static(8),
                         any(15)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to specify the Route Source of the route Packet.
                       This field is used only for announce policies.
                       For accept policies, this field is ignored."
        ::= { rcIpxPolicyListEntry 6 }

rcIpxPolicyListMatchNetList OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "List of networks to which this policy is applied.
                       The Network List Name is entered. When this is not referring to
                       any list or the Net List Table to which it is pointing to is empty,
                       then THIS POLICY MATCHES ALL NETWORK ADDRESSES."
        ::= { rcIpxPolicyListEntry 7 }

rcIpxPolicyListMatchServList OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "List of service types and Service Names to
                       which this policy is applied. The
                       Service List name is entered. This field is
                       used only for SAP out/in policies. For, RIP
                       policies, this field is discarded.
                       When this is not referring to any list
                       or the Service List Table
                       to which it is pointing to is empty, then this
                       POLICY MATCHES ALL SERVICE TYPE AND SERVICE NAME."
        ::= { rcIpxPolicyListEntry 8 }

rcIpxPolicyListHops OBJECT-TYPE
        SYNTAX        INTEGER (0..16)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "This value is used as Hop count for out policies.
                       If this field is 0, then Hop count is not modified.
                       The default value is '0'. This field is also
                       applicable only for Out Policies."
        DEFVAL { 0 }
        ::= { rcIpxPolicyListEntry 9 }

rcIpxPolicyListTicks OBJECT-TYPE
        SYNTAX        INTEGER (0..2147483647)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The tick value which will be updated for RIP when
                       the routing method is tick."
        DEFVAL { 0 }
        ::= { rcIpxPolicyListEntry 10 }

rcIpxPolicyListRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "."
        ::= { rcIpxPolicyListEntry 11 }

-- IPX Rip Out Filter Table

rcIpxRipOutFilterTableSize OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of entries in the table."
        ::= { rcIpx 9 }

rcIpxRipOutFilterTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpxRipOutFilterEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "RipOutFilter Table is used to store generic policies
                       that can be used by both RIP and SAP as their in/out policies."
        ::= { rcIpx 10 }

rcIpxRipOutFilterEntry OBJECT-TYPE
        SYNTAX        RcIpxRipOutFilterEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "table entry."
        INDEX         { rcIpxRipOutFilterInterface}
        ::= { rcIpxRipOutFilterTable 1 }

RcIpxRipOutFilterEntry ::=
        SEQUENCE {
                rcIpxRipOutFilterInterface            OCTET STRING (SIZE(4)),
                rcIpxRipOutFilterPolicyName           DisplayString,
                rcIpxRipOutFilterRowStatus            RowStatus
        }

rcIpxRipOutFilterInterface OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(4))
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "IPX Network address. The interface to
                        which the policy is applied."
        ::= { rcIpxRipOutFilterEntry 1 }

rcIpxRipOutFilterPolicyName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The name of the policy group to which this
                       entry refers."
        ::= { rcIpxRipOutFilterEntry 2 }

rcIpxRipOutFilterRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "."
        ::= { rcIpxRipOutFilterEntry 3 }

-- IPX Sap Out Filter Table

rcIpxSapOutFilterTableSize OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of entries in the table."
        ::= { rcIpx 11 }

rcIpxSapOutFilterTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpxSapOutFilterEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "SapOutFilter Table is used to store generic policies
                       that can be used by both RIP and SAP as their in/out policies."
        ::= { rcIpx 12 }

rcIpxSapOutFilterEntry OBJECT-TYPE
        SYNTAX        RcIpxSapOutFilterEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "table entry."
        INDEX         { rcIpxSapOutFilterInterface}
        ::= { rcIpxSapOutFilterTable 1 }

RcIpxSapOutFilterEntry ::=
        SEQUENCE {
                rcIpxSapOutFilterInterface                  OCTET STRING (SIZE(4)),
                rcIpxSapOutFilterPolicyName                 DisplayString,
                rcIpxSapOutFilterRowStatus                  RowStatus
        }

rcIpxSapOutFilterInterface OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(4))
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "IPX Network address. The interface to
                        which the policy is applied."
        ::= { rcIpxSapOutFilterEntry 1 }

rcIpxSapOutFilterPolicyName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The name of the policy group to which this
                       entry refers."
        ::= { rcIpxSapOutFilterEntry 2 }

rcIpxSapOutFilterRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "."
        ::= { rcIpxSapOutFilterEntry 3 }

-- IPX Rip In Filter Table

rcIpxRipInFilterTableSize OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of entries in the table."
        ::= { rcIpx 13 }

rcIpxRipInFilterTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpxRipInFilterEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "RipInFilter Table is used to store generic policies
                       that can be used by both RIP and SAP as their in/out policies."
        ::= { rcIpx 14 }

rcIpxRipInFilterEntry OBJECT-TYPE
        SYNTAX        RcIpxRipInFilterEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "table entry."
        INDEX         { rcIpxRipInFilterInterface}
        ::= { rcIpxRipInFilterTable 1 }

RcIpxRipInFilterEntry ::=
        SEQUENCE {
                rcIpxRipInFilterInterface                  OCTET STRING (SIZE(4)),
                rcIpxRipInFilterPolicyName                 DisplayString,
                rcIpxRipInFilterRowStatus                  RowStatus
        }

rcIpxRipInFilterInterface OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(4))
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "IPX Network address. The interface to
                        which the policy is applied."
        ::= { rcIpxRipInFilterEntry 1 }

rcIpxRipInFilterPolicyName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The name of the policy group to which this
                       entry refers."
        ::= { rcIpxRipInFilterEntry 2 }

rcIpxRipInFilterRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "."
        ::= { rcIpxRipInFilterEntry 3 }

-- IPX Sap In Filter Table

rcIpxSapInFilterTableSize OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of entries in the table."
        ::= { rcIpx 15 }

rcIpxSapInFilterTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpxSapInFilterEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "SapInFilter Table is used to store generic policies
                       that can be used by both RIP and SAP as their in/out policies."
        ::= { rcIpx 16 }

rcIpxSapInFilterEntry OBJECT-TYPE
        SYNTAX        RcIpxSapInFilterEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "table entry."
        INDEX         { rcIpxSapInFilterInterface}
        ::= { rcIpxSapInFilterTable 1 }

RcIpxSapInFilterEntry ::=
        SEQUENCE {
                rcIpxSapInFilterInterface                  OCTET STRING (SIZE(4)),
                rcIpxSapInFilterPolicyName                 DisplayString,
                rcIpxSapInFilterRowStatus                  RowStatus
        }

rcIpxSapInFilterInterface OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(4))
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "IPX Network address. The interface to
                        which the policy is applied."
        ::= { rcIpxSapInFilterEntry 1 }

rcIpxSapInFilterPolicyName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The name of the policy group to which this
                       entry refers."
        ::= { rcIpxSapInFilterEntry 2 }

rcIpxSapInFilterRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "."
        ::= { rcIpxSapInFilterEntry 3 }

rcIpxRoutingMethod OBJECT-TYPE
        SYNTAX        INTEGER {
                         ticks(1),
                         hops(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "This global variable is referenced each time a decision has to be taken"
        ::= { rcIpx 17 }

rcIpxSapInterfaceTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpxSapInterfaceEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "SapInterface Table is used to store generic policies
                       that can be used by SAP as their in/out policies."
        ::= { rcIpx 18 }

rcIpxSapInterfaceEntry OBJECT-TYPE
        SYNTAX        RcIpxSapInterfaceEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "table entry."
        INDEX         { rcIpxSapInterfaceNetNum}
        ::= { rcIpxSapInterfaceTable 1 }

RcIpxSapInterfaceEntry ::=
        SEQUENCE {
                rcIpxSapInterfaceNetNum                     OCTET STRING (SIZE(4)),
                rcIpxSapInterfaceInPolicy                   DisplayString,
                rcIpxSapInterfaceOutPolicy                  DisplayString
        }

rcIpxSapInterfaceNetNum OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(4))
        ACCESS         read-only
        STATUS         mandatory
        DESCRIPTION    "IPX Network address. The interface to
                        which the policy is applied."
        ::= { rcIpxSapInterfaceEntry 1 }

rcIpxSapInterfaceInPolicy OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The name of the in filter group to which this
                       entry refers."
        ::= { rcIpxSapInterfaceEntry 2 }

rcIpxSapInterfaceOutPolicy OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The name of the out filter to which this
                       entry refers."
        ::= { rcIpxSapInterfaceEntry 3 }

rcIpxRipInterfaceTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpxRipInterfaceEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "RipInterface Table is used to store generic policies
                       that can be used by RIP as their in/out policies."
        ::= { rcIpx 19 }

rcIpxRipInterfaceEntry OBJECT-TYPE
        SYNTAX        RcIpxRipInterfaceEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "table entry."
        INDEX         { rcIpxRipInterfaceNetNum}
        ::= { rcIpxRipInterfaceTable 1 }

RcIpxRipInterfaceEntry ::=
        SEQUENCE {
                rcIpxRipInterfaceNetNum                     OCTET STRING (SIZE(4)),
                rcIpxRipInterfaceInPolicy                   DisplayString,
                rcIpxRipInterfaceOutPolicy                  DisplayString
        }

rcIpxRipInterfaceNetNum OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(4))
        ACCESS         read-only
        STATUS         mandatory
        DESCRIPTION    "IPX Network address. The interface to
                        which the policy is applied."
        ::= { rcIpxRipInterfaceEntry 1 }

rcIpxRipInterfaceInPolicy OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The name of the in filter group to which this
                       entry refers."
        ::= { rcIpxRipInterfaceEntry 2 }

rcIpxRipInterfaceOutPolicy OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The name of the out filter to which this
                       entry refers."
        ::= { rcIpxRipInterfaceEntry 3 }


rcIpxBrouterTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIpxBrouterEntry
        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 20 }

rcIpxBrouterEntry OBJECT-TYPE
   SYNTAX         RcIpxBrouterEntry
   ACCESS         not-accessible
   STATUS         mandatory
   DESCRIPTION   "The addressing information for one of this
                      entity's IP addresses."
   INDEX         { rcIpxBrouterPortIndex, rcIpxBrouterNetAddr,
                   rcIpxBrouterVlanId, rcIpxBrouterEncap }
   ::= { rcIpxBrouterTable 1 }

RcIpxBrouterEntry ::=
      SEQUENCE {
            rcIpxBrouterPortIndex      INTEGER,
            rcIpxBrouterVlanId      INTEGER,
            rcIpxBrouterNetAddr     OCTET STRING (SIZE(4)),
            rcIpxBrouterEncap       INTEGER,
            rcIpxBrouterMacOffset       INTEGER,
            rcIpxBrouterTicks       INTEGER,
            rcIpxBrouterRowStatus RowStatus
      }

rcIpxBrouterPortIndex 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."
   ::= { rcIpxBrouterEntry 1 }

rcIpxBrouterVlanId OBJECT-TYPE
      SYNTAX        INTEGER (1..4094)
   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
                      sam2 value of ifIndex."
   ::= { rcIpxBrouterEntry 2 }

rcIpxBrouterNetAddr       OBJECT-TYPE
        SYNTAX         OCTET STRING (SIZE(4))
        ACCESS         read-only
        STATUS         mandatory
        DESCRIPTION    "IPX Network address."
        ::= { rcIpxBrouterEntry 3 }

rcIpxBrouterEncap OBJECT-TYPE
        SYNTAX        INTEGER {
                         none(0),
                         ethernetii(1),
                         snap(2),
                         llc(3),
                         raw(4)
                      }
        ACCESS        read-only
        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 }
        ::= { rcIpxBrouterEntry 4 }

rcIpxBrouterMacOffset       OBJECT-TYPE
        SYNTAX         INTEGER (0..507)
        ACCESS         read-write
        STATUS         mandatory
        DESCRIPTION    "IPX Network address."
        ::= { rcIpxBrouterEntry 5 }

rcIpxBrouterTicks OBJECT-TYPE
        SYNTAX        INTEGER (1..2147483647)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The tick value gets updated to the routing
                       table when an ipx address is being assigned
                       to a vlan."
        DEFVAL { 1 }
        ::= { rcIpxBrouterEntry 6 }

rcIpxBrouterRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries in the rcIpxBrouterEntry."
        ::= { rcIpxBrouterEntry 7 }

-- RCIPX


-- 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 INTEGER,
                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        INTEGER {
                         open(1),
                         close(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        DEFVAL { close }
        ::= { 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,
                rcPosSonetOperStatusFraming         INTEGER,
                rcPosSonetOperStatusClockSource     INTEGER,
                rcPosSonetOperStatusScramble        EnableValue,
                rcPosSonetOperStatusSectionTrace    INTEGER,
                rcPosSonetOperStatusPathSignalLabel INTEGER

    	}

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 }

rcPosSonetOperStatusFraming OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosSonetEntry 10 }

rcPosSonetOperStatusClockSource OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosSonetEntry 11 }


rcPosSonetOperStatusScramble OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosSonetEntry 12 }

rcPosSonetOperStatusSectionTrace OBJECT-TYPE
      SYNTAX        INTEGER
   ACCESS        read-only
   STATUS        mandatory
      DESCRIPTION   ""
        ::= { rcPosSonetEntry 13 }

rcPosSonetOperStatusPathSignalLabel OBJECT-TYPE
      SYNTAX        INTEGER
   ACCESS        read-only
   STATUS        mandatory
      DESCRIPTION   ""
        ::= { rcPosSonetEntry 14 }



-- 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,
                rcPosLineStatusIpxRoutingProtocol 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 }

rcPosLineStatusIpxRoutingProtocol OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosLineStatusEntry 10 }


-- 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 
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "POS Image file name."
        ::= { rcPosSioCardConfigEntry 4 }



-- POS Operation Status Table

rcPosOperStatusTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcPosOperStatusEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
   ::= { rcPos 7 }

rcPosOperStatusEntry OBJECT-TYPE
   SYNTAX        RcPosOperStatusEntry
   ACCESS         not-accessible
   STATUS         mandatory
   DESCRIPTION   ""
   INDEX         { rcPosOperStatusIndex }
   ::= { rcPosOperStatusTable 1 }

RcPosOperStatusEntry ::=
      SEQUENCE {
                rcPosOperStatusIndex               InterfaceIndex,
                rcPosOperStatusLqrStatus           INTEGER,
                rcPosOperStatusLineLqrThreshold    INTEGER,
                rcPosOperStatusLinkMagicNumber     INTEGER,
                rcPosOperStatusLinePppStp          EnableValue
      }

rcPosOperStatusIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "pos ifIndex."
        ::= { rcPosOperStatusEntry 1 }

rcPosOperStatusLqrStatus   OBJECT-TYPE
     SYNTAX    INTEGER
     ACCESS    read-only
     STATUS    mandatory
     DESCRIPTION
            "Operational status of pppLqrConfigStatus."
     ::= { rcPosOperStatusEntry 2 }

rcPosOperStatusLineLqrThreshold OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "."
        ::= { rcPosOperStatusEntry 3 }

rcPosOperStatusLinkMagicNumber  OBJECT-TYPE
     SYNTAX    INTEGER
     ACCESS    read-only
     STATUS    mandatory
     DESCRIPTION
           "."
     ::= { rcPosOperStatusEntry 4 }

rcPosOperStatusLinePppStp OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcPosOperStatusEntry 5 }


-- 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 }

rcRadiusGlobalAttributeValue OBJECT-TYPE
        SYNTAX        INTEGER (192..240)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Integer value for Access-Priority attribute."
        DEFVAL        { 192 }
        ::= { rcRadiusGlobal 3 }

rcRadiusGlobalServerTableSize OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Used to indicate the number of entries in the
                        rcRadiusServerTable."
        ::= { rcRadiusGlobal 4 }

rcRadiusGlobalAcctEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable/disable Radius Accounting feature."
        DEFVAL        { false }
        ::= { rcRadiusGlobal 5 }

rcRadiusGlobalAcctAttributeValue OBJECT-TYPE
        SYNTAX        INTEGER (192..240)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Integer value for User-Command attribute."
        DEFVAL        { 193 }
        ::= { rcRadiusGlobal 6 }

rcRadiusGlobalAcctIncludeCli OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Include/Exclude cli-commands in radius
                       acccounting updates."
        DEFVAL        { false }
        ::= { rcRadiusGlobal 7 }

rcRadiusGlobalClearStat OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Clear Radius Statistic for all servers 
                       configured."
        DEFVAL        { false }
        ::= { rcRadiusGlobal 8 }

-- 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         { 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,
                rcRadiusServerAcctEnable TruthValue,
                rcRadiusServerAcctUdpPort INTEGER,
                rcRadiusServerAcctOnRequests Counter,
                rcRadiusServerAcctOffRequests Counter,
                rcRadiusServerAcctStartRequests Counter,
                rcRadiusServerAcctStopRequests Counter,
                rcRadiusServerAcctInterimRequests Counter,
                rcRadiusServerAcctBadResponses Counter,
                rcRadiusServerAcctPendingRequests Counter,
                rcRadiusServerAcctClientRetries Counter

        }

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 }

rcRadiusServerAcctEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable or disable Radius Accounting on this server."
        DEFVAL        { true }
        ::= { rcRadiusServerEntry 15 }

rcRadiusServerAcctUdpPort OBJECT-TYPE
        SYNTAX        INTEGER (1..65536)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The UDP port the client used to send accounting
                       requests to this server."
        DEFVAL        { 1813 }
        ::= { rcRadiusServerEntry 16 }

rcRadiusServerAcctOnRequests OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of RADIUS accounting-on packets sent to
                         this server. This does not include retransmissions."
        ::= { rcRadiusServerEntry 17 }

rcRadiusServerAcctOffRequests OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of RADIUS accounting-off packets sent to
                         this server. This does not include retransmissions."
        ::= { rcRadiusServerEntry 18 }

rcRadiusServerAcctStartRequests OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of RADIUS accounting-start packets sent to
                         this server. This does not include retransmissions."
        ::= { rcRadiusServerEntry 19 }


rcRadiusServerAcctStopRequests OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of RADIUS accounting-stop packets sent to
                         this server. This does not include retransmissions."
        ::= { rcRadiusServerEntry 20 }

rcRadiusServerAcctInterimRequests OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of RADIUS accounting-interim packets sent to
                         this server. This does not include retransmissions."
        ::= { rcRadiusServerEntry 21 }

rcRadiusServerAcctBadResponses OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of Invalid responses received from this
                         server."
        ::= { rcRadiusServerEntry 22 }

rcRadiusServerAcctPendingRequests OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of RADIUS accounting packets that are waiting
                         be sent to this server. This variable is incremented
                         whenever any accounting-request is sent to this server and
                         decremented when an acknowledgement is received or timeout
                         occurs."
        ::= { rcRadiusServerEntry 23 }

rcRadiusServerAcctClientRetries OBJECT-TYPE
        SYNTAX          Counter
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The number of RADIUS accounting packets retransmitted
                         to this server."
        ::= { rcRadiusServerEntry 24 }

-- IGMP

rcIgmpInterfaceExtnTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpInterfaceExtnEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIgmp 1 }

rcIgmpInterfaceExtnEntry OBJECT-TYPE
        SYNTAX        RcIgmpInterfaceExtnEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
        INDEX         { rcIgmpInterfaceExtnIfIndex }
        ::= { rcIgmpInterfaceExtnTable 1 }

RcIgmpInterfaceExtnEntry ::=
        SEQUENCE {
                rcIgmpInterfaceExtnIfIndex               InterfaceIndex,
                rcIgmpInterfaceExtnSnoopEnable           TruthValue,
                rcIgmpInterfaceExtnProxySnoopEnable      TruthValue,
                rcIgmpInterfaceExtnMaxAdvertiseInterval  INTEGER,
                rcIgmpInterfaceExtnMinAdvertiseInterval  INTEGER,
                rcIgmpInterfaceExtnMaxInitialAdvertiseInterval INTEGER,
                rcIgmpInterfaceExtnMaxInitialAdvertments INTEGER,
                rcIgmpInterfaceExtnNeighborDeadInterval  INTEGER,
                rcIgmpInterfaceExtnFastLeaveEnable       TruthValue,
                rcIgmpInterfaceExtnFastLeavePortMembers  PortSet,
                rcIgmpInterfaceExtnMrdiscEnable          TruthValue,
                rcIgmpInterfaceExtnDiscoveredRouterPorts PortSet,
                rcIgmpInterfaceExtnSnoopMRouterPorts     PortSet,
                rcIgmpInterfaceExtnSnoopActiveMRouterPorts PortSet,
                rcIgmpInterfaceExtnSnoopMRouterExpiration INTEGER,
                rcIgmpInterfaceExtnFlushAction            INTEGER,
                rcIgmpInterfaceExtnRouterAlertEnable      EnableValue
        }

rcIgmpInterfaceExtnIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "ifindex."
        ::= { rcIgmpInterfaceExtnEntry 1 }

rcIgmpInterfaceExtnSnoopEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "enable snoop."
        ::= { rcIgmpInterfaceExtnEntry 2 }

rcIgmpInterfaceExtnProxySnoopEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "enable proxy snoop."
        ::= { rcIgmpInterfaceExtnEntry 3 }

rcIgmpInterfaceExtnMaxAdvertiseInterval OBJECT-TYPE
        SYNTAX        INTEGER(2..180)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        DEFVAL        { 20 }
        ::= { rcIgmpInterfaceExtnEntry 4 }

rcIgmpInterfaceExtnMinAdvertiseInterval OBJECT-TYPE
        SYNTAX        INTEGER(3..180)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        DEFVAL        { 15 }
        ::= { rcIgmpInterfaceExtnEntry 5 }

rcIgmpInterfaceExtnMaxInitialAdvertiseInterval OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        DEFVAL        { 2 }
        ::= { rcIgmpInterfaceExtnEntry 6 }

rcIgmpInterfaceExtnMaxInitialAdvertments OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        DEFVAL        { 3 }
        ::= { rcIgmpInterfaceExtnEntry 7 }

rcIgmpInterfaceExtnNeighborDeadInterval OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        DEFVAL        { 60 }
        ::= { rcIgmpInterfaceExtnEntry 8 }

rcIgmpInterfaceExtnFastLeaveEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable fast leave on this interface."
        DEFVAL        { false }
        ::= { rcIgmpInterfaceExtnEntry 9 }

rcIgmpInterfaceExtnFastLeavePortMembers OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The set of ports that are enabled for fast leave."
        ::= { rcIgmpInterfaceExtnEntry 10 }

rcIgmpInterfaceExtnMrdiscEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable/disable multicast router discovery."
        ::= { rcIgmpInterfaceExtnEntry 11 }

rcIgmpInterfaceExtnDiscoveredRouterPorts OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "list of ports that discovered by 
                       IGMP Multicast router discovery 
                       (MRDISC) protocol."
        ::= { rcIgmpInterfaceExtnEntry 12 }

rcIgmpInterfaceExtnSnoopMRouterPorts OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "The set of ports in this interface that provide
                      connectivity to an IP Multicast router."
        ::= { rcIgmpInterfaceExtnEntry 13 }

rcIgmpInterfaceExtnSnoopActiveMRouterPorts OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Active ports."
        ::= { rcIgmpInterfaceExtnEntry 14 }

rcIgmpInterfaceExtnSnoopMRouterExpiration OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Multicast querier router aging time out."
        ::= { rcIgmpInterfaceExtnEntry 15 }

rcIgmpInterfaceExtnFlushAction OBJECT-TYPE
        SYNTAX        INTEGER {
                         none(1),
                         flushGrpMember(2),
                         flushMrouter(3),
                         flushSender(4)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "IGMP flush action."
        ::= { rcIgmpInterfaceExtnEntry 16 }

rcIgmpInterfaceExtnRouterAlertEnable OBJECT-TYPE
        SYNTAX        EnableValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Enable Router Alert Check."
        ::= { rcIgmpInterfaceExtnEntry 17 }

-- IGMP Static

rcIgmpStaticTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpStaticEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIgmp 2 }

rcIgmpStaticEntry OBJECT-TYPE
        SYNTAX        RcIgmpStaticEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
        INDEX         { rcIgmpStaticIfIndex, rcIgmpStaticGrpAddr }
        ::= { rcIgmpStaticTable 1 }

RcIgmpStaticEntry ::=
        SEQUENCE {
                rcIgmpStaticIfIndex          InterfaceIndex,
                rcIgmpStaticGrpAddr          IpAddress,
                rcIgmpStaticMemberPorts      PortSet,
                rcIgmpStaticNotAllowedToJoin PortSet,
                rcIgmpStaticRowStatus        RowStatus
        }

rcIgmpStaticIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "ifindex"
        ::= { rcIgmpStaticEntry 1 }

rcIgmpStaticGrpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "ip multicast addr."
        ::= { rcIgmpStaticEntry 2 }

rcIgmpStaticMemberPorts OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "egressing ports."
        ::= { rcIgmpStaticEntry 3 }

rcIgmpStaticNotAllowedToJoin OBJECT-TYPE
        SYNTAX        PortSet
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "not allowed to join."
        ::= { rcIgmpStaticEntry 4 }

rcIgmpStaticRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries in the rcIgmpStaticEntry."
        ::= { rcIgmpStaticEntry 5 }

-- IGMP Access

rcIgmpAccessTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpAccessEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIgmp 3 }

rcIgmpAccessEntry OBJECT-TYPE
        SYNTAX        RcIgmpAccessEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
        INDEX         { rcIgmpAccessIfIndex, rcIgmpAccessGrpAddr,
                        rcIgmpAccessHostAddr, rcIgmpAccessHostMask }
        ::= { rcIgmpAccessTable 1 }

RcIgmpAccessEntry ::=
        SEQUENCE {
                rcIgmpAccessIfIndex     InterfaceIndex,
                rcIgmpAccessGrpAddr     IpAddress,
                rcIgmpAccessHostAddr    IpAddress,
                rcIgmpAccessMode        INTEGER,
                rcIgmpAccessRowStatus   RowStatus,
                rcIgmpAccessHostMask    IpAddress
        }

rcIgmpAccessIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "ifindex"
        ::= { rcIgmpAccessEntry 1 }

rcIgmpAccessGrpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "ip multicast addr."
        ::= { rcIgmpAccessEntry 2 }

rcIgmpAccessHostAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "host addr."
        ::= { rcIgmpAccessEntry 3 }

rcIgmpAccessMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          denyTX(1),
                          denyRX(2),
                          denyBOTH(3)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "denyTX(1), denyRX(2), denyBOTH(3)."
        DEFVAL { denyBOTH }
        ::= { rcIgmpAccessEntry 4 }

rcIgmpAccessRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries in the rcIgmpAccessEntry."
        ::= { rcIgmpAccessEntry 5 }

rcIgmpAccessHostMask OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "host mask."
        ::= { rcIgmpAccessEntry 6 }

-- IGMP Sender

rcIgmpSenderTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF RcIgmpSenderEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rcIgmp 4 }

rcIgmpSenderEntry OBJECT-TYPE
        SYNTAX        RcIgmpSenderEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
        INDEX         { rcIgmpSenderGrpAddr, rcIgmpSenderIfIndex,
                        rcIgmpSenderMemberAddr }
        ::= { rcIgmpSenderTable 1 }

RcIgmpSenderEntry ::=
        SEQUENCE {
                rcIgmpSenderGrpAddr     IpAddress,
                rcIgmpSenderIfIndex     InterfaceIndex,
                rcIgmpSenderMemberAddr  IpAddress,
                rcIgmpSenderAction      INTEGER,
                rcIgmpSenderTPort       INTEGER
        }

rcIgmpSenderGrpAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "ip multicast addr."
        ::= { rcIgmpSenderEntry 1 }

rcIgmpSenderIfIndex OBJECT-TYPE
        SYNTAX        InterfaceIndex
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "ifindex"
        ::= { rcIgmpSenderEntry 2 }

rcIgmpSenderMemberAddr OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "host addr."
        ::= { rcIgmpSenderEntry 3 }

rcIgmpSenderAction OBJECT-TYPE
        SYNTAX        INTEGER {
                          none(0),
                          flushEntry(1),
                          flushGrp(2)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "none(0), flushEntry(1), flushGrp(2)."
        ::= { rcIgmpSenderEntry 4 }

rcIgmpSenderTPort OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Igmp Sender Tport."
        ::= { rcIgmpSenderEntry 5 }

-- System Time Grp

rcUserSetTimeYear OBJECT-TYPE
        SYNTAX        INTEGER (1998..2097)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Year of the time."
        DEFVAL {1998}
        ::= { rcUserSetTime 1 }

rcUserSetTimeMonth OBJECT-TYPE
        SYNTAX        INTEGER (1..12)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Month of the time."
        DEFVAL {1}
        ::= { rcUserSetTime 2 }

rcUserSetTimeDate OBJECT-TYPE
        SYNTAX        INTEGER (1..31)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Date of the time."
        DEFVAL {1}
        ::= { rcUserSetTime 3 }

rcUserSetTimeHour OBJECT-TYPE
        SYNTAX        INTEGER (0..23)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Hour of the time."
        DEFVAL {0}
        ::= { rcUserSetTime 4 }

rcUserSetTimeMinute OBJECT-TYPE
        SYNTAX        INTEGER (0..59)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Minute of the time."
        DEFVAL {0}
        ::= { rcUserSetTime 5 }

rcUserSetTimeSecond OBJECT-TYPE
        SYNTAX        INTEGER (0..59)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Second of the time."
        DEFVAL {0}
        ::= { rcUserSetTime 6 }

-- rcL2Redundancy Group

rcL2RedundancyHaCpuState OBJECT-TYPE
        SYNTAX          INTEGER
                        {
                            initialization(0),
                            oneWayActive(1),
                            twoWayActive(2),
                            synchronized(3),
                            remoteIncompatible(4),
                            error(5),
                            disabled(6)
                        }
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Indicate the Ha-CPU state. 
                         initialization - indicate the CPU is in this state. 
                         oneWayActive - Modules that need to be 
                         synchronized have registered with the framework (either 
                         locally or a message was received from remote CPU (1). 
                         twoWayActive - Modules that need to be synchronized have 
                         registered with the framework (either locally or a message 
                         was received from remote CPU (2). 
                         synchronized  - Table based synchroniztion was completed 
                         on the current CPU (3).  
                         remoteIncompatible - CPUs framework version is incompatible 
                         with the remote CPU (4). 
                         error  - If an invalid event is generated in a given state the 
                         CPU enters Error state (5). 
                         disabled - High Availability is not enabled (6)."
        ::= { rcL2Redundancy 1 }

rcL2RedundancyHaEvent OBJECT-TYPE
        SYNTAX          INTEGER
                        {
                            restart(0),
                            systemRegistrationDone(1),
                            tableSynchronizationDone(2),
                            versionIncompatible(3),
                            noEvent(4)
                        }
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Indicate the Ha event status. 
                         restart (0) - Causes the state machine to restart 
                         systemRegistrationDone (1)- Causes the CPU to transfer to 
                         One Way or Two Way Active state. Locally or message received 
                         from remote CPU.  
                         tableSynchronizationDone (2) - Causes the CPU to 
                         transfer to Synchronized state. 
                         versionIncompatible (3) - Causes the CPU to go to Remote 
                         Incompatible state 
                         noEvent (4) - Means no event has occured uptill now. "
        ::= { rcL2Redundancy 2 }

rcL2RedundancyEnable OBJECT-TYPE
        SYNTAX          EnableValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Indicate the feature enable/disable."
        ::= { rcL2Redundancy 3 }

rcL2RedundancyStandbyCpu OBJECT-TYPE
        SYNTAX          INTEGER {
                           hotStandbyCPU(1),
                           warmStandbyCPU(2),
                           standbyCPUNotPresent(3)
                        }
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "Indicate if the L2 Redundancy is enabled on the standby CPU."
        ::= { rcL2Redundancy 4 }


-- Ntp Group
-- Ntp Global Information

rcNtpGlobal   OBJECT IDENTIFIER        ::= { rcNtp 1 }

rcNtpGlobalEnable OBJECT-TYPE
     SYNTAX       TruthValue
     ACCESS	     read-write
     STATUS       mandatory
     DESCRIPTION  "Enable/disable NTP feature"
     DEFVAL       { false }
     ::= { rcNtpGlobal 1 }

rcNtpGlobalInterval OBJECT-TYPE
     SYNTAX       INTEGER (10..1440)
     ACCESS	     read-write
     STATUS       mandatory
     DESCRIPTION  "Time interval between successive NTP updates in minutes."
     DEFVAL       { 15 }
     ::= { rcNtpGlobal 2 }		


-- Ntp Server Table Information

rcNtpServerTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF RcNtpServerEntry
     ACCESS       not-accessible
     STATUS       mandatory
     DESCRIPTION  "The NTP server table. This table lists the information
                   of a NTP server"
     ::= { rcNtp 2 }

rcNtpServerEntry OBJECT-TYPE
        SYNTAX        RcNtpServerEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A NTP server table entry."
        INDEX         { rcNtpServerAddress }
        ::= { rcNtpServerTable 1 }

RcNtpServerEntry ::=
     SEQUENCE {
             rcNtpServerAddress IpAddress,
             rcNtpServerEnable TruthValue,
             rcNtpServerAuthentication TruthValue,
  	         rcNtpServerKeyId INTEGER,
             rcNtpServerAccessAttempts Counter,
             rcNtpServerAccessSuccess Counter,
             rcNtpServerAccessFailure Counter,
             rcNtpServerRowStatus RowStatus,
             rcNtpServerStratum DisplayString,
             rcNtpServerVersion DisplayString,
             rcNtpServerRootDelay DisplayString,
             rcNtpServerPrecision DisplayString,
             rcNtpServerReachable DisplayString,
             rcNtpServerSynchronized DisplayString
     }

rcNtpServerAddress OBJECT-TYPE
     SYNTAX         IpAddress
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "Server IP address of NTP time source referred to in 
                     this table entry." 
     ::= { rcNtpServerEntry 1 }

rcNtpServerEnable OBJECT-TYPE
     SYNTAX         TruthValue
     ACCESS         read-write
     STATUS         mandatory
     DESCRIPTION    "Enable or disable this server for participation in
                     time update."
     DEFVAL         { true }  
     ::= { rcNtpServerEntry 2 }

rcNtpServerAuthentication OBJECT-TYPE
     SYNTAX         TruthValue
     ACCESS         read-write
     STATUS         mandatory
     DESCRIPTION    "Enable or disable the MD5 Authentication on this
                     serve."
     DEFVAL         { false }  
     ::= { rcNtpServerEntry 3 }

rcNtpServerKeyId OBJECT-TYPE
     SYNTAX         INTEGER (0..2147483647)
     ACCESS         read-write
     STATUS         mandatory
     DESCRIPTION    "Public Key used to generate MD5 digest for this 
                     server."
     DEFVAL         { 0 }  
     ::= { rcNtpServerEntry 4 }

rcNtpServerAccessAttempts OBJECT-TYPE
     SYNTAX         Counter
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "The number of NTP requests sent to this server"
     ::= { rcNtpServerEntry 5 }

rcNtpServerAccessSuccess OBJECT-TYPE
     SYNTAX         Counter
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "The number of times this server was selected to
                     update the time"
     ::= { rcNtpServerEntry 6 }

rcNtpServerAccessFailure OBJECT-TYPE
     SYNTAX         Counter
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "The number of times this server was rejected from
                     updating the time"
     ::= { rcNtpServerEntry 7 }

rcNtpServerRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "Used to create/delete entries."
        ::= { rcNtpServerEntry 8 }

rcNtpServerStratum OBJECT-TYPE
     SYNTAX         DisplayString (SIZE (0..16))
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "Stratum of this server"
     ::= { rcNtpServerEntry 9 }

rcNtpServerVersion OBJECT-TYPE
     SYNTAX         DisplayString (SIZE (0..16))
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "NTP version of this server"
     ::= { rcNtpServerEntry 10 }

rcNtpServerRootDelay OBJECT-TYPE
     SYNTAX         DisplayString (SIZE (0..32))
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "Root Delay of this server"
     ::= { rcNtpServerEntry 11 }

rcNtpServerPrecision OBJECT-TYPE
     SYNTAX         DisplayString (SIZE (0..32))
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "NTP precision of this server in seconds"
     ::= { rcNtpServerEntry 12 }

rcNtpServerReachable OBJECT-TYPE
     SYNTAX         DisplayString (SIZE (0..16))
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "NTP Reachability of this server"
     ::= { rcNtpServerEntry 13 }

rcNtpServerSynchronized OBJECT-TYPE
     SYNTAX         DisplayString (SIZE (0..16))
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "Status of synchronization with this server"
     ::= { rcNtpServerEntry 14 }

-- Ntp Key Table Information

rcNtpKeyTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF RcNtpKeyEntry
     ACCESS       not-accessible
     STATUS       mandatory
     DESCRIPTION  "The NTP key table. This table lists the private key
                   of the public key Id"
     ::= {rcNtp 3 }

rcNtpKeyEntry OBJECT-TYPE
        SYNTAX        RcNtpKeyEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A NTP key table entry."
        INDEX         { rcNtpKeyId }
        ::= { rcNtpKeyTable 1 }

RcNtpKeyEntry ::=
     SEQUENCE {
             rcNtpKeyId INTEGER,
             rcNtpKeySecret DisplayString,
             rcNtpKeyRowStatus RowStatus
     }

rcNtpKeyId OBJECT-TYPE
     SYNTAX         INTEGER (1..2147483647)
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "Public Key used to generate MD5 digest"
     ::= { rcNtpKeyEntry 1 }

rcNtpKeySecret OBJECT-TYPE
     SYNTAX         DisplayString (SIZE (0..8))
     ACCESS         read-write
     STATUS         mandatory
     DESCRIPTION    "Private Key used to generate MD5 Digest"
     ::= { rcNtpKeyEntry 2 }

rcNtpKeyRowStatus OBJECT-TYPE
     SYNTAX        RowStatus
     ACCESS        read-write
     STATUS        mandatory
     DESCRIPTION   "Used to create/delete entries."
     ::= { rcNtpKeyEntry 3 }


-- Stack Vlan Group Information 

rcSvlanGlobal   OBJECT IDENTIFIER        ::= { rcSvlan 1 }

rcSvlanActiveLevel OBJECT-TYPE
     SYNTAX       INTEGER (0..7)
     ACCESS	     read-write
     STATUS       mandatory
     DESCRIPTION  "Stacked Vlan active level."
     DEFVAL  { 0 }
     ::= { rcSvlanGlobal 1 }


-- Stacked Vlan Table Information

rcSvlanTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF RcSvlanEntry
     ACCESS       not-accessible
     STATUS       mandatory
     DESCRIPTION  "A list of possible levels and their corresponding ether type.
                   The number of entries is eight."
     ::= { rcSvlan 2 }

rcSvlanEntry OBJECT-TYPE
        SYNTAX        RcSvlanEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "A Stacked Vlan table entry."
        INDEX         { rcSvlanId }
        ::= { rcSvlanTable 1 }

RcSvlanEntry ::=
     SEQUENCE {
             rcSvlanId         INTEGER,
             rcSvlanLevel      INTEGER,
             rcSvlanEtherType  INTEGER
     }

rcSvlanId OBJECT-TYPE
     SYNTAX         INTEGER (1..8)
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "Row Index." 
     ::= { rcSvlanEntry 1 }

rcSvlanLevel OBJECT-TYPE
     SYNTAX         INTEGER
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "A value that identifies the switch level associated
                     with this entry."
     ::= { rcSvlanEntry 2 }

rcSvlanEtherType OBJECT-TYPE
     SYNTAX         INTEGER 
     ACCESS         read-write
     STATUS         mandatory
     DESCRIPTION    "The ether type value is used for svlan tagging."
     ::= { rcSvlanEntry 3 }


-- 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 }

rc2kChassisMacAddrCapacity OBJECT-TYPE
        SYNTAX          INTEGER
	ACCESS          read-only
	STATUS          mandatory
	DESCRIPTION     "Mac Address Capacity"
	::= { rc2kChassis 6 }

-- 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),
                            pcmciaStop(3)
                      }
        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..255))
        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..255))
        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,
		rc2kBootConfigEnableSshServer		TruthValue
        }

rc2kBootConfigSlot OBJECT-TYPE
        SYNTAX        INTEGER (3..6)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "slot number, tattoo use 3 as cpu slot, 4 
                       is not valid cpu 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 }

rc2kBootConfigEnableSshServer OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "ssh server"
        ::= { rc2kBootConfigEntry 22 }

-- 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
        rc2k32x100BaseTX(539033888),     -- 0010 0000 0010 0001 0000 0001 0010 0000
        rc2k8x1000BaseT(539099400),      -- 0010 0000 0010 0010 0000 0001 0000 1000  
        rc2k16x1000BaseT(539099408),     -- 0010 0000 0010 0010 0000 0001 0001 0000  
        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
        rc2k4x1000BaseOPM(540168452),    -- 0010 0000 0011 0010 0101 0001 0000 0100 
-- OM 2.0 place holder
--      rc2k8x1000BaseOPM(40168456),    
-- 0000 0010 0110 0100 1110 1100 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
        rc2k1x10GBaseLW(573767937),      -- 0010 0000 0011 0011 0000 0001 0000 0001
        rc2k1x10GBaseLR(573784321),      -- 0010 0000 0011 0011 0100 0001 0000 0001
        rc2k32x100BaseTXM(572588320),    -- 0010 0010 0010 0001 0000 0001 0010 0000
        rc2k48x100BaseTXM(572588336),    -- 0010 0010 0010 0001 0000 0001 0011 0000
        rc2k8x1000BaseTM(572653832),     -- 0010 0010 0010 0010 0000 0001 0000 1000
        rc2k8x1000BaseSXBBM(573702408),  -- 0010 0010 0011 0010 0000 0001 0000 1000
        rc2k8x1000BaseICM(573722888),    -- 0010 0010 0011 0010 0101 0001 0000 1000
        rc2k6xPOSM(574955782),           -- 0010 0010 0100 0101 0010 0001 0000 0110
        rc2k8xATMM(575996168),           -- 0010 0010 0101 0101 0000 0001 0000 1000
        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
        rc2kMg48x100BaseTC(817955120),   -- 0011 0000 1100 0001 0000 0001 0011 0000
	rc2kAlteonWSM(1899102468)        -- 0111 0001 0011 0010 0000 0001 0000 0100
                      }
        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-25 | 24-20 | 19-16 | 15 | 14-12 | 11-8 |     7-0     |
        +------+-------+-------+-------+----+-------+------+------+------+
field : |  a   |   b   |   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
            0x6 = 0110 = Central Office 
            0x7 = 0111 = Alteon WebSystems
            0x8 = 1000 = Power Ranger

     b : Interface / Device type variation:
            0x1 = 001 = M-module (128K RARU records)

     c : Interface / device type:
            0x0 = 00000 = CPU
            0x1 = 00001 = Switch fabric
            0x2 = 00010 = Copper Ethernet
            0x3 = 00011 = Fiber Ethernet
            0x4 = 00100 = Sonet (Packets)
            0x5 = 00101 = ATM
            0x6 = 00110 = Token Ring
            0x7 = 00111 = RMON
            0x8 = 01000 = BFM (Frame or cells indicated by field 'a' above)
            0x9 = 01001 = PSU
            0xa = 01010 = Fan Tray
            0xb = 01011 = Chassis/Backplane
            0xc = 01100 = CPU Mezz
            0xd = 01101 = SSL
            0xe = 01110 = reserved for future
            0xf = 01111 = reserved for future
            0x10 = 10000 = reserved for future
            0x11 = 10001 = reserved for future
            0x12 = 10010 = reserved for future
            0x13 = 10011 = WSM Fiber Ethernet

     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 10 Gigabit used as follws
	         000 = 10GE WAN serial 1310nm (XLW)
		 001 = 10GE WAN serial 1550nm (XEW)
		 100 = 10GE LAN serial 1310nm (XLR)
		 101 = 10GE LAN serial 1550nm (XER)
	     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
            For CPU Mezz:
                 000 = MPC755/MPC107 Mezz
            For SSL:
                 000 = server offloading
                 001 = end to end encryption

     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
	rc2kBFM4(1888354564),      -- 0111 0000 1000 1110 0000 0001 0000 0100
	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..256))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "source file"
        ::= { rc2kCopyFile 1 }

rc2kCopyFileDestination OBJECT-TYPE
        SYNTAX        DisplayString (SIZE(0..256))
        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        	deprecated
	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        deprecated
        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        deprecated
        DESCRIPTION   "Used to uniquely identify a row in this table."
        ::= { rc2kQosIngressDsFieldToQosEntry 1 }

rc2kQosIngressDsFieldToQosInDsField OBJECT-TYPE
        SYNTAX        INTEGER (0..63)
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "diffserv dsField"
        ::= { rc2kQosIngressDsFieldToQosEntry 2 }

rc2kQosIngressDsFieldToQosQosLevel OBJECT-TYPE
        SYNTAX        INTEGER (0..7)
        ACCESS        read-write
        STATUS        deprecated
        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        	deprecated
        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        deprecated
        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        deprecated
        DESCRIPTION   "Used to uniquely identify a row in this table."
        ::= { rc2kQosEgressQosToDsFieldEntry 1 }

rc2kQosEgressQosToDsFieldQosLevel OBJECT-TYPE
        SYNTAX        INTEGER (0..7)
        ACCESS        read-only
        STATUS        deprecated
        DESCRIPTION   "qos level"
        ::= { rc2kQosEgressQosToDsFieldEntry 2 }

rc2kQosEgressQosToDsFieldOutDsField OBJECT-TYPE
        SYNTAX        INTEGER (0..63)
        ACCESS        read-write
        STATUS        deprecated
        DESCRIPTION   "diffserv dsField"
        ::= { 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,
                rc2kQosTrafficProfileTranslateDscpEnable TruthValue,
                rc2kQosTrafficProfileInProfileDscp DisplayString(SIZE(6)),
                rc2kQosTrafficProfileOutProfileDscp DisplayString(SIZE(6)),
                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		{ false }
        ::= { rc2kQosTrafficProfileEntry 3 }

rc2kQosTrafficProfileTranslateDscpEnable 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
			'rc2kQosTrafficProfileInProfileDscp'.  Packets
			that fall outside the traffic profile will get
			translated to 'rc2kQosTrafficProfileOutProfileDscp'.
			If disabled, no translation is performed." 
	DEFVAL		{ false }
        ::= { rc2kQosTrafficProfileEntry 4 }

rc2kQosTrafficProfileInProfileDscp OBJECT-TYPE
        SYNTAX          DisplayString(SIZE(6))
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify the DSCP value for 'good' packets."
        ::= { rc2kQosTrafficProfileEntry 5 }

rc2kQosTrafficProfileOutProfileDscp OBJECT-TYPE
        SYNTAX          DisplayString(SIZE(6))
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to specify the DSCP value for 'violation'
                        packets."
        ::= { 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        	deprecated
        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 }

-- 2k Ingress Dscp To Qos Table

rc2kQosIngressDscpToQosTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF Rc2kQosIngressDscpToQosEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "This table is used to specify the DSCP to
                        QOS (Dscp->QOS) mapping on packet ingress."
        ::= { rc2kQos 7 }

rc2kQosIngressDscpToQosEntry OBJECT-TYPE
        SYNTAX        Rc2kQosIngressDscpToQosEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing information of Dscp->Qos mapping"
        INDEX         { rc2kQosIngressDscpToQosRow }
        ::= { rc2kQosIngressDscpToQosTable 1 }

Rc2kQosIngressDscpToQosEntry ::= SEQUENCE {
                rc2kQosIngressDscpToQosRow INTEGER,
                rc2kQosIngressDscpToQosInDscp INTEGER,
                rc2kQosIngressDscpToQosInDscpBinaryFormat DisplayString(SIZE(6)),
                rc2kQosIngressDscpToQosQosLevel INTEGER
        }

rc2kQosIngressDscpToQosRow OBJECT-TYPE
        SYNTAX        INTEGER (1..64)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to uniquely identify a row in this table."
        ::= { rc2kQosIngressDscpToQosEntry 1 }

rc2kQosIngressDscpToQosInDscp OBJECT-TYPE
        SYNTAX        INTEGER (0..63)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "A 6-bit value used to define the Differentiated
                      Service Code Point(DSCP)."
        ::= { rc2kQosIngressDscpToQosEntry 2 }

rc2kQosIngressDscpToQosInDscpBinaryFormat OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(6))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The 'rc2kQosIngressDscpToQosInDscp' value shown
                      in a binary format (network order)."
        ::= { rc2kQosIngressDscpToQosEntry 3 }

rc2kQosIngressDscpToQosQosLevel OBJECT-TYPE
        SYNTAX        INTEGER (0..7)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "qos level"
        ::= { rc2kQosIngressDscpToQosEntry 4 }


-- 2k Egress Qos To Dscp Table

rc2kQosEgressQosToDscpTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF Rc2kQosEgressQosToDscpEntry
        ACCESS          not-accessible
        STATUS          mandatory
        DESCRIPTION     "This table is used to specify the QOS to
                        DSCP field (QOS->DsField) mapping on packet
                        egress."
        ::= { rc2kQos 8 }

rc2kQosEgressQosToDscpEntry OBJECT-TYPE
        SYNTAX        Rc2kQosEgressQosToDscpEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of Qos->Qos mapping"
        INDEX         { rc2kQosEgressQosToDscpRow }
        ::= { rc2kQosEgressQosToDscpTable 1 }

Rc2kQosEgressQosToDscpEntry ::= SEQUENCE {
                rc2kQosEgressQosToDscpRow INTEGER,
                rc2kQosEgressQosToDscpQosLevel INTEGER,
                rc2kQosEgressQosToDscpOutDscp INTEGER,
                rc2kQosEgressQosToDscpOutDscpBinaryFormat DisplayString(SIZE(6))
        }

rc2kQosEgressQosToDscpRow OBJECT-TYPE
        SYNTAX        INTEGER (1..8)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to uniquely identify a row in this table."
        ::= { rc2kQosEgressQosToDscpEntry 1 }

rc2kQosEgressQosToDscpQosLevel OBJECT-TYPE
        SYNTAX        INTEGER (0..7)
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "qos level"
        ::= { rc2kQosEgressQosToDscpEntry 2 }

rc2kQosEgressQosToDscpOutDscp OBJECT-TYPE
        SYNTAX        INTEGER (0..63)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "A 6-bit value used to define the Differentiated
                      Service Code Point(DSCP)."
        ::= { rc2kQosEgressQosToDscpEntry 3 }

rc2kQosEgressQosToDscpOutDscpBinaryFormat OBJECT-TYPE
        SYNTAX        DisplayString(SIZE(6))
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "The 'rc2kQosEgressQosToDscpOutDscp' value show
                      in a binary format (network order)."
        ::= { rc2kQosEgressQosToDscpEntry 4 }


-- 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,
                rc2kAtmPortNumVpiBits INTEGER,
                rc2kAtmPortNumVciBits INTEGER,
                rc2kAtmPortMediaType INTEGER,
                rc2kAtmPortScrambleEnable TruthValue,
                rc2kAtmPortFramingMode INTEGER,
                rc2kAtmPortClockSource INTEGER,
                rc2kAtmPortLineSpeed INTEGER,
                rc2kAtmPortLoopBackMode INTEGER,
                rc2kAtmPortMacAddress MacAddress
        }

rc2kAtmPortIfIndex OBJECT-TYPE
        SYNTAX          InterfaceIndex
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "port number"
        ::= { rc2kAtmPortEntry 1 }

rc2kAtmPortNumVpiBits OBJECT-TYPE
        SYNTAX          INTEGER (1..8)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION   	"# of vpi bits. For OC3, the max number of vpibits is 6. 
                         However, for OC12, it is 8.  Both media types share 
                         the same MIB object. "
        ::= { rc2kAtmPortEntry 2 }

rc2kAtmPortNumVciBits OBJECT-TYPE
        SYNTAX          INTEGER (1..16)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "# of vci bits"
        ::= { rc2kAtmPortEntry 3 }

rc2kAtmPortMediaType OBJECT-TYPE
        SYNTAX          INTEGER {
                          smf(1),       -- single mode fiber
                          mmf(2),       -- mixed mode fiber
                          ds3(3)         
                        }
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "media type"
        ::= { rc2kAtmPortEntry 4 }

rc2kAtmPortScrambleEnable OBJECT-TYPE
        SYNTAX          TruthValue
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "enable scramble"
        DEFVAL          { false }
        ::= { rc2kAtmPortEntry 5 }

rc2kAtmPortFramingMode OBJECT-TYPE
        SYNTAX          INTEGER {
                          sonet(1),
                          sdh(2),
                          ds3CbitAdm(3),
                          ds3CbitPlcp(4),
                          ds3M23Adm(5),
                          ds3M23Plcp(6)
                        }
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "port framing mode"
        DEFVAL          { sonet }
        ::= { rc2kAtmPortEntry 6 }

rc2kAtmPortClockSource OBJECT-TYPE
        SYNTAX          INTEGER {
                          loopTimed(1),
                          freeRunning(2)
                        }
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "clock source"
        ::= { rc2kAtmPortEntry 7 }

rc2kAtmPortLineSpeed OBJECT-TYPE
        SYNTAX          INTEGER {
                          oc3c(1),
                          oc12c(2),
                          ds3(3)
                        }
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "line speed"
        ::= { rc2kAtmPortEntry 8 }

rc2kAtmPortLoopBackMode OBJECT-TYPE
        SYNTAX          INTEGER {
                          off(1),
                          internal(2),
                          external(3),
                          ds3PayloadLoop(4),
                          ds3DiagLoop(5),
                          ds3LineLoop(6)
                        }
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "loop back mode"
        DEFVAL          { off }
        ::= { rc2kAtmPortEntry 9 }

rc2kAtmPortMacAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "XLR assigned MAC addr"
        ::= { rc2kAtmPortEntry 10 }

-- 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,
                rc2kAtmPvcOamLbMgmtEnable     TruthValue,
                rc2kAtmPvcOamLbSendFrequency     INTEGER,
                rc2kAtmPvcOamLbRetryFrequency    INTEGER,
                rc2kAtmPvcOamLbUpCount        INTEGER,
                rc2kAtmPvcOamLbDownCount         INTEGER,
                rc2kAtmPvcOamTrapEnable    TruthValue,
                rc2kAtmPvcOamVcStatus         INTEGER,
                rc2kAtmPvcOamLbRequestSent    Counter,
                rc2kAtmPvcOamLbReplySent         Counter,
                rc2kAtmPvcOamLbReplyReceived     Counter
        }

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..4095)
        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-write
        STATUS          mandatory
        DESCRIPTION     "encapsulation"
        DEFVAL          { llcSnap }
        ::= { rc2kAtmPvcEntry 6 }

rc2kAtmPvcServiceType OBJECT-TYPE
        SYNTAX          INTEGER {
                          ubr(1),
                          vbr(2)
                  }
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "service type"
        DEFVAL          { ubr }
        ::= { rc2kAtmPvcEntry 7 }

rc2kAtmPvcPeakCellRate OBJECT-TYPE
        SYNTAX          INTEGER (86..733490)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION   	"Peak cell rate in cells per second. The maximum 
                         peak cell rate is half of the line rate.  The peak 
                         cell rate for MDA type OC12 must be less than 733491. 
                         However, for OC3, it is less than 182783."
        DEFVAL          { 23584 }
        ::= { rc2kAtmPvcEntry 8 }

rc2kAtmPvcSustainedCellRate OBJECT-TYPE
        SYNTAX          INTEGER (86..733490)
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION   	"Sustained cell rate in cells per second. The maximum 
                         peak cell rate is half of the line rate.  The peak 
                         cell rate for MDA type OC12 must be less than 733491. 
                         However, for OC3, it is less than 182783."
        DEFVAL          { 23584 }
        ::= { 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 }

rc2kAtmPvcOamLbMgmtEnable OBJECT-TYPE
        SYNTAX		    TruthValue
        ACCESS		    read-write
        STATUS		    mandatory
        DESCRIPTION    "Indicate whether end-to-end F5 OAM loopback is enabled.
                        When it is enabled, OAM loopback request is sent 
                        periodically"
        DEFVAL		{ true }
        ::= { rc2kAtmPvcEntry  12 }

rc2kAtmPvcOamLbSendFrequency OBJECT-TYPE
        SYNTAX		   INTEGER (1..255)
        ACCESS		   read-write
        STATUS		   mandatory
        DESCRIPTION	"Number of seconds between transmitting OAM loopback 
                         request"
        DEFVAL		{ 5 }
        ::= { rc2kAtmPvcEntry  13 } 

rc2kAtmPvcOamLbRetryFrequency OBJECT-TYPE
        SYNTAX		   INTEGER (1..255)
        ACCESS		   read-write
        STATUS		   mandatory
        DESCRIPTION   "Number of seconds between retry"
        DEFVAL		{ 1 }
        ::= { rc2kAtmPvcEntry  14 }

rc2kAtmPvcOamLbUpCount OBJECT-TYPE
        SYNTAX		   INTEGER (1..255)
        ACCESS		   read-write
        STATUS		   mandatory
        DESCRIPTION    "Number of consecutive end-to-end F5 OAM loopback cell 
                       responses that must be received in order to change a 
                       PVC connection state to up"
        DEFVAL		{ 3 }
        ::= { rc2kAtmPvcEntry  15 }

rc2kAtmPvcOamLbDownCount OBJECT-TYPE
        SYNTAX		   INTEGER (1..255)
        ACCESS		   read-write
        STATUS		   mandatory
        DESCRIPTION    "Number of consecutive end-to-end F5 OAM loopback cell 
                       responses that are not received in order to change a 
                       PVC state to down."
        DEFVAL		{ 5 }
        ::= { rc2kAtmPvcEntry  16 }

rc2kAtmPvcOamTrapEnable OBJECT-TYPE
        SYNTAX		   TruthValue
        ACCESS		   read-write
        STATUS		   mandatory
        DESCRIPTION	"Indicate whether OAM trap is enabled. When it is enabled,
                        a trap is sent to the management station when 
                       rc2kAtmPvcOamVcStatus is going up or down."
        DEFVAL		{ false }
        ::= { rc2kAtmPvcEntry 17 } 

rc2kAtmPvcOamVcStatus OBJECT-TYPE
        SYNTAX        	INTEGER {
                          notManaged(1),
                          downVerify(2),
                          down(3),
                          upVerify(4),
                          up(5)
                      	}
        ACCESS        	read-only
        STATUS        	mandatory
        DESCRIPTION     "Indicate the status of PVC link.
                         Not Managed--VC is not being managed by OAM. 
			 Down Verify --An OAM loopback failed. End-to-end F5 OAM
                          loopback cells are sent at retry frequency to verify 
                          the VC is really down. After down-count unsuccessful 
                          retries, the VC goes to the down state (see definition 
                          of rc2kAtmPvcOamLoopbackDownCount).
                         Down --VC has not received responses to by end-to-end 
                          F5 OAM loopback cells. 
                         Up Verify -- An OAM loopback was successful. 
                          End-to-end F5 OAM loopback cells are sent at retry 
                          frequency to verify the VC is really up. After up-count
                          successive and successful loopback retries, the VC
                          goes to the Up state (see definition of 
                          rc2kAtmPvcOamLoopbackUpCount).
                         Up - End-to-end loopbacks are successful. "
       ::= { rc2kAtmPvcEntry  18 }


rc2kAtmPvcOamLbRequestSent OBJECT-TYPE
       SYNTAX			Counter
       ACCESS		   read-only
       STATUS		   mandatory
       DESCRIPTION	"Number of OAM loopback request sent"
       ::= { rc2kAtmPvcEntry  19 }

rc2kAtmPvcOamLbReplySent OBJECT-TYPE
       SYNTAX		   Counter
       ACCESS		   read-only
       STATUS		   mandatory
       DESCRIPTION	"Number of OAM loopback reply sent"
       ::= { rc2kAtmPvcEntry  20 }

rc2kAtmPvcOamLbReplyReceived OBJECT-TYPE
       SYNTAX		   Counter
       ACCESS		   read-only
       STATUS		   mandatory
       DESCRIPTION	"Number of OAM loopback reply received"
       ::= { rc2kAtmPvcEntry  21 } 

-- 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, rc2kAtm1483ElanVlanId }
        ::= { rc2kAtm1483ElanTable 1 }

Rc2kAtm1483ElanEntry ::= SEQUENCE {
                rc2kAtm1483ElanIfIndex InterfaceIndex,
                rc2kAtm1483ElanElanId INTEGER,
                rc2kAtm1483ElanNumPvcIds INTEGER,
                rc2kAtm1483ElanPvcIds IdList,
                rc2kAtm1483ElanVlanId INTEGER,
                rc2kAtm1483ElanRowStatus RowStatus,
                rc2kAtm1483ElanConnectType INTEGER,
                rc2kAtm1483ElanVlanMacAddress MacAddress,
                rc2kAtm1483ElanDummyMacAddress MacAddress,
                rc2kAtm1483ElanLocalIpAddress IpAddress,
                rc2kAtm1483ElanRemoteIpAddress IpAddress,
                rc2kAtm1483ElanInArpSendEnable TruthValue,
                rc2kAtm1483ElanInArpSendInterval INTEGER,
                rc2kAtm1483ElanIpxVlanEncapMethod INTEGER,
                rc2kAtm1483ElanIpxNetworkNum INTEGER,
                rc2kAtm1483ElanStgId INTEGER,
                rc2kAtm1483ElanrcStgTaggedBpduVlanId INTEGER,
                rc2kAtm1483ElanIpxNetworkAddr OCTET STRING (SIZE(4))
        }

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 }

rc2kAtm1483ElanVlanId OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "vlan tag for this 1483"
        ::= { rc2kAtm1483ElanEntry 5 }

rc2kAtm1483ElanRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rc2kAtm1483ElanEntry 6 }

rc2kAtm1483ElanConnectType OBJECT-TYPE
        SYNTAX        INTEGER {
                          bridged(1),
                          ip(2),
                          ipx(3),
                          muxIpIpx(4)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "connection type"
        ::= { rc2kAtm1483ElanEntry 7 }

rc2kAtm1483ElanVlanMacAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "mac for vlan"
        ::= { rc2kAtm1483ElanEntry 8 }

rc2kAtm1483ElanDummyMacAddress OBJECT-TYPE
        SYNTAX        MacAddress
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "dummy mac for the other router"
        ::= { rc2kAtm1483ElanEntry 9 }

rc2kAtm1483ElanLocalIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "local ip, if ConnectType is ip(2)"
        ::= { rc2kAtm1483ElanEntry 10 }

rc2kAtm1483ElanRemoteIpAddress OBJECT-TYPE
        SYNTAX        IpAddress
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "remote ip, if ConnectType is ip(2)"
        ::= { rc2kAtm1483ElanEntry 11 }

rc2kAtm1483ElanInArpSendEnable OBJECT-TYPE
        SYNTAX        TruthValue
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "enable arp sending on the port, if
                       ConnectType is ip(2)"
        DEFVAL        { false }
        ::= { rc2kAtm1483ElanEntry 12 }

rc2kAtm1483ElanInArpSendInterval OBJECT-TYPE
        SYNTAX        INTEGER (0..60)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "interval of arp sending on the port, if
                       ConnectType is ip(2)"
        ::= { rc2kAtm1483ElanEntry 13 }

rc2kAtm1483ElanIpxVlanEncapMethod OBJECT-TYPE
        SYNTAX        INTEGER {
                          llc(1),
                          snap(2),
                          ether-ii(3),
                          raw(4)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "vlan encapsulation method, if ConnectType
                       is ipx(3)"
        ::= { rc2kAtm1483ElanEntry 14 }

rc2kAtm1483ElanIpxNetworkNum OBJECT-TYPE
        SYNTAX        INTEGER (0..2147483647)
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "network number, if ConnectType is ipx(3)"
        ::= { rc2kAtm1483ElanEntry 15 }

rc2kAtm1483ElanStgId OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "An identifier used to identify a STG in the device,
                         only in bridge mode"
        ::= { rc2kAtm1483ElanEntry 16 }

rc2kAtm1483ElanrcStgTaggedBpduVlanId OBJECT-TYPE
        SYNTAX          INTEGER
        ACCESS          read-only
        STATUS          mandatory
        DESCRIPTION     "The VLAN ID to be used for tagging BPDUs,
                         only in bridge mode."
        ::= { rc2kAtm1483ElanEntry 17 }

rc2kAtm1483ElanIpxNetworkAddr OBJECT-TYPE
        SYNTAX        OCTET STRING (SIZE(4))
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "network number, instead of rc2kAtm1483ElanIpxNetworkNum"
        ::= { rc2kAtm1483ElanEntry 18 }


-- 2kAtm Sio Card Config Table

rc2kAtmSioCardConfigTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kAtmSioCardConfigEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "2kAtm Sio Card Config Table"
        ::= { rc2kAtm 8 }

rc2kAtmSioCardConfigEntry OBJECT-TYPE
        SYNTAX        Rc2kAtmSioCardConfigEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of 2kAtm Sio Card Config."
        INDEX         { rc2kAtmSioCardConfigSlotIndex }
        ::= { rc2kAtmSioCardConfigTable 1 }

Rc2kAtmSioCardConfigEntry ::= SEQUENCE {
                rc2kAtmSioCardConfigSlotIndex     INTEGER,
                rc2kAtmSioCardConfigAction        INTEGER,
                rc2kAtmSioCardConfigTraceMode     INTEGER,
                rc2kAtmSioCardConfigImageFileName DisplayString,
                rc2kAtmSioCardConfigElanStatsEnable INTEGER,
                rc2kAtmSioCardConfigStatsPollPeriod INTEGER
        }

rc2kAtmSioCardConfigSlotIndex OBJECT-TYPE
        SYNTAX        INTEGER
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "slot Index."
        ::= { rc2kAtmSioCardConfigEntry 1 }

rc2kAtmSioCardConfigAction OBJECT-TYPE
        SYNTAX        INTEGER {
                          other(0),
                          reset(1)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rc2kAtmSioCardConfigEntry 2 }

rc2kAtmSioCardConfigTraceMode OBJECT-TYPE
        SYNTAX        INTEGER {
                          other(0),
                          traceOn(1)
                      }
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   ""
        ::= { rc2kAtmSioCardConfigEntry 3 }

rc2kAtmSioCardConfigImageFileName OBJECT-TYPE
        SYNTAX        DisplayString
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "ATM Image file name."
        ::= { rc2kAtmSioCardConfigEntry 4 }

rc2kAtmSioCardConfigElanStatsEnable OBJECT-TYPE
        SYNTAX       INTEGER {
                        disable(1),
                        enable(2)
                     }
        ACCESS       read-write
        STATUS       mandatory
        DESCRIPTION  "Enable/Disable Elan Statistics collection"
        DEFVAL       { 1 }
        ::= { rc2kAtmSioCardConfigEntry 5 }

rc2kAtmSioCardConfigStatsPollPeriod OBJECT-TYPE
        SYNTAX       INTEGER(3..15)
        ACCESS       read-write
        STATUS       mandatory
        DESCRIPTION  "Time interval after which  Elan statistics would
                      be polled"
        DEFVAL       { 5 }
        ::= { rc2kAtmSioCardConfigEntry 6 }

--- ATM global

rc2kAtmElanStatsClearAll OBJECT-TYPE
       SYNTAX        TruthValue
       ACCESS        read-write
       STATUS        mandatory
       DESCRIPTION   "Clear all Elan Statistics"
       ::= { rc2kAtmGlobal 1}


--- ATM port stats

rc2kAtmPortStatsTable OBJECT-TYPE
       SYNTAX        SEQUENCE OF Rc2kAtmPortStatsEntry
       ACCESS        not-accessible
       STATUS        mandatory
       DESCRIPTION   "ATM port statistics table"
       ::= { rc2kAtm 10 }

rc2kAtmPortStatsEntry OBJECT-TYPE
       SYNTAX        Rc2kAtmPortStatsEntry
       ACCESS        not-accessible
       STATUS        mandatory
       DESCRIPTION   "Entry containing infomation of ATM port statistics"
       INDEX         { rc2kAtmPortStatsIfIndex }
       ::= { rc2kAtmPortStatsTable 1 }

Rc2kAtmPortStatsEntry ::= SEQUENCE {
       rc2kAtmPortStatsIfIndex          InterfaceIndex,
       rc2kAtmPortStatsInCells          Counter64,
       rc2kAtmPortStatsOutCells         Counter64,
       rc2kAtmPortStatsOutIdleCells     Counter64,
       rc2kAtmPortStatsInHecCorrected   Counter32,
       rc2kAtmPortStatsInHecUncorrected Counter32,
       rc2kAtmPortStatsInUnknownProtos  Counter32,
       rc2kAtmPortStatsInPkts           Counter32,
       rc2kAtmPortStatsOutPkts          Counter32,
       rc2kAtmPortStatsInDroppedPkts    Counter32,
       rc2kAtmPortStatsOutDroppedPkts   Counter32
}

rc2kAtmPortStatsIfIndex OBJECT-TYPE
       SYNTAX        InterfaceIndex
       ACCESS        read-only
       STATUS        mandatory
       DESCRIPTION   "port number"
       ::= { rc2kAtmPortStatsEntry 1 }

rc2kAtmPortStatsInCells OBJECT-TYPE
       SYNTAX        Counter64
       ACCESS        read-only
       STATUS        mandatory
       DESCRIPTION   "Number of Cells received from ATM interface"
         ::= { rc2kAtmPortStatsEntry 2 }

rc2kAtmPortStatsOutCells OBJECT-TYPE
       SYNTAX        Counter64
       ACCESS        read-only
       STATUS        mandatory
       DESCRIPTION   "Number of Cells transmitted by ATM interface"
       ::= { rc2kAtmPortStatsEntry 3 }

rc2kAtmPortStatsOutIdleCells OBJECT-TYPE
       SYNTAX        Counter64
       ACCESS        read-only
       STATUS        mandatory
       DESCRIPTION   "Number of Idle Cells transmitted"
       ::= { rc2kAtmPortStatsEntry 4 }

rc2kAtmPortStatsInHecCorrected OBJECT-TYPE
       SYNTAX        Counter32
       ACCESS        read-only
       STATUS        mandatory
       DESCRIPTION   "Number of received cells in which HCS
                      was corrected"
         ::= { rc2kAtmPortStatsEntry 5 }

rc2kAtmPortStatsInHecUncorrected OBJECT-TYPE
       SYNTAX        Counter32
       ACCESS        read-only
       STATUS        mandatory
       DESCRIPTION   "Number of received cells dropped because HCS
                      couldn't be corrected"
       ::= { rc2kAtmPortStatsEntry 6 }

rc2kAtmPortStatsInUnknownProtos OBJECT-TYPE
       SYNTAX        Counter32
       ACCESS        read-only
       STATUS        mandatory
       DESCRIPTION   "Number of received cells dropped with wrong VPI/VCI"
       ::= { rc2kAtmPortStatsEntry 7 }

rc2kAtmPortStatsInPkts OBJECT-TYPE
       SYNTAX        Counter32
       ACCESS        read-only
       STATUS        mandatory
       DESCRIPTION   "Number of AAL5 CPCS PDUs received"
       ::= { rc2kAtmPortStatsEntry 8 }

rc2kAtmPortStatsOutPkts OBJECT-TYPE
       SYNTAX        Counter32
       ACCESS        read-only
       STATUS        mandatory
       DESCRIPTION   "Number of AAL5 CPCS PDUs transmitted"
       ::= { rc2kAtmPortStatsEntry 9 }

rc2kAtmPortStatsInDroppedPkts OBJECT-TYPE
       SYNTAX        Counter32
       ACCESS        read-only
       STATUS        mandatory
       DESCRIPTION   "Number of AAL5 CPCS PDUs dropped due to
                      resource exhaustion"
       ::= { rc2kAtmPortStatsEntry 10 }

rc2kAtmPortStatsOutDroppedPkts OBJECT-TYPE
       SYNTAX        Counter32
       ACCESS        read-only
       STATUS        mandatory
       DESCRIPTION   "Number of AAL5 CPCS PDUs dropped because the
                      transmitter closed the channel"
       ::= { rc2kAtmPortStatsEntry 11 }

-- ATM vPort Stats

rc2kAtmVPortStatsTable OBJECT-TYPE
         SYNTAX        SEQUENCE OF Rc2kAtmVPortStatsEntry
       ACCESS        not-accessible
       STATUS        mandatory
       DESCRIPTION   "ATM Elan statistics table"
       ::= { rc2kAtm 11 }

rc2kAtmVPortStatsEntry OBJECT-TYPE
       SYNTAX        Rc2kAtmVPortStatsEntry
       ACCESS        not-accessible
       STATUS        mandatory
       DESCRIPTION   "Entry containing infomation of ATM Elan statistics"
       INDEX         { rc2kAtmVPortStatsIfIndex , rc2kAtmVPortStatsVlanId }
       ::= { rc2kAtmVPortStatsTable 1 }

Rc2kAtmVPortStatsEntry ::= SEQUENCE {
       rc2kAtmVPortStatsIfIndex          InterfaceIndex,
       rc2kAtmVPortStatsVlanId           INTEGER,
         rc2kAtmVPortStatsClear            INTEGER,
       rc2kAtmVPortStatsInOctets         Counter64,
       rc2kAtmVPortStatsOutOctets        Counter64,
       rc2kAtmVPortStatsInErrors         Counter32,
       rc2kAtmVPortStatsOutErrors        Counter32,
       rc2kAtmVPortStatsInDiscards       Counter32,
       rc2kAtmVPortStatsOutDiscards      Counter32,
       rc2kAtmVPortStatsInUcastPkts      Counter32,
       rc2kAtmVPortStatsOutUcastPkts     Counter32,
       rc2kAtmVPortStatsInMulticastPkts  Counter32,
       rc2kAtmVPortStatsOutMulticastPkts Counter32,
       rc2kAtmVPortStatsInBroadcastPkts  Counter32,
       rc2kAtmVPortStatsOutBroadcastPkts Counter32
    }

rc2kAtmVPortStatsIfIndex OBJECT-TYPE
       SYNTAX       InterfaceIndex
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "port number"
       ::= { rc2kAtmVPortStatsEntry 1 }

rc2kAtmVPortStatsVlanId OBJECT-TYPE
       SYNTAX       INTEGER
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "Vlan Id"
       ::= { rc2kAtmVPortStatsEntry 2 }

rc2kAtmVPortStatsClear OBJECT-TYPE
       SYNTAX       INTEGER {
                       other (0),
                       clear (1)
                    }
       ACCESS       read-write
       STATUS       mandatory
       DESCRIPTION  "Clear Elan Stats"
       DEFVAL       { 0 }
       ::= { rc2kAtmVPortStatsEntry 3 }

rc2kAtmVPortStatsInOctets OBJECT-TYPE
       SYNTAX       Counter64
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "AAL5 CPCS PDU octects received from ATM interface"
       ::= { rc2kAtmVPortStatsEntry 4 }

rc2kAtmVPortStatsOutOctets OBJECT-TYPE
       SYNTAX       Counter64
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "AAL5 CPCS PDU octects transmitted out of ATM interface"
       ::= { rc2kAtmVPortStatsEntry 5 }

rc2kAtmVPortStatsInErrors OBJECT-TYPE
       SYNTAX       Counter32
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION "AAL5 CPCS PDUs received with errors from ATM interface.
                    These errors include CRC-32 errors,SAR time-out errors
                    And oversized SDU errors"
         ::= { rc2kAtmVPortStatsEntry 6 }

rc2kAtmVPortStatsOutErrors OBJECT-TYPE
       SYNTAX       Counter32
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "Number of AAL5 CPCS PDUs that couldn't be transmitted
                     due to errors"
       ::= { rc2kAtmVPortStatsEntry 7 }

rc2kAtmVPortStatsInDiscards OBJECT-TYPE
       SYNTAX       Counter32
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "Number of received AAL5 CPCS PDUs discarded "
       ::= { rc2kAtmVPortStatsEntry 8 }

rc2kAtmVPortStatsOutDiscards  OBJECT-TYPE
       SYNTAX       Counter32
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "Number of AAL5 CPCS PDUs which are to be transmitted
                     but discarded"
       ::= { rc2kAtmVPortStatsEntry 9 }

rc2kAtmVPortStatsInUcastPkts OBJECT-TYPE
       SYNTAX       Counter32
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "Received ethernet/IP/IPX packets whose destination
                     address is neither a multicast nor a broadcast
                     address"
       ::= { rc2kAtmVPortStatsEntry 10 }

rc2kAtmVPortStatsOutUcastPkts OBJECT-TYPE
       SYNTAX       Counter32
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "Forwarded ethernet/IP/IPX packets whose destination
                     address is neither a multicast nor a broadcast
                     address"
       ::= { rc2kAtmVPortStatsEntry 11 }

rc2kAtmVPortStatsInMulticastPkts OBJECT-TYPE
       SYNTAX       Counter32
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "Received ethernet/IP/IPX packets whose destination
                     MAC address(or IP address in case of IP ELAN type)
                     is multicast MAC address or class D IP address
                     (in case of IP ELAN type) "
       ::= { rc2kAtmVPortStatsEntry 12 }

rc2kAtmVPortStatsOutMulticastPkts OBJECT-TYPE
       SYNTAX       Counter32
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "Forwarded ethernet/IP/IPX packets whose destination
                     MAC address(or IP address in case of IP ELAN type)
                     is multicast MAC address or class D IP address
                     (in case of IP ELAN type) "
       ::= { rc2kAtmVPortStatsEntry 13 }

rc2kAtmVPortStatsInBroadcastPkts OBJECT-TYPE
       SYNTAX       Counter32
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "Received ethernet/IP/IPX packets whose destination
                     address in broadcast address"
       ::= { rc2kAtmVPortStatsEntry 14 }

rc2kAtmVPortStatsOutBroadcastPkts OBJECT-TYPE
       SYNTAX       Counter32
       ACCESS       read-only
       STATUS       mandatory
       DESCRIPTION  "Forwarded ethernet/IP/IPX packets whose destination
                     address in broadcast address"
       ::= { rc2kAtmVPortStatsEntry 15 }

 
-- 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 }
-- 2k CPU Ethernet Port Route table

rc2kCpuEthernetPortRouteTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF Rc2kCpuEthernetPortRouteEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "2k CPU Ethernet Port Route table"
        ::= { rc2k 11 }

rc2kCpuEthernetPortRouteEntry OBJECT-TYPE
        SYNTAX        Rc2kCpuEthernetPortRouteEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   "Entry containing infomation of 2k CPU Ethernet Port"
        INDEX         { rc2kCpuEthernetPortRouteNetwork, rc2kCpuEthernetPortRouteGateway}
        ::= { rc2kCpuEthernetPortRouteTable 1 }

Rc2kCpuEthernetPortRouteEntry ::= SEQUENCE {
                rc2kCpuEthernetPortRouteNetwork       IpAddress,
                rc2kCpuEthernetPortRouteGateway       IpAddress,
                rc2kCpuEthernetPortRouteRowStatus     RowStatus
        }

rc2kCpuEthernetPortRouteNetwork OBJECT-TYPE
        SYNTAX          IpAddress
        ACCESS          read-write
        STATUS          mandatory
        DESCRIPTION     "Used to configure the network that can be
                        used to remotely manage this device."
        ::= { rc2kCpuEthernetPortRouteEntry 1 }

rc2kCpuEthernetPortRouteGateway 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."
        ::= { rc2kCpuEthernetPortRouteEntry 2 }

rc2kCpuEthernetPortRouteRowStatus OBJECT-TYPE
        SYNTAX        RowStatus
        ACCESS        read-write
        STATUS        mandatory
        DESCRIPTION   "row status"
        ::= { rc2kCpuEthernetPortRouteEntry 3 }


-- 10Gb Ethernet MIB table begin

rcTengEnetStats 	OBJECT IDENTIFIER ::= { rcTengEnet 1 }

-- Wis Sonet traps --

rcWisTrap        OBJECT IDENTIFIER ::= { rcTengEnet 2 }

rcWisSonetTrapType OBJECT-TYPE
        SYNTAX        INTEGER {
                              sectionAlarm(1),
                              lineAlarm(2),
                              pathAlarm(3)    
                      }
        ACCESS        read-only
        STATUS        mandatory
        DESCRIPTION   "Used to indicate a particular type of 10GE Sonet 
                      trap."
        ::= { rcWisTrap 1 }

rcWisSonetTrapIndication 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 10GE Sonet trap."
        ::= { rcWisTrap 2 }

-- the 10Gb Ethernet-like Statistics group
      
rcTengDot3StatsTable  OBJECT-TYPE
	SYNTAX         	SEQUENCE OF RcTengDot3StatsEntry
        ACCESS     	not-accessible
        STATUS         	mandatory
	DESCRIPTION	"Statistics for a collection of ethernet-like
             		interfaces attached to a particular system."
        ::= { rcTengEnetStats 1 }

rcTengDot3StatsEntry   OBJECT-TYPE
	SYNTAX      	RcTengDot3StatsEntry
	ACCESS  	not-accessible
	STATUS      	mandatory
	DESCRIPTION	"Statistics for a particular interface to an
              		ethernet-like medium."
	INDEX     { rcTengDot3StatsIndex }
	::= { rcTengDot3StatsTable 1 }

RcTengDot3StatsEntry ::= 
	SEQUENCE {
		rcTengDot3StatsIndex                  		INTEGER,
		rcTengDot3StatsAlignmentErrors            	Counter64,
		rcTengDot3StatsFCSErrors                  	Counter64,
		rcTengDot3StatsSingleCollisionFrames      	Counter64,
		rcTengDot3StatsMultipleCollisionFrames    	Counter64,
		rcTengDot3StatsSQETestErrors              	Counter64,
		rcTengDot3StatsDeferredTransmissions      	Counter64,
		rcTengDot3StatsLateCollisions             	Counter64, 
		rcTengDot3StatsExcessiveCollisions        	Counter64,
		rcTengDot3StatsInternalMacTransmitErrors  	Counter64,
		rcTengDot3StatsCarrierSenseErrors         	Counter64,
		rcTengDot3StatsFrameTooLongs              	Counter64,
		rcTengDot3StatsInternalMacReceiveErrors   	Counter64,
		rcTengDot3StatsEtherChipSet        		OBJECT IDENTIFIER,
-- copy & combine from rcStatGigTable
                rcTengDot3StatsLinkFailures         		Counter32,
                rcTengDot3StatsPacketErrors         		Counter32,
                rcTengDot3StatsCarrierErrors        		Counter32,
                rcTengDot3StatsLinkInactiveErrors   		Counter32,
                rcTengDot3StatsInFlowCtrlPkts       		Counter64,
                rcTengDot3StatsOutFlowCtrlPkts      		Counter64,
-- copy & cobmine this atrribute from rcTengStatEntry
                rcTengDot3StatsFrameTooShorts                    Counter64
 	}
      
rcTengDot3StatsIndex   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."
	::= { rcTengDot3StatsEntry 1 }

rcTengDot3StatsAlignmentErrors   OBJECT-TYPE
	SYNTAX     	Counter64
	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"
	::= { rcTengDot3StatsEntry 2 }

rcTengDot3StatsFCSErrors   OBJECT-TYPE
	SYNTAX      	Counter64
	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"
	::= { rcTengDot3StatsEntry 3 }

rcTengDot3StatsSingleCollisionFrames   OBJECT-TYPE
	SYNTAX		Counter64
	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"
	::= { rcTengDot3StatsEntry 4 }

rcTengDot3StatsMultipleCollisionFrames   OBJECT-TYPE
	SYNTAX        	Counter64
	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"
        ::= { rcTengDot3StatsEntry 5 }

rcTengDot3StatsSQETestErrors   OBJECT-TYPE
        SYNTAX       	Counter64
	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"
        ::= { rcTengDot3StatsEntry 6 }

rcTengDot3StatsDeferredTransmissions   OBJECT-TYPE
        SYNTAX      	Counter64
        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"
        ::= { rcTengDot3StatsEntry 7 }

rcTengDot3StatsLateCollisions   OBJECT-TYPE
        SYNTAX      	Counter64
        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"
        ::= { rcTengDot3StatsEntry 8 }

rcTengDot3StatsExcessiveCollisions   OBJECT-TYPE
        SYNTAX      	Counter64
        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"
        ::= { rcTengDot3StatsEntry 9 }

rcTengDot3StatsInternalMacTransmitErrors   OBJECT-TYPE
        SYNTAX      	Counter64
	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 rcTengDot3StatsLateCollisions object, the
			rcTengDot3StatsExcessiveCollisions object, or the
			rcTengDot3StatsCarrierSenseErrors 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"
        ::= { rcTengDot3StatsEntry 10 }

rcTengDot3StatsCarrierSenseErrors   OBJECT-TYPE
        SYNTAX  	Counter64
	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"
        ::= { rcTengDot3StatsEntry 11 }

-- { rcTengDot3StatsEntry 12 } is not assigned

rcTengDot3StatsFrameTooLongs   OBJECT-TYPE
        SYNTAX      	Counter64
        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"
	::= { rcTengDot3StatsEntry 13 }

-- { rcTengDot3StatsEntry 14 } is not assigned

-- { rcTengDot3StatsEntry 15 } is not assigned

rcTengDot3StatsInternalMacReceiveErrors   OBJECT-TYPE
	SYNTAX      	Counter64
        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 rcTengDot3StatsFrameTooLongs object, the
            		rcTengDot3StatsAlignmentErrors object, or the
            		rcTengDot3StatsFCSErrors 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"
        ::= { rcTengDot3StatsEntry 16 }

rcTengDot3StatsEtherChipSet   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."
	::= { rcTengDot3StatsEntry 17 }

rcTengDot3StatsLinkFailures OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of link failures encountered on
                      	this interface."
        ::= { rcTengDot3StatsEntry 18 }

rcTengDot3StatsPacketErrors OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of packet errors encountered on
                      	this interface."
        ::= { rcTengDot3StatsEntry 19 }

rcTengDot3StatsCarrierErrors OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of carrier errors encountered on
                      	this interface."
        ::= { rcTengDot3StatsEntry 20 }

rcTengDot3StatsLinkInactiveErrors OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of link inactive errors encountered
                       	on this interface."
        ::= {rcTengDot3StatsEntry 21 }

rcTengDot3StatsInFlowCtrlPkts OBJECT-TYPE
        SYNTAX        	Counter64
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of flow control packets received
                       	by this interface."
        ::= { rcTengDot3StatsEntry 22 }

rcTengDot3StatsOutFlowCtrlPkts OBJECT-TYPE
        SYNTAX        	Counter64
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of flow control packets transmitted
                       	by this interface."
        ::= { rcTengDot3StatsEntry 23 }

rcTengDot3StatsFrameTooShorts OBJECT-TYPE
        SYNTAX        	Counter64
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of frames that are too short
                      	that were encountered on this interface."
        ::= { rcTengDot3StatsEntry 24 }

-- 10Gb ethernet Stat Tbale

rcTengStatTable OBJECT-TYPE
	SYNTAX        	SEQUENCE OF RcTengStatEntry
        ACCESS    	not-accessible
        STATUS        	mandatory
        DESCRIPTION   "A table used to store port statistics."
        ::= { rcTengEnetStats 2 }

rcTengStatEntry OBJECT-TYPE
        SYNTAX        	RcTengStatEntry
        ACCESS    	not-accessible
        STATUS        	mandatory
        DESCRIPTION   	"interface counters"
        INDEX         	{ rcTengStatIndex }
        ::= { rcTengStatTable 1 }

RcTengStatEntry ::= SEQUENCE {
        	rcTengStatIndex                 INTEGER,
                rcTengStatBridgeInUnicastFrames     Counter32,
                rcTengStatBridgeInMulticastFrames   Counter32,
                rcTengStatBridgeInBroadcastFrames   Counter32,
                rcTengStatBridgeInDiscards          Counter32,
                rcTengStatBridgeOutUnicastFrames    Counter32,
                rcTengStatBridgeOutMulticastFrames  Counter32,
                rcTengStatBridgeOutBroadcastFrames  Counter32,
                rcTengStatRouteInUnicastFrames      Counter32,
                rcTengStatRouteInMulticastFrames    Counter32,
                rcTengStatRouteInDiscards           Counter32,
                rcTengStatRouteOutUnicastFrames     Counter32,
                rcTengStatRouteOutMulticastFrames   Counter32,
                rcTengStatStgForwardTransitions     Counter32,
                rcTengStatStgInConfigBpdus          Counter32,
                rcTengStatStgInTcnBpdus             Counter32,
                rcTengStatStgInBadBpdus             Counter32,
                rcTengStatStgOutConfigBpdus         Counter32,
                rcTengStatStgOutTcnBpdus            Counter32,
                rcTengStatBridgeOutFrames           Counter32
        }

rcTengStatIndex OBJECT-TYPE
	SYNTAX   	INTEGER
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"An index value that uniquely identifies a port.
                      	This value is similar to ifIndex in MIB2."
        ::= { rcTengStatEntry 1 }

rcTengStatBridgeInUnicastFrames OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of incoming unicast frames that
                      	were bridged."
        ::= { rcTengStatEntry 2 }

rcTengStatBridgeInMulticastFrames OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of incoming multicast frames that
                      	were bridged."
        ::= { rcTengStatEntry 3 }

rcTengStatBridgeInBroadcastFrames OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of incoming broadcast frames that
                      	were bridged."
        ::= { rcTengStatEntry 4 }

rcTengStatBridgeInDiscards OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of frames that were discarded by
                      	the bridging entity."
        ::= { rcTengStatEntry 5 }

rcTengStatBridgeOutUnicastFrames OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of outgoing unicast frames that
                      	were bridged."
        ::= { rcTengStatEntry 6 }

rcTengStatBridgeOutMulticastFrames OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of outgoing multicast frames that
                      	were bridged."
        ::= { rcTengStatEntry 7 }

rcTengStatBridgeOutBroadcastFrames OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of outgoing broadcast frames that
                      	were bridged."
        ::= { rcTengStatEntry 8 }

rcTengStatRouteInUnicastFrames OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of incoming unicast frames that
                      	were routed."
        ::= { rcTengStatEntry 9 }

rcTengStatRouteInMulticastFrames OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of incoming multicast frames that
                      	were routed."
        ::= { rcTengStatEntry 10 }

rcTengStatRouteInDiscards OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of frames that were discarded by
                      	the routing entity."
        ::= { rcTengStatEntry 11 }

rcTengStatRouteOutUnicastFrames OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of outgoing unicast frames that
                      	were routed."
        ::= { rcTengStatEntry 12 }

rcTengStatRouteOutMulticastFrames OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The total number of outgoing multicast frames that
                      	were routed."
        ::= { rcTengStatEntry 13 }

rcTengStatStgForwardTransitions OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	"The number of times this port has transitioned
                      	from the Learning state to the Forwarding state."
        ::= { rcTengStatEntry 14 }

rcTengStatStgInConfigBpdus OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	""
        ::= { rcTengStatEntry 15 }

rcTengStatStgInTcnBpdus OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	""
        ::= { rcTengStatEntry 16 }

rcTengStatStgInBadBpdus OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	""
        ::= { rcTengStatEntry 17 }

rcTengStatStgOutConfigBpdus OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	""
        ::= { rcTengStatEntry 18 }

rcTengStatStgOutTcnBpdus OBJECT-TYPE
        SYNTAX        	Counter32
        ACCESS    	read-only
        STATUS        	mandatory
        DESCRIPTION   	""
        ::= { rcTengStatEntry 19 }

rcTengStatBridgeOutFrames OBJECT-TYPE
        SYNTAX        	Counter32
        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."

        ::= { rcTengStatEntry 20 }

-- From rfc1573rcc.mib
-- 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.

rcTengIfTable OBJECT-TYPE
       	SYNTAX      	SEQUENCE OF RcTengIfEntry
       	ACCESS  	not-accessible
       	STATUS      	mandatory
       	DESCRIPTION	"A list of interface entries.  The number of entries
               		is given by the value of engIfNumber."
       ::= { rcTengEnetStats 3 }

rcTengIfEntry OBJECT-TYPE
       	SYNTAX      	RcTengIfEntry
       	ACCESS  	not-accessible
       	STATUS      	mandatory
       	DESCRIPTION	"An entry containing management information applicable
               		to a particular interface."
       	INDEX   { rcTengIfIndex }
       	::= { rcTengIfTable 1 }

RcTengIfEntry ::= SEQUENCE {
           rcTengIfIndex                InterfaceIndex,
           rcTengIfDescr                DisplayString,
           rcTengIfType                 INTEGER,
           rcTengIfMtu                  Integer32,
           rcTengIfSpeed                Gauge32,
           rcTengIfPhysAddress          PhysAddress,
           rcTengIfAdminStatus          INTEGER,
           rcTengIfOperStatus           INTEGER,
           rcTengIfLastChange           TimeTicks,
           rcTengIfInOctets             Counter64,
           rcTengIfInUcastPkts          Counter64,
           rcTengIfInNUcastPkts         Counter64,  -- deprecated
           rcTengIfInDiscards           Counter64,
           rcTengIfInErrors             Counter64,
           rcTengIfInUnknownProtos      Counter64,
           rcTengIfOutOctets            Counter64,
           rcTengIfOutUcastPkts         Counter64,
           rcTengIfOutNUcastPkts        Counter64,  -- deprecated
           rcTengIfOutDiscards          Counter64,
           rcTengIfOutErrors            Counter64,
           rcTengIfOutQLen              Gauge32,    -- deprecated
           rcTengIfSpecific             OBJECT IDENTIFIER -- deprecated
       }

rcTengIfIndex OBJECT-TYPE
       	SYNTAX      	InterfaceIndex
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       ::= { rcTengIfEntry 1 }
   
rcTengIfDescr 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
               		interface hardware/software."
       	::= { rcTengIfEntry 2 }

rcTengIfType OBJECT-TYPE
       	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
		}
       	ACCESS  	read-only
    	STATUS      	mandatory
       	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."
       	::= { rcTengIfEntry 3 }

rcTengIfMtu OBJECT-TYPE
       	SYNTAX      	Integer32
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       	::= { rcTengIfEntry 4 }

rcTengIfSpeed OBJECT-TYPE
       	SYNTAX      	Gauge32
       	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.  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."
       	::= { rcTengIfEntry 5 }

rcTengIfPhysAddress OBJECT-TYPE
       	SYNTAX      	PhysAddress
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       	::= { rcTengIfEntry 6 }

rcTengIfAdminStatus 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.  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)."
       	::= { rcTengIfEntry 7 }

rcTengIfOperStatus 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)
               	}
       	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.  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."
       	::= { rcTengIfEntry 8 }

rcTengIfLastChange 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."
       	::= { rcTengIfEntry 9 }

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

rcTengIfInUcastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
      	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."
       	::= { rcTengIfEntry 11 }

rcTengIfInNUcastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	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."
       	::= { rcTengIfEntry 12 }

rcTengIfInDiscards 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.  One possible reason for discarding such a
               		packet could be to free up buffer space."
       	::= { rcTengIfEntry 13 }

rcTengIfInErrors OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       	::= { rcTengIfEntry 14 }

rcTengIfInUnknownProtos OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       	::= { rcTengIfEntry 15 }

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

rcTengIfOutUcastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       	::= { rcTengIfEntry 17 }

rcTengIfOutNUcastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	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."
       	::= { rcTengIfEntry 18 }

rcTengIfOutDiscards 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.  One possible
               		reason for discarding such a packet could be to free
               		up buffer space."
       	::= { rcTengIfEntry 19 }

rcTengIfOutErrors OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       	::= { rcTengIfEntry 20 }

rcTengIfOutQLen OBJECT-TYPE
       	SYNTAX      	Gauge32
       	ACCESS  	read-only
       	STATUS      	deprecated
       	DESCRIPTION	"The length of the output packet queue (in packets)."
       	::= { rcTengIfEntry 21 }

rcTengIfSpecific OBJECT-TYPE
       	SYNTAX      OBJECT IDENTIFIER
       	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 }."
       	::= { rcTengIfEntry 22 }


--
--   Extension to the interface table
--
-- This table replaces the ifExtnsTable table.
--

rcTengIfXTable        	OBJECT-TYPE
       	SYNTAX      	SEQUENCE OF RcTengIfXEntry
       	ACCESS  	not-accessible
       	STATUS      	mandatory
       	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."
       	::= { rcTengEnetStats 4 }

rcTengIfXEntry        	OBJECT-TYPE
       	SYNTAX      	RcTengIfXEntry
       	ACCESS  	not-accessible
       	STATUS      	mandatory
       	DESCRIPTION	"An entry containing additional management information
               		applicable to a particular interface."
       	INDEX    { rcTengIfXIndex }
       	::= { rcTengIfXTable 1 }

RcTengIfXEntry ::= SEQUENCE {           
           rcTengIfXIndex                InterfaceIndex,
           rcTengIfName                  DisplayString,
           rcTengIfInMulticastPkts       Counter64,
           rcTengIfInBroadcastPkts       Counter64,
           rcTengIfOutMulticastPkts      Counter64,
           rcTengIfOutBroadcastPkts      Counter64,
           rcTengIfHCInOctets            Counter64,
           rcTengIfHCInUcastPkts         Counter64,
           rcTengIfHCInMulticastPkts     Counter64,
           rcTengIfHCInBroadcastPkts     Counter64,
           rcTengIfHCOutOctets           Counter64,
           rcTengIfHCOutUcastPkts        Counter64,
           rcTengIfHCOutMulticastPkts    Counter64,
           rcTengIfHCOutBroadcastPkts    Counter64,
           rcTengIfLinkUpDownTrapEnable  INTEGER,
           rcTengIfHighSpeed             Gauge32,
           rcTengIfPromiscuousMode       TruthValue,
           rcTengIfConnectorPresent      TruthValue
       	}

rcTengIfXIndex OBJECT-TYPE
       	SYNTAX      	InterfaceIndex
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       ::= { rcTengIfXEntry 1 }
   
rcTengIfName OBJECT-TYPE
       	SYNTAX      	DisplayString
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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
               		rcTengIfTable together represent a single interface as 
			named	by the device, then each will have the same 
			value of rcTengIfName.  If there is no local name, or 
			this object is otherwise not applicable, then this 
			object contains a 0-length string."
       	::= { rcTengIfXEntry 2 }

rcTengIfInMulticastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       	::= { rcTengIfXEntry 3 }

rcTengIfInBroadcastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       	::= { rcTengIfXEntry 4 }

rcTengIfOutMulticastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       	::= { rcTengIfXEntry 5 }

rcTengIfOutBroadcastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       	::= { rcTengIfXEntry 6 }

rcTengIfHCInOctets OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS 	read-only
       	STATUS      	mandatory
       	DESCRIPTION	"The total number of octets received on the interface,
               		including framing characters.  This object is a 64-bit
               		version of rcTengIfInOctets."
       	::= { rcTengIfXEntry 7 }

rcTengIfHCInUcastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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 rcTengIfInUcastPkts."
       	::= { rcTengIfXEntry 8 }

rcTengIfHCInMulticastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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
               		rcTengIfInMulticastPkts."
       	::= { rcTengIfXEntry 9 }

rcTengIfHCInBroadcastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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."
       	::= { rcTengIfXEntry 10 }

rcTengIfHCOutOctets OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	DESCRIPTION	"The total number of octets transmitted out of the
               		interface, including framing characters.  This object
               		is a 64-bit version of rcTengIfOutOctets."
       	::= { rcTengIfXEntry 11 }

rcTengIfHCOutUcastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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
               		rcTengIfOutUcastPkts."
       	::= { rcTengIfXEntry 12 }

rcTengIfHCOutMulticastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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 rcTengIfOutMulticastPkts."
       	::= { rcTengIfXEntry 13 }

rcTengIfHCOutBroadcastPkts OBJECT-TYPE
       	SYNTAX      	Counter64
       	ACCESS  	read-only
       	STATUS      	mandatory
       	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 rcTengIfOutBroadcastPkts."
       	::= { rcTengIfXEntry 14 }

rcTengIfLinkUpDownTrapEnable  OBJECT-TYPE
       	SYNTAX      	INTEGER { enabled(1), disabled(2) }
       	ACCESS  	read-write
       	STATUS      	mandatory
       	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
               		rcTengIfStackTable), and disabled(2) otherwise."
       	::= { rcTengIfXEntry 15 }

rcTengIfHighSpeed OBJECT-TYPE
       	SYNTAX      	Gauge32
       	ACCESS  	read-only
       	STATUS      	mandatory
       	DESCRIPTION	"An estimate of the interface's mandatory 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."
       	::= { rcTengIfXEntry 16 }

rcTengIfPromiscuousMode  OBJECT-TYPE
       	SYNTAX      	TruthValue
       	ACCESS  	read-write
       	STATUS      	mandatory
       	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 rcTengIfPromiscuousMode does not affect the
               		reception of broadcast and multicast packets/frames by
               		the interface."
       	::= { rcTengIfXEntry 17 }

rcTengIfConnectorPresent   OBJECT-TYPE
       	SYNTAX      	TruthValue
       	ACCESS  	read-only
       	STATUS      	mandatory
       	DESCRIPTION	"This object has the value 'true(1)' if the interface
               		sublayer has a physical connector and the value
               		'false(2)' otherwise."
       	::= { rcTengIfXEntry 18 }

-- RecRecord

rcRecReservTable OBJECT-TYPE
     SYNTAX       SEQUENCE OF RcRecReservEntry
     ACCESS       not-accessible
     STATUS       mandatory
     DESCRIPTION  "This table would display the statistics of several HW
                   record type used.  This will also let the user reserve
                   certain number of records for each type."
     ::= { rcRec 1 }

rcRecReservTablEntry OBJECT-TYPE
        SYNTAX        RcRecReservEntry
        ACCESS        not-accessible
        STATUS        mandatory
        DESCRIPTION   ""
        INDEX         { rcRecReservRecordType }
        ::= { rcRecReservTable 1 }

RcRecReservEntry ::=
     SEQUENCE {
             rcRecReservRecordType      INTEGER,
             rcRecReservUsed            INTEGER,
             rcRecReservReserved        INTEGER,
             rcRecReservNewReserved     INTEGER,
             rcRecReservDefReserved     INTEGER
     }

rcRecReservRecordType OBJECT-TYPE
     SYNTAX         INTEGER  {
                          filter(1),
                          ipmc(2),
                          local(3),
                          mac(4),
                          static(5)
                      }
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "."
     ::= { rcRecReservTablEntry 1 }

rcRecReservUsed OBJECT-TYPE
     SYNTAX         INTEGER
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "Displayes the number of HW records actually usee
                     by the recordType."
     ::= { rcRecReservTablEntry 2 }

rcRecReservReserved OBJECT-TYPE
     SYNTAX         INTEGER
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "Displayes the number of HW records reserved for
                     the recordType."
     ::= { rcRecReservTablEntry 3 }

rcRecReservNewReserved OBJECT-TYPE
     SYNTAX         INTEGER
     ACCESS         read-write
     STATUS         mandatory
     DESCRIPTION    "Displayes the number of HW records that w ill
                     be reserved for this recordType after reset if the
                     configuration is saved."
     ::= { rcRecReservTablEntry 4 }

rcRecReservDefReserved OBJECT-TYPE
     SYNTAX         INTEGER
     ACCESS         read-only
     STATUS         mandatory
     DESCRIPTION    "Number of records reserved for this recordType
                     if loaded with factory default."
     ::= { rcRecReservTablEntry 5 }

-- SSH Group
-- SSH Global Information. All requires RWA access.

rcSshGlobal   OBJECT IDENTIFIER        ::= { rcSsh 1 }

rcSshGlobalVersion OBJECT-TYPE
     SYNTAX       INTEGER {
                         v2only(1),
                         both(2)
                      }
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "SSH version"
     DEFVAL       { v2only }
     ::= { rcSshGlobal 1 }

rcSshGlobalPort OBJECT-TYPE
     SYNTAX       INTEGER
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "SSH connection port."
     DEFVAL       { 22 }
     ::= { rcSshGlobal 2 }

rcSshGlobalMaxSession OBJECT-TYPE
     SYNTAX       INTEGER (0..8)
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "Number of session allowed."
     DEFVAL       { 4 }
     ::= { rcSshGlobal 3 }

rcSshGlobalTimeout OBJECT-TYPE
     SYNTAX       INTEGER (1..120)
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "SSH connection timeout in seconds."
     DEFVAL       { 60 }
     ::= { rcSshGlobal 4 }

rcSshGlobalRsaKeySize OBJECT-TYPE
     SYNTAX       INTEGER (512..1024)
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "SSH Rsa key size."
     DEFVAL       { 1024 }
     ::= { rcSshGlobal 5 }

rcSshGlobalDsaKeySize OBJECT-TYPE
     SYNTAX       INTEGER (512..1024)
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "SSH Dsa key size."
     DEFVAL       { 1024 }
     ::= { rcSshGlobal 6 }

rcSshGlobalRsaAuth OBJECT-TYPE
     SYNTAX       TruthValue
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "Enable/disable SSH RSA authentication"
     DEFVAL       { true }
     ::= { rcSshGlobal 7 }

rcSshGlobalDsaAuth OBJECT-TYPE
     SYNTAX       TruthValue
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "Enable/disable SSH DSA authentication"
     DEFVAL       { true }
     ::= { rcSshGlobal 8 }

rcSshGlobalPassAuth OBJECT-TYPE
     SYNTAX       TruthValue
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "Enable/disable SSH RSA authentication"
     DEFVAL       { true }
     ::= { rcSshGlobal 9 }

rcSshGlobalKeyAction OBJECT-TYPE
     SYNTAX       INTEGER  {
                         generateDsa(1),
                         generateRsa(2),
                         deleteDsa(3),
                         deleteRsa(4)
                      }
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "SSH key action."
     ::= { rcSshGlobal 10 }

rcSshGlobalEnable OBJECT-TYPE
     SYNTAX       INTEGER {
                         false(0),
                         true(1),
                         secure(2)
                      }
     ACCESS       read-write
     STATUS       mandatory
     DESCRIPTION  "Enable/disable, or securely enable SSH. Securely enable
                   turns off other daemon flag, and it takes ffect afte reboot"
     DEFVAL       { false }
     ::= { rcSshGlobal 11 }

END
