TOC 
Network Working GroupG. Schudel
Internet-DraftA. Jain
Intended status: ExperimentalV. Moreno
Expires: February 18, 2011cisco Systems
 August 17, 2010


LISP MIB
draft-schudel-lisp-mib-00.txt

Abstract

This document defines managed objects for the Locator/ID Separation Protocol (LISP). These objects provide information useful for monitoring LISP devices, including basic configuration information, LISP status, and operational statistics.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at http://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as “work in progress.”

This Internet-Draft will expire on February 18, 2011.

Copyright Notice

Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.



Table of Contents

1.  Requirements Notation
2.  Introduction
3.  The Internet-Standard Management Framework
4.  Definition of Terms
5.  LISP MIB Objectives
6.  Structure of LISP MIB Module
    6.1.  Overview of Defined Notifications
    6.2.  Overview of Defined Tables
7.  LISP MIB Definition
8.  Relationship to Other MIB Modules
    8.1.  MIB modules required for IMPORTS
9.  Security Considerations
10.  IANA Considerations
11.  References
    11.1.  Normative References
    11.2.  Informative References
Appendix A.  Change Log
Appendix B.  Open Issues
Appendix C.  Acknowledgments




 TOC 

1.  Requirements Notation

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].



 TOC 

2.  Introduction

This draft describes the Management Information Base (MIB) module for use with network management protocols in the Internet community. Specifically, the MIB for managing Locator/ID Separation Protocol (LISP) devices is described.

LISP [LISP] (Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, “Locator/ID Separation Protocol (LISP),” April 2010.) specifies a network-based architecture and mechanisms that implement a new semantic for IP addressing using two separate name spaces: Endpoint Identifiers (EIDs), used within sites, and Routing Locators (RLOCs), used on the transit networks that make up the Internet infrastructure. To achieve this separation, LISP defines protocol mechanisms for mapping from EIDs to RLOCs. In addition, LISP assumes the existence of a database to store and globally propagate those mappings [LISP‑MS] (Farinacci, D. and V. Fuller, “LISP Map Server,” April 2010.) [LISP‑ALT] (Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, “LISP Alternative Topology (LISP-ALT),” April 2010.).

From a data plane perspective, LISP traffic is handled exclusively at the network layer by devices performing Ingress Tunnel Router (ITR) and Egress Tunnel Router (ETR) LISP functions. Data plane operations performed by these devices are described in [LISP] (Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, “Locator/ID Separation Protocol (LISP),” April 2010.). Additionally, data plane interworking between legacy (Internet) and LISP sites is implemented by devices performing Proxy ITR (PITR) and Proxy ETR (PETR) functions. The data plane operations of these devices is described in [INTERWORK] (Lewis, D., Meyer, D., Farinacci, D., and V. Fuller, “Interworking LISP with IPv4 and IPv6,” March 2010.).

From a control plane perspective, LISP employs mechanisms related to creating, maintaining, and resolving mappings from EIDs to RLOCs. LISP ITRs, ETRs, PITRs, and PETRs perform specific control plane functions, and these control plane operations are described in [LISP] (Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, “Locator/ID Separation Protocol (LISP),” April 2010.). Additionally, LISP infrastructure devices supporting LISP control plane functionality include Map-Servers and Map-Resolvers, and the control plane operations of these devices are described in [LISP‑MS] (Farinacci, D. and V. Fuller, “LISP Map Server,” April 2010.). Finally, while not specifically required, this document assumes that a LISP+ALT database mapping infrastructure exists as part of the LISP control plane. The control plane operations of the ALT are described in [LISP‑ALT] (Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, “LISP Alternative Topology (LISP-ALT),” April 2010.). Note that this MIB does not provide support for the ALT since ALT statistics may be obtained through existing BGP and tunnel MIBs.



 TOC 

3.  The Internet-Standard Management Framework

For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 [RFC3410] (Case, J., Mundy, R., Partain, D., and B. Stewart, “Introduction and Applicability Statements for Internet-Standard Management Framework,” December 2002.).

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 [RFC2578] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Structure of Management Information Version 2 (SMIv2),” April 1999.), STD 58, RFC 2579 [RFC2579] (McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” April 1999.) and STD 58, RFC 2580 [RFC2580] (McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2,” April 1999.).



 TOC 

4.  Definition of Terms

