
RC-IP-ROUTING-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, IpAddress, Unsigned32
        FROM SNMPv2-SMI
    TruthValue, RowStatus, DisplayString
        FROM SNMPv2-TC
    InterfaceIndex
        FROM IF-MIB
    rcIpRouting, rcIpStaticRoute, rcIpInterVrfStaticRoute
        FROM RC-IP-MIB
    rcIp
        FROM RAPID-CITY
    VrfIdentifier
        FROM RC-VRF-MIB;


rcIpRoutingMib MODULE-IDENTITY
       LAST-UPDATED     "202003120000Z"
       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."

       REVISION "202003120000Z" -- 12 March 2020
       DESCRIPTION "Version 24:  Add rcIpInterVrfStaticRouteName
	   			 Requested by Deborah Fitzgerald (Prem)."

       REVISION "201908070000Z" -- 07 August 2019
       DESCRIPTION "Version 23:  Add rcIpStaticRouteBfdVrfId and rcIpStaticRouteBfdVrfName
	   			 under rcIpStaticRouteBfdTable (Prem)."

       REVISION "201405070000Z" -- 07 May 2014
       DESCRIPTION "Version 22:  Added rcIpSourceInterfaceTable."
	   
       REVISION "201404040000Z" -- 04 April 2014
       DESCRIPTION "Version 21:  Change the rcIpRouteNextHopId size to 255"

       REVISION "201403180000Z" -- 18 March 2014
       DESCRIPTION "Version 20: Added mib objects -
                                rcIpRouteLayer3VirtualInterfaceType and
                                rcIpRouteLayer3VirtualInterface."

       REVISION "201310100000Z" -- 10 October 2013
       DESCRIPTION "Version 19: Corrected syntax definitions."

       REVISION "201101060000Z" -- 06 January 2011
       DESCRIPTION "Version 18: Added mib object rcIpRouteNextHopId.
	            Added enum values iBEVN(75), iAS(128),
                    iASE(129), iBS(130), iBSE(131), iBSN(138), iBSEN(139),
                    iASV(192), iASVE(193), iBSV(194) and iBSVE(195) for 
		    rcIpRoutePathType"

       REVISION "200906050000Z" -- 05 June 2009
       DESCRIPTION "Version 17: Added objects to control routing table size."

       REVISION "200805160000Z" -- 16 May 2008
       DESCRIPTION "Version 16: Added enum values to rcIpRouteProto."

       REVISION "200805090000Z" -- 09 May 2008
       DESCRIPTION "Version 15: Fixed smilint errors."

       REVISION "200803280000Z" -- 28 March 2008
       DESCRIPTION "Version 14: Removed rcIpStaticRouteBfdEnable; Added rcIpStaticRouteBfdTableSize and rcIpStaticRouteBfdTable."

       REVISION "200803170000Z" -- 17 March 2008
       DESCRIPTION "Version 13: Added enumerated values to rcIpRoutePathType."

       REVISION "200803050000Z" -- 05 March 2008
       DESCRIPTION "Version 12: Changed module name to 'RC-VRF-MIB' from 'RC-VIRTUAL-ROUTING-MIB'"

       REVISION "200801100000Z" -- 10 Jan 2008
       DESCRIPTION "Version 11: Added rcIpStaticRouteBfdEnable in RcIpStaticRouteEntry."

       REVISION "200710150000Z" -- 15 Oct 2007
       DESCRIPTION "Version 10: Added enum vrf (15) to rcIpRouteProto."

       REVISION "200709190000Z" -- 19 Sep 2007
       DESCRIPTION "Version 9: Added enums to rcIpRoutePathType."

       REVISION "200705260000Z" -- 26 May 2007
       DESCRIPTION "Version 8: Added rcIpInterVrfStaticRouteTable.
			Removed rcIpStaticRouteNextHopVrfId."
       REVISION "200702200000Z" -- 20 Feb 2007
       DESCRIPTION "Version 7: Fixed a MIB compilation error"
       REVISION "200701310000Z" -- 31 Jan 2007
       DESCRIPTION "Version 6: Added object to rcIpRouteTable and rcIpStaticRouteTable"
       REVISION "200502160000Z" -- 16 Feb 2005
       DESCRIPTION "Version 5: changed range for rcIpStaticRouteIfIndex"
       REVISION "200409300000Z" -- 30 Sept 2004
       DESCRIPTION "Version 4: add range for rcIpRouteAltSequence"
       REVISION "200409210000Z" -- 21 Sept 2004
       DESCRIPTION "Version 3: remove range for rcIpRouteAltSequence"
       REVISION "200407200000Z" -- 20 July 2004
       DESCRIPTION "Version 3: Added version info"  

       ::= { rcIpRouting 0 }

