module ietf-lisp-itr {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-itr";
prefix lisp-itr;
// RFC Ed.: replace occurrences of XXXX with actual RFC number
// and remove this note
import ietf-lisp {
prefix lisp;
reference "RFC XXXX: LISP YANG model";
}
import ietf-inet-types {
prefix inet;
reference "RFC 6991: Common YANG Data Types";
}
import ietf-routing {
prefix "rt";
reference
"RFC 8349: A YANG Data Model for Routing Management
(NMDA version)";
}
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
ITR. 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.
";
reference "RFC XXXX";
revision 2019-02-23 {
description
"Initial revision.";
reference
"https://tools.ietf.org/html/rfc6830";
}
augment "/rt:routing/rt:control-plane-protocols"
+ "/rt:control-plane-protocol/lisp:lisp" {
when "lisp:lisp-role/lisp:lisp-role-type = 'lisp:itr' or
lisp:lisp-role/lisp:lisp-role-type = 'lisp:pitr'" {
description
"Augment is valid when LISP role type is ITR or PITR.";
}
description
"This augments the LISP devices list with (P)ITR specific
parameters.";
container itr {
presence "LISP (P)ITR operation enabled";
description
"ITR parameters";
container rloc-probing {
presence "RLOC probing active";
description
"RLOC-probing parameters";
leaf interval {
type uint16;
units "seconds";
description
"Interval in seconds for resending the probes";
}
leaf retries {
type uint8;
description
"Number of retries for sending the probes";
}
leaf retries-interval {
type uint16;
units "seconds";
description
"Interval in seconds between retries when sending probes.
The action taken if all retries fail to receive is
implementation specific.";
}
}
leaf itr-rlocs {
type leafref {
path "/rt:routing/rt:control-plane-protocols"
+ "/rt:control-plane-protocol/lisp:lisp"
+ "/lisp:locator-sets/lisp:locator-set"
+ "/lisp:locator-set-name";
}
description
"Reference to a locator set that the (P)ITR includes in
Map-Requests";
}
container map-resolvers {
description
"Map-Resolvers that the (P)ITR uses.";
leaf-list map-resolver {
type inet:ip-address;
description
"Each Map-Resolver within the list of Map-Resolvers.";
}
}
container proxy-etrs {
when "../../lisp:lisp-role/lisp:lisp-role-type='lisp:itr'" {
description
"Container exists only when LISP role type is ITR";
}
description
"Proxy ETRs that the ITR uses.";
leaf-list proxy-etr-address{
type inet:ip-address;
description
"Proxy ETR RLOC address.";
}
}
container map-cache {
leaf size {
type uint32;
config false;
description
"Current number of entries in the EID-to-RLOC map-cache";
}
leaf limit {
type uint32;
config false;
description
"Maximum permissible number of entries in the EID-to-RLOC
map-cache";
}
uses lisp:mappings;
description
"EID to RLOCs mappings cache.";
}
}
}
}