Routing Locator (RLOC):
a 32-bit (for IPv4) or 128-bit (for IPv6) value used in the source and destination address fields of the second (outer-most) IP header of a LISP packet. RLOC addresses are allocated to an egress tunnel router (ETR) and numbered from topologically-aggregatable blocks assigned to a site at each point to which it attaches to the global Internet.
Endpoint ID (EID):
a 32-bit (for IPv4) or 128-bit (for IPv6) value used in the source and destination address fields of the first (inner-most) IP header of a LISP packet. A source EID is allocated to a host from an EID-prefix block associated with the site where the host is located. A host determines a destination EID in the same way that it determines a destination address today, for example through a DNS lookup or SIP exchange.
EID-to-RLOC Map-Cache:
a short-lived, on-demand table maintained locally in an ITR or PITR that stores, tracks, and is responsible for timing-out and otherwise validating EID-to-RLOC mappings. This table is distinct from the full "database" of EID-to-RLOC mappings in that it is dynamic and relatively small. At a given moment in time, it consists only of entries for those sites to which the ITR or PITR is currently communicating or has communicated with within the configured TTL period.
EID-to-RLOC Mapping-Database:
a global distributed database that contains all known EID-to-RLOC mappings. Each potential ETR typically contains a small piece of the database consisting of only the EID-to-RLOC mappings for the EID prefix(es) for which the ETR is "authoritative" and the RLOC(s) by which those EID prefix(es) are reachable from the global Internet.
Ingress Tunnel Router (ITR):
a router that accepts an IP packet with a single IP header (more precisely, an IP packet that does not contain a LISP header), treats this "inner" IP destination address as an EID and performs an EID-to-RLOC mapping lookup, and then prepends an "outer" IP header with one of its own globally-routable RLOCs in the source address field and the RLOC resulting from the mapping lookup in the destination address field. That is, in general an ITR receives an IP packet from site end-systems on one side and sends a LISP-encapsulated IP packet toward the Internet on the other side.
Egress Tunnel Router (ETR):
a router that accepts an IP packet where the destination address in the "outer" IP header is one of its own RLOCs, strips the "outer" header, and forwards the packet based on the next IP header found. That is, in general an ETR receives LISP-encapsulated IP packets from the Internet on one side and sends decapsulated IP packets toward site end-systems on the other side.
xTR:
is a general reference to an ITR or ETR when direction of data flow is not part of the context description. xTR refers to the router that is the tunnel endpoint and performs both ITR and ETR functionality. For example, "An xTR can be located at the Customer Edge (CE) router", meaning both ITR and ETR functionality is activated at the CE router.
Proxy ITR (PITR):
a router that acts like an ITR but does so on behalf of non-LISP sites which send packets to destinations at LISP sites. The PITR, also known as a PTR, is defined and described in [INTERWORK] (Lewis, D., Meyer, D., Farinacci, D., and V. Fuller, “Interworking LISP with IPv4 and IPv6,” March 2010.).
Proxy ETR (PETR):
a router that acts like an ETR but does so on behalf of LISP sites which send packets to destinations at non-LISP sites. The PETR is defined and described in [INTERWORK] (Lewis, D., Meyer, D., Farinacci, D., and V. Fuller, “Interworking LISP with IPv4 and IPv6,” March 2010.).
LISP Site:
is a set of routers in an edge network that are under a single technical administration. LISP routers which reside in the edge network are the demarcation points to separate the edge network from the core network.
Map-Server:
a LISP network infrastructure component which learns EID-to-RLOC mapping entries from an authoritative source such as an ETR though static configuration, or another out-of-band mechanism. A Map-Server advertises these mappings into the distributed mapping database such as that described in [LISP‑ALT] (Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, “LISP Alternative Topology (LISP-ALT),” April 2010.).
Map-Resolver:
a LISP network infrastructure component which accepts LISP Encapsulated Map-Requests, typically from an ITR, and quickly determines whether or not the destination IP address is part of the EID namespace. If it is, the Map-Resolver finds the appropriate EID-to-RLOC mapping by consulting the distributed mapping database system such as that described in [LISP‑ALT] (Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, “LISP Alternative Topology (LISP-ALT),” April 2010.). If it is not, a Negative Map-Reply is immediately returned.
Map-Reply:
a LISP Map-Reply message type returned in response to a Map-Request for a destination EID that exists in the mapping database and contains the locator-set and associated policy for the queried EID. Information returned in a Map-Reply is stored in the EID-to-RLOC Map-Cache.
Negative Map-Reply:
a LISP Map-Reply message type that contains an empty locator-set. Returned in response to a Map-Request if the destination EID does not exist in the mapping database. Typically, this means that the "EID" being requested is an IP address connected to a non-LISP site. Information returned in a Negative Map-Reply is stored in the EID-to-RLOC Map-Cache.
LISP+ALT:
a static network built using Border Gateway Protocol (BGP, [RFC4271] (Rekhter, Y., Li, T., and S. Hares, “A Border Gateway Protocol 4 (BGP-4),” January 2006.)), BGP multi-protocol extension [RFC4760] (Bates, T., Chandra, R., Katz, D., and Y. Rekhter, “Multiprotocol Extensions for BGP-4,” January 2007.), and Generic Routing Encapsulation (GRE, [RFC2784] (Farinacci, D., Li, T., Hanks, S., Meyer, D., and P. Traina, “Generic Routing Encapsulation (GRE),” March 2000.)) to construct an overlay network of devices (ALT Routers) which operate on EID-prefixes and use EIDs as forwarding destinations. This LISP+ALT network may, but is not required to be, used by LISP to find EID-to-RLOC mappings. LISP+ALT is described in [LISP‑ALT] (Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, “LISP Alternative Topology (LISP-ALT),” April 2010.).



 TOC 

5.  LISP MIB Objectives

The objectives for defining this LISP MIB module are as follows:

  • Provide a means for obtaining a list of enabled LISP features and the current status of configuration attributes related to those features. As an example, LISP capabilities which could be enabled include ITR, ETR, PITR, PETR, MS or MR support for IPv4 or IPv6 address families. Other examples include, indicating whether rloc-probing is enabled, and indicating the configured map-cache limit value.
  • Provide a means for obtaining the current attributes of various LISP tables, such as the EID-to-RLOC policy data contained in the Map-Cache, or the local EID-to-RLOC policy data contained in the Mapping-Database.
  • Provide a means for obtaining the current operational statistics of various LISP functions, such as the number of packets encapsulated and decapsulated by the device. Other counters of operational interest, depending on LISP function, include things like the current number of map-cache entries, and the total number and rate of map-requests received and sent.



 TOC 

6.  Structure of LISP MIB Module



 TOC 

6.1.  Overview of Defined Notifications

No LISP MIB notifications are defined.



 TOC 

6.2.  Overview of Defined Tables

The LISP MIB module is composed of ten tables of objects, as follows:

Lisp -
This table provides information representing the various lisp features that can be enabled on LISP devices.
LispMappingDatabase -
This table represents the EID-to-RLOC database that contains the EID-prefix to RLOC mappings configured on an ETR. In general, this table would be representative of all such mappings for a given site that this device belongs to.
LispMappingDatabaseLocator -
This table represents the set of routing locators contained in the EID-to-RLOC database configured on an ETR.
LispMapCache -
This table represents the short-lived, on-demand table on an ITR that stores, tracks, and is responsible for timing-out and otherwise validating EID-to-RLOC mappings.
LispMapCacheLocator -
This table represents the set of locators per EID prefix contained in the map-cache table of an ITR.
LispSite -
This table provides the properties of each lisp site that is served by this device when configured to be a Map-Server.
LispSiteLocator -
This table provides the properties of all locators per lisp site that is served by this device when configured to be a Map-Server.
LispMapServers -
This table provides the properties of all Map-Servers that this device is configured to use.
LispMapResolvers -
This table provides the properties of all Map-Resolvers that this device is configured to use.
lispUseProxyEtr -
This table provides the properties of all Proxy ETRs that this device is configured to use.



 TOC 

7.  LISP MIB Definition

