netconfcentral logo

ietf-lisp-mapserver@2017-07-01



  module ietf-lisp-mapserver {

    yang-version 1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver";

    prefix lisp-ms;

    import ietf-lisp {
      prefix lisp;
    }
    import ietf-lisp-address-types {
      prefix lcaf;
    }
    import ietf-yang-types {
      prefix yang;
      revision-date "2013-07-15";
    }

    organization
      "IETF LISP (Locator/ID Separation Protocol) Working Group";

    contact "lisp@ietf.org";

    description
      "This YANG module defines the generic parameters for a LISP
     Map-Server. The module can be extended by vendors to define
     vendor-specific parameters and policies.

     Copyright (c) 2015 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or
     without modification, is permitted pursuant to, and subject
     to the license terms contained in, the Simplified BSD License
     set forth in Section 4.c of the IETF Trust's Legal Provisions
     Relating to IETF Documents
     (http://trustee.ietf.org/license-info).

     This version of this YANG module is part of RFC 6338; see
     the RFC itself for full legal notices.
    ";

    revision "2017-07-01" {
      description "Initial revision.";
      reference
        "https://tools.ietf.org/html/rfc6833";

    }


    identity ms {
      base lisp:lisp-role;
      description "LISP Map-Server.";
    }

    grouping ms-counters {
      description
        "Group that defines map-server counters.";
      container counters {
        config false;
        description
          "Container for the counters";
        leaf map-registers-in {
          type yang:counter32;
          description
            "Number of incoming Map-Register messages";
        }

        leaf map-registers-in-auth-failed {
          type yang:counter32;
          description
            "Number of incoming Map-Register messages failed
            authentication";
        }

        leaf map-notify-records-out {
          type yang:counter32;
          description
            "Number of outgoing Map-Notify records";
        }

        leaf proxy-reply-records-out {
          type yang:counter32;
          description
            "Number of outgoing proxy Map-Reply records";
        }

        leaf map-requests-forwarded-out {
          type yang:counter32;
          description
            "Number of outgoing Map-Requests forwarded to ETR";
        }
      }  // container counters
    }  // grouping ms-counters

    augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance {
      when
        "lisp:lisp-role/lisp:lisp-role-type = 'lisp-ms:ms'" {
        description
          "Augment is valid when LISP device type is Map-Server.";
      }
      description
        "This augments LISP devices list with Map-Server specific
       parameters.";
      container map-server {
        presence
          "LISP Map-Server operation enabled";
        description "Map-Server parameters.";
        container sites {
          description
            "Sites to accept registrations from.";
          list site {
            key "site-id";
            description
              "Site that can send registrations.";
            leaf site-id {
              type uint64;
              description "Site ID";
            }

            container auth-key {
              description
                "Site authentication key.";
              leaf auth-key-value {
                type string;
                description
                  "Clear text authentication key";
              }

              leaf-list auth-key-type {
                type lisp:auth-key-type;
                description
                  "Authentication key type.";
              }
            }  // container auth-key
          }  // list site
        }  // container sites

        container virtual-network-ids {
          description
            "Sites for which the Map-Server accepts registrations.";
          list virtual-network-identifier {
            key "vni";
            description
              "Virtual network instances in the Map-Server.";
            leaf vni {
              type lcaf:instance-id-type;
              description
                "Virtual network identifier.";
            }

            container mappings {
              description
                "EIDs registered by device.";
              list mapping {
                key "eid-id";
                description
                  "List of EIDs registered by device.";
                leaf eid-id {
                  type lisp:eid-id;
                  description
                    "Id of the EID registered.";
                }

                container eid-address {
                  description
                    "EID in generic LISP address format registered
                   with the Map-Server.";
                  uses lcaf:lisp-address;
                }  // container eid-address

                leaf-list site-id {
                  type uint64;
                  description "Site ID";
                }

                leaf more-specifics-accepted {
                  type boolean;
                  default "false";
                  description
                    "Flag indicating if more specific prefixes
                     can be registered.";
                }

                leaf mapping-expiration-timeout {
                  type int16;
                  units "seconds";
                  default "180";
                  description
                    "Time before mapping is expired if no new
                     registrations are received.";
                }

                container mapping-records {
                  description
                    "Datastore of registred mappings.";
                  list mapping-record {
                    key "xtr-id";
                    description
                      "Registered mapping.";
                    leaf xtr-id {
                      type lisp:xtr-id-type;
                      description "xTR ID";
                    }

                    leaf site-id {
                      type uint64;
                      description "Site ID";
                    }

                    uses lisp:mapping;
                  }  // list mapping-record
                }  // container mapping-records
              }  // list mapping
            }  // container mappings

            uses ms-counters;
          }  // list virtual-network-identifier
        }  // container virtual-network-ids

        leaf mapping-system-type {
          type lisp:mapping-system-ref;
          description
            "A reference to the mapping system";
        }

        container summary {
          config false;
          description
            "Summary state information";
          leaf number-configured-sites {
            type uint32;
            description
              "Number of configured LISP sites";
          }

          leaf number-registered-sites {
            type uint32;
            description
              "Number of registered LISP sites";
          }

          container af-datum {
            description
              "Number of configured EIDs per each AF";
            list af-data {
              key "address-type";
              description
                "Number of configured EIDs for this AF";
              leaf address-type {
                type lcaf:lisp-address-family-ref;
                description "AF type";
              }

              leaf number-configured-eids {
                type uint32;
                description
                  "Number of configured EIDs for this AF";
              }

              leaf number-registered-eids {
                type uint32;
                description
                  "Number of registered EIDs for this AF";
              }
            }  // list af-data
          }  // container af-datum
        }  // container summary

        uses ms-counters;
      }  // container map-server
    }
  }  // module ietf-lisp-mapserver