MPLS-VPN-MIB

This MIB contains managed object definitions for the Multiprotocol Label Switching (MPLS)/Border Gateway Protocol (BGP) Virtua...

  • Version: 2001-10-15

    MPLS-VPN-MIB@2001-10-15


    
      module MPLS-VPN-MIB {
    
        yang-version 1;
    
        namespace
          "urn:ietf:params:xml:ns:yang:smiv2:MPLS-VPN-MIB";
    
        prefix MPLS-VPN-MIB;
    
        import IF-MIB {
          prefix if-mib;
        }
        import INET-ADDRESS-MIB {
          prefix inet-address;
        }
        import SNMP-FRAMEWORK-MIB {
          prefix snmp-framework;
        }
        import SNMPv2-TC {
          prefix snmpv2-tc;
        }
        import ietf-yang-smiv2 {
          prefix smiv2;
        }
        import ietf-yang-types {
          prefix yang;
        }
    
        organization
          "Provider Provisioned Virtual Private
    Networks Working Group.";
    
        contact
          "        Thomas D. Nadeau
    tnadeau@cisco.com
    
    Luyuan Fang
    luyuanfang@att.com
    
    Stephen Brannon
    
    Fabio M. Chiussi
    fabio@bell-labs.com
    
    Joseph Dube
    jdube@avici.com
    
    Martin Tatham
    martin.tatham@bt.com
    
    Harmen van der Linde
    hvdl@att.com
    
    Comments and discussion to ppvpn@ietf.org";
    
        description
          "This MIB contains managed object definitions for the
    Multiprotocol Label Switching (MPLS)/Border Gateway
    
    
    Protocol (BGP) Virtual Private Networks (VPNs) as
    defined in : Rosen, E., Viswanathan, A., and R.
    Callon, Multiprotocol Label Switching Architecture,
    RFC3031, January 2001.";
    
        revision "2001-10-15" {
          description
            "Fixed compilation errors from last version.
    
    Changed mplsVpnInterfaceVpnRouteDistProtocol to be a BITS
    structure to allow more than one to be selected.
    
    Changed mplsIfDown -> mplsVrfIfDown
    Changed mplsIfUp -> mplsVrfIfUp";
        }
    
        revision "2001-10-05" {
          description
            "Added integer index and removed route distinguisher index
    from mplsVpnVrfRouteTargetTable.
    
    Removed mplsVpn ifType; simply use mpls(166) ifType for
    MPLS VPN-enabled interfaces instead.
    
    Removed interface and protocol-related objects from
    mplsVpnVrfTable.
    
    Moved mplsVpnVrfConfMaxPossibleRoutes from
    mplsVpnVrfTable to scalar object.
    
    Removed mplsVpnActiveVrfInterfaces scalar object.
    Removed mplsVpnVrfUpTime object from mplsVpnVrfTable.
    
    Added MplsVpnVrfBgpNbrPrefixTable providing a linkage with
    the bgp4PathAttrTable of the BGPv4 MIB.";
        }
    
        revision "2001-07-17" {
          description
            "Removed mplsVpnVrfRouteTargetImport/Export from route target
    table, and modified indexing to better reflect N <> R
    distribution policy. Also added new object called
    mplsVpnVrfRouteTargetType which denotes import/export
    policy for the specified route target.
    
    Added mplsVpnInterfaceConfRowStatus which allows for
    an interface to be associated with a VPN through SNMP
    configuration.
    
    
    Added VrfName to index of VrfInterfaceConfEntry which allows
    interfaces to be associated with the appropriate VRF.
    
    Modified description of mplsVpnVrfConfMaxPossibleRoutes and
    mplsVpnVrfConfMaxRoutes to allow for undetermined value.
    
    Removed 'both' enumerated value in mplsVpnVrfBgpNbrRole.
    
    Updated example to reflect these changes.";
        }
    
        revision "2001-07-10" {
          description
            "Renamed mplsNumVrfSecViolationThreshExceeded to
    mplsNumVrfSecIllegalLabelThreshExceeded, and removed
    mplsVpnInterfaceConfIndex from varbind.
    
    Changed MplsVpnId TC from SnmpAdminString to OCTET STRING.
    
    Added mplsVpnVrfSecIllegalLabelRcvThresh to
    mplsVpnVrfSecEntry.
    
    Changed duplicate mplsVpnVrfRouteTargetImport in
    mplsVpnVrfRouteTargetEntry INDEX to
    mplsVpnVrfRouteTargetExport.";
        }
    
        revision "2001-06-19" {
          description
            "Fixed several compile errors.";
        }
    
        revision "2001-05-30" {
          description
            "Updated most of document and MIB to reflect comments from WG.";
        }
    
        revision "2000-09-30" {
          description "Initial draft version.";
        }
    
        smiv2:alias "mplsVpnVrfSecTable" {
          description "This table specifies per MPLS/BGP VPN VRF Table security
    features.";
          smiv2:oid "1.3.6.1.3.118.1.2.6";
        }
        smiv2:alias "mplsVpnVrfSecEntry" {
          description "An entry in this table is created by an LSR for
    every VRF capable of supporting MPLS/BGP VPN. Each
    entry in this table is used to indicate security-related
    information for each VRF entry.";
          smiv2:oid "1.3.6.1.3.118.1.2.6.1";
        }
        smiv2:alias "mplsVpnVrfPerfTable" {
          description "This table specifies per MPLS/BGP VPN VRF Table performance
    information.";
          smiv2:oid "1.3.6.1.3.118.1.3.1";
        }
        smiv2:alias "mplsVpnVrfPerfEntry" {
          description "An entry in this table is created by an LSR for
    every VRF capable of supporting MPLS/BGP VPN.";
          smiv2:oid "1.3.6.1.3.118.1.3.1.1";
        }
        smiv2:alias "mplsVpnMIB" {
          smiv2:oid "1.3.6.1.3.118";
        }
        smiv2:alias "mplsVpnNotifications" {
          smiv2:oid "1.3.6.1.3.118.0";
        }
        smiv2:alias "mplsVpnObjects" {
          smiv2:oid "1.3.6.1.3.118.1";
        }
        smiv2:alias "mplsVpnScalars" {
          smiv2:oid "1.3.6.1.3.118.1.1";
        }
        smiv2:alias "mplsVpnConf" {
          smiv2:oid "1.3.6.1.3.118.1.2";
        }
        smiv2:alias "mplsVpnPerf" {
          smiv2:oid "1.3.6.1.3.118.1.3";
        }
        smiv2:alias "mplsVpnRoute" {
          smiv2:oid "1.3.6.1.3.118.1.4";
        }
        smiv2:alias "mplsVpnConformance" {
          smiv2:oid "1.3.6.1.3.118.3";
        }
        smiv2:alias "mplsVpnGroups" {
          smiv2:oid "1.3.6.1.3.118.3.1";
        }
        smiv2:alias "mplsVpnCompliances" {
          smiv2:oid "1.3.6.1.3.118.3.2";
        }
    
        typedef MplsVpnId {
          type binary {
            length "0..31";
          }
          description
            "An identifier that is assigned to each MPLS/BGP VPN and
    is used to uniquely identify it. This is assigned by the
    system operator or NMS and SHOULD be unique throughout
    
    
    the MPLS domain. If this is the case, then this identifier
    can then be used at any LSR within a specific MPLS domain
    to identify this MPLS/BGP VPN. It may also be possible to
    preserve the uniqueness of this identifier across MPLS
    domain boundaries, in which case this identifier can then
    be used to uniquely identify MPLS/BGP VPNs on a more global
    basis.";
          reference
            "RFC 2685 [VPN-RFC2685] Fox B., et al, 'Virtual Private
            Networks Identifier', September 1999.";
    
        }
    
        typedef MplsVpnRouteDistinguisher {
          type binary {
            length "0..256";
          }
          description
            "Syntax for a route distinguisher and route target.";
        }
    
        container MPLS-VPN-MIB {
          config false;
          container mplsVpnScalars {
            smiv2:oid "1.3.6.1.3.118.1.1";
            leaf mplsVpnConfiguredVrfs {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.3.118.1.1.1";
              type uint32;
              description
                "The number of VRFs which are configured on this node.";
            }
    
            leaf mplsVpnActiveVrfs {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.3.118.1.1.2";
              type uint32;
              description
                "The number of VRFs which are active on this node.
    That is, those VRFs whose corresponding mplsVpnVrfOperStatus
    object value is equal to operational (1).";
            }
    
            leaf mplsVpnConnectedInterfaces {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.3.118.1.1.3";
              type uint32;
              description
                "Total number of interfaces connected to a VRF.";
            }
    
            leaf mplsVpnNotificationEnable {
              smiv2:defval "false";
              smiv2:max-access "read-write";
              smiv2:oid "1.3.6.1.3.118.1.1.4";
              type boolean;
              description
                "If this object is true, then it enables the
    generation of all notifications defined in
    this MIB.";
            }
    
            leaf mplsVpnVrfConfMaxPossibleRoutes {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.3.118.1.1.5";
              type uint32;
              description
                "Denotes maximum number of routes which the device
    will allow all VRFs jointly to hold. If this value is
    set to 0, this indicates that the device is
    unable to determine the absolute maximum. In this
    case, the configured maximum MAY not actually
    be allowed by the device.";
            }
          }  // container mplsVpnScalars
    
          container mplsVpnInterfaceConfTable {
            smiv2:oid "1.3.6.1.3.118.1.2.1";
            description
              "This table specifies per-interface MPLS capability
    and associated information.";
            list mplsVpnInterfaceConfEntry {
              smiv2:oid "1.3.6.1.3.118.1.2.1.1";
              key "mplsVpnVrfName mplsVpnInterfaceConfIndex";
              description
                "An entry in this table is created by an LSR for
    every interface capable of supporting MPLS/BGP VPN.
    
    
    Each entry in this table is meant to correspond to
    an entry in the Interfaces Table.";
              leaf mplsVpnVrfName {
                type leafref {
                  path "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry/MPLS-VPN-MIB:mplsVpnVrfName";
                }
              }
    
              leaf mplsVpnInterfaceConfIndex {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.3.118.1.2.1.1.1";
                type if-mib:InterfaceIndex;
                description
                  "This is a unique index for an entry in the
    MplsVPNInterfaceConfTable. A non-zero index for an
    entry indicates the ifIndex for the corresponding
    interface entry in the MPLS-VPN-layer in the ifTable.
    Note that this table does not necessarily correspond
    one-to-one with all entries in the Interface MIB
    having an ifType of MPLS-layer; rather, only those
    which are enabled for MPLS/BGP VPN functionality.";
                reference
                  "RFC 2233 - The Interfaces Group MIB using SMIv2,
                  McCloghrie, K., and F. Kastenholtz, Nov. 1997";
    
              }
    
              leaf mplsVpnInterfaceLabelEdgeType {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.1.1.2";
                type enumeration {
                  enum "providerEdge" {
                    value 1;
                  }
                  enum "customerEdge" {
                    value 2;
                  }
                }
                description
                  "Either the providerEdge(0) (PE) or customerEdge(1)
    (CE) bit MUST be set.";
              }
    
              leaf mplsVpnInterfaceVpnClassification {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.1.1.3";
                type enumeration {
                  enum "carrierOfCarrier" {
                    value 1;
                  }
                  enum "enterprise" {
                    value 2;
                  }
                  enum "interProvider" {
                    value 3;
                  }
                }
                description
                  "Denotes whether this link participates in a
    carrier-of-carrier's, enterprise, or inter-provider
    scenario.";
              }
    
              leaf mplsVpnInterfaceVpnRouteDistProtocol {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.1.1.4";
                type bits {
                  bit dummy {
                    position 0;
                  }
                  bit none {
                    position 1;
                  }
                  bit bgp {
                    position 2;
                  }
                  bit ospf {
                    position 3;
                  }
                  bit rip {
                    position 4;
                  }
                  bit isis {
                    position 5;
                  }
                  bit other {
                    position 6;
                  }
                }
                description
                  "Denotes the route distribution protocol across the
    PE-CE link. Note that more than one routing protocol
    may be enabled at the same time.";
              }
    
              leaf mplsVpnInterfaceConfStorageType {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.1.1.5";
                type snmpv2-tc:StorageType;
                description
                  "The storage type for this entry.";
              }
    
              leaf mplsVpnInterfaceConfRowStatus {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.1.1.6";
                type snmpv2-tc:RowStatus;
                description
                  "The row status for this entry. This value is
    used to create a row in this table, signifying
    that the specified interface is to be associated
    with the specified interface. If this operation
    succeeds, the interface will have been associated,
    otherwise the agent would not allow the association.
    If the agent only allows read-only operations on
    this table, it will create entries in this table
    as they are created.";
              }
            }  // list mplsVpnInterfaceConfEntry
          }  // container mplsVpnInterfaceConfTable
    
          container mplsVpnVrfTable {
            smiv2:oid "1.3.6.1.3.118.1.2.2";
            description
              "This table specifies per-interface MPLS/BGP VPN
    VRF Table capability and associated information.
    Entries in this table define VRF routing instances
    associated with MPLS/VPN interfaces. Note that
    multiple interfaces can belong to the same VRF
    instance. The collection of all VRF instances
    comprises an actual VPN.";
            list mplsVpnVrfEntry {
              smiv2:oid "1.3.6.1.3.118.1.2.2.1";
              key "mplsVpnVrfName";
              description
                "An entry in this table is created by an LSR for
    every VRF capable of supporting MPLS/BGP VPN. The
    indexing provides an ordering of VRFs per-VPN
    interface.";
              leaf mplsVpnVrfName {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.1";
                type MplsVpnId;
                description
                  "The human-readable name of this VPN. This MAY
    be equivalent to the RFC2685 VPN-ID.";
                reference
                  "RFC 2685 [VPN-RFC2685] Fox B., et al, `Virtual
                  
                  
                  Private Networks Identifier`, September 1999.";
    
              }
    
              leaf mplsVpnVrfDescription {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.2";
                type snmp-framework:SnmpAdminString;
                description
                  "The human-readable description of this VRF.";
              }
    
              leaf mplsVpnVrfRouteDistinguisher {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.3";
                type MplsVpnRouteDistinguisher;
                description
                  "The route distinguisher for this VRF.";
              }
    
              leaf mplsVpnVrfCreationTime {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.4";
                type yang:timestamp;
                description
                  "The time at which this VRF entry was created.";
              }
    
              leaf mplsVpnVrfOperStatus {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.5";
                type enumeration {
                  enum "up" {
                    value 1;
                  }
                  enum "down" {
                    value 2;
                  }
                }
                description
                  "Denotes whether a VRF is operational or not. A VRF is
    up(1) when at least one interface associated with the
    VRF, which ifOperStatus is up(1). A VRF is down(2) when:
    
    a. There does not exist at least one interface whose
       ifOperStatus is up(1).
    
    b. There are no interfaces associated with the VRF.";
              }
    
              leaf mplsVpnVrfActiveInterfaces {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.6";
                type uint32;
                description
                  "Total number of interfaces connected to this VRF with
    
    
    ifOperStatus = up(1).
    
    This counter should be incremented when:
    
    a. When the ifOperStatus of one of the connected interfaces
       changes from down(2) to up(1).
    
    b. When an interface with ifOperStatus = up(1) is connected
       to this VRF.
    
    This counter should be decremented when:
    
    a. When the ifOperStatus of one of the connected interfaces
       changes from up(1) to down(2).
    
    b. When one of the connected interfaces with
       ifOperStatus = up(1) gets disconnected from this VRF.";
              }
    
              leaf mplsVpnVrfAssociatedInterfaces {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.7";
                type uint32;
                description
                  "Total number of interfaces connected to this VRF
    (independent of ifOperStatus type).";
              }
    
              leaf mplsVpnVrfConfMidRouteThreshold {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.8";
                type uint32;
                description
                  "Denotes mid-level water marker for the number
    of routes which  this VRF may hold.";
              }
    
              leaf mplsVpnVrfConfHighRouteThreshold {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.9";
                type uint32;
                description
                  "Denotes high-level water marker for the number of
    routes which  this VRF may hold.";
              }
    
              leaf mplsVpnVrfConfMaxRoutes {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.10";
                type uint32;
                description
                  "Denotes maximum number of routes which this VRF is
    configured to hold. This value MUST be less than or
    equal to mplsVrfMaxPossibleRoutes unless it is set
    to 0.";
              }
    
              leaf mplsVpnVrfConfLastChanged {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.11";
                type yang:timestamp;
                description
                  "The value of sysUpTime at the time of the last
    change of this table entry, which includes changes of
    VRF parameters defined in this table or addition or
    deletion of interfaces associated with this VRF.";
              }
    
              leaf mplsVpnVrfConfRowStatus {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.12";
                type snmpv2-tc:RowStatus;
                description
                  "This variable is used to create, modify, and/or
    delete a row in this table.";
              }
    
              leaf mplsVpnVrfConfStorageType {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.2.1.13";
                type snmpv2-tc:StorageType;
                description
                  "The storage type for this entry.";
              }
            }  // list mplsVpnVrfEntry
          }  // container mplsVpnVrfTable
    
          container mplsVpnVrfRouteTargetTable {
            smiv2:oid "1.3.6.1.3.118.1.2.3";
            description
              "This table specifies per-VRF route target association.
    Each entry identifies a connectivity policy supported
    as part of a VPN.";
            list mplsVpnVrfRouteTargetEntry {
              smiv2:oid "1.3.6.1.3.118.1.2.3.1";
              key "mplsVpnVrfName mplsVpnVrfRouteTargetIndex mplsVpnVrfRouteTargetType";
              description
                " An entry in this table is created by an LSR for
    each route target configured for a VRF supporting
    a MPLS/BGP VPN instance. The indexing provides an
    ordering per-VRF instance.";
              leaf mplsVpnVrfName {
                type leafref {
                  path "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry/MPLS-VPN-MIB:mplsVpnVrfName";
                }
              }
    
              leaf mplsVpnVrfRouteTargetIndex {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.3.118.1.2.3.1.2";
                type uint32;
                description
                  "Auxiliary index for route-targets configured for a
    particular VRF.";
              }
    
              leaf mplsVpnVrfRouteTargetType {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.3.118.1.2.3.1.3";
                type enumeration {
                  enum "import" {
                    value 1;
                  }
                  enum "export" {
                    value 2;
                  }
                  enum "both" {
                    value 3;
                  }
                }
                description
                  "The route target export distribution type.";
              }
    
              leaf mplsVpnVrfRouteTarget {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.3.1.4";
                type MplsVpnRouteDistinguisher;
                description
                  "The route target distribution policy.";
              }
    
              leaf mplsVpnVrfRouteTargetDescr {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.3.1.5";
                type snmpv2-tc:DisplayString;
                description
                  "Description of the route target.";
              }
    
              leaf mplsVpnVrfRouteTargetRowStatus {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.3.1.6";
                type snmpv2-tc:RowStatus;
                description
                  "Row status for this entry.";
              }
            }  // list mplsVpnVrfRouteTargetEntry
          }  // container mplsVpnVrfRouteTargetTable
    
          container mplsVpnVrfBgpNbrAddrTable {
            smiv2:oid "1.3.6.1.3.118.1.2.4";
            description
              "Each entry in this table specifies a per-interface
    MPLS/EBGP neighbor.";
            list mplsVpnVrfBgpNbrAddrEntry {
              smiv2:oid "1.3.6.1.3.118.1.2.4.1";
              key "mplsVpnVrfName mplsVpnInterfaceConfIndex mplsVpnVrfBgpNbrIndex";
              description
                "An entry in this table is created by an LSR for
    every VRF capable of supporting MPLS/BGP VPN. The
    indexing provides an ordering of VRFs per-VPN
    interface.";
              leaf mplsVpnVrfName {
                type leafref {
                  path "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry/MPLS-VPN-MIB:mplsVpnVrfName";
                }
              }
    
              leaf mplsVpnInterfaceConfIndex {
                type leafref {
                  path "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnInterfaceConfTable/MPLS-VPN-MIB:mplsVpnInterfaceConfEntry/MPLS-VPN-MIB:mplsVpnInterfaceConfIndex";
                }
              }
    
              leaf mplsVpnVrfBgpNbrIndex {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.3.118.1.2.4.1.1";
                type uint32;
                description
                  "This is a unique tertiary index for an entry in the
    MplsVpnVrfBgpNbrAddrEntry Table.";
              }
    
              leaf mplsVpnVrfBgpNbrRole {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.4.1.2";
                type enumeration {
                  enum "ce" {
                    value 1;
                  }
                  enum "pe" {
                    value 2;
                  }
                }
                description
                  "Denotes the role played by this EBGP neighbor
    with respect to this VRF.";
              }
    
              leaf mplsVpnVrfBgpNbrType {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.4.1.3";
                type inet-address:InetAddressType;
                description
                  "Denotes the address family of the PE address.";
              }
    
              leaf mplsVpnVrfBgpNbrAddr {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.4.1.4";
                type inet-address:InetAddress;
                description
                  "Denotes the EBGP neighbor address.";
              }
    
              leaf mplsVpnVrfBgpNbrRowStatus {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.4.1.5";
                type snmpv2-tc:RowStatus;
                description
                  "This variable is used to create, modify, and/or
    delete a row in this table.";
              }
    
              leaf mplsVpnVrfBgpNbrStorageType {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.2.4.1.6";
                type snmpv2-tc:StorageType;
                description
                  "The storage type for this entry.";
              }
            }  // list mplsVpnVrfBgpNbrAddrEntry
          }  // container mplsVpnVrfBgpNbrAddrTable
    
          container mplsVpnVrfBgpNbrPrefixTable {
            smiv2:oid "1.3.6.1.3.118.1.2.5";
            description
              "This table specifies per-VRF vpnv4 multi-protocol
    prefixes supported by BGP.";
            list mplsVpnVrfBgpNbrPrefixEntry {
              smiv2:oid "1.3.6.1.3.118.1.2.5.1";
              key "mplsVpnVrfName mplsVpnVrfBgpPathAttrIpAddrPrefix mplsVpnVrfBgpPathAttrIpAddrPrefixLen mplsVpnVrfBgpPathAttrPeer";
              description
                "An entry in this table is created by an LSR for
    every BGP prefix associated with a VRF supporting a
    MPLS/BGP VPN. The indexing provides an ordering of
    BGP prefixes per VRF.";
              leaf mplsVpnVrfName {
                type leafref {
                  path "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry/MPLS-VPN-MIB:mplsVpnVrfName";
                }
              }
    
              leaf mplsVpnVrfBgpPathAttrPeer {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.1";
                type inet-address:InetAddress;
                description
                  "The IP address of the peer where the path
    information was learned.";
              }
    
              leaf mplsVpnVrfBgpPathAttrIpAddrPrefixLen {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.2";
                type int32 {
                  range "0..32";
                }
                description
                  "Length in bits of the IP address prefix
    in the Network Layer Reachability
    Information field.";
              }
    
              leaf mplsVpnVrfBgpPathAttrIpAddrPrefix {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.3";
                type inet-address:InetAddress;
                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 mplsVpnVrfBgpPathAttrIpAddrPrefixLen.
    Any bits beyond the length specified by
    mplsVpnVrfBgpPathAttrIpAddrPrefixLen are zeroed.";
              }
    
              leaf mplsVpnVrfBgpPathAttrOrigin {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.4";
                type enumeration {
                  enum "igp" {
                    value 1;
                  }
                  enum "egp" {
                    value 2;
                  }
                  enum "incomplete" {
                    value 3;
                  }
                }
                description
                  "The ultimate origin of the path
    information.";
              }
    
              leaf mplsVpnVrfBgpPathAttrASPathSegment {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.5";
                type binary {
                  length "2..255";
                }
                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.
    	    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;";
              }
    
              leaf mplsVpnVrfBgpPathAttrNextHop {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.6";
                type inet-address:InetAddress;
                description
                  "The address of the border router that
    should be used for the destination
    network.";
              }
    
              leaf mplsVpnVrfBgpPathAttrMultiExitDisc {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.7";
                type int32 {
                  range "-1..2147483647";
                }
                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.";
              }
    
              leaf mplsVpnVrfBgpPathAttrLocalPref {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.8";
                type int32 {
                  range "-1..2147483647";
                }
                description
                  "The originating BGP4 speaker's degree of
    preference for an advertised route.  A
    value of -1 indicates the absence of this
    attribute.";
              }
    
              leaf mplsVpnVrfBgpPathAttrAtomicAggregate {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.9";
                type enumeration {
                  enum
                    "lessSpecificRrouteNotSelected" {
                    value 1;
                  }
                  enum
                    "lessSpecificRouteSelected" {
                    value 2;
                  }
                }
                description
                  "Whether or not the local system has
    selected a less specific route without
    selecting a more specific route.";
              }
    
              leaf mplsVpnVrfBgpPathAttrAggregatorAS {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.10";
                type int32 {
                  range "0..65535";
                }
                description
                  "The AS number of the last BGP4 speaker that
    performed route aggregation.  A value of
    zero (0) indicates the absence of this
    attribute.";
              }
    
              leaf mplsVpnVrfBgpPathAttrAggregatorAddr {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.11";
                type inet-address:InetAddress;
                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.";
              }
    
              leaf mplsVpnVrfBgpPathAttrCalcLocalPref {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.12";
                type int32 {
                  range "-1..2147483647";
                }
                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.";
              }
    
              leaf mplsVpnVrfBgpPathAttrBest {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.13";
                type enumeration {
                  enum "false" {
                    value 1;
                  }
                  enum "true" {
                    value 2;
                  }
                }
                description
                  "An indication of whether or not this route
    was chosen as the best BGP4 route.";
              }
    
              leaf mplsVpnVrfBgpPathAttrUnknown {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.2.5.1.14";
                type binary {
                  length "0..255";
                }
                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.";
              }
            }  // list mplsVpnVrfBgpNbrPrefixEntry
          }  // container mplsVpnVrfBgpNbrPrefixTable
    
          container mplsVpnVrfRouteTable {
            smiv2:oid "1.3.6.1.3.118.1.4.1";
            description
              "This table specifies per-interface MPLS/BGP VPN VRF Table
    routing information. Entries in this table define VRF routing
    entries associated with the specified MPLS/VPN interfaces. Note
    that this table contains both BGP and IGP routes, as both may
    appear in the same VRF.";
            reference
              "1.  RFC 1213 Section 6.6, The IP Group.
              2.  RFC 2096 ";
    
            list mplsVpnVrfRouteEntry {
              smiv2:oid "1.3.6.1.3.118.1.4.1.1";
              key "mplsVpnVrfName mplsVpnVrfRouteDest mplsVpnVrfRouteMask mplsVpnVrfRouteTos mplsVpnVrfRouteNextHop";
              description
                "An entry in this table is created by an LSR for every route
    present configured (either dynamically or statically) within
    the context of a specific VRF capable of supporting MPLS/BGP
    VPN. The indexing provides an ordering of VRFs per-VPN
    interface.";
              leaf mplsVpnVrfName {
                type leafref {
                  path "/MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry/MPLS-VPN-MIB:mplsVpnVrfName";
                }
              }
    
              leaf mplsVpnVrfRouteDest {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.1";
                type inet-address:InetAddress;
                description
                  "The destination IP address of this route.
    This object may not take a Multicast (Class D)
    address value.
    
    Any assignment (implicit or otherwise) of an
    instance of this object to a value x must be
    rejected if the bit-wise logical-AND of x with
    the value of the corresponding instance of the
    mplsVpnVrfRouteMask object is not equal to x.";
              }
    
              leaf mplsVpnVrfRouteDestAddrType {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.2";
                type inet-address:InetAddressType;
                description
                  "The address type of the mplsVpnVrfRouteDest
    entry.";
              }
    
              leaf mplsVpnVrfRouteMask {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.3";
                type inet-address:InetAddress;
                description
                  "Indicate the mask to be logical-ANDed with the
    destination  address  before  being compared to
    the value  in  the  mplsVpnVrfRouteDest field.
    For those  systems  that  do  not support
    arbitrary subnet masks, an agent constructs the
    value of the mplsVpnVrfRouteMask by reference
    
    
    to the IP Address Class.
    
    Any assignment (implicit or otherwise) of an
    instance of this object to a value x must be
    rejected if the bit-wise logical-AND of x with
    the value of the corresponding instance of the
    mplsVpnVrfRouteDest object is not equal to
    mplsVpnVrfRouteDest.";
              }
    
              leaf mplsVpnVrfRouteMaskAddrType {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.4";
                type inet-address:InetAddressType;
                description
                  "The address type of mplsVpnVrfRouteMask.";
              }
    
              leaf mplsVpnVrfRouteTos {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.5";
                type uint32;
                description
                  "The IP TOS Field is used to specify the policy to
    be applied to this route.  The encoding of IP TOS
    is as specified  by  the  following convention.
    Zero indicates the default path if no more
    specific policy applies.
    
    +-----+-----+-----+-----+-----+-----+-----+-----+
    |                 |                       |     |
    |   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.";
              }
    
              leaf mplsVpnVrfRouteNextHop {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.6";
                type inet-address:InetAddress;
                description
                  "On remote routes, the address of the next
    system en route; Otherwise, 0.0.0.0. .";
              }
    
              leaf mplsVpnVrfRouteNextHopAddrType {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.7";
                type inet-address:InetAddressType;
                description
                  "The address type of the mplsVpnVrfRouteNextHopAddrType
    object.";
              }
    
              leaf mplsVpnVrfRouteIfIndex {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.8";
                type if-mib:InterfaceIndexOrZero;
                description
                  "The ifIndex value that identifies the local
    interface  through  which  the next hop of this
    route should be reached.";
              }
    
              leaf mplsVpnVrfRouteType {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.9";
                type enumeration {
                  enum "other" {
                    value 1;
                  }
                  enum "reject" {
                    value 2;
                  }
                  enum "local" {
                    value 3;
                  }
                  enum "remote" {
                    value 4;
                  }
                }
                description
                  "The type of route.  Note that local(3)  refers
    to a route for which the next hop is the final
    destination; remote(4) refers to a route for
    that the next  hop is not the final destination.
    Routes which do not result in traffic forwarding or
    rejection should not be displayed even if the
    implementation keeps them stored internally.
    
    reject (2) refers to a route which, if matched,
    discards the message as unreachable. This is used
    in some protocols as a means of correctly aggregating
    routes.";
              }
    
              leaf mplsVpnVrfRouteProto {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.10";
                type enumeration {
                  enum "other" {
                    value 1;
                  }
                  enum "local" {
                    value 2;
                  }
                  enum "netmgmt" {
                    value 3;
                  }
                  enum "icmp" {
                    value 4;
                  }
                  enum "egp" {
                    value 5;
                  }
                  enum "ggp" {
                    value 6;
                  }
                  enum "hello" {
                    value 7;
                  }
                  enum "rip" {
                    value 8;
                  }
                  enum "isIs" {
                    value 9;
                  }
                  enum "esIs" {
                    value 10;
                  }
                  enum "ciscoIgrp" {
                    value 11;
                  }
                  enum "bbnSpfIgp" {
                    value 12;
                  }
                  enum "ospf" {
                    value 13;
                  }
                  enum "bgp" {
                    value 14;
                  }
                  enum "idpr" {
                    value 15;
                  }
                  enum "ciscoEigrp" {
                    value 16;
                  }
                }
                description
                  "The routing mechanism via which this route was
    learned.  Inclusion of values for gateway rout-
    ing protocols is not  intended  to  imply  that
    hosts should support those protocols.";
              }
    
              leaf mplsVpnVrfRouteAge {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.11";
                type uint32;
                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.";
              }
    
              leaf mplsVpnVrfRouteInfo {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.12";
                type yang:object-identifier-128;
                description
                  "A reference to MIB definitions specific to the
    particular routing protocol which is responsi-
    
    
    ble for this route, as determined by the  value
    specified  in the route's mplsVpnVrfRouteProto
    value. If this information is not present, its
    value SHOULD be set to the OBJECT IDENTIFIER
    { 0 0 }, which is a syntactically valid object
    identif-ier, and any implementation conforming
    to ASN.1 and the Basic Encoding Rules must be
    able to generate and recognize this value.";
              }
    
              leaf mplsVpnVrfRouteNextHopAS {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.13";
                type uint32;
                description
                  "The Autonomous System Number of the Next Hop.
    The semantics of this object are determined by
    the routing-protocol specified in the route's
    mplsVpnVrfRouteProto value. When this object is
    unknown or not relevant its value should be set
    to zero.";
              }
    
              leaf mplsVpnVrfRouteMetric1 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.14";
                type int32;
                description
                  "The primary routing metric for this route.
    The semantics of this metric are determined by
    the routing-protocol specified in  the  route's
    mplsVpnVrfRouteProto value. If this metric is not
    used, its value should be set to -1.";
              }
    
              leaf mplsVpnVrfRouteMetric2 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.15";
                type int32;
                description
                  "An alternate routing metric for this route.
    The semantics of this metric are determined by
    the routing-protocol specified in  the  route's
    mplsVpnVrfRouteProto value. If this metric is not
    used, its value should be set to -1.";
              }
    
              leaf mplsVpnVrfRouteMetric3 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.16";
                type int32;
                description
                  "An alternate routing metric for this route.
    The semantics of this metric are determined by
    the routing-protocol specified in  the  route's
    mplsVpnVrfRouteProto value. If this metric is not
    used, its value should be set to -1.";
              }
    
              leaf mplsVpnVrfRouteMetric4 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.17";
                type int32;
                description
                  "An alternate routing metric for this route.
    The semantics of this metric are determined by
    the routing-protocol specified in  the  route's
    mplsVpnVrfRouteProto value. If this metric is not
    used, its value should be set to -1.";
              }
    
              leaf mplsVpnVrfRouteMetric5 {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.18";
                type int32;
                description
                  "An alternate routing metric for this route.
    The semantics of this metric are determined by
    the routing-protocol specified in  the  route's
    mplsVpnVrfRouteProto value. If this metric is not
    used, its value should be set to -1.";
              }
    
              leaf mplsVpnVrfRouteRowStatus {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.19";
                type snmpv2-tc:RowStatus;
                description
                  "Row status for this table. It is used according
    to row installation and removal conventions.";
              }
    
              leaf mplsVpnVrfRouteStorageType {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.3.118.1.4.1.1.20";
                type snmpv2-tc:StorageType;
                description
                  "Storage type value.";
              }
            }  // list mplsVpnVrfRouteEntry
          }  // container mplsVpnVrfRouteTable
        }  // container MPLS-VPN-MIB
    
        augment /MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry {
          smiv2:oid "1.3.6.1.3.118.1.2.6.1";
          description
            "An entry in this table is created by an LSR for
    every VRF capable of supporting MPLS/BGP VPN. Each
    entry in this table is used to indicate security-related
    information for each VRF entry.";
          leaf mplsVpnVrfSecIllegalLabelViolations {
            smiv2:max-access "read-only";
            smiv2:oid "1.3.6.1.3.118.1.2.6.1.1";
            type yang:counter32;
            description
              "Indicates the number of illegally received labels on this VPN/VRF.";
          }
    
          leaf mplsVpnVrfSecIllegalLabelRcvThresh {
            smiv2:max-access "read-write";
            smiv2:oid "1.3.6.1.3.118.1.2.6.1.2";
            type uint32;
            description
              "The number of illegally received labels above which this
    notification is issued.";
          }
        }
    
        augment /MPLS-VPN-MIB:MPLS-VPN-MIB/MPLS-VPN-MIB:mplsVpnVrfTable/MPLS-VPN-MIB:mplsVpnVrfEntry {
          smiv2:oid "1.3.6.1.3.118.1.3.1.1";
          description
            "An entry in this table is created by an LSR for
    every VRF capable of supporting MPLS/BGP VPN.";
          leaf mplsVpnVrfPerfRoutesAdded {
            smiv2:max-access "read-only";
            smiv2:oid "1.3.6.1.3.118.1.3.1.1.1";
            type yang:counter32;
            description
              "Indicates the number of routes added to this VPN/VRF over the
    coarse of its lifetime.";
          }
    
          leaf mplsVpnVrfPerfRoutesDeleted {
            smiv2:max-access "read-only";
            smiv2:oid "1.3.6.1.3.118.1.3.1.1.2";
            type yang:counter32;
            description
              "Indicates the number of routes removed from this VPN/VRF.";
          }
    
          leaf mplsVpnVrfPerfCurrNumRoutes {
            smiv2:max-access "read-only";
            smiv2:oid "1.3.6.1.3.118.1.3.1.1.3";
            type uint32;
            description
              "Indicates the number of routes currently used by this VRF.";
          }
        }
    
        notification mplsVrfIfUp {
          smiv2:oid "1.3.6.1.3.118.0.1";
          description
            "This notification is generated when:
    a. The ifOperStatus of an interface associated with a VRF
       changes to the up(1) state.
    b. When an interface with ifOperStatus = up(1) is
       associated with a VRF.";
        }  // notification mplsVrfIfUp
    
        notification mplsVrfIfDown {
          smiv2:oid "1.3.6.1.3.118.0.2";
          description
            "This notification is generated when:
    a. The ifOperStatus of an interface associated with a VRF
       changes to the down(1) state.
    b. When an interface with ifOperStatus = up(1) state is
       disassociated with a VRF.";
        }  // notification mplsVrfIfDown
    
        notification mplsNumVrfRouteMidThreshExceeded {
          smiv2:oid "1.3.6.1.3.118.0.3";
          description
            "This notification is generated when the number of routes
    contained by the specified VRF exceeds the value indicated by
    mplsVrfMidRouteThreshold.";
        }  // notification mplsNumVrfRouteMidThreshExceeded
    
        notification mplsNumVrfRouteMaxThreshExceeded {
          smiv2:oid "1.3.6.1.3.118.0.4";
          description
            "This notification is generated when the number of routes
    contained by the specified VRF reaches or attempts to exceed
    the maximum allowed value as indicated by
    mplsVrfMaxRouteThreshold.";
        }  // notification mplsNumVrfRouteMaxThreshExceeded
    
        notification mplsNumVrfSecIllegalLabelThreshExceeded {
          smiv2:oid "1.3.6.1.3.118.0.5";
          description
            "This notification is generated when the number of illegal
    label violations on a VRF as indicated by
    mplsVpnVrfSecIllegalLabelViolations has exceeded
    mplsVpnVrfSecIllegalLabelRcvThresh. The threshold is not
    included in the varbind here because the value of
    mplsVpnVrfSecIllegalLabelViolations should be one greater than
    the threshold at the time this notification is issued.";
        }  // notification mplsNumVrfSecIllegalLabelThreshExceeded
      }  // module MPLS-VPN-MIB
    

© 2023 YumaWorks, Inc. All rights reserved.