LISP-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Unsigned32, Counter64,TimeTicks,
    NOTIFICATION-TYPE                 FROM SNMPv2-SMI      -- [RFC2578]
    MODULE-COMPLIANCE, OBJECT-GROUP
    NOTIFICATION-GROUP                FROM SNMPv2-CONF     -- [RFC2580]
    TEXTUAL-CONVENTION, TruthValue,
    RowStatus                         FROM SNMPv2-TC       -- [RFC2579]
    AddressFamilyNumbers
                 FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB      -- [IANA]

lispMIB MODULE-IDENTITY
    LAST-UPDATED "201008160000Z" -- 16 August 2010"
    ORGANIZATION
            "IETF Locator/ID Separation Protocol (LISP) Working Group"
    CONTACT-INFO
            "Email: lisp@ietf.org
            WG charter:
            http://www.ietf.org/html.charters/lisp-charter.html"
    DESCRIPTION
            "This memo describes the Management Information Base (MIB)
            module for use with network management protocols in the
            management of Locator/ID Separation Protocol (LISP) devices.

            Copyright (C) The IETF Trust (2010)."
    REVISION     "201008160000Z" -- 16 August 2010"

    ::= { xxxxx }

--
-- Textual Conventions
--
LispAddressType ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "LISP architecture can be applied to a wide variety of
         address-families. This textual-convention is a
         generalization for representing addresses that belong
         to those address-families. For convenience, this
         document refers to any such address as a lisp address.
         LispAddressType textual-convention consists of
         the following four tuples:
          1. IANA Address Family Numbers: This tuple follows
             the AddressFamilyNumbers textual-convention
             described in [IANA]. The enumerations are listed
             in [IANA].  Note that the list of address family
             numbers is maintained by IANA.
          2. Length of LISP address: This tuple is an INTEGER
             to give the octet length of the next tuple.
          3. Lisp address: A lisp address can be an address
             belonging to any of the IANA Address Families.
             Particularly, when the address family is Lisp
             Canonical Address Format (LCAF) [LCAF] with IANA
             assigned Address Family Number 16387, then
             the first octet of this tuple indicates the LCAF
             type, and the rest of this tuple is same as the
             encoding format of the LISP Canonical Address
             after the length field, as defined in [LCAF].
          4. Mask-length of lisp address."
    REFERENCE "[LISP]"
    SYNTAX OCTET STRING (SIZE (0..1024))

lispTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF lispEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table represents the various lisp features
         that can be enabled on lisp devices."

    REFERENCE "[LISP]"
    ::= { lisp 1 }

lispEntry OBJECT-TYPE
    SYNTAX     lispEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the lispTable."
    INDEX      { lispAfi }
    ::= { lispTable 1 }

lispEntry ::= SEQUENCE {
    lispAddressFamily                  AddressFamilyNumbers,
    lispItrEnabled                     TruthValue,
    lispEtrEnabled                     TruthValue,
    lispProxyItrEnabled                TruthValue,
    lispProxyEtrEnabled                TruthValue,
    lispMapServerEnabled               TruthValue,
    lispMapResolverEnabled             TruthValue,
    lispMapCacheSize                   Unsigned32,
    lispMapCacheLimit                  Unsigned32,
    lispEtrMapCacheTtl                 Unsigned32,
    lispRlocProbeEnabled               TruthValue,
    lispEtrAcceptMapDataEnabled        TruthValue,
    lispEtrAcceptMapDataVerifyEnabled  TruthValue,
    lispMapRequestsIn                  Counter64,
    lispMapRequestsOut                 Counter64,
    lispMapRepliesIn                   Counter64,
    lispMapRepliesOut                  Counter64,
    lispMapRegistersIn                 Counter64,
    lispMapRegistersOut                Counter64
}

lispAddressFamily OBJECT-TYPE
    SYNTAX     AddressFamilyNumbers
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The address family number of the lisp device that
         is able to lisp process a packet destined for
         that address family."
    ::= { lispEntry 1 }

lispItrEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates the status of ITR role on this device."
    ::= { lispEntry 2 }

lispEtrEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates the status of ETR role on this device."
    ::= { lispEntry 3 }

lispProxyItrEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates the status of Proxy-ITR role on this
         device."
    ::= { lispEntry 4 }

lispProxyEtrEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates the status of Proxy-ETR role on this
         device."
    ::= { lispEntry 5 }

lispMapServerEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates the status of Map Server role on this
         device."
    ::= { lispEntry 6 }

lispMapResolverEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates the status of Map Resolver role on
         this device."
    ::= { lispEntry 7 }

lispMapCacheSize OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Size of EID-to-RLOC map cache on this device."
    ::= { lispEntry 8 }

lispMapCacheLimit OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Maximum permissible size of EID-to-RLOC map
         cache on this device."
    ::= { lispEntry 9 }

lispEtrMapCacheTtl OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Time in minutes this device will store the
         mapping record in the map cache."
    ::= { lispEntry 10 }

lispRlocProbeEnabled OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates the status of rloc-probing feature
         on this device."
    ::= { lispEntry 11 }

lispEtrAcceptMapData OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates the status of this device for
         accepting piggybacked mapping data received
         in a map-request."
    ::= { lispEntry 12 }

lispEtrAcceptMapDataVerify OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates the status of this device for
         verifying accepted piggybacked mapping data
         received in a map-request."
    ::= { lispEntry 13 }

lispMapRequestsIn OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Total number of map requests received by this
         device for any EID prefix of the given address
         family."
    ::= { lispEntry 14 }

lispMapRequestsOut OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Total number of map requests sent by this device
         for any EID prefix of the given address family."
    ::= { lispEntry 15 }

lispMapRepliesIn OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Total number of map replies received by this device
         for any EID prefix of the given address family."
    ::= { lispEntry 16 }

lispMapRepliesOut OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Total number of map replies sent by this device for
         any EID prefix of the given address family."
    ::= { lispEntry 17 }

lispMapRegistersIn OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Total number of map registers received by this device
         for any EID prefix of the given address family."
    ::= { lispEntry 18 }

lispMapRegistersOut OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Total number of map registers sent by this device
         for any EID prefix of the given address family."
    ::= { lispEntry 19 }

lispMappingDatabaseTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF lispMappingDatabaseEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table represents the EID-to-RLOC mapping database
         that contains the EID-prefix to RLOC mappings
         configured on an ETR.  In general, this table would be
         representative of all such mappings for a given site
         that this device belongs to."
    REFERENCE "[LISP]"
    ::= { lisp 2 }