-- Routing group

-- rcIpRouting/rcIpRoutingRedistributeRipToOspf Group

rcIpRoutingRedistributeRipToOspf OBJECT IDENTIFIER ::= {rcIpRouting 1}

rcIpRoutingRedistributeRipToOspfEnable OBJECT-TYPE
        SYNTAX        TruthValue
        MAX-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        Integer32 (1..'FFFF'h)
        MAX-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
        MAX-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
                      }
        MAX-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
        MAX-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        Integer32 (1..16)
        MAX-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
        MAX-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
        MAX-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)
                      }
        MAX-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        Integer32 (1..'FFFF'h)
        MAX-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
                      }
        MAX-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
        MAX-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        Integer32 (1..'FFFF'h)
        MAX-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
        MAX-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
                      }
        MAX-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
        MAX-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
        MAX-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
        MAX-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 }


-- IP Route Table

rcIpRouteTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpRouteEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "This entity's IP Routing table."
    ::= { rcIp 7 }

rcIpRouteEntry OBJECT-TYPE
        SYNTAX          RcIpRouteEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "A route to a particular destination."
        INDEX   { rcIpRouteDest, rcIpRouteMask,
                  rcIpRouteNextHop, rcIpRouteAltSequence }
    ::= { rcIpRouteTable 1 }

RcIpRouteEntry ::=
        SEQUENCE {
                rcIpRouteDest IpAddress,
                rcIpRouteMask IpAddress,
                rcIpRouteNextHop IpAddress,
                rcIpRouteMetric  Integer32,
                rcIpRouteIfIndex InterfaceIndex,
                rcIpRouteType INTEGER,
                rcIpRouteProto INTEGER,
                rcIpRouteAge Integer32,
		rcIpRouteRowStatus RowStatus,
                rcIpRoutePref Integer32,
                rcIpRouteAltSequence Integer32,
                rcIpRoutePathType INTEGER,
                rcIpRouteSrcVrfId VrfIdentifier,
                rcIpRouteNextHopId DisplayString,
                rcIpRouteLayer3VirtualInterfaceType INTEGER,
                rcIpRouteLayer3VirtualInterface Integer32
              }

rcIpRouteDest OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-only
        STATUS          current
        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
        MAX-ACCESS      read-only
        STATUS          current
        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
        MAX-ACCESS      read-create
        STATUS          current
        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          Integer32
        MAX-ACCESS      read-create
        STATUS          current
        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
        MAX-ACCESS      read-only
        STATUS          current
        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)
               }
        MAX-ACCESS      read-only
        STATUS          current
        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),
                    vOspf(15),       -- indicates inter-vrf routes added by OSPF
                    vBgp(16),        -- indicates inter-vrf routes added by BGP
                    vRip(17)         -- indicates inter-vrf routes added by RIP
                }
        MAX-ACCESS      read-only
        STATUS          current
        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          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        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
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "Used to create/delete entries"
    ::= { rcIpRouteEntry 9 }

rcIpRoutePref OBJECT-TYPE
        SYNTAX          Integer32 (0..255)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     ""
    ::= { rcIpRouteEntry 10 }

