module ietf-lisp-mapserver {
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
"WG Web:
WG List:
Editor: Vina Ermagan
Editor: Alberto Rodriguez-Natal
Editor: Reshad Rahman
";
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) 2018 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 XXXX; see
the RFC itself for full legal notices.
";
// RFC Ed.: replace XXXX with actual RFC number and remove
// this note
reference "RFC XXXX";
revision 2018-03-05 {
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:counter64;
description "Number of incoming Map-Register messages";
}
leaf map-registers-in-auth-failed {
type yang:counter64;
description
"Number of incoming Map-Register messages failed
authentication";
}
leaf map-notify-records-out {
type yang:counter64;
description
"Number of outgoing Map-Notify records";
}
leaf proxy-reply-records-out {
type yang:counter64;
description
"Number of outgoing proxy Map-Reply records";
}
leaf map-requests-forwarded-out {
type yang:counter64;
description
"Number of outgoing Map-Requests forwarded to ETR";
}
}
}
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 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 {
uses lcaf:lisp-address;
description
"EID in generic LISP address format registered
with the Map-Server.";
}
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"; //3 times the mapregister int
description
"Time before mapping is expired if no new
registrations are received.";
}
container mapping-records {
description
"Datastore of registered 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;
}
}
}
}
uses ms-counters;
}
}
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";
}
}
}
}
uses ms-counters;
}
}
}