lispMappingDatabaseEntry OBJECT-TYPE
    SYNTAX     lispMappingDatabaseEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the
         lispMappingDatabaseTable."
    INDEX   { lispMappingDatabaseEidLength
              lispMappingDatabaseEid }
    ::= { lispMappingDatabaseTable 1 }

lispMappingDatabaseEntry ::= SEQUENCE {
    lispMappingDatabaseEidLength        INTEGER,
    lispMappingDatabaseEid              LispAddressType,
    lispMappingDatabaseLsb              Unsigned32,
    lispMappingDatabaseEidPartitioned   TruthValue,
    lispMappingDatabaseDecapOctets      Counter64,
    lispMappingDatabaseDecapPkts        Counter64
    lispMappingDatabaseEncapOctets      Counter64,
    lispMappingDatabaseEncapPkts        Counter64
}

lispMappingDatabaseEidLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object gives the length of
         lispMappingDatabaseEid, the next object."
    ::= { lispMappingDatabaseEntry 1 }

lispMappingDatabaseEid OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The EID prefix of the mapping database."
    ::= { lispMappingDatabaseEntry 2 }

lispMappingDatabaseLsb OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The locator status bits for this EID prefix."
    ::= { lispMappingDatabaseEntry 3 }

lispMappingDatabaseEidPartitioned OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates if this device is partitioned from
         the site that contains this EID prefix."
    ::= { lispMappingDatabaseEntry 4 }

lispMappingDatabaseDecapOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of octets of Lisp packets that were
         decapsulated by this device addressed to a host
         within this EID-prefix."
    ::= { lispMappingDatabaseEntry 5 }

lispMappingDatabaseDecapPackets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of Lisp packets that were decapsulated
         by this device addressed to a host within this
         EID-prefix."
    ::= { lispMappingDatabaseEntry 6 }

lispMappingDatabaseEncapOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of octets of Lisp packets, that were
         encapsulated by this device, whose inner header
         source address matched this EID prefix."
    ::= { lispMappingDatabaseEntry 7 }

lispMappingDatabaseEncapPackets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of Lisp packets, that were encapsulated
         by this device, whose inner header source address
         matched this EID prefix."
    ::= { lispMappingDatabaseEntry 8 }

lispMappingDatabaseLocatorTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF lispMappingDatabaseLocatorEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table represents the set of routing locators
         per EID prefix contained in the EID-to-RLOC database
         configured on an ETR."
    REFERENCE "[LISP]"
    ::= { lisp 3 }

lispMappingDatabaseLocatorEntry OBJECT-TYPE
    SYNTAX     lispMappingDatabaseLocatorEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the
         lispMappingDatabaseLocatorTable."
    INDEX  { lispMappingDatabaseLocatorEidLength
             lispMappingDatabaseLocatorEid
             lispMappingDatabaseLocatorRlocAfi
             lispMappingDatabaseLocatorEncodedRlocLength
             lispMappingDatabaseLocatorEncodedRloc }
    ::= { lispMappingDatabaseLocatorTable 1 }

lispMappingDatabaseLocatorEntry ::= SEQUENCE {
    lispMappingDatabaseLocatorEidLength         INTEGER,
    lispMappingDatabaseLocatorEid               LispAddressType,
    lispMappingDatabaseLocatorRlocLength        INTEGER,
    lispMappingDatabaseLocatorRloc              LispAddressType,
    lispMappingDatabaseLocatorRlocPriority     	INTEGER,
    lispMappingDatabaseLocatorRlocWeight       	INTEGER,
    lispMappingDatabaseLocatorRlocMPriority    	INTEGER,
    lispMappingDatabaseLocatorRlocMWeight      	INTEGER,
    lispMappingDatabaseLocatorRlocState        	INTEGER,
    lispMappingDatabaseLocatorRlocLocal        	INTEGER,
    lispMappingDatabaseLocatorRlocDecapOctets  	Counter64,
    lispMappingDatabaseLocatorRlocDecapPackets 	Counter64
    lispMappingDatabaseLocatorRlocEncapOctets  	Counter64,
    lispMappingDatabaseLocatorRlocEncapPackets 	Counter64
}

lispMappingDatabaseLocatorEidLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length of
         lispMappingDatabaseLocatorEid, the next
         object."
    ::= { lispMappingDatabaseLocatorEntry 1 }

lispMappingDatabaseLocatorEid OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The EID prefix of the mapping database
         mapped to the given locator."
    ::= { lispMappingDatabaseLocatorEntry 2 }

lispMappingDatabaseLocatorRlocLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length of
         lispMappingDatabaseLocatorRloc, the next
         object."
    ::= { lispMappingDatabaseLocatorEntry 3 }

lispMappingDatabaseLocatorRloc OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object is a locator for the given
         EID prefix in the mapping database."
    ::= { lispMappingDatabaseLocatorEntry 4 }

lispMappingDatabaseLocatorRlocPriority OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The unicast priority of the RLOC."
    ::= { lispMappingDatabaseLocatorEntry 5 }

lispMappingDatabaseLocatorRlocWeight OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The unicast weight of the RLOC."
    ::= { lispMappingDatabaseLocatorEntry 6 }

lispMappingDatabaseLocatorRlocMPriority OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The multicast priority of the RLOC."
    ::= { lispMappingDatabaseLocatorEntry 7 }

lispMappingDatabaseLocatorRlocMWeight OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The multicast weight of the RLOC."
    ::= { lispMappingDatabaseLocatorEntry 8 }

lispMappingDatabaseLocatorRlocState OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The state of this RLOC as per this device.
         0 is for up, 1 is for down ..."
    ::= { lispMappingDatabaseLocatorEntry 9 }

lispMappingDatabaseLocatorRlocLocal OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Object value is 1 if the RLOC is an address
         on this device, 0 if otherwise."
    ::= { lispMappingDatabaseLocatorEntry 10 }

lispMappingDatabaseLocatorRlocDecapOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of octets of Lisp packets that were
         addressed to this RLOC of the EID-prefix and
         were decapsulated."
    ::= { lispMappingDatabaseLocatorEntry 11 }