rcIpRouteAltSequence OBJECT-TYPE
        SYNTAX          Integer32 (0..2147483647)
        MAX-ACCESS      read-only
        STATUS          current
        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
		    iAN(8),    -- Indirect Alternative route not in HW
      		    iAEN(9),   -- Indirect Alternative ECMP route not in HW
      		    iBN(10),   -- Indirect Best route not in HW
      		    iBEN(11),  -- Indirect Best ECMP route not in HW
      		    dBN(14),   -- Direct Best route not in HW
                    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
                    iBF(34), -- Indirect Best route replaced by FTN
                    iBEF(35), -- Indirect Best ECMP route replaced by FTN
                    iBV(66), -- Indirect best IPVPN route
                    iBEV(67), -- Indirect best ECMP IPVPN route
                    iBVN(74),  -- Indirect best IPVPN route not in HW
                    iBEVN(75),  -- Indirect best ECMP IPVPN route not in HW
                    iAS(128), -- Indirect alternate route type  
                    iASE(129), -- Indirect alternate ECMP route type
                    iBS(130), -- Indirect Best SPBm Route
                    iBSE(131), -- Indirect Best SPBm Ecmp route
                    iBSN(138), -- SPBm will define this later
                    iBSEN(139), -- SPBm will define this later
                    iASV(192), -- Indirect alternate VPN route type 
                    iASVE(193), -- Indirect alternate ECMP route type 
                    iBSV(194), -- Indirect Best VPN Route over SPBm network
                    iBSVE(195) -- Indirect Best VPN ECMP Route over SPBm network
               }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "The type of route. It is a combination of
                       direct, indirect, best, alternative and ECMP path."
    ::= { rcIpRouteEntry 12 }

rcIpRouteSrcVrfId OBJECT-TYPE
        SYNTAX      VrfIdentifier
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION "srcVrfId of next-hop address"
    ::= { rcIpRouteEntry 13 }

rcIpRouteNextHopId OBJECT-TYPE
        SYNTAX  	DisplayString (SIZE (255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Identifier of the next-hop, hostname or mac adress."
    ::= { rcIpRouteEntry 14 }

rcIpRouteLayer3VirtualInterfaceType OBJECT-TYPE
        SYNTAX  INTEGER {
                    none(1),  -- not applicable for route
                    spb(2)    -- uses I-SID for rcIpRouteLayer3VirtualInterface
                }
        MAX-ACCESS  	read-only
        STATUS  	current
        DESCRIPTION     "Identifies type for value specified in the
                        rcIpRouteLayer3VirtualInterface field."
    ::= { rcIpRouteEntry 15 }

rcIpRouteLayer3VirtualInterface OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Identifier of the Layer3 Virtual Interface.
                        When the value is an SPB I-SID, 0 denotes GlobalRouter
                        and -1 denotes not applicable to route."
    ::= { rcIpRouteEntry 16 }

 
--IP Static Route

rcIpStaticRouteTableSize OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "size of Ip Static Route Table."
        ::= { rcIpStaticRoute 1 }

rcIpStaticRouteTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpStaticRouteEntry
        MAX-ACCESS      not-accessible 
        STATUS          current 
        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
        MAX-ACCESS        	not-accessible
        STATUS        	current
        DESCRIPTION   	"A static route to a particular destination."
        INDEX         	{ rcIpStaticRouteDest,
                          rcIpStaticRouteMask,
                          rcIpStaticRouteNextHop }
        ::= { rcIpStaticRouteTable 1 }
 
RcIpStaticRouteEntry ::=
        SEQUENCE {
                rcIpStaticRouteDest   	      IpAddress,
                rcIpStaticRouteMask   	      IpAddress,
                rcIpStaticRouteNextHop	      IpAddress,
                rcIpStaticRouteMetric         Integer32,
                rcIpStaticRouteIfIndex        Integer32,
                rcIpStaticRoutePreference     Integer32,
                rcIpStaticRouteEnable         TruthValue,
                rcIpStaticRouteStatus         INTEGER,
                rcIpStaticRouteRowStatus      RowStatus,
                rcIpStaticRouteLocalNextHop   TruthValue
        }
 
rcIpStaticRouteDest OBJECT-TYPE
        SYNTAX        	IpAddress 
        MAX-ACCESS      read-only
        STATUS        	current
        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 
        MAX-ACCESS      read-only
        STATUS        	current
        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 
        MAX-ACCESS      read-only
        STATUS        	current
        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        	Integer32 (1..'FFFF'h)
        MAX-ACCESS      read-create
        STATUS        	current
        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        	Integer32 (0..65535)
        MAX-ACCESS      read-only
        STATUS        	current
        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        	Integer32 (1..255) 
        MAX-ACCESS      read-create
        STATUS        	current
        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
        MAX-ACCESS      read-create
        STATUS         	current
        DESCRIPTION    	"Used to enable/disable this entry."
	DEFVAL        { true }
        ::= { rcIpStaticRouteEntry 7 }

rcIpStaticRouteStatus OBJECT-TYPE
        SYNTAX        	INTEGER {
		         	inactive(0),
			 	active(1)
		      	}
        MAX-ACCESS      read-only
        STATUS        	current
        DESCRIPTION   	"Used to indicate the current status of
			this entry."
	DEFVAL        	{ active }
        ::= { rcIpStaticRouteEntry 8 }

rcIpStaticRouteRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "Used to create/delete entries"
        ::= { rcIpStaticRouteEntry 9 }

rcIpStaticRouteLocalNextHop OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-create
        STATUS          current
        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 }
        
rcIpStaticRouteBfdTableSize OBJECT-TYPE
        SYNTAX        Integer32 (0..256)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "size of IP static route BFD table."
        ::= { rcIpStaticRoute 3 }

rcIpStaticRouteBfdTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpStaticRouteBfdEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "This table is used to hold next hop addresses on which BFD is enabled." 
        ::= { rcIpStaticRoute 4 }

rcIpStaticRouteBfdEntry OBJECT-TYPE
        SYNTAX        	RcIpStaticRouteBfdEntry
        MAX-ACCESS      not-accessible
        STATUS        	current
        DESCRIPTION   	"An IP address of the next hop of the BFD session."
        INDEX         	{rcIpStaticRouteBfdNextHop}
        ::= { rcIpStaticRouteBfdTable 1 }

RcIpStaticRouteBfdEntry ::=
        SEQUENCE {
                rcIpStaticRouteBfdNextHop	   IpAddress,
                rcIpStaticRouteBfdRowStatus        RowStatus,
                rcIpStaticRouteBfdVrfId            VrfIdentifier,
                rcIpStaticRouteBfdVrfName          DisplayString
        }

rcIpStaticRouteBfdNextHop OBJECT-TYPE
        SYNTAX        	IpAddress 
        MAX-ACCESS      read-only
        STATUS        	current
        DESCRIPTION   	"The IP address of the next hop of the BFD session."
        ::= { rcIpStaticRouteBfdEntry 1 }

rcIpStaticRouteBfdRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "Used to create/delete entries"
        ::= { rcIpStaticRouteBfdEntry 2 }

rcIpStaticRouteBfdVrfId  OBJECT-TYPE
        SYNTAX        VrfIdentifier
        MAX-ACCESS    read-create
        STATUS        current
        DESCRIPTION   "Indicates the Virtual Router to which the IPv4 static route BFD
                       instance belongs."
        ::= { rcIpStaticRouteBfdEntry 3 }

rcIpStaticRouteBfdVrfName OBJECT-TYPE
        SYNTAX         DisplayString (SIZE (0..32))
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "The Name of the Virtual Router to which the IPv4 static route BFD
	                instance belongs."
	::= { rcIpStaticRouteBfdEntry 4 }

rcIpInterVrfStaticRouteTableSize OBJECT-TYPE
        SYNTAX        Integer32
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION   "size of Ip Static Route Table."
        ::= { rcIpInterVrfStaticRoute 1 }

rcIpInterVrfStaticRouteTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF RcIpInterVrfStaticRouteEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        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."
    ::= { rcIpInterVrfStaticRoute 2 }

rcIpInterVrfStaticRouteEntry OBJECT-TYPE
        SYNTAX          RcIpInterVrfStaticRouteEntry
        MAX-ACCESS              not-accessible
        STATUS          current
        DESCRIPTION     "A static route to a particular destination."
        INDEX           { rcIpInterVrfStaticRouteOwnerVrfId,
                          rcIpInterVrfStaticRouteDest,
                          rcIpInterVrfStaticRouteMask,
                          rcIpInterVrfStaticRouteNextHop }
        ::= { rcIpInterVrfStaticRouteTable 1 }

RcIpInterVrfStaticRouteEntry ::=
        SEQUENCE {
                rcIpInterVrfStaticRouteOwnerVrfId     VrfIdentifier, 
                rcIpInterVrfStaticRouteDest           IpAddress,
                rcIpInterVrfStaticRouteMask           IpAddress,
                rcIpInterVrfStaticRouteNextHop        IpAddress,
                rcIpInterVrfStaticRouteMetric         Integer32,
                rcIpInterVrfStaticRouteIfIndex        Integer32,
                rcIpInterVrfStaticRoutePreference     Integer32,
                rcIpInterVrfStaticRouteEnable         TruthValue,
                rcIpInterVrfStaticRouteStatus         INTEGER,
                rcIpInterVrfStaticRouteRowStatus      RowStatus,
                rcIpInterVrfStaticRouteLocalNextHop   TruthValue,
                rcIpInterVrfStaticRouteNextHopVrfId   VrfIdentifier,
		rcIpInterVrfStaticRouteName           DisplayString
        }

rcIpInterVrfStaticRouteOwnerVrfId OBJECT-TYPE
        SYNTAX        VrfIdentifier
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "Owner VRF id of the static route"
        ::= { rcIpInterVrfStaticRouteEntry 1 }
 
rcIpInterVrfStaticRouteDest OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      not-accessible 
        STATUS          current
        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."
        ::= { rcIpInterVrfStaticRouteEntry 2 }

rcIpInterVrfStaticRouteMask OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      not-accessible        
        STATUS          current
        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."
        ::= { rcIpInterVrfStaticRouteEntry 3 }

rcIpInterVrfStaticRouteNextHop OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      not-accessible        
        STATUS          current
        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)."
        ::= { rcIpInterVrfStaticRouteEntry 4 }