lispMappingDatabaseLocatorRlocDecapPackets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of Lisp packets that were addressed to
         this RLOC of the EID-prefix and were decapsulated."
    ::= { lispMappingDatabaseLocatorEntry 12 }

lispMappingDatabaseLocatorRlocEncapOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of octets of Lisp packets that were
         encapsulated by this device using this RLOC
         address as the source, and that were sourced by
         an address of this EID-prefix."
    ::= { lispMappingDatabaseLocatorEntry 13 }

lispMappingDatabaseLocatorRlocEncapPackets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of Lisp packets that were encapsulated
         by this device using this RLOC address as the
         source, and that were sourced by an address of
         this EID-prefix."
    ::= { lispMappingDatabaseLocatorEntry 14 }

lispMapCacheTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF lispMapCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table represents the short-lived, on-demand
         table on an ITR that stores, tracks, and is
         responsible for timing-out and otherwise
         validating EID-to-RLOC mappings."
    REFERENCE "[LISP]"
    ::= { lisp 4 }

lispMapCacheEntry OBJECT-TYPE
    SYNTAX     lispMapCacheEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the lispMapCacheTable."
    INDEX      { lispMapCacheEidLength
                 lispMapCacheEid
                 lispMapCacheEidMaskLength }
    ::= { lispMapCacheTable 1 }

lispMapCacheEntry ::= SEQUENCE {
    lispMapCacheEidLength           INTEGER,
    lispMapCacheEid                 LispAddressType,
    lispMapCacheEidUpTime           TimeTicks,
    lispMapCacheEidExpiryTime       TimeTicks,
    lispMapCacheEidState            INTEGER,
    lispMapCacheEidAuthoritative    TruthValue,
    lispMapCacheDecapOctets         Counter64,
    lispMapCacheDecapPkts           Counter64
    lispMapCacheEncapOctets         Counter64,
    lispMapCacheEncapPkts           Counter64
}

lispMapCacheEidLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length
         of lispMapCacheEid, the next object."
    ::= { lispMapCacheEntry 1 }

lispMapCacheEid OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The EID prefix in the mapping cache."
    ::= { lispMapCacheEntry 2 }

lispMapCacheEidUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The up time of the EID prefix."
    ::= { lispMapCacheEntry 3 }

lispMapCacheEidExpiryTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The time remaining on the EID prefix before
         the ITR times-out the prefix."
    ::= { lispMapCacheEntry 4 }

lispMapCacheEidState OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "This object is used to indicate the activty
         of this EID prefix. A value of 0 implies the
         EID prefix is idle. A value of 1 implies the
         EID prefix is active.
    ::= { lispMapCacheEntry 5 }

lispMapCacheEidAuthoritative OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "This object is used to indicate whether the
         EID prefix was installed by an authoritative
         map-reply. A value of 0 implies the EID prefix
         was installed by an authoritative map-reply,
         and a value of 1, otherwise."
    ::= { lispMapCacheEntry 6 }

lispMapCacheDecapOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of octets of Lisp packets that were
         decapsulated by this device and were sourced
         from a remote host within this EID-prefix."
    ::= { lispMapCacheEntry 7 }

lispMapCacheDecapPackets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of Lisp packets that were
         decapsulated by this device and were sourced
         from a remote host within this EID-prefix."
    ::= { lispMapCacheEntry 8 }

lispMapCacheEncapOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of octets of Lisp packets that were
         encapsulated by this device using the given
         EID-prefix in the map cache."
    ::= { lispMapCacheEntry 9 }

lispMapCacheEncapPackets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of Lisp packets that were encapsulated
         by this device using the given EID-prefix in the
         map cache."
    ::= { lispMapCacheEntry 10 }

lispMapCacheLocatorTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF lispMapCacheLocatorEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table represents the set of locators per
         EID prefix contained in the map-cache table of
         an ITR."
    REFERENCE "[LISP]"
    ::= { lisp 5 }

lispMapCacheLocatorEntry OBJECT-TYPE
    SYNTAX     lispMapCacheLocatorEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the lispMapCacheLocatorTable."
    INDEX      { lispMapCacheLocatorEidLength
                 lispMapCacheLocatorEid
                  lispMapCacheLocatorRlocLength
                 lispMapCacheLocatorRloc }
    ::= { lispMapCacheLocatorTable 1 }

lispMapCacheLocatorEntry ::= SEQUENCE {
    lispMapCacheLocatorEidLength               INTEGER,
    lispMapCacheLocatorEid                     LispAddressType,
    lispMapCacheLocatorRlocLength              INTEGER,
    lispMapCacheLocatorRloc                    LispAddressType,
    lispMapCacheLocatorRlocPriority            INTEGER,
    lispMapCacheLocatorRlocWeight              INTEGER,
    lispMapCacheLocatorRlocMPriority           INTEGER,
    lispMapCacheLocatorRlocMWeight             INTEGER,
    lispMapCacheLocatorRlocState               INTEGER,
    lispMapCacheLocatorRlocUpTime              TimeTicks,
    lispMapCacheLocatorRlocLastPriorityChange  TimeTicks,
    lispMapCacheLocatorRlocLastWeightChange    TimeTicks,
    lispMapCacheLocatorRlocLastMPriorityChange TimeTicks,
    lispMapCacheLocatorRlocLastMWeightChange   TimeTicks,
    lispMapCacheLocatorRlocLastStateChange     TimeTicks,
    lispMapCacheLocatorRlocRtt                 TimeTicks,
    lispMapCacheLocatorRlocDecapOctets         Counter64,
    lispMapCacheLocatorRlocDecapPackets        Counter64
    lispMapCacheLocatorRlocEncapOctets         Counter64,
    lispMapCacheLocatorRlocEncapPackets        Counter64
}

lispMapCacheLocatorEidLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length of
         lispMapCacheLocatorEid, the next object."
    ::= { lispMapCacheLocatorEntry 1 }

lispMapCacheLocatorEid OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The EID prefix of mapping cache mapped to the locator."
    ::= { lispMapCacheLocatorEntry 2 }

lispMapCacheLocatorRlocLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length of
         lispMapCacheLocatorRloc, the next object."
    ::= { lispMapCacheLocatorEntry 3 }