rcIpInterVrfStaticRouteMetric OBJECT-TYPE
        SYNTAX          Integer32 (1..'FFFF'h)
        MAX-ACCESS      read-create
        STATUS          current
        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 }
        ::= { rcIpInterVrfStaticRouteEntry 5 }

rcIpInterVrfStaticRouteIfIndex OBJECT-TYPE
        SYNTAX          Integer32 (0..65535)
        MAX-ACCESS      read-only
        STATUS          current
        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."
        ::= { rcIpInterVrfStaticRouteEntry 6 }

rcIpInterVrfStaticRoutePreference OBJECT-TYPE
        SYNTAX          Integer32 (1..255)
        MAX-ACCESS      read-create
        STATUS          current
        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."
        ::= { rcIpInterVrfStaticRouteEntry 7 }

rcIpInterVrfStaticRouteEnable OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "Used to enable/disable this entry."
        DEFVAL        { true }
        ::= { rcIpInterVrfStaticRouteEntry 8 }

rcIpInterVrfStaticRouteStatus OBJECT-TYPE
        SYNTAX          INTEGER {
                                inactive(0),
                                active(1)
                        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     "Used to indicate the current status of
                        this entry."
        DEFVAL          { active }
        ::= { rcIpInterVrfStaticRouteEntry 9 }

rcIpInterVrfStaticRouteRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "Used to create/delete entries"
        ::= { rcIpInterVrfStaticRouteEntry 10 }

rcIpInterVrfStaticRouteLocalNextHop OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-create
        STATUS          current
        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 }
        ::= { rcIpInterVrfStaticRouteEntry 11 }

rcIpInterVrfStaticRouteNextHopVrfId OBJECT-TYPE
        SYNTAX          VrfIdentifier
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "Used to indicate nhVrfId in inter-VRF static-route configuration"
        ::= { rcIpInterVrfStaticRouteEntry 12 }

rcIpInterVrfStaticRouteName OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..64))
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "An administratively-assigned name for this static route"
        ::= { rcIpInterVrfStaticRouteEntry 13 }

-- rcIpRouting/rcIpRoutingRedistributeRipToOspf Group

rcIpRoutingNumRoutesScalars OBJECT IDENTIFIER ::= { rcIpRouting 7 }

rcIpRoutingNumRoutesMaximumTotal OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-write
    STATUS        obsolete
    DESCRIPTION
        "The maximum total number of routes allowed."
    ::= { rcIpRoutingNumRoutesScalars 1 }

rcIpRoutingNumRoutesMaximumLocal OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-write
    STATUS        obsolete
    DESCRIPTION
        "The maximum number of local routes allowed."
    ::= { rcIpRoutingNumRoutesScalars 2 }

rcIpRoutingNumRoutesMaximumStatic OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-write
    STATUS        obsolete
    DESCRIPTION
        "The maximum number of static routes allowed."
    ::= { rcIpRoutingNumRoutesScalars 3 }

rcIpRoutingNumRoutesCurrentTotal OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-write
    STATUS        obsolete
    DESCRIPTION
        "The current total number of routes."
    ::= { rcIpRoutingNumRoutesScalars 4 }

rcIpRoutingNumRoutesCurrentLocal OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-write
    STATUS        obsolete
    DESCRIPTION
        "The current number of local routes."
    ::= { rcIpRoutingNumRoutesScalars 5 }

rcIpRoutingNumRoutesCurrentStatic OBJECT-TYPE
    SYNTAX        Unsigned32
    MAX-ACCESS    read-write
    STATUS        obsolete
    DESCRIPTION
        "The current number of static routes."
    ::= { rcIpRoutingNumRoutesScalars 6 }

-- rcIpSourceInterfaceTable for Circuitless IP

rcIpSourceInterfaceTable OBJECT-TYPE 
        SYNTAX          SEQUENCE OF RcIpSourceInterfaceEntry
        MAX-ACCESS      not-accessible 
        STATUS          current
        DESCRIPTION     "Table used to maintain source address information."
        ::= { rcIpRouting 8 }

rcIpSourceInterfaceEntry OBJECT-TYPE
        SYNTAX        	RcIpSourceInterfaceEntry
        MAX-ACCESS      not-accessible
        STATUS        	current
        DESCRIPTION   	"An entry of Ip Source Interface Table."
        INDEX         	{ rcIpSourceInterfaceAppId }
        ::= { rcIpSourceInterfaceTable 1 }

RcIpSourceInterfaceEntry ::=
        SEQUENCE {
                rcIpSourceInterfaceAppId        INTEGER,
                rcIpSourceInterfaceType         INTEGER,
                rcIpSourceInterfaceId           Integer32
        }

rcIpSourceInterfaceAppId OBJECT-TYPE
        SYNTAX          INTEGER {
                                radius(1),
                                syslog(2),
                                tacacs(3),
                                snmp(4),
                                ssh(5),
                                telnet(6)
                        }
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "The application which can be set to use a specific interface
                         as source IP address in packets sent from the switch."
        ::= { rcIpSourceInterfaceEntry 1 }

rcIpSourceInterfaceType OBJECT-TYPE
        SYNTAX          INTEGER {
                                none(1),
                                loopback(2),
                                vlan(3)
                        }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The type of source address used."
        DEFVAL          { none }
        ::= { rcIpSourceInterfaceEntry 2 }

rcIpSourceInterfaceId OBJECT-TYPE
        SYNTAX          Integer32 (0..16)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "The ID of the interface used as source address.
                         An ID of 0 means no interface is currently set for this entry."
        DEFVAL          { 0 }
        ::= { rcIpSourceInterfaceEntry 3 }

END