lispMapCacheLocatorRloc OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The locator for the EID prefix in the mapping cache."
    ::= { lispMapCacheLocatorEntry 4 }

lispMapCacheLocatorRlocPriority OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The unicast priority of the RLOC for this EID prefix."
    ::= { lispMapCacheLocatorEntry 5 }

lispMapCacheLocatorRlocWeight OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The unicast weight of the RLOC for this EID prefix."
    ::= { lispMapCacheLocatorEntry 6 }

lispMapCacheLocatorRlocMPriority OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The multicast priority of the RLOC for this EID prefix."
    ::= { lispMapCacheLocatorEntry 7 }

lispMapCacheLocatorRlocMWeight OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The multicast weight of the RLOC for this EID prefix."
    ::= { lispMapCacheLocatorEntry 8 }

lispMapCacheLocatorRlocState OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The state of this RLOC as per this device.
         0 is for up, 1 is for down ..."
    ::= { lispMapCacheLocatorEntry 9 }

lispMapCacheLocatorRlocUpTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
            "The up-time of this RLOC."
    ::= { lispMapCacheLocatorEntry 10 }

lispMapCacheLocatorRlocLastPriorityChange OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Time since the last change of the unicast
         priority of the RLOC for this EID prefix."
    ::= { lispMapCacheLocatorEntry 11 }

lispMapCacheLocatorRlocLastWeightChange OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Time since the last change of the unicast weight
         of the RLOC for this EID prefix."
    ::= { lispMapCacheLocatorEntry 12 }

lispMapCacheLocatorRlocLastMPriorityChange OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Time since the last change of the multicast
         priority of the RLOC for this EID prefix."
    ::= { lispMapCacheLocatorEntry 13 }

lispMapCacheLocatorRlocLastMWeightChange OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Time since the last change of the multicast
         weight of the RLOC for this EID prefix."
    ::= { lispMapCacheLocatorEntry 14 }

lispMapCacheLocatorRlocLastStateChange OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Time since the last change of the up/down
         state of the RLOC for this EID prefix."
    ::= { lispMapCacheLocatorEntry 15 }

lispMapCacheLocatorRlocRtt OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Round trip time of RLOC probe and map-reply
         for this RLOC address for this prefix."
    ::= { lispMapCacheLocatorEntry 16 }

lispMapCacheLocatorRlocDecapOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of octets of Lisp packets that were
         decapsulated by this device and were sourced
         from a remote host within this EID-prefix and
         were encapsulated for this RLOC."
    ::= { lispMapCacheLocatorEntry 17 }

lispMapCacheLocatorRlocDecapPackets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of octets of Lisp packets that were
         decapsulated by this device and were sourced
         from a remote host within this EID-prefix and
         were encapsulated for this RLOC."
    ::= { lispMapCacheLocatorEntry 18 }

lispMapCacheLocatorRlocEncapOctets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of octets of Lisp packets that matched
         this EID-prefix and were encapsulated using this
         RLOC address."
    ::= { lispMapCacheLocatorEntry 19 }

lispMapCacheLocatorRlocEncapPackets OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The number of Lisp packets that matched this
         EID-prefix and were encapsulated using this
         RLOC address."
    ::= { lispMapCacheLocatorEntry 20 }

lispSiteTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF lispSiteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table provides the properties of each lisp
         site that is served by this device when configured
         to be a Map-Server."
    REFERENCE "[LISP]"
    ::= { lisp 6 }

lispSiteEntry OBJECT-TYPE
    SYNTAX     lispSiteEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the lispSiteTable."
    INDEX      { lispSiteName
                 lispSiteEidLength
                 lispSiteEid }
    ::= { lispSiteTable 1 }

lispSiteEntry ::= SEQUENCE {
    lispSiteName                     OCTET STRING,
    lispSiteEidLength                INTEGER,
    lispSiteEid                      LispAddressType,
    lispSiteEidRegisterState	     TruthValue,
    lispSiteEidFirstRegisterTime     TimeTicks,
    lispSiteEidRegisterSenderLength  INTEGER,
    lispSiteEidRegisterSender        LispAddressType,
    lispSiteEidRouteTag              Unsigned32,
    lispSiteEidAuthenticationErrors  Counter64,
    lispSiteEidRegisterRlocsMismatch Counter64
}

lispSiteName OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE(0..63))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Site name used by a Map-Server to distinguish
         different lisp sites that are registering with it."
    ::= { lispSiteEntry 1 }

lispSiteEidLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length of
         lispSiteEid, the next object."
    ::= { lispSiteEntry 2 }

lispSiteEid OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The EID prefix belonging to this site."
     ::= { lispSiteEntry 3 }

lispSiteEidRegisterState OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates the registration status of the given
         EID prefix. Value 1 implies registered, value 0
         implies not registered."
    ::= { lispEntry 4 }

lispSiteEidFirstRegisterTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Time since a first valid register message for
         the given EID prefix was received by this device."
    ::= { lispSiteEntry 5 }

lispSiteEidRegisterSenderLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length of
         lispSiteEidRegisterSender, the next object."
    ::= { lispSiteEntry 6 }

lispSiteEidRegisterSender OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Source address of the last valid register message for
         the given EID prefix that was received by this device."
    ::= { lispSiteEntry 7 }

lispSiteEidRouteTag OBJECT-TYPE
    SYNTAX     Unsigned32
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Value of the routing table tag that contains the
         given EID prefix."
    ::= { lispSiteEntry 8 }

lispSiteEidAuthenticationErrors OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Count of total authentication errors of map-registers
         received for the given EID prefix."
    ::= { lispSiteEntry 9 }

lispSiteEidRegisterRlocsMismatch OBJECT-TYPE
    SYNTAX     Counter64
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Count of total map-registers received that had at
         least one RLOC that was not in the allowed list of
         RLOCs for the given EID prefix."
    ::= { lispSiteEntry 10 }

lispSiteLocatorTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF lispSiteLocatorEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table provides the properties of all locators
         per lisp site that is served by this device when
         configured to be a Map-Server."
    REFERENCE "[LISP]"
    ::= { lisp 7 }

lispSiteLocatorEntry OBJECT-TYPE
    SYNTAX     lispSiteLocatorEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the lispSiteLocatorTable."
    INDEX      { lispSiteLocatorName
                 lispSiteLocatorEid
                 lispSiteLocatorEidMaskLength
                 lispSiteLocatorRlocLength
                 lispSiteLocatorRloc
                 lispSiteLocatorRlocState }
    ::= { lispSiteLocatorTable 1 }

lispSiteLocatorEntry ::= SEQUENCE {
    lispSiteLocatorName  	            OCTET STRING,
    lispSiteLocatorEidLength                INTEGER,
    lispSiteLocatorEid	                    LispAddressType,
    lispSiteLocatorRlocLength               INTEGER,
    lispSiteLocatorRloc                     LispAddressType,
    lispSiteLocatorRlocState                INTEGER,
    lispSiteLocatorRlocPriority             INTEGER,
    lispSiteLocatorRlocWeight               INTEGER,
    lispSiteLocatorRlocMPriority            INTEGER,
    lispSiteLocatorRlocMWeight              INTEGER,
    lispSiteLocatorRlocRegisterState	    TruthValue,
    lispSiteLocatorRlocFirstRegisterTime    TimeTicks,
    lispSiteLocatorRlocRegisterTimeLast	    TimeTicks,
    lispSiteLocatorRlocRegisterSenderLength INTEGER,
    lispSiteLocatorRlocRegisterSender       LispAddressType,
    lispSiteLocatorRlocProxyReply           TruthValue
}

lispSiteLocatorIdentifier OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE(0..63))
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Site name used by a Map-Server to distinguish
         different lisp sites that are registering with it."
    ::= { lispSiteLocatorEntry 1 }

lispSiteLocatorEidLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length of
         lispSiteLocatorEid, the next object."
    ::= { lispSiteLocatorEntry 2 }

lispSiteLocatorEid OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The EID prefix belonging to this site."
    ::= { lispSiteLocatorEntry 3 }

lispSiteLocatorRlocLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length of
         lispSiteLocatorRloc, the next object."
    ::= { lispSiteLocatorEntry 4 }

lispSiteLocatorRloc OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "The locator of the given EID prefix belonging
         to this site."
    ::= { lispSiteLocatorEntry 5 }

lispSiteLocatorRlocState OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The cached state of this RLOC received in
         map-register by the device, in the capacity of
         a Map-Server. Value 0 refers to down, value 1
         refers to up."
    ::= { lispSiteLocatorEntry 6 }

lispSiteLocatorRlocPriority OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The unicast priority of the RLOC for this EID prefix."
    ::= { lispSiteLocatorEntry 7 }

lispSiteLocatorRlocWeight OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The unicast weight of the RLOC for this EID prefix."
    ::= { lispSiteLocatorEntry 8 }

lispSiteLocatorRlocMPriority OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The multicast priority of the RLOC for this EID prefix."
    ::= { lispSiteLocatorEntry 9 }

lispSiteLocatorRlocMWeight OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "The multicast weight of the RLOC for this EID prefix."
    ::= { lispSiteLocatorEntry 10 }

lispSiteLocatorRlocRegisterState OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates the registration status of the EID prefix by
         this locator. Value 1 implies registered, value 0
         implies not registered."
    ::= { lispSiteLocatorEntry 11 }

lispSiteLocatorRlocFirstRegisterTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Time since a first valid register message for this
         EID prefix was received from this locator."
    ::= { lispSiteLocatorEntry 12 }

lispSiteLocatorRlocLastRegisterTime OBJECT-TYPE
    SYNTAX     TimeTicks
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Time since a last valid register message for this
         EID prefix was received from this locator."
    ::= { lispSiteLocatorEntry 13 }

lispSiteLocatorRlocRegisterSenderLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length of
         lispSiteLocatorRlocRegisterSender, the next object."
    ::= { lispSiteLocatorEntry 14 }

lispSiteLocatorRlocRegisterSender OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Source address of the last valid register message for
         this EID prefix that was received from this locator."
    ::= { lispSiteLocatorEntry 15 }

lispSiteLocatorRlocProxyReply OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "Indicates proxy-replying status of the registering
         locator of this EID prefix."
    ::= { lispSiteLocatorEntry 16 }

lispMapServersTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF lispMapServersEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table provides the properties of the map-servers
         with which this device is configured to register."
    REFERENCE "[LISP]"
    ::= { lisp 8 }

lispMapServersEntry OBJECT-TYPE
    SYNTAX     lispMapServersEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the lispMapServersTable."
    INDEX      { lispMapServersAddressLength
                 lispMapServersAddress }
    ::= { lispMapServersTable 1 }

lispMapServersEntry ::= SEQUENCE {
    lispMapServersAddressLength INTEGER,
    lispMapServersAddress       LispAddressType,
    lispMapServersState         INTEGER
}

lispMapServersAddressLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length of
         lispMapServersAddress, the next object."
    ::= { lispMapServersEntry 1 }

lispMapServersAddress OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Address of Map-Server configured on this device."
    ::= { lispMapServersEntry 2 }

lispMapServersState OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "State of this Map-Server configured on this device.
         Value 0 implies that the Map-Server is down, and a
         value of 1 implies that the Map-Server is up."
    ::= { lispMapServersEntry 3 }

lispMapResolversTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF lispMapResolversEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table provides the properties of all map
         resolvers that this device is configured to use."
    REFERENCE "[LISP]"
    ::= { lisp 9 }

lispMapResolversEntry OBJECT-TYPE
    SYNTAX     lispMapResolversEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the lispMapResolversTable."
    INDEX      { lispMapResolversAddressLength
                 lispMapResolversAddress }
    ::= { lispMapResolversTable 1 }

lispMapResolversEntry ::= SEQUENCE {
    lispMapResolversAddressLength   INTEGER,
    lispMapResolversAddress         LispAddressType,
    lispMapResolversState           INTEGER
}

lispMapResolversAddressLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length of
         lispMapResolversAddress, the next object."
    ::= { lispMapResolversEntry 1 }

lispMapResolversAddress OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Address of map-resolver configured on this device."
    ::= { lispMapResolversEntry 2 }

lispMapResolversState OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "State of this map-resolver configured on this device.
         Value 0 implies that the map-resolver is down, and a
         value of 1 implies that this map-resolver is up."
    ::= { lispMapResolversEntry 3 }

lispUseProxyEtrTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF lispUseProxyEtrEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table provides the properties of all Proxy ETRs
         that this device is configured to use."
    REFERENCE "[LISP]"
    ::= { lisp 10 }

lispUseProxyEtrEntry OBJECT-TYPE
    SYNTAX     lispUseProxyEtrEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An entry (conceptual row) in the lispUseProxyEtrTable."
    INDEX      { lispUseProxyEtrAddressLength
                 lispUseProxyEtrAddress }
    ::= { lispUseProxyEtrTable 1 }

lispUseProxyEtrEntry ::= SEQUENCE {
    lispUseProxyEtrAddressLength        INTEGER,
    lispUseProxyEtrAddress              LispAddressType,
    lispUseProxyEtrState                INTEGER
}

lispUseProxyEtrAddressLength OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This object is used to get the length of
         lispUseProxyEtrAddress, the next object."
    ::= { lispUseProxyEtrEntry 1 }

lispUseProxyEtrAddress OBJECT-TYPE
    SYNTAX     LispAddressType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Address of Proxy ETR configured on this device."
    ::= { lispUseProxyEtrEntry 2 }

lispUseProxyEtrState OBJECT-TYPE
    SYNTAX     TruthValue
    MAX-ACCESS accessible
    STATUS     current
    DESCRIPTION
        "State of this Proxy ETR configured on this device.
         Value 0 implies that this Proxy ETR is down, and a
         value of 1 implies that this Proxy ETR is up."
    ::= { lispUseProxyEtrEntry 3 }



 TOC 

8.  Relationship to Other MIB Modules



 TOC 

8.1.  MIB modules required for IMPORTS

The LISP MIB imports the textual-convention AddressFamilyNumbers from the IANA-ADDRESS-FAMILY-NUMBERS-MIB [IANA].



 TOC 

9.  Security Considerations

There are no management objects defined in this MIB module that have a MAX-ACCESS clause of read-write and/or read-create. As long as these MIB modules are implemented correctly, there are no risks that any management objects of this MIB module can modify device settings via direct SNMP SET operations.

There are no readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) that are considered sensitive.

SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module.

It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy).

Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of these MIB modules is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.



 TOC 

10.  IANA Considerations

LISP is an experimental protocol and the LISP MIB is an experimental MIB. No IANA actions are required by this document.



 TOC 

11.  References



 TOC 

11.1. Normative References

[INTERWORK] Lewis, D., Meyer, D., Farinacci, D., and V. Fuller, “Interworking LISP with IPv4 and IPv6,” draft-ietf-lisp-interworking-01.txt (work in progress), March 2010.
[LCAF] Farinacci, D., Meyer, D., and J. Snijders, “LISP Canonical Address Format,” draft-farinacci-lisp-lcaf-01.txt (work in progress), April 2010.
[LISP] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, “Locator/ID Separation Protocol (LISP),” draft-ietf-lisp-07.txt (work in progress), April 2010.
[LISP-ALT] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, “LISP Alternative Topology (LISP-ALT),” draft-ietf-lisp-alt-04.txt (work in progress), April 2010.
[LISP-MS] Farinacci, D. and V. Fuller, “LISP Map Server,” draft-ietf-lisp-ms-05.txt (work in progress), April 2010.
[RFC1035] Mockapetris, P., “Domain names - implementation and specification,” STD 13, RFC 1035, November 1987 (TXT).
[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML).
[RFC2404] Madson, C. and R. Glenn, “The Use of HMAC-SHA-1-96 within ESP and AH,” RFC 2404, November 1998 (TXT, HTML, XML).
[RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Structure of Management Information Version 2 (SMIv2),” STD 58, RFC 2578, April 1999 (TXT).
[RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., “Textual Conventions for SMIv2,” STD 58, RFC 2579, April 1999 (TXT).
[RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, “Conformance Statements for SMIv2,” STD 58, RFC 2580, April 1999 (TXT).
[RFC4634] Eastlake, D. and T. Hansen, “US Secure Hash Algorithms (SHA and HMAC-SHA),” RFC 4634, July 2006 (TXT).


 TOC 

11.2. Informative References

[IANA] IANA-ADDRESS-FAMILY-NUMBERS-MIB DEFINITIONS.”
[LISP-MCAST] Farinacci, D., Meyer, D., Zwiebel, J., and S. Venaas, “LISP for Multicast Environments,” draft-ietf-lisp-multicast-03.txt (work in progress), April 2010.
[LISP-MN] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, “LISP Mobile Node Architecture,” draft-meyer-lisp-mn-01.txt (work in progress), February 2010.
[RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D., and P. Traina, “Generic Routing Encapsulation (GRE),” RFC 2784, March 2000 (TXT).
[RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, “Introduction and Applicability Statements for Internet-Standard Management Framework,” RFC 3410, December 2002 (TXT).
[RFC4271] Rekhter, Y., Li, T., and S. Hares, “A Border Gateway Protocol 4 (BGP-4),” RFC 4271, January 2006 (TXT).
[RFC4760] Bates, T., Chandra, R., Katz, D., and Y. Rekhter, “Multiprotocol Extensions for BGP-4,” RFC 4760, January 2007 (TXT).


 TOC 

Appendix A.  Change Log

This is the first version of draft-schudel-lisp-mib-00.



 TOC 

Appendix B.  Open Issues

Open issues for the LISP MIB include the following:

  1. This initial version of the LISP MIB draft does not include LISP Multicast considerations. Multicast considerations will be added in the next version of this draft.



 TOC 

Appendix C.  Acknowledgments

An initial thank you goes to Dino Farinacci for his inputs and review comments on the initial versions of this draft. In addition, the authors would like to gratefully acknowledge many people who have reviewed and commented on this draft. They include: Darrel Lewis, Isidor Kouvelas, Jesper Skriver, and Selina Heimlich.



 TOC 

Authors' Addresses

  Gregg Schudel
  cisco Systems
  Tasman Drive
  San Jose, CA 95134
  USA
EMail:  gschudel@cisco.com
  
  Amit Jain
  cisco Systems
  Tasman Drive
  San Jose, CA 95134
  USA
EMail:  amijain@cisco.com
  
  Victor Moreno
  cisco Systems
  Tasman Drive
  San Jose, CA 95134
  USA
EMail:  vimoreno@cisco.com