idnits 2.17.00 (12 Aug 2021) /tmp/idnits9255/draft-ietf-lisp-yang-08.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 18 instances of too long lines in the document, the longest one being 7 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 124 has weird spacing: '...et-name str...' == Line 245 has weird spacing: '...le-type lis...' == The document doesn't use any RFC 2119 keywords, yet has text resembling RFC 2119 boilerplate text. -- The document date (June 29, 2018) is 1421 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- == Unused Reference: 'RFC6832' is defined on line 3335, but no explicit reference was found in the text == Unused Reference: 'RFC6836' is defined on line 3346, but no explicit reference was found in the text == Unused Reference: 'RFC8060' is defined on line 3351, but no explicit reference was found in the text == Unused Reference: 'RFC8111' is defined on line 3355, but no explicit reference was found in the text == Unused Reference: 'RFC8349' is defined on line 3368, but no explicit reference was found in the text Summary: 1 error (**), 0 flaws (~~), 9 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 LISP Working Group V. Ermagan 3 Internet-Draft A. Rodriguez-Natal 4 Intended status: Experimental F. Coras 5 Expires: December 31, 2018 C. Moberg 6 R. Rahman 7 Cisco Systems 8 A. Cabellos-Aparicio 9 Technical University of Catalonia 10 F. Maino 11 Cisco Systems 12 June 29, 2018 14 LISP YANG Model 15 draft-ietf-lisp-yang-08 17 Abstract 19 This document describes a YANG data model to use with the Locator/ID 20 Separation Protocol (LISP). 22 The YANG modules in this document conform to the Network Management 23 Datastore Architecture (NMDA). 25 Status of This Memo 27 This Internet-Draft is submitted in full conformance with the 28 provisions of BCP 78 and BCP 79. 30 Internet-Drafts are working documents of the Internet Engineering 31 Task Force (IETF). Note that other groups may also distribute 32 working documents as Internet-Drafts. The list of current Internet- 33 Drafts is at https://datatracker.ietf.org/drafts/current/. 35 Internet-Drafts are draft documents valid for a maximum of six months 36 and may be updated, replaced, or obsoleted by other documents at any 37 time. It is inappropriate to use Internet-Drafts as reference 38 material or to cite them other than as "work in progress." 40 This Internet-Draft will expire on December 31, 2018. 42 Copyright Notice 44 Copyright (c) 2018 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (https://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Table of Contents 59 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 60 1.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 61 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 62 2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3 63 2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3 64 2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 6 65 3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 16 66 3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 16 67 3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 21 68 4. LISP-ETR Module . . . . . . . . . . . . . . . . . . . . . . . 25 69 4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 25 70 4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 27 71 5. LISP-Map-Server Module . . . . . . . . . . . . . . . . . . . 31 72 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 32 73 5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 40 74 6. LISP-Map-Resolver Module . . . . . . . . . . . . . . . . . . 46 75 6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 46 76 6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 47 77 7. LISP-Address-Types Module . . . . . . . . . . . . . . . . . . 49 78 7.1. Module Definition . . . . . . . . . . . . . . . . . . . . 49 79 7.2. Data Model examples . . . . . . . . . . . . . . . . . . . 63 80 7.2.1. LISP protocol instance . . . . . . . . . . . . . . . 64 81 7.2.2. LISP ITR . . . . . . . . . . . . . . . . . . . . . . 65 82 7.2.3. LISP ETR . . . . . . . . . . . . . . . . . . . . . . 65 83 7.2.4. LISP Map-Server . . . . . . . . . . . . . . . . . . . 67 84 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 68 85 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 68 86 10. Security Considerations . . . . . . . . . . . . . . . . . . . 70 87 11. Normative References . . . . . . . . . . . . . . . . . . . . 70 88 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 71 90 1. Introduction 92 The Locator/ID Separation Protocol (LISP) defines several network 93 elements subject to be configured. This document presents the YANG 94 data models required for basic configuration of all major LISP 95 [RFC6830] elements. The models also capture some essential 96 operational data elements as well. 98 1.1. Requirements Language 100 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 101 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 102 document are to be interpreted as described in BCP 14 [RFC2119] 103 [RFC8174] when, and only when, they appear in all capitals, as shown 104 here. 106 1.2. Tree Diagrams 108 This document uses the graphical representation of data models 109 defined in [RFC8340]. 111 2. LISP Module 113 This module is the base LISP module that is augmented in multiple 114 models to represent various LISP device roles. 116 2.1. Module Structure 118 module: ietf-lisp 119 augment /rt:routing/rt:control-plane-protocols 120 /rt:control-plane-protocol: 121 +--rw lisp 122 +--rw locator-sets 123 | +--rw locator-set* [locator-set-name] 124 | +--rw locator-set-name string 125 | +--rw (locator-type)? 126 | +--:(local-interface) 127 | | +--rw interface* [interface-ref] 128 | | +--rw interface-ref if:interface-ref 129 | | +--rw priority? uint8 130 | | +--rw weight? uint8 131 | | +--rw multicast-priority? uint8 132 | | +--rw multicast-weight? uint8 133 | +--:(general-locator) 134 | +--rw locator* [id] 135 | +--rw id string 136 | +--rw locator-address 137 | | +--rw address-type 138 | | | lisp-address-family-ref 139 | | +--rw virtual-network-id? 140 | | | instance-id-type 141 | | +--rw (address)? 142 | | +--:(no-address) 143 | | | +--rw no-address? empty 144 | | +--:(ipv4) 145 | | | +--rw ipv4? 146 | | | inet:ipv4-address 147 | | +--:(ipv4-prefix) 148 | | | +--rw ipv4-prefix? 149 | | | inet:ipv4-prefix 150 | | +--:(ipv6) 151 | | | +--rw ipv6? 152 | | | inet:ipv6-address 153 | | +--:(ipv6-prefix) 154 | | | +--rw ipv6-prefix? 155 | | | inet:ipv6-prefix 156 | | +--:(mac) 157 | | | +--rw mac? 158 | | | yang:mac-address 159 | | +--:(distinguished-name) 160 | | | +--rw distinguished-name? 161 | | | distinguished-name-type 162 | | +--:(as-number) 163 | | | +--rw as-number? 164 | | | inet:as-number 165 | | +--:(null-address) 166 | | | +--rw null-address 167 | | | +--rw address? empty 168 | | +--:(afi-list) 169 | | | +--rw afi-list 170 | | | +--rw address-list* 171 | | | simple-address 172 | | +--:(instance-id) 173 | | | +--rw instance-id 174 | | | +--rw iid? 175 | | | | instance-id-type 176 | | | +--rw mask-length? uint8 177 | | | +--rw address? simple-address 178 | | +--:(as-number-lcaf) 179 | | | +--rw as-number-lcaf 180 | | | +--rw as? inet:as-number 181 | | | +--rw address? simple-address 182 | | +--:(application-data) 183 | | | +--rw application-data 184 | | | +--rw address? 185 | | | | simple-address 186 | | | +--rw protocol? uint8 187 | | | +--rw ip-tos? int32 188 | | | +--rw local-port-low? 189 | | | | inet:port-number 190 | | | +--rw local-port-high? 191 | | | | inet:port-number 192 | | | +--rw remote-port-low? 193 | | | | inet:port-number 194 | | | +--rw remote-port-high? 195 | | | inet:port-number 196 | | +--:(geo-coordinates) 197 | | | +--rw geo-coordinates 198 | | | +--rw latitude? bits 199 | | | +--rw latitude-degrees? uint8 200 | | | +--rw latitude-minutes? uint8 201 | | | +--rw latitude-seconds? uint8 202 | | | +--rw longitude? bits 203 | | | +--rw longitude-degrees? uint16 204 | | | +--rw longitude-minutes? uint8 205 | | | +--rw longitude-seconds? uint8 206 | | | +--rw altitude? int32 207 | | | +--rw address? 208 | | | simple-address 209 | | +--:(nat-traversal) 210 | | | +--rw nat-traversal 211 | | | +--rw ms-udp-port? uint16 212 | | | +--rw etr-udp-port? uint16 213 | | | +--rw global-etr-rloc? 214 | | | | simple-address 215 | | | +--rw ms-rloc? 216 | | | | simple-address 217 | | | +--rw private-etr-rloc? 218 | | | | simple-address 219 | | | +--rw rtr-rlocs* 220 | | | simple-address 221 | | +--:(explicit-locator-path) 222 | | | +--rw explicit-locator-path 223 | | | +--rw hop* [hop-id] 224 | | | +--rw hop-id string 225 | | | +--rw address? simple-address 226 | | | +--rw lrs-bits? bits 227 | | +--:(source-dest-key) 228 | | | +--rw source-dest-key 229 | | | +--rw source? simple-address 230 | | | +--rw dest? simple-address 231 | | +--:(key-value-address) 232 | | | +--rw key-value-address 233 | | | +--rw key? simple-address 234 | | | +--rw value? simple-address 235 | | +--:(service-path) 236 | | +--rw service-path 237 | | +--rw service-path-id? 238 | | | service-path-id-type 239 | | +--rw service-index? uint8 240 | +--rw priority? uint8 241 | +--rw weight? uint8 242 | +--rw multicast-priority? uint8 243 | +--rw multicast-weight? uint8 244 +--rw lisp-role* [lisp-role-type] 245 | +--rw lisp-role-type lisp-role-ref 246 +--rw lisp-router-id 247 | +--rw site-id? uint64 248 | +--rw xtr-id? lisp:xtr-id-type 249 +--rw virtual-networks 250 +--rw virtual-network* [vni] 251 +--rw vni lcaf:instance-id-type 252 +--rw ni-name? 253 -> /ni:network-instances/network-instance/name 255 2.2. Module Definition 257 file "ietf-lisp@2018-06-29.yang" 258 module ietf-lisp { 259 yang-version 1.1; 261 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp"; 263 prefix lisp; 265 import ietf-interfaces { 266 prefix if; 267 reference 268 "RFC 8343: A YANG Data Model for Interface Management"; 269 } 270 // RFC Ed.: replace occurences of XXXX with actual RFC number 271 // and remove this note 272 import ietf-lisp-address-types { 273 prefix lcaf; 274 reference "RFC XXXX: LISP YANG model"; 275 } 276 import ietf-yang-types { 277 prefix yang; 278 reference "RFC 6991: Common YANG Data Types"; 279 } 280 import ietf-routing { 281 prefix "rt"; 282 reference 283 "RFC 8349: A YANG Data Model for Routing Management 284 (NMDA version)"; 285 } 286 import ietf-network-instance { 287 prefix "ni"; 288 // RFC Ed.: replace occurences of YYYY with actual RFC number 289 // of draft-ietf-rtgwg-ni-model and remove this note 290 reference 291 "RFC YYYY: YANG Model for Network Instances"; 292 } 294 organization 295 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 296 contact 297 "WG Web: 298 WG List: 300 Editor: Vina Ermagan 301 303 Editor: Alberto Rodriguez-Natal 304 306 Editor: Reshad Rahman 307 "; 308 description 309 "This YANG module defines the generic parameters for LISP. 310 The module can be extended by vendors to define vendor-specific 311 LISP parameters and policies. 313 Copyright (c) 2018 IETF Trust and the persons identified as 314 authors of the code. All rights reserved. 316 Redistribution and use in source and binary forms, with or 317 without modification, is permitted pursuant to, and subject 318 to the license terms contained in, the Simplified BSD License 319 set forth in Section 4.c of the IETF Trust's Legal Provisions 320 Relating to IETF Documents 321 (http://trustee.ietf.org/license-info). 323 This version of this YANG module is part of RFC XXXX; see 324 the RFC itself for full legal notices. 325 "; 327 reference "RFC XXXX"; 329 revision 2018-06-29 { 330 description 331 "Initial revision."; 332 reference 333 "https://tools.ietf.org/html/rfc6830"; 334 } 336 /* 337 * Identity definitions 338 */ 339 identity lisp { 340 base "rt:control-plane-protocol"; 341 description "LISP protocol."; 342 reference 343 "RFC 6830: The Locator/ID Separation Protocol (LISP)."; 344 } 346 identity lisp-role { 347 description 348 "LISP router role."; 349 } 350 identity itr { 351 base lisp-role; 352 description 353 "LISP ITR."; 354 } 355 identity pitr { 356 base lisp-role; 357 description 358 "LISP PITR."; 359 } 360 identity etr { 361 base lisp-role; 362 description 363 "LISP ETR."; 364 } 365 identity petr { 366 base lisp-role; 367 description 368 "LISP PETR."; 369 } 370 identity mapping-system { 371 description 372 "Mapping System interface"; 373 } 374 identity single-node-mapping-system { 375 base mapping-system; 376 description 377 "logically singular Map Server"; 378 } 379 typedef mapping-system-ref { 380 type identityref { 381 base mapping-system; 382 } 383 description 384 "Mapping System reference"; 385 } 386 typedef lisp-role-ref { 387 type identityref { 388 base lisp-role; 389 } 390 description 391 "LISP role reference"; 392 } 393 typedef map-reply-action { 394 type enumeration { 395 enum no-action { 396 value 0; 397 description 398 "Mapping is kept alive and no encapsulation occurs."; 399 } 400 enum natively-forward { 401 value 1; 402 description 403 "Matching packets are not encapsulated or dropped but 404 natively forwarded."; 405 } 406 enum send-map-request { 407 value 2; 408 description 409 "Matching packets invoke Map-Requests."; 410 } 411 enum drop { 412 value 3; 413 description 414 "Matching packets are dropped."; 415 } 416 } 417 description 418 "Defines the lisp map-cache ACT type"; 419 reference "https://tools.ietf.org/html/rfc6830#section-6.1.4"; 420 } 421 typedef eid-id { 422 type string; 423 description 424 "Type encoding of lisp-addresses to be generally used in EID 425 keyed lists."; 426 } 427 typedef auth-key-type { 428 type enumeration { 429 enum none { 430 value 0; 431 description 432 "No authentication."; 433 } 434 enum hmac-sha-1-96 { 435 value 1; 436 description 437 "HMAC-SHA-1-96 (RFC2404) authentication is used."; 438 } 439 enum hmac-sha-256-128 { 440 value 2; 441 description 442 "HMAC-SHA-256-128 (RFC4868) authentication is used."; 443 } 444 } 445 description 446 "Enumeration of the authentication mechanisms supported by 447 LISP."; 448 reference 449 "https://tools.ietf.org/html/rfc6830#section-6.1.6"; 450 } 451 typedef xtr-id-type { 452 type binary { 453 length "16"; 454 } 455 description 456 "128 bit xTR identifier."; 457 } 459 grouping locator-properties { 460 description 461 "Properties of a RLOC"; 462 leaf priority { 463 type uint8; 464 description 465 "Locator priority."; 466 } 467 leaf weight { 468 type uint8; 469 description 470 "Locator weight."; 471 } 472 leaf multicast-priority { 473 type uint8; 474 description 475 "Locator's multicast priority"; 476 } 477 leaf multicast-weight { 478 type uint8; 479 description 480 "Locator's multicast weight"; 481 } 483 } 485 grouping locators-grouping { 486 description 487 "Group that defines a list of LISP locators."; 488 list locator { 489 key "id"; 490 description 491 "List of routing locators"; 492 leaf id { 493 type string { 494 length "1..64"; 495 } 496 description 497 "Locator id"; 498 } 499 container locator-address { 500 uses lcaf:lisp-address; 501 description 502 "The locator address provided in LISP canonincal 503 address format."; 504 } 505 uses locator-properties; 506 } 508 } 510 grouping local-locators-grouping { 511 description 512 "Group that defines a list of LISP locators."; 513 list interface { 514 key "interface-ref"; 515 description 516 "The address type of the locator"; 517 leaf interface-ref { 518 type if:interface-ref; 519 description 520 "The name of the interface supporting the locator."; 521 } 522 uses locator-properties; 523 } 524 } 526 grouping mapping { 527 description 528 "Group that defines a LISP mapping."; 529 container eid { 530 uses lcaf:lisp-address; 531 description 532 "End-host Identifier (EID) to be mapped to a list of 533 locators"; 534 } 535 leaf time-to-live { 536 type uint32; 537 units minutes; 538 description 539 "Mapping validity period in minutes."; 540 } 541 leaf creation-time { 542 type yang:date-and-time; 543 config false; 544 description 545 "Time when the mapping was created."; 546 } 547 leaf authoritative { 548 type bits { 549 bit A { 550 description 551 "Authoritative bit."; 552 } 553 } 554 description 555 "Bit that indicates if mapping comes from an 556 authoritative source."; 557 } 558 leaf static { 559 type boolean; 560 default "false"; 561 description 562 "This leaf should be true if the mapping is static."; 563 } 564 choice locator-list { 565 description 566 "list of locartors are either negative, or positive."; 567 case negative-mapping { 568 leaf map-reply-action { 569 type map-reply-action; 570 description 571 "Forwarding action for a negative mapping."; 572 } 573 } 574 case positive-mapping { 575 container rlocs { 576 uses locators-grouping; 577 description 578 "List of locators for a positive mapping."; 580 } 581 } 582 } 583 } 585 grouping mappings { 586 description 587 "Group that defines a list of LISP mappings."; 588 list virtual-network { 589 key "vni"; 590 description 591 "Virtual network to which the mappings belong."; 592 leaf vni { 593 type lcaf:instance-id-type; 594 description 595 "Virtual network identifier."; 596 } 597 container mappings { 598 description 599 "Mappings within the virtual network."; 600 list mapping { 601 key "id"; 602 description 603 "List of EID to RLOCs mappings."; 604 leaf id { 605 type eid-id; 606 description 607 "Id that uniquely identifies a mapping."; 608 } 609 uses mapping; 610 } 611 } 612 } 613 } 615 augment "/rt:routing/rt:control-plane-protocols" 616 + "/rt:control-plane-protocol" { 617 when "derived-from-or-self(rt:type, 'lisp:lisp')" { 618 description 619 "This augmentation is only valid for a control-plane protocol 620 instance of LISP."; 621 } 622 description "LISP protocol ietf-routing module 623 control-plane-protocol augmentation."; 625 container lisp { 626 description 627 "Parameters for the LISP subsystem."; 629 container locator-sets { 630 description 631 "Container that defines a named locator set which can be 632 referenced elsewhere."; 633 list locator-set { 634 key "locator-set-name"; 635 description 636 "Multiple locator sets can be defined."; 637 leaf locator-set-name { 638 type string { 639 length "1..64"; 640 } 641 description 642 "Locator set name"; 643 } 644 choice locator-type { 645 description 646 "Locator sets can be based on local interfaces, or 647 general locators."; 648 case local-interface { 649 uses local-locators-grouping; 650 description 651 "List of locators in this set based on local 652 interfaces."; 653 } 654 case general-locator { 655 uses locators-grouping; 656 description 657 "List of locators in this set based on lisp-address."; 658 } 659 } 660 } 661 } 663 list lisp-role { 664 key lisp-role-type; 665 description 666 "List of lisp device roles such as MS, MR, ITR, 667 PITR, ETR or PETR."; 668 leaf lisp-role-type { 669 type lisp-role-ref; 670 description 671 "The type of LISP device - identity derived from the 672 'lisp-device' base identity."; 673 } 674 } 676 container lisp-router-id { 677 when "../lisp-role/lisp-role-type = 'itr' or 678 ../lisp-role/lisp-role-type = 'pitr' or 679 ../lisp-role/lisp-role-type = 'etr' or 680 ../lisp-role/lisp-role-type = 'petr'" { 681 description "Only when ITR, PITR, ETR or PETR."; 682 } 683 description 684 "Site-ID and xTR-ID of the device."; 685 leaf site-id { 686 type uint64; 687 description "Site ID"; 688 } 689 leaf xtr-id { 690 type lisp:xtr-id-type; 691 description "xTR ID"; 692 } 693 } 695 container virtual-networks { 696 description "Virtual networks"; 697 list virtual-network { 698 key vni; 699 description "List of virtual networks"; 701 leaf vni { 702 type lcaf:instance-id-type; 703 description 704 "Virtual network identifier"; 705 } 706 leaf ni-name { 707 type leafref { 708 path "/ni:network-instances/ni:network-instance/ni:name"; 709 } 710 description 711 "Name of Network Instance (e.g. VRF) to which a VNI is 712 bound. Each VNI is bound to a different Network 713 Instance"; 714 } 715 } 716 } 717 } 718 } 719 } 720 722 3. LISP-ITR Module 724 This module captures the configuration data model of a LISP ITR. The 725 model also captures some operational data elements. 727 3.1. Module Structure 729 module: ietf-lisp-itr 730 augment /rt:routing/rt:control-plane-protocols 731 /rt:control-plane-protocol/lisp:lisp: 732 +--rw itr! 733 +--rw rloc-probing! 734 | +--rw interval? uint16 735 | +--rw retries? uint8 736 | +--rw retries-interval? uint16 737 +--rw itr-rlocs? leafref 738 +--rw map-resolvers 739 | +--rw map-resolver* inet:ip-address 740 +--rw proxy-etrs 741 | +--rw proxy-etr-address* inet:ip-address 742 +--rw map-cache 743 +--ro size? uint32 744 +--ro limit? uint32 745 +--rw virtual-network* [vni] 746 +--rw vni lcaf:instance-id-type 747 +--rw mappings 748 +--rw mapping* [id] 749 +--rw id eid-id 750 +--rw eid 751 | +--rw address-type 752 | | lisp-address-family-ref 753 | +--rw virtual-network-id? 754 | | instance-id-type 755 | +--rw (address)? 756 | +--:(no-address) 757 | | +--rw no-address? empty 758 | +--:(ipv4) 759 | | +--rw ipv4? 760 | | inet:ipv4-address 761 | +--:(ipv4-prefix) 762 | | +--rw ipv4-prefix? 763 | | inet:ipv4-prefix 764 | +--:(ipv6) 765 | | +--rw ipv6? 766 | | inet:ipv6-address 767 | +--:(ipv6-prefix) 768 | | +--rw ipv6-prefix? 769 | | inet:ipv6-prefix 770 | +--:(mac) 771 | | +--rw mac? 772 | | yang:mac-address 773 | +--:(distinguished-name) 774 | | +--rw distinguished-name? 775 | | distinguished-name-type 776 | +--:(as-number) 777 | | +--rw as-number? 778 | | inet:as-number 779 | +--:(null-address) 780 | | +--rw null-address 781 | | +--rw address? empty 782 | +--:(afi-list) 783 | | +--rw afi-list 784 | | +--rw address-list* simple-address 785 | +--:(instance-id) 786 | | +--rw instance-id 787 | | +--rw iid? instance-id-type 788 | | +--rw mask-length? uint8 789 | | +--rw address? simple-address 790 | +--:(as-number-lcaf) 791 | | +--rw as-number-lcaf 792 | | +--rw as? inet:as-number 793 | | +--rw address? simple-address 794 | +--:(application-data) 795 | | +--rw application-data 796 | | +--rw address? 797 | | | simple-address 798 | | +--rw protocol? uint8 799 | | +--rw ip-tos? int32 800 | | +--rw local-port-low? 801 | | | inet:port-number 802 | | +--rw local-port-high? 803 | | | inet:port-number 804 | | +--rw remote-port-low? 805 | | | inet:port-number 806 | | +--rw remote-port-high? 807 | | inet:port-number 808 | +--:(geo-coordinates) 809 | | +--rw geo-coordinates 810 | | +--rw latitude? bits 811 | | +--rw latitude-degrees? uint8 812 | | +--rw latitude-minutes? uint8 813 | | +--rw latitude-seconds? uint8 814 | | +--rw longitude? bits 815 | | +--rw longitude-degrees? uint16 816 | | +--rw longitude-minutes? uint8 817 | | +--rw longitude-seconds? uint8 818 | | +--rw altitude? int32 819 | | +--rw address? 820 | | simple-address 821 | +--:(nat-traversal) 822 | | +--rw nat-traversal 823 | | +--rw ms-udp-port? uint16 824 | | +--rw etr-udp-port? uint16 825 | | +--rw global-etr-rloc? 826 | | | simple-address 827 | | +--rw ms-rloc? 828 | | | simple-address 829 | | +--rw private-etr-rloc? 830 | | | simple-address 831 | | +--rw rtr-rlocs* 832 | | simple-address 833 | +--:(explicit-locator-path) 834 | | +--rw explicit-locator-path 835 | | +--rw hop* [hop-id] 836 | | +--rw hop-id string 837 | | +--rw address? simple-address 838 | | +--rw lrs-bits? bits 839 | +--:(source-dest-key) 840 | | +--rw source-dest-key 841 | | +--rw source? simple-address 842 | | +--rw dest? simple-address 843 | +--:(key-value-address) 844 | | +--rw key-value-address 845 | | +--rw key? simple-address 846 | | +--rw value? simple-address 847 | +--:(service-path) 848 | +--rw service-path 849 | +--rw service-path-id? 850 | | service-path-id-type 851 | +--rw service-index? uint8 852 +--rw time-to-live? uint32 853 +--ro creation-time? yang:date-and-time 854 +--rw authoritative? bits 855 +--rw static? boolean 856 +--rw (locator-list)? 857 +--:(negative-mapping) 858 | +--rw map-reply-action? map-reply-action 859 +--:(positive-mapping) 860 +--rw rlocs 861 +--rw locator* [id] 862 +--rw id string 863 +--rw locator-address 864 | +--rw address-type 865 | | lisp-address-family-ref 866 | +--rw virtual-network-id? 867 | | instance-id-type 868 | +--rw (address)? 869 | +--:(no-address) 870 | | +--rw no-address? 871 | | empty 872 | +--:(ipv4) 873 | | +--rw ipv4? 874 | | inet:ipv4-address 875 | +--:(ipv4-prefix) 876 | | +--rw ipv4-prefix? 877 | | inet:ipv4-prefix 878 | +--:(ipv6) 879 | | +--rw ipv6? 880 | | inet:ipv6-address 881 | +--:(ipv6-prefix) 882 | | +--rw ipv6-prefix? 883 | | inet:ipv6-prefix 884 | +--:(mac) 885 | | +--rw mac? 886 | | yang:mac-address 887 | +--:(distinguished-name) 888 | | +--rw distinguished-name? 889 | | distinguished-name-type 890 | +--:(as-number) 891 | | +--rw as-number? 892 | | inet:as-number 893 | +--:(null-address) 894 | | +--rw null-address 895 | | +--rw address? empty 896 | +--:(afi-list) 897 | | +--rw afi-list 898 | | +--rw address-list* 899 | | simple-address 900 | +--:(instance-id) 901 | | +--rw instance-id 902 | | +--rw iid? 903 | | | instance-id-type 904 | | +--rw mask-length? uint8 905 | | +--rw address? 906 | | simple-address 907 | +--:(as-number-lcaf) 908 | | +--rw as-number-lcaf 909 | | +--rw as? 910 | | | inet:as-number 911 | | +--rw address? 912 | | simple-address 913 | +--:(application-data) 914 | | +--rw application-data 915 | | +--rw address? 916 | | | simple-address 917 | | +--rw protocol? 918 | | | uint8 919 | | +--rw ip-tos? 920 | | | int32 921 | | +--rw local-port-low? 922 | | | inet:port-number 923 | | +--rw local-port-high? 924 | | | inet:port-number 925 | | +--rw remote-port-low? 926 | | | inet:port-number 927 | | +--rw remote-port-high? 928 | | inet:port-number 929 | +--:(geo-coordinates) 930 | | +--rw geo-coordinates 931 | | +--rw latitude? 932 | | | bits 933 | | +--rw latitude-degrees? 934 | | | uint8 935 | | +--rw latitude-minutes? 936 | | | uint8 937 | | +--rw latitude-seconds? 938 | | | uint8 939 | | +--rw longitude? 940 | | | bits 941 | | +--rw longitude-degrees? 942 | | | uint16 943 | | +--rw longitude-minutes? 944 | | | uint8 945 | | +--rw longitude-seconds? 946 | | | uint8 947 | | +--rw altitude? 948 | | | int32 949 | | +--rw address? 950 | | simple-address 951 | +--:(nat-traversal) 952 | | +--rw nat-traversal 953 | | +--rw ms-udp-port? 954 | | | uint16 955 | | +--rw etr-udp-port? 956 | | | uint16 957 | | +--rw global-etr-rloc? 958 | | | simple-address 959 | | +--rw ms-rloc? 960 | | | simple-address 961 | | +--rw private-etr-rloc? 962 | | | simple-address 963 | | +--rw rtr-rlocs* 964 | | simple-address 965 | +--:(explicit-locator-path) 966 | | +--rw explicit-locator-path 967 | | +--rw hop* [hop-id] 968 | | +--rw hop-id 969 | | | string 970 | | +--rw address? 971 | | | simple-address 972 | | +--rw lrs-bits? bits 973 | +--:(source-dest-key) 974 | | +--rw source-dest-key 975 | | +--rw source? 976 | | | simple-address 977 | | +--rw dest? 978 | | simple-address 979 | +--:(key-value-address) 980 | | +--rw key-value-address 981 | | +--rw key? 982 | | | simple-address 983 | | +--rw value? 984 | | simple-address 985 | +--:(service-path) 986 | +--rw service-path 987 | +--rw service-path-id? 988 | | service-path-id-type 989 | +--rw service-index? 990 | uint8 991 +--rw priority? uint8 992 +--rw weight? uint8 993 +--rw multicast-priority? uint8 994 +--rw multicast-weight? uint8 996 3.2. Module Definition 998 file "ietf-lisp-itr@2018-06-29.yang" 999 module ietf-lisp-itr { 1000 yang-version 1.1; 1002 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-itr"; 1004 prefix lisp-itr; 1006 // RFC Ed.: replace occurences of XXXX with actual RFC number 1007 // and remove this note 1008 import ietf-lisp { 1009 prefix lisp; 1010 reference "RFC XXXX: LISP YANG model"; 1011 } 1012 import ietf-inet-types { 1013 prefix inet; 1014 reference "RFC 6991: Common YANG Data Types"; 1015 } 1016 import ietf-routing { 1017 prefix "rt"; 1018 reference 1019 "RFC 8349: A YANG Data Model for Routing Management 1020 (NMDA version)"; 1021 } 1023 organization 1024 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 1025 contact 1026 "WG Web: 1027 WG List: 1029 Editor: Vina Ermagan 1030 1032 Editor: Alberto Rodriguez-Natal 1033 1035 Editor: Reshad Rahman 1036 "; 1037 description 1038 "This YANG module defines the generic parameters for a LISP 1039 ITR. The module can be extended by vendors to define 1040 vendor-specific parameters and policies. 1042 Copyright (c) 2018 IETF Trust and the persons identified as 1043 authors of the code. All rights reserved. 1045 Redistribution and use in source and binary forms, with or 1046 without modification, is permitted pursuant to, and subject 1047 to the license terms contained in, the Simplified BSD License 1048 set forth in Section 4.c of the IETF Trust's Legal Provisions 1049 Relating to IETF Documents 1050 (http://trustee.ietf.org/license-info). 1052 This version of this YANG module is part of RFC XXXX; see 1053 the RFC itself for full legal notices. 1054 "; 1056 reference "RFC XXXX"; 1057 revision 2018-06-29 { 1058 description 1059 "Initial revision."; 1060 reference 1061 "https://tools.ietf.org/html/rfc6830"; 1062 } 1063 augment "/rt:routing/rt:control-plane-protocols" 1064 + "/rt:control-plane-protocol/lisp:lisp" { 1065 when "lisp:lisp-role/lisp:lisp-role-type = 'lisp:itr' or 1066 lisp:lisp-role/lisp:lisp-role-type = 'lisp:pitr'" { 1067 description 1068 "Augment is valid when LISP role type is ITR or PITR."; 1069 } 1070 description 1071 "This augments LISP devices list with (P)ITR specific 1072 parameters."; 1073 container itr { 1074 presence "LISP (P)ITR operation enabled"; 1075 description 1076 "ITR parameters"; 1077 container rloc-probing { 1078 presence "RLOC probing active"; 1079 description 1080 "RLOC-probing parameters"; 1081 leaf interval { 1082 type uint16; 1083 units "seconds"; 1084 description 1085 "Interval in seconds for resending the probes"; 1086 } 1087 leaf retries { 1088 type uint8; 1089 description 1090 "Number of retries for sending the probes"; 1091 } 1092 leaf retries-interval { 1093 type uint16; 1094 units "seconds"; 1095 description 1096 "Interval in seconds between retries when sending probes. 1097 The action taken if all retries fail to receive is 1098 impementation specific."; 1099 } 1100 } 1101 leaf itr-rlocs { 1102 type leafref { 1103 path "/rt:routing/rt:control-plane-protocols" 1104 + "/rt:control-plane-protocol/lisp:lisp" 1105 + "/lisp:locator-sets/lisp:locator-set" 1106 + "/lisp:locator-set-name"; 1107 } 1108 description 1109 "Reference to a locator set that the (P)ITR includes in 1110 Map-Requests"; 1111 } 1112 container map-resolvers { 1113 description 1114 "Map-Resolvers that the (P)ITR uses."; 1115 leaf-list map-resolver { 1116 type inet:ip-address; 1117 description 1118 "Each Map-Resolver within the list of Map-Resolvers."; 1119 } 1120 } 1121 container proxy-etrs { 1122 when "../../lisp:lisp-role/lisp:lisp-role-type = 'lisp:itr'" { 1123 description 1124 "Container exists only when LISP role type is ITR"; 1125 } 1126 description 1127 "Proxy ETRs that the ITR uses."; 1128 leaf-list proxy-etr-address{ 1129 type inet:ip-address; 1130 description 1131 "Proxy ETR RLOC address."; 1132 } 1133 } 1134 container map-cache { 1135 leaf size { 1136 type uint32; 1137 config false; 1138 description 1139 "Current number of entries in the EID-to-RLOC map-cache"; 1140 } 1141 leaf limit { 1142 type uint32; 1143 config false; 1144 description 1145 "Maximum permissible number of entries in the EID-to-RLOC 1146 map-cache"; 1147 } 1149 uses lisp:mappings; 1150 description 1151 "EID to RLOCs mappings cache."; 1152 } 1154 } 1155 } 1156 } 1157 1159 4. LISP-ETR Module 1161 This module captures the configuration data model of a LISP ETR. The 1162 model also captures some operational data elements. 1164 4.1. Module Structure 1166 module: ietf-lisp-etr 1167 augment /rt:routing/rt:control-plane-protocols 1168 /rt:control-plane-protocol/lisp:lisp: 1169 +--rw etr! 1170 +--rw map-servers 1171 | +--rw map-server* [ms-address] 1172 | +--rw ms-address inet:ip-address 1173 | +--rw auth-key? string 1174 | +--rw auth-key-type? lisp:auth-key-type 1175 +--rw local-eids 1176 +--rw virtual-network* [vni] 1177 +--rw vni lcaf:instance-id-type 1178 +--rw eids 1179 +--rw local-eid* [id] 1180 +--rw id lisp:eid-id 1181 +--rw eid-address 1182 | +--rw address-type 1183 | | lisp-address-family-ref 1184 | +--rw virtual-network-id? 1185 | | instance-id-type 1186 | +--rw (address)? 1187 | +--:(no-address) 1188 | | +--rw no-address? empty 1189 | +--:(ipv4) 1190 | | +--rw ipv4? 1191 | | inet:ipv4-address 1192 | +--:(ipv4-prefix) 1193 | | +--rw ipv4-prefix? 1194 | | inet:ipv4-prefix 1195 | +--:(ipv6) 1196 | | +--rw ipv6? 1197 | | inet:ipv6-address 1198 | +--:(ipv6-prefix) 1199 | | +--rw ipv6-prefix? 1200 | | inet:ipv6-prefix 1201 | +--:(mac) 1202 | | +--rw mac? 1203 | | yang:mac-address 1204 | +--:(distinguished-name) 1205 | | +--rw distinguished-name? 1206 | | distinguished-name-type 1207 | +--:(as-number) 1208 | | +--rw as-number? 1209 | | inet:as-number 1210 | +--:(null-address) 1211 | | +--rw null-address 1212 | | +--rw address? empty 1213 | +--:(afi-list) 1214 | | +--rw afi-list 1215 | | +--rw address-list* simple-address 1216 | +--:(instance-id) 1217 | | +--rw instance-id 1218 | | +--rw iid? instance-id-type 1219 | | +--rw mask-length? uint8 1220 | | +--rw address? simple-address 1221 | +--:(as-number-lcaf) 1222 | | +--rw as-number-lcaf 1223 | | +--rw as? inet:as-number 1224 | | +--rw address? simple-address 1225 | +--:(application-data) 1226 | | +--rw application-data 1227 | | +--rw address? 1228 | | | simple-address 1229 | | +--rw protocol? uint8 1230 | | +--rw ip-tos? int32 1231 | | +--rw local-port-low? 1232 | | | inet:port-number 1233 | | +--rw local-port-high? 1234 | | | inet:port-number 1235 | | +--rw remote-port-low? 1236 | | | inet:port-number 1237 | | +--rw remote-port-high? 1238 | | inet:port-number 1239 | +--:(geo-coordinates) 1240 | | +--rw geo-coordinates 1241 | | +--rw latitude? bits 1242 | | +--rw latitude-degrees? uint8 1243 | | +--rw latitude-minutes? uint8 1244 | | +--rw latitude-seconds? uint8 1245 | | +--rw longitude? bits 1246 | | +--rw longitude-degrees? uint16 1247 | | +--rw longitude-minutes? uint8 1248 | | +--rw longitude-seconds? uint8 1249 | | +--rw altitude? int32 1250 | | +--rw address? 1251 | | simple-address 1252 | +--:(nat-traversal) 1253 | | +--rw nat-traversal 1254 | | +--rw ms-udp-port? uint16 1255 | | +--rw etr-udp-port? uint16 1256 | | +--rw global-etr-rloc? 1257 | | | simple-address 1258 | | +--rw ms-rloc? 1259 | | | simple-address 1260 | | +--rw private-etr-rloc? 1261 | | | simple-address 1262 | | +--rw rtr-rlocs* 1263 | | simple-address 1264 | +--:(explicit-locator-path) 1265 | | +--rw explicit-locator-path 1266 | | +--rw hop* [hop-id] 1267 | | +--rw hop-id string 1268 | | +--rw address? simple-address 1269 | | +--rw lrs-bits? bits 1270 | +--:(source-dest-key) 1271 | | +--rw source-dest-key 1272 | | +--rw source? simple-address 1273 | | +--rw dest? simple-address 1274 | +--:(key-value-address) 1275 | | +--rw key-value-address 1276 | | +--rw key? simple-address 1277 | | +--rw value? simple-address 1278 | +--:(service-path) 1279 | +--rw service-path 1280 | +--rw service-path-id? 1281 | | service-path-id-type 1282 | +--rw service-index? uint8 1283 +--rw rlocs? leafref 1284 +--rw record-ttl? uint32 1285 +--rw want-map-notify? boolean 1286 +--rw proxy-reply? boolean 1287 +--rw registration-interval? uint16 1289 4.2. Module Definition 1291 file "ietf-lisp-etr@2018-06-29.yang" 1292 module ietf-lisp-etr { 1293 yang-version 1.1; 1295 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-etr"; 1297 prefix lisp-etr; 1298 // RFC Ed.: replace occurences of XXXX with actual RFC number 1299 // and remove this note 1300 import ietf-lisp { 1301 prefix lisp; 1302 reference "RFC XXXX: LISP YANG model"; 1303 } 1304 import ietf-lisp-address-types { 1305 prefix lcaf; 1306 reference "RFC XXXX: LISP YANG model"; 1307 } 1308 import ietf-inet-types { 1309 prefix inet; 1310 reference "RFC 6991: Common YANG Data Types"; 1311 } 1312 import ietf-routing { 1313 prefix "rt"; 1314 reference 1315 "RFC 8349: A YANG Data Model for Routing Management 1316 (NMDA version)"; 1317 } 1319 organization 1320 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 1321 contact 1322 "WG Web: 1323 WG List: 1325 Editor: Vina Ermagan 1326 1328 Editor: Alberto Rodriguez-Natal 1329 1331 Editor: Reshad Rahman 1332 "; 1333 description 1334 "This YANG module defines the generic parameters for a LISP 1335 ETR. The module can be extended by vendors to define 1336 vendor-specific parameters and policies. 1338 Copyright (c) 2018 IETF Trust and the persons identified as 1339 authors of the code. All rights reserved. 1341 Redistribution and use in source and binary forms, with or 1342 without modification, is permitted pursuant to, and subject 1343 to the license terms contained in, the Simplified BSD License 1344 set forth in Section 4.c of the IETF Trust's Legal Provisions 1345 Relating to IETF Documents 1346 (http://trustee.ietf.org/license-info). 1348 This version of this YANG module is part of RFC XXXX; see 1349 the RFC itself for full legal notices. 1350 "; 1352 reference "RFC XXXX"; 1354 revision 2018-06-29 { 1355 description 1356 "Initial revision."; 1357 reference 1358 "https://tools.ietf.org/html/rfc6830"; 1359 } 1360 augment "/rt:routing/rt:control-plane-protocols" 1361 + "/rt:control-plane-protocol/lisp:lisp" { 1362 when "lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr' or 1363 lisp:lisp-role/lisp:lisp-role-type = 'lisp:petr'" { 1364 description 1365 "Augment is valid when LISP device type is (P)ETR."; 1366 } 1367 description 1368 "This augments LISP devices list with (P)ETR specific 1369 parameters."; 1370 container etr { 1371 presence "LISP (P)ETR operation enabled"; 1372 description 1373 "(P)ETR parameters."; 1375 container map-servers { 1376 when "../../lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr'" { 1377 description 1378 "Container exists only when LISP device type is ETR."; 1379 } 1380 description 1381 "Map-Servers that the ETR uses."; 1382 list map-server { 1383 key "ms-address"; 1384 description 1385 "Each Map-Server within the list of Map-Servers."; 1386 leaf ms-address { 1387 type inet:ip-address; 1388 description 1389 "Map-Server address."; 1390 } 1391 leaf auth-key { 1392 type string; 1393 description 1394 "Map-Server authentication key."; 1395 } 1396 leaf auth-key-type { 1397 type lisp:auth-key-type; 1398 description 1399 "Map-Server authentication type."; 1400 } 1401 } 1402 } 1404 container local-eids { 1405 when "../../lisp:lisp-role/lisp:lisp-role-type = 'lisp:etr'" { 1406 description 1407 "Container exists only when LISP device type is ETR."; 1408 } 1409 description 1410 "Virtual networks served by the ETR."; 1411 list virtual-network { 1412 key "vni"; 1413 description 1414 "Virtual network for local-EIDs."; 1415 leaf vni { 1416 type lcaf:instance-id-type; 1417 description 1418 "Virtual network identifier."; 1419 } 1420 container eids { 1421 description 1422 "EIDs served by the ETR."; 1423 list local-eid { 1424 key "id"; 1425 min-elements 1; 1426 description 1427 "List of local EIDs."; 1428 leaf id { 1429 type lisp:eid-id; 1430 description 1431 "Unique id of local EID."; 1432 } 1433 container eid-address { 1434 uses lcaf:lisp-address; 1435 description 1436 "EID address in generic LISP address format."; 1437 } 1438 leaf rlocs { 1439 type leafref { 1440 path "/rt:routing/rt:control-plane-protocols" 1441 + "/rt:control-plane-protocol/lisp:lisp" 1442 + "/lisp:locator-sets/lisp:locator-set" 1443 + "/lisp:locator-set-name"; 1444 } 1445 description 1446 "Locator set mapped to this local EID."; 1447 } 1448 leaf record-ttl { 1449 type uint32; 1450 units minutes; 1451 description 1452 "Validity period of the EID to RLOCs mapping provided 1453 in Map-Replies."; 1454 } 1455 leaf want-map-notify { 1456 type boolean; 1457 default "true"; 1458 description 1459 "Flag which if set in a Map-Register requests that a 1460 Map-Notify be sent in response."; 1461 } 1462 leaf proxy-reply { 1463 type boolean; 1464 default "false"; 1465 description 1466 "Flag which if set in a Map-Register requests that the 1467 Map-Server proxy Map-Replies for the ETR."; 1468 } 1469 leaf registration-interval { 1470 type uint16; 1471 units "seconds"; 1472 default "60"; 1473 description 1474 "Interval between consecutive Map-Register messages."; 1475 } 1476 } 1477 } 1478 } 1479 } 1480 } 1481 } 1482 } 1483 1485 5. LISP-Map-Server Module 1487 This module captures the configuration data model of a LISP Map 1488 Server [RFC6833]. The model also captures some operational data 1489 elements. 1491 5.1. Module Structure 1493 module: ietf-lisp-mapserver 1494 augment /rt:routing/rt:control-plane-protocols 1495 /rt:control-plane-protocol/lisp:lisp: 1496 +--rw map-server! 1497 +--rw sites 1498 | +--rw site* [site-id] 1499 | +--rw site-id uint64 1500 | +--rw auth-key 1501 | +--rw auth-key-value? string 1502 | +--rw auth-key-type* lisp:auth-key-type 1503 +--rw virtual-network-ids 1504 | +--rw virtual-network-identifier* [vni] 1505 | +--rw vni lcaf:instance-id-type 1506 | +--rw mappings 1507 | | +--rw mapping* [eid-id] 1508 | | +--rw eid-id lisp:eid-id 1509 | | +--rw eid-address 1510 | | | +--rw address-type 1511 | | | | lisp-address-family-ref 1512 | | | +--rw virtual-network-id? 1513 | | | | instance-id-type 1514 | | | +--rw (address)? 1515 | | | +--:(no-address) 1516 | | | | +--rw no-address? empty 1517 | | | +--:(ipv4) 1518 | | | | +--rw ipv4? 1519 | | | | inet:ipv4-address 1520 | | | +--:(ipv4-prefix) 1521 | | | | +--rw ipv4-prefix? 1522 | | | | inet:ipv4-prefix 1523 | | | +--:(ipv6) 1524 | | | | +--rw ipv6? 1525 | | | | inet:ipv6-address 1526 | | | +--:(ipv6-prefix) 1527 | | | | +--rw ipv6-prefix? 1528 | | | | inet:ipv6-prefix 1529 | | | +--:(mac) 1530 | | | | +--rw mac? 1531 | | | | yang:mac-address 1532 | | | +--:(distinguished-name) 1533 | | | | +--rw distinguished-name? 1534 | | | | distinguished-name-type 1535 | | | +--:(as-number) 1536 | | | | +--rw as-number? 1537 | | | | inet:as-number 1538 | | | +--:(null-address) 1539 | | | | +--rw null-address 1540 | | | | +--rw address? empty 1541 | | | +--:(afi-list) 1542 | | | | +--rw afi-list 1543 | | | | +--rw address-list* simple-address 1544 | | | +--:(instance-id) 1545 | | | | +--rw instance-id 1546 | | | | +--rw iid? instance-id-type 1547 | | | | +--rw mask-length? uint8 1548 | | | | +--rw address? simple-address 1549 | | | +--:(as-number-lcaf) 1550 | | | | +--rw as-number-lcaf 1551 | | | | +--rw as? inet:as-number 1552 | | | | +--rw address? simple-address 1553 | | | +--:(application-data) 1554 | | | | +--rw application-data 1555 | | | | +--rw address? 1556 | | | | | simple-address 1557 | | | | +--rw protocol? uint8 1558 | | | | +--rw ip-tos? int32 1559 | | | | +--rw local-port-low? 1560 | | | | | inet:port-number 1561 | | | | +--rw local-port-high? 1562 | | | | | inet:port-number 1563 | | | | +--rw remote-port-low? 1564 | | | | | inet:port-number 1565 | | | | +--rw remote-port-high? 1566 | | | | inet:port-number 1567 | | | +--:(geo-coordinates) 1568 | | | | +--rw geo-coordinates 1569 | | | | +--rw latitude? bits 1570 | | | | +--rw latitude-degrees? uint8 1571 | | | | +--rw latitude-minutes? uint8 1572 | | | | +--rw latitude-seconds? uint8 1573 | | | | +--rw longitude? bits 1574 | | | | +--rw longitude-degrees? uint16 1575 | | | | +--rw longitude-minutes? uint8 1576 | | | | +--rw longitude-seconds? uint8 1577 | | | | +--rw altitude? int32 1578 | | | | +--rw address? 1579 | | | | simple-address 1580 | | | +--:(nat-traversal) 1581 | | | | +--rw nat-traversal 1582 | | | | +--rw ms-udp-port? uint16 1583 | | | | +--rw etr-udp-port? uint16 1584 | | | | +--rw global-etr-rloc? 1585 | | | | | simple-address 1586 | | | | +--rw ms-rloc? 1587 | | | | | simple-address 1588 | | | | +--rw private-etr-rloc? 1589 | | | | | simple-address 1590 | | | | +--rw rtr-rlocs* 1591 | | | | simple-address 1592 | | | +--:(explicit-locator-path) 1593 | | | | +--rw explicit-locator-path 1594 | | | | +--rw hop* [hop-id] 1595 | | | | +--rw hop-id string 1596 | | | | +--rw address? simple-address 1597 | | | | +--rw lrs-bits? bits 1598 | | | +--:(source-dest-key) 1599 | | | | +--rw source-dest-key 1600 | | | | +--rw source? simple-address 1601 | | | | +--rw dest? simple-address 1602 | | | +--:(key-value-address) 1603 | | | | +--rw key-value-address 1604 | | | | +--rw key? simple-address 1605 | | | | +--rw value? simple-address 1606 | | | +--:(service-path) 1607 | | | +--rw service-path 1608 | | | +--rw service-path-id? 1609 | | | | service-path-id-type 1610 | | | +--rw service-index? uint8 1611 | | +--rw site-id* uint64 1612 | | +--rw more-specifics-accepted? boolean 1613 | | +--rw mapping-expiration-timeout? int16 1614 | | +--ro first-registration-time? 1615 | | | yang:date-and-time 1616 | | +--ro last-registration-time? 1617 | | | yang:date-and-time 1618 | | +--rw mapping-records 1619 | | +--rw mapping-record* [xtr-id] 1620 | | +--rw xtr-id 1621 | | | lisp:xtr-id-type 1622 | | +--rw site-id? uint64 1623 | | +--rw eid 1624 | | | +--rw address-type 1625 | | | | lisp-address-family-ref 1626 | | | +--rw virtual-network-id? 1627 | | | | instance-id-type 1628 | | | +--rw (address)? 1629 | | | +--:(no-address) 1630 | | | | +--rw no-address? 1631 | | | | empty 1632 | | | +--:(ipv4) 1633 | | | | +--rw ipv4? 1634 | | | | inet:ipv4-address 1635 | | | +--:(ipv4-prefix) 1636 | | | | +--rw ipv4-prefix? 1637 | | | | inet:ipv4-prefix 1638 | | | +--:(ipv6) 1639 | | | | +--rw ipv6? 1640 | | | | inet:ipv6-address 1641 | | | +--:(ipv6-prefix) 1642 | | | | +--rw ipv6-prefix? 1643 | | | | inet:ipv6-prefix 1644 | | | +--:(mac) 1645 | | | | +--rw mac? 1646 | | | | yang:mac-address 1647 | | | +--:(distinguished-name) 1648 | | | | +--rw distinguished-name? 1649 | | | | distinguished-name-type 1650 | | | +--:(as-number) 1651 | | | | +--rw as-number? 1652 | | | | inet:as-number 1653 | | | +--:(null-address) 1654 | | | | +--rw null-address 1655 | | | | +--rw address? empty 1656 | | | +--:(afi-list) 1657 | | | | +--rw afi-list 1658 | | | | +--rw address-list* 1659 | | | | simple-address 1660 | | | +--:(instance-id) 1661 | | | | +--rw instance-id 1662 | | | | +--rw iid? 1663 | | | | | instance-id-type 1664 | | | | +--rw mask-length? uint8 1665 | | | | +--rw address? 1666 | | | | simple-address 1667 | | | +--:(as-number-lcaf) 1668 | | | | +--rw as-number-lcaf 1669 | | | | +--rw as? inet:as-number 1670 | | | | +--rw address? simple-address 1671 | | | +--:(application-data) 1672 | | | | +--rw application-data 1673 | | | | +--rw address? 1674 | | | | | simple-address 1675 | | | | +--rw protocol? uint8 1676 | | | | +--rw ip-tos? int32 1677 | | | | +--rw local-port-low? 1678 | | | | | inet:port-number 1679 | | | | +--rw local-port-high? 1680 | | | | | inet:port-number 1681 | | | | +--rw remote-port-low? 1682 | | | | | inet:port-number 1683 | | | | +--rw remote-port-high? 1684 | | | | inet:port-number 1685 | | | +--:(geo-coordinates) 1686 | | | | +--rw geo-coordinates 1687 | | | | +--rw latitude? bits 1688 | | | | +--rw latitude-degrees? uint8 1689 | | | | +--rw latitude-minutes? uint8 1690 | | | | +--rw latitude-seconds? uint8 1691 | | | | +--rw longitude? bits 1692 | | | | +--rw longitude-degrees? 1693 | | | | | uint16 1694 | | | | +--rw longitude-minutes? uint8 1695 | | | | +--rw longitude-seconds? uint8 1696 | | | | +--rw altitude? int32 1697 | | | | +--rw address? 1698 | | | | simple-address 1699 | | | +--:(nat-traversal) 1700 | | | | +--rw nat-traversal 1701 | | | | +--rw ms-udp-port? uint16 1702 | | | | +--rw etr-udp-port? uint16 1703 | | | | +--rw global-etr-rloc? 1704 | | | | | simple-address 1705 | | | | +--rw ms-rloc? 1706 | | | | | simple-address 1707 | | | | +--rw private-etr-rloc? 1708 | | | | | simple-address 1709 | | | | +--rw rtr-rlocs* 1710 | | | | simple-address 1711 | | | +--:(explicit-locator-path) 1712 | | | | +--rw explicit-locator-path 1713 | | | | +--rw hop* [hop-id] 1714 | | | | +--rw hop-id string 1715 | | | | +--rw address? 1716 | | | | | simple-address 1717 | | | | +--rw lrs-bits? bits 1718 | | | +--:(source-dest-key) 1719 | | | | +--rw source-dest-key 1720 | | | | +--rw source? simple-address 1721 | | | | +--rw dest? simple-address 1722 | | | +--:(key-value-address) 1723 | | | | +--rw key-value-address 1724 | | | | +--rw key? simple-address 1725 | | | | +--rw value? simple-address 1726 | | | +--:(service-path) 1727 | | | +--rw service-path 1728 | | | +--rw service-path-id? 1729 | | | | service-path-id-type 1730 | | | +--rw service-index? uint8 1731 | | +--rw time-to-live? uint32 1732 | | +--ro creation-time? 1733 | | | yang:date-and-time 1734 | | +--rw authoritative? bits 1735 | | +--rw static? boolean 1736 | | +--rw (locator-list)? 1737 | | +--:(negative-mapping) 1738 | | | +--rw map-reply-action? 1739 | | | map-reply-action 1740 | | +--:(positive-mapping) 1741 | | +--rw rlocs 1742 | | +--rw locator* [id] 1743 | | +--rw id 1744 | | | string 1745 | | +--rw locator-address 1746 | | | +--rw address-type 1747 | | | | lisp-address-family-ref 1748 | | | +--rw virtual-network-id? 1749 | | | | instance-id-type 1750 | | | +--rw (address)? 1751 | | | +--:(no-address) 1752 | | | | +--rw no-address? 1753 | | | | empty 1754 | | | +--:(ipv4) 1755 | | | | +--rw ipv4? 1756 | | | | inet:ipv4-address 1757 | | | +--:(ipv4-prefix) 1758 | | | | +--rw ipv4-prefix? 1759 | | | | inet:ipv4-prefix 1760 | | | +--:(ipv6) 1761 | | | | +--rw ipv6? 1762 | | | | inet:ipv6-address 1763 | | | +--:(ipv6-prefix) 1764 | | | | +--rw ipv6-prefix? 1765 | | | | inet:ipv6-prefix 1766 | | | +--:(mac) 1767 | | | | +--rw mac? 1768 | | | | yang:mac-address 1769 | | | +--:(distinguished-name) 1770 | | | | +--rw distinguished-name? 1771 | | | | distinguished-name-type 1772 | | | +--:(as-number) 1773 | | | | +--rw as-number? 1774 | | | | inet:as-number 1775 | | | +--:(null-address) 1776 | | | | +--rw null-address 1777 | | | | +--rw address? 1778 | | | | empty 1779 | | | +--:(afi-list) 1780 | | | | +--rw afi-list 1781 | | | | +--rw address-list* 1782 | | | | simple-address 1783 | | | +--:(instance-id) 1784 | | | | +--rw instance-id 1785 | | | | +--rw iid? 1786 | | | | | instance-id-type 1787 | | | | +--rw mask-length? 1788 | | | | | uint8 1789 | | | | +--rw address? 1790 | | | | simple-address 1791 | | | +--:(as-number-lcaf) 1792 | | | | +--rw as-number-lcaf 1793 | | | | +--rw as? 1794 | | | | | inet:as-number 1795 | | | | +--rw address? 1796 | | | | simple-address 1797 | | | +--:(application-data) 1798 | | | | +--rw application-data 1799 | | | | +--rw address? 1800 | | | | | simple-address 1801 | | | | +--rw protocol? 1802 | | | | | uint8 1803 | | | | +--rw ip-tos? 1804 | | | | | int32 1805 | | | | +--rw local-port-low? 1806 | | | | | inet:port-number 1807 | | | | +--rw local-port-high? 1808 | | | | | inet:port-number 1809 | | | | +--rw remote-port-low? 1810 | | | | | inet:port-number 1811 | | | | +--rw remote-port-high? 1812 | | | | inet:port-number 1813 | | | +--:(geo-coordinates) 1814 | | | | +--rw geo-coordinates 1815 | | | | +--rw latitude? 1816 | | | | | bits 1817 | | | | +--rw latitude-degrees? 1818 | | | | | uint8 1819 | | | | +--rw latitude-minutes? 1820 | | | | | uint8 1821 | | | | +--rw latitude-seconds? 1822 | | | | | uint8 1823 | | | | +--rw longitude? 1824 | | | | | bits 1825 | | | | +--rw longitude-degrees? 1826 | | | | | uint16 1827 | | | | +--rw longitude-minutes? 1828 | | | | | uint8 1829 | | | | +--rw longitude-seconds? 1830 | | | | | uint8 1831 | | | | +--rw altitude? 1832 | | | | | int32 1833 | | | | +--rw address? 1834 | | | | simple-address 1835 | | | +--:(nat-traversal) 1836 | | | | +--rw nat-traversal 1837 | | | | +--rw ms-udp-port? 1838 | | | | | uint16 1839 | | | | +--rw etr-udp-port? 1840 | | | | | uint16 1841 | | | | +--rw global-etr-rloc? 1842 | | | | | simple-address 1843 | | | | +--rw ms-rloc? 1844 | | | | | simple-address 1845 | | | | +--rw private-etr-rloc? 1846 | | | | | simple-address 1847 | | | | +--rw rtr-rlocs* 1848 | | | | simple-address 1849 | | | +--:(explicit-locator-path) 1850 | | | | +--rw explicit-locator-path 1851 | | | | +--rw hop* [hop-id] 1852 | | | | +--rw hop-id 1853 | | | | | string 1854 | | | | +--rw address? 1855 | | | | | simple-address 1856 | | | | +--rw lrs-bits? 1857 | | | | bits 1858 | | | +--:(source-dest-key) 1859 | | | | +--rw source-dest-key 1860 | | | | +--rw source? 1861 | | | | | simple-address 1862 | | | | +--rw dest? 1863 | | | | simple-address 1864 | | | +--:(key-value-address) 1865 | | | | +--rw key-value-address 1866 | | | | +--rw key? 1867 | | | | | simple-address 1868 | | | | +--rw value? 1869 | | | | simple-address 1870 | | | +--:(service-path) 1871 | | | +--rw service-path 1872 | | | +--rw service-path-id? 1873 | | | | service-path-id-type 1874 | | | +--rw service-index? 1875 | | | uint8 1876 | | +--rw priority? 1877 | | | uint8 1878 | | +--rw weight? 1879 | | | uint8 1880 | | +--rw multicast-priority? 1881 | | | uint8 1882 | | +--rw multicast-weight? 1883 | | uint8 1884 | +--ro counters 1885 | +--ro map-registers-in? yang:counter64 1886 | +--ro map-registers-in-auth-failed? yang:counter64 1887 | +--ro map-notify-records-out? yang:counter64 1888 | +--ro proxy-reply-records-out? yang:counter64 1889 | +--ro map-requests-forwarded-out? yang:counter64 1890 +--rw mapping-system-type? lisp:mapping-system-ref 1891 +--ro summary 1892 | +--ro number-configured-sites? uint32 1893 | +--ro number-registered-sites? uint32 1894 | +--ro af-datum 1895 | +--ro af-data* [address-type] 1896 | +--ro address-type 1897 | | lcaf:lisp-address-family-ref 1898 | +--ro number-configured-eids? uint32 1899 | +--ro number-registered-eids? uint32 1900 +--ro counters 1901 +--ro map-registers-in? yang:counter64 1902 +--ro map-registers-in-auth-failed? yang:counter64 1903 +--ro map-notify-records-out? yang:counter64 1904 +--ro proxy-reply-records-out? yang:counter64 1905 +--ro map-requests-forwarded-out? yang:counter64 1907 5.2. Module Definition 1909 file "ietf-lisp-mapserver@2018-06-29.yang" 1910 module ietf-lisp-mapserver { 1911 yang-version 1.1; 1913 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver"; 1915 prefix lisp-ms; 1917 // RFC Ed.: replace occurences of XXXX with actual RFC number 1918 // and remove this note 1919 import ietf-lisp { 1920 prefix lisp; 1921 reference "RFC XXXX: LISP YANG model"; 1922 } 1923 import ietf-lisp-address-types { 1924 prefix lcaf; 1925 reference "RFC XXXX: LISP YANG model"; 1926 } 1927 import ietf-yang-types { 1928 prefix yang; 1929 reference "RFC 6991: Common YANG Data Types"; 1930 } 1931 import ietf-routing { 1932 prefix "rt"; 1933 reference 1934 "RFC 8349: A YANG Data Model for Routing Management 1935 (NMDA version)"; 1936 } 1938 organization 1939 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 1940 contact 1941 "WG Web: 1942 WG List: 1944 Editor: Vina Ermagan 1945 1947 Editor: Alberto Rodriguez-Natal 1948 1950 Editor: Reshad Rahman 1951 "; 1952 description 1953 "This YANG module defines the generic parameters for a LISP 1954 Map-Server. The module can be extended by vendors to define 1955 vendor-specific parameters and policies. 1957 Copyright (c) 2018 IETF Trust and the persons identified as 1958 authors of the code. All rights reserved. 1960 Redistribution and use in source and binary forms, with or 1961 without modification, is permitted pursuant to, and subject 1962 to the license terms contained in, the Simplified BSD License 1963 set forth in Section 4.c of the IETF Trust's Legal Provisions 1964 Relating to IETF Documents 1965 (http://trustee.ietf.org/license-info). 1967 This version of this YANG module is part of RFC XXXX; see 1968 the RFC itself for full legal notices. 1969 "; 1971 reference "RFC XXXX"; 1973 revision 2018-06-29 { 1974 description 1975 "Initial revision."; 1976 reference 1977 "https://tools.ietf.org/html/rfc6833"; 1978 } 1980 identity ms { 1981 base lisp:lisp-role; 1982 description 1983 "LISP Map-Server."; 1984 } 1986 grouping ms-counters { 1987 description "Group that defines map-server counters."; 1988 container counters { 1989 config false; 1990 description "Container for the counters"; 1992 leaf map-registers-in { 1993 type yang:counter64; 1994 description "Number of incoming Map-Register messages"; 1995 } 1997 leaf map-registers-in-auth-failed { 1998 type yang:counter64; 1999 description 2000 "Number of incoming Map-Register messages failed 2001 authentication"; 2002 } 2004 leaf map-notify-records-out { 2005 type yang:counter64; 2006 description 2007 "Number of outgoing Map-Notify records"; 2008 } 2010 leaf proxy-reply-records-out { 2011 type yang:counter64; 2012 description 2013 "Number of outgoing proxy Map-Reply records"; 2014 } 2016 leaf map-requests-forwarded-out { 2017 type yang:counter64; 2018 description 2019 "Number of outgoing Map-Requests forwarded to ETR"; 2020 } 2021 } 2022 } 2024 augment "/rt:routing/rt:control-plane-protocols" 2025 + "/rt:control-plane-protocol/lisp:lisp" { 2026 when "lisp:lisp-role/lisp:lisp-role-type = 'lisp-ms:ms'" { 2027 description 2028 "Augment is valid when LISP device type is Map-Server."; 2029 } 2030 description 2031 "This augments LISP devices list with Map-Server specific 2032 parameters."; 2033 container map-server { 2034 presence "LISP Map-Server operation enabled"; 2035 description 2036 "Map-Server parameters."; 2037 container sites{ 2038 description 2039 "Sites to accept registrations from."; 2040 list site { 2041 key site-id; 2042 description 2043 "Site that can send registrations."; 2044 leaf site-id { 2045 type uint64; 2046 description "Site ID"; 2047 } 2048 container auth-key { 2049 description 2050 "Site authentication key."; 2051 leaf auth-key-value { 2052 type string; 2053 description 2054 "Clear text authentication key"; 2055 } 2056 leaf-list auth-key-type { 2057 type lisp:auth-key-type; 2058 description 2059 "Authentication key type."; 2060 } 2061 } 2062 } 2063 } 2064 container virtual-network-ids { 2065 description 2066 "Sites for which the Map-Server accepts registrations."; 2068 list virtual-network-identifier { 2069 key "vni"; 2070 description 2071 "Virtual network instances in the Map-Server."; 2072 leaf vni { 2073 type lcaf:instance-id-type; 2074 description 2075 "Virtual network identifier."; 2076 } 2077 container mappings { 2078 description 2079 "EIDs registered by device."; 2080 list mapping { 2081 key "eid-id"; 2082 description 2083 "List of EIDs registered by device."; 2084 leaf eid-id { 2085 type lisp:eid-id; 2086 description 2087 "Id of the EID registered."; 2088 } 2089 container eid-address { 2090 uses lcaf:lisp-address; 2091 description 2092 "EID in generic LISP address format registered 2093 with the Map-Server."; 2094 } 2095 leaf-list site-id { 2096 type uint64; 2097 description "Site ID"; 2098 } 2099 leaf more-specifics-accepted { 2100 type boolean; 2101 default "false"; 2102 description 2103 "Flag indicating if more specific prefixes 2104 can be registered."; 2105 } 2106 leaf mapping-expiration-timeout { 2107 type int16; 2108 units "seconds"; 2109 default "180"; //3 times the mapregister int 2110 description 2111 "Time before mapping is expired if no new 2112 registrations are received."; 2113 } 2114 leaf first-registration-time { 2115 type yang:date-and-time; 2116 config false; 2117 description 2118 "Time at which the first registration for this EID 2119 was received"; 2120 } 2121 leaf last-registration-time { 2122 type yang:date-and-time; 2123 config false; 2124 description 2125 "Time at which the last registration for this EID 2126 was received"; 2127 } 2128 container mapping-records { 2129 description 2130 "Datastore of registered mappings."; 2131 list mapping-record { 2132 key xtr-id; 2133 description 2134 "Registered mapping."; 2135 leaf xtr-id { 2136 type lisp:xtr-id-type; 2137 description "xTR ID"; 2138 } 2139 leaf site-id { 2140 type uint64; 2141 description "Site ID"; 2142 } 2143 uses lisp:mapping; 2144 } 2145 } 2146 } 2147 } 2148 uses ms-counters; 2149 } 2150 } 2151 leaf mapping-system-type { 2152 type lisp:mapping-system-ref; 2153 description 2154 "A reference to the mapping system"; 2155 } 2157 container summary { 2158 config false; 2159 description "Summary state information"; 2161 leaf number-configured-sites { 2162 type uint32; 2163 description "Number of configured LISP sites"; 2165 } 2166 leaf number-registered-sites { 2167 type uint32; 2168 description "Number of registered LISP sites"; 2169 } 2170 container af-datum { 2171 description "Number of configured EIDs per each AF"; 2173 list af-data { 2174 key "address-type"; 2175 description "Number of configured EIDs for this AF"; 2176 leaf address-type { 2177 type lcaf:lisp-address-family-ref; 2178 description "AF type"; 2179 } 2180 leaf number-configured-eids { 2181 type uint32; 2182 description "Number of configured EIDs for this AF"; 2183 } 2184 leaf number-registered-eids { 2185 type uint32; 2186 description "Number of registered EIDs for this AF"; 2187 } 2188 } 2189 } 2190 } 2191 uses ms-counters; 2192 } 2193 } 2194 } 2195 2197 6. LISP-Map-Resolver Module 2199 This module captures the configuration data model of a LISP Map 2200 Resolver [RFC6833]. The model also captures some operational data 2201 elements. 2203 6.1. Module Structure 2205 module: ietf-lisp-mapresolver 2206 augment /rt:routing/rt:control-plane-protocols 2207 /rt:control-plane-protocol/lisp:lisp: 2208 +--rw map-resolver! 2209 +--rw mapping-system-type? lisp:mapping-system-ref 2210 +--rw ms-address? inet:ip-address 2212 6.2. Module Definition 2214 file "ietf-lisp-mapresolver@2018-06-29.yang" 2215 module ietf-lisp-mapresolver { 2216 yang-version 1.1; 2218 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapresolver"; 2220 prefix lisp-mr; 2222 // RFC Ed.: replace occurences of XXXX with actual RFC number 2223 // and remove this note 2224 import ietf-lisp { 2225 prefix lisp; 2226 reference "RFC XXXX: LISP YANG model"; 2227 } 2228 import ietf-inet-types { 2229 prefix inet; 2230 reference "RFC 6991: Common YANG Data Types"; 2231 } 2232 import ietf-routing { 2233 prefix "rt"; 2234 reference 2235 "RFC 8349: A YANG Data Model for Routing Management 2236 (NMDA version)"; 2237 } 2239 organization 2240 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 2241 contact 2242 "WG Web: 2243 WG List: 2245 Editor: Vina Ermagan 2246 2248 Editor: Alberto Rodriguez-Natal 2249 2251 Editor: Reshad Rahman 2252 "; 2253 description 2254 "This YANG module defines the generic parameters for a LISP 2255 Map-Resolver. The module can be extended by vendors to define 2256 vendor-specific parameters and policies. 2258 Copyright (c) 2018 IETF Trust and the persons identified as 2259 authors of the code. All rights reserved. 2261 Redistribution and use in source and binary forms, with or 2262 without modification, is permitted pursuant to, and subject 2263 to the license terms contained in, the Simplified BSD License 2264 set forth in Section 4.c of the IETF Trust's Legal Provisions 2265 Relating to IETF Documents 2266 (http://trustee.ietf.org/license-info). 2268 This version of this YANG module is part of RFC XXXX; see 2269 the RFC itself for full legal notices. 2270 "; 2272 reference "RFC XXXX"; 2274 revision 2018-06-29 { 2275 description 2276 "Initial revision."; 2277 reference 2278 "https://tools.ietf.org/html/rfc6833"; 2279 } 2280 identity mr { 2281 base lisp:lisp-role; 2282 description 2283 "LISP Map-Resolver."; 2284 } 2286 augment "/rt:routing/rt:control-plane-protocols" 2287 + "/rt:control-plane-protocol/lisp:lisp" { 2288 when "lisp:lisp-role/lisp:lisp-role-type = 'lisp-mr:mr'" { 2289 description 2290 "Augment is valid when LISP device type is Map-Resolver."; 2291 } 2292 description 2293 "This augments LISP devices list with Map-Resolver specific 2294 parameters."; 2295 container map-resolver { 2296 presence "LISP Map-Resolver operation enabled"; 2297 description 2298 "Map-Resolver parameters."; 2299 leaf mapping-system-type { 2300 type lisp:mapping-system-ref; 2301 description 2302 "A reference to the mapping system"; 2303 } 2304 leaf ms-address { 2305 when "../mapping-system-type='lisp:single-node-mapping-system'"; 2306 type inet:ip-address; 2307 description 2308 "address to reach the Map Server when " 2309 + "lisp-mr:single-node-mapping-system is being used."; 2310 } 2311 } 2312 } 2313 } 2314 2316 7. LISP-Address-Types Module 2318 This module captures the various LISP address types, and is an 2319 essential building block used in other LISP modules. 2321 7.1. Module Definition 2323 file "ietf-lisp-address-types@2018-06-29.yang" 2324 module ietf-lisp-address-types { 2325 yang-version 1.1; 2327 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"; 2329 prefix laddr; 2331 import ietf-inet-types { 2332 prefix inet; 2333 reference "RFC 6991: Common YANG Data Types"; 2334 } 2335 import ietf-yang-types { 2336 prefix yang; 2337 reference "RFC 6991: Common YANG Data Types"; 2338 } 2340 organization 2341 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 2342 contact 2343 "WG Web: 2344 WG List: 2346 Editor: Vina Ermagan 2347 2349 Editor: Alberto Rodriguez-Natal 2350 2352 Editor: Reshad Rahman 2353 "; 2354 description 2355 "This YANG module defines the LISP Canonical Address Formats 2356 (LCAF) for LISP. The module can be extended by vendors to 2357 define vendor-specific parameters. 2359 Copyright (c) 2018 IETF Trust and the persons identified as 2360 authors of the code. All rights reserved. 2362 Redistribution and use in source and binary forms, with or 2363 without modification, is permitted pursuant to, and subject 2364 to the license terms contained in, the Simplified BSD License 2365 set forth in Section 4.c of the IETF Trust's Legal Provisions 2366 Relating to IETF Documents 2367 (http://trustee.ietf.org/license-info). 2369 This version of this YANG module is part of RFC XXXX; see 2370 the RFC itself for full legal notices. 2372 "; 2373 // RFC Ed.: replace XXXX with actual RFC number and remove 2374 // this note 2375 reference "RFC XXXX"; 2377 revision 2018-06-29 { 2378 description 2379 "Initial revision."; 2380 reference 2381 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10"; 2382 } 2383 identity lisp-address-family { 2384 description 2385 "Base identity from which identities describing LISP address 2386 families are derived."; 2387 } 2388 identity no-address-afi { 2389 base lisp-address-family; 2390 description 2391 "IANA Reserved."; 2392 } 2393 identity ipv4-afi { 2394 base lisp-address-family; 2395 description 2396 "IANA IPv4 address family."; 2397 } 2398 identity ipv4-prefix-afi { 2399 base lisp-address-family; 2400 description 2401 "IANA IPv4 address family prefix."; 2402 } 2403 identity ipv6-afi { 2404 base lisp-address-family; 2405 description 2406 "IANA IPv6 address family."; 2407 } 2408 identity ipv6-prefix-afi { 2409 base lisp-address-family; 2410 description 2411 "IANA IPv6 address family prefix."; 2412 } 2413 identity mac-afi { 2414 base lisp-address-family; 2415 description 2416 "IANA MAC address family."; 2417 } 2418 identity distinguished-name-afi { 2419 base lisp-address-family; 2420 description 2421 "IANA Distinguished Name address family."; 2422 } 2423 identity as-number-afi { 2424 base lisp-address-family; 2425 description 2426 "IANA AS Number address family."; 2427 } 2428 identity lcaf { 2429 base lisp-address-family; 2430 description 2431 "IANA LISP Canonical Address Format address family."; 2432 } 2433 identity null-address-lcaf { 2434 base lcaf; 2435 description 2436 "Null body LCAF type."; 2437 } 2438 identity afi-list-lcaf { 2439 base lcaf; 2440 description 2441 "AFI-List LCAF type."; 2442 } 2443 identity instance-id-lcaf { 2444 base lcaf; 2445 description 2446 "Instance-ID LCAF type."; 2447 } 2448 identity as-number-lcaf { 2449 base lcaf; 2450 description 2451 "AS Number LCAF type."; 2452 } 2453 identity application-data-lcaf { 2454 base lcaf; 2455 description 2456 "Application Data LCAF type."; 2457 } 2458 identity geo-coordinates-lcaf { 2459 base lcaf; 2460 description 2461 "Geo-coordinates LCAF type."; 2462 } 2463 identity opaque-key-lcaf { 2464 base lcaf; 2465 description 2466 "Opaque Key LCAF type."; 2467 } 2468 identity nat-traversal-lcaf { 2469 base lcaf; 2470 description 2471 "NAT-Traversal LCAF type."; 2472 } 2473 identity nonce-locator-lcaf { 2474 base lcaf; 2475 description 2476 "Nonce-Locator LCAF type."; 2477 } 2478 identity multicast-info-lcaf { 2479 base lcaf; 2480 description 2481 "Multicast Info LCAF type."; 2482 } 2483 identity explicit-locator-path-lcaf { 2484 base lcaf; 2485 description 2486 "Explicit Locator Path LCAF type."; 2487 } 2488 identity security-key-lcaf { 2489 base lcaf; 2490 description 2491 "Security Key LCAF type."; 2492 } 2493 identity source-dest-key-lcaf { 2494 base lcaf; 2495 description 2496 "Source/Dest LCAF type."; 2497 } 2498 identity replication-list-lcaf { 2499 base lcaf; 2500 description 2501 "Replication-List LCAF type."; 2502 } 2503 identity json-data-model-lcaf { 2504 base lcaf; 2505 description 2506 "JSON Data Model LCAF type."; 2507 } 2508 identity key-value-address-lcaf { 2509 base lcaf; 2510 description 2511 "Key/Value Address LCAF type."; 2512 } 2513 identity encapsulation-format-lcaf { 2514 base lcaf; 2515 description 2516 "Encapsulation Format LCAF type."; 2517 } 2518 identity service-path-lcaf { 2519 base lcaf; 2520 description 2521 "Service Path LCAF type."; 2522 } 2523 typedef instance-id-type { 2524 type uint32 { 2525 range "0..16777215"; 2526 } 2527 description 2528 "Defines the range of values for an Instance ID."; 2529 } 2530 typedef service-path-id-type { 2531 type uint32 { 2532 range "0..16777215"; 2533 } 2534 description 2535 "Defines the range of values for a Service Path ID."; 2536 } 2537 typedef distinguished-name-type { 2538 type string; 2539 description 2540 "Distinguished Name address."; 2541 reference 2542 "http://www.iana.org/assignments/address-family-numbers/ 2543 address-family-numbers.xhtml"; 2544 } 2545 typedef simple-address { 2546 type union { 2547 type inet:ip-address; 2548 type inet:ip-prefix; 2549 type yang:mac-address; 2550 type distinguished-name-type; 2551 type inet:as-number; 2552 } 2553 description 2554 "Union of address types that can be part of LCAFs."; 2555 } 2557 typedef lisp-address-family-ref { 2558 type identityref { 2559 base lisp-address-family; 2560 } 2561 description 2562 "LISP address family reference."; 2563 } 2564 typedef lcaf-ref { 2565 type identityref { 2566 base lcaf; 2567 } 2568 description 2569 "LCAF types reference."; 2570 } 2572 grouping lisp-address { 2573 description 2574 "Generic LISP address."; 2575 leaf address-type { 2576 type lisp-address-family-ref; 2577 mandatory true; 2578 description 2579 "Type of the LISP address."; 2580 } 2581 leaf virtual-network-id { 2582 type instance-id-type; 2583 description 2584 "Virtual Network Identifier (instance-id) of the address."; 2585 } 2586 choice address { 2587 description 2588 "Various LISP address types, including IP, MAC, and LCAF."; 2590 leaf no-address { 2591 when "../address-type = 'laddr:no-address-afi'" { 2592 description 2593 "When AFI is 0."; 2594 } 2595 type empty; 2596 description 2597 "No address."; 2598 } 2599 leaf ipv4 { 2600 when "../address-type = 'laddr:ipv4-afi'" { 2601 description 2602 "When AFI is IPv4."; 2603 } 2604 type inet:ipv4-address; 2605 description 2606 "IPv4 address."; 2607 } 2608 leaf ipv4-prefix { 2609 when "../address-type = 'laddr:ipv4-prefix-afi'" { 2610 description 2611 "When AFI is IPv4."; 2612 } 2613 type inet:ipv4-prefix; 2614 description 2615 "IPv4 prefix."; 2616 } 2617 leaf ipv6 { 2618 when "../address-type = 'laddr:ipv6-afi'" { 2619 description 2620 "When AFI is IPv6."; 2621 } 2622 type inet:ipv6-address; 2623 description 2624 "IPv6 address."; 2625 } 2626 leaf ipv6-prefix { 2627 when "../address-type = 'laddr:ipv6-prefix-afi'" { 2628 description 2629 "When AFI is IPv6."; 2630 } 2631 type inet:ipv6-prefix; 2632 description 2633 "IPv6 address."; 2634 } 2635 leaf mac { 2636 when "../address-type = 'laddr:mac-afi'" { 2637 description 2638 "When AFI is MAC."; 2639 } 2640 type yang:mac-address; 2641 description 2642 "MAC address."; 2643 } 2644 leaf distinguished-name { 2645 when "../address-type = 'laddr:distinguished-name-afi'" { 2646 description 2647 "When AFI is distinguished-name."; 2648 } 2649 type distinguished-name-type; 2650 description 2651 "Distinguished Name address."; 2652 } 2653 leaf as-number { 2654 when "../address-type = 'laddr:as-number-afi'" { 2655 description 2656 "When AFI is as-number."; 2657 } 2658 type inet:as-number; 2659 description 2660 "AS Number."; 2661 } 2662 container null-address { 2663 when "../address-type = 'laddr:null-address-lcaf'" { 2664 description 2665 "When LCAF type is null."; 2666 } 2667 description 2668 "Null body LCAF type"; 2669 leaf address { 2670 type empty; 2671 description 2672 "AFI address."; 2673 } 2674 } 2675 container afi-list { 2676 when "../address-type = 'laddr:afi-list-lcaf'" { 2677 description 2678 "When LCAF type is AFI-List."; 2679 } 2680 description 2681 "AFI-List LCAF type."; 2682 reference 2683 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 2684 #section-4.16.1"; 2685 leaf-list address-list { 2686 type simple-address; 2687 description 2688 "List of AFI addresses."; 2689 } 2690 } 2691 container instance-id { 2692 when "../address-type = 'laddr:instance-id-lcaf'" { 2693 description 2694 "When LCAF type is Instance-ID"; 2695 } 2696 description 2697 "Instance ID LCAF type."; 2698 reference 2699 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 2700 #section-4.2"; 2701 leaf iid { 2702 type instance-id-type; 2703 description 2704 "Instance ID value."; 2705 } 2706 leaf mask-length { 2707 type uint8; 2708 description 2709 "Mask length."; 2710 } 2711 leaf address { 2712 type simple-address; 2713 description 2714 "AFI address."; 2715 } 2716 } 2717 container as-number-lcaf { 2718 when "../address-type = 'laddr:as-number-lcaf'" { 2719 description 2720 "When LCAF type is AS-Number."; 2721 } 2722 description 2723 "AS Number LCAF type."; 2724 reference 2725 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 2726 #section-4.3"; 2727 leaf as { 2728 type inet:as-number; 2729 description 2730 "AS number."; 2731 } 2732 leaf address { 2733 type simple-address; 2734 description 2735 "AFI address."; 2736 } 2737 } 2738 container application-data { 2739 when "../address-type = 'laddr:application-data-lcaf'" { 2740 description 2741 "When LCAF type is Application Data."; 2742 } 2743 description 2744 "Application Data LCAF type."; 2745 reference 2746 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 2747 #section-4.4"; 2748 leaf address { 2749 type simple-address; 2750 description 2751 "AFI address."; 2752 } 2753 leaf protocol { 2754 type uint8; 2755 description 2756 "Protocol number."; 2757 } 2758 leaf ip-tos { 2759 type int32; 2760 description 2761 "Type of service field."; 2762 } 2763 leaf local-port-low { 2764 type inet:port-number; 2765 description 2766 "Low end of local port range."; 2767 } 2768 leaf local-port-high { 2769 type inet:port-number; 2770 description 2771 "High end of local port range."; 2772 } 2773 leaf remote-port-low { 2774 type inet:port-number; 2775 description 2776 "Low end of remote port range."; 2777 } 2778 leaf remote-port-high { 2779 type inet:port-number; 2780 description 2781 "High end of remote port range."; 2782 } 2783 } 2784 container geo-coordinates { 2785 when "../address-type = 'laddr:geo-coordinates-lcaf'" { 2786 description 2787 "When LCAF type is Geo-coordinates."; 2788 } 2789 description 2790 "Geo-coordinates LCAF type."; 2791 reference 2792 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 2793 #section-4.5"; 2794 leaf latitude { 2795 type bits { 2796 bit N { 2797 description 2798 "Latitude bit."; 2799 } 2800 } 2801 description 2802 "Bit that selects between North and South latitude."; 2803 } 2804 leaf latitude-degrees { 2805 type uint8 { 2806 range "0 .. 90"; 2807 } 2808 description 2809 "Degrees of latitude."; 2810 } 2811 leaf latitude-minutes { 2812 type uint8 { 2813 range "0..59"; 2814 } 2815 description 2816 "Minutes of latitude."; 2817 } 2818 leaf latitude-seconds { 2819 type uint8 { 2820 range "0..59"; 2821 } 2822 description 2823 "Seconds of latitude."; 2824 } 2825 leaf longitude { 2826 type bits { 2827 bit E { 2828 description 2829 "Longitude bit."; 2830 } 2831 } 2832 description 2833 "Bit that selects between East and West longitude."; 2834 } 2835 leaf longitude-degrees { 2836 type uint16 { 2837 range "0 .. 180"; 2838 } 2839 description 2840 "Degrees of longitude."; 2841 } 2842 leaf longitude-minutes { 2843 type uint8 { 2844 range "0..59"; 2845 } 2846 description 2847 "Minutes of longitude."; 2848 } 2849 leaf longitude-seconds { 2850 type uint8 { 2851 range "0..59"; 2852 } 2853 description 2854 "Seconds of longitude."; 2855 } 2856 leaf altitude { 2857 type int32; 2858 description 2859 "Height relative to sea level in meters."; 2860 } 2861 leaf address { 2862 type simple-address; 2863 description 2864 "AFI address."; 2865 } 2866 } 2867 container nat-traversal { 2868 when "../address-type = 'laddr:nat-traversal-lcaf'" { 2869 description 2870 "When LCAF type is NAT-Traversal."; 2871 } 2872 description 2873 "NAT-Traversal LCAF type."; 2874 reference 2875 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 2876 #section-4.6"; 2877 leaf ms-udp-port { 2878 type uint16; 2879 description 2880 "Map-Server UDP port (set to 4342)."; 2881 } 2882 leaf etr-udp-port { 2883 type uint16; 2884 description 2885 "ETR UDP port."; 2886 } 2887 leaf global-etr-rloc { 2888 type simple-address; 2889 description 2890 "Global ETR RLOC address."; 2891 } 2892 leaf ms-rloc { 2893 type simple-address; 2894 description 2895 "Map-Server RLOC address."; 2896 } 2897 leaf private-etr-rloc { 2898 type simple-address; 2899 description 2900 "Private ETR RLOC address."; 2901 } 2902 leaf-list rtr-rlocs { 2903 type simple-address; 2904 description 2905 "List of RTR RLOC addresses."; 2906 } 2907 } 2908 container explicit-locator-path { 2909 when "../address-type = 'laddr:explicit-locator-path-lcaf'" { 2910 description 2911 "When LCAF type type is Explicit Locator Path."; 2912 } 2913 description 2914 "Explicit Locator Path LCAF type."; 2915 reference 2916 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 2917 #section-4.9"; 2918 list hop { 2919 key "hop-id"; 2920 ordered-by user; 2921 description 2922 "List of locator hops forming the explicit path."; 2923 leaf hop-id { 2924 type string { 2925 length "1..64"; 2926 } 2927 description 2928 "Unique identifier for the hop."; 2929 } 2930 leaf address { 2931 type simple-address; 2932 description 2933 "AFI address."; 2934 } 2935 leaf lrs-bits { 2936 type bits{ 2937 bit lookup { 2938 description 2939 "Lookup bit."; 2940 } 2941 bit rloc-probe { 2942 description 2943 "RLOC-probe bit."; 2944 } 2945 bit strict { 2946 description 2947 "Strict bit."; 2948 } 2949 } 2950 description 2951 "Flag bits per hop."; 2952 } 2953 } 2954 } 2955 container source-dest-key { 2956 when "../address-type = 'laddr:source-dest-key-lcaf'" { 2957 description 2958 "When LCAF type type is Source/Dest."; 2959 } 2960 description 2961 "Source/Dest LCAF type."; 2962 reference 2963 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 2964 #section-4.11"; 2965 leaf source { 2966 type simple-address; 2967 description 2968 "Source address."; 2969 } 2970 leaf dest { 2971 type simple-address; 2972 description 2973 "Destination address."; 2974 } 2975 } 2976 container key-value-address { 2977 when "../address-type = 'laddr:key-value-address-lcaf'" { 2978 description 2979 "When LCAF type type is Key/Value Address."; 2980 } 2981 description 2982 "Key/Value Address LCAF type."; 2983 reference 2984 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 2985 #section-4.11"; 2986 leaf key { 2987 type simple-address; 2988 description 2989 "Address as Key."; 2990 } 2991 leaf value { 2992 type simple-address; 2993 description 2994 "Address as Value."; 2995 } 2996 } 2997 container service-path { 2998 when "../address-type = 'laddr:service-path-lcaf'" { 2999 description 3000 "When LCAF type service path identifier."; 3001 } 3002 description 3003 "Service Path LCAF type."; 3004 reference 3005 "http://tools.ietf.org/html/draft-ermagan-lisp-nsh-00"; 3006 leaf service-path-id { 3007 type service-path-id-type; 3008 description 3009 "Service path identifier for the path for NSH header"; 3010 } 3011 leaf service-index { 3012 type uint8; 3013 description 3014 "Service path index for NSH header"; 3015 } 3016 } 3017 } 3018 } 3019 } 3020 3022 7.2. Data Model examples 3024 This section presents some simple and illustrative examples on how to 3025 configure LISP. 3027 7.2.1. LISP protocol instance 3029 The following is an example configuration for a LISP protocol 3030 instance with the name "LISP1". There are also 2 VNIs configured. 3032 3033 3034 3035 3036 VRF-BLUE 3037 3038 true 3039 3040 3041 VRF-RED 3042 3043 true 3044 3045 3046 3047 3048 3049 3050 lisp:lisp 3051 3052 LISP1 3053 3054 3055 3056 1000 3057 VRF-BLUE 3058 3059 3060 2000 3061 VRF-RED 3062 3063 3064 3065 3066 3067 3068 3069 7.2.2. LISP ITR 3071 The following is an example configuration for ITR functionality under 3072 "LISP1". There are 2 Map-Resolvers configured. 3074 3075 3076 3077 3078 3079 3080 lisp:lisp 3081 3082 LISP1 3083 3084 3085 itr 3086 3087 3088 3089 2001:db8:203:0:113::1 3090 2001:db8:204:0:113::1 3091 3092 3093 3094 3095 3096 3097 3099 7.2.3. LISP ETR 3101 The following is an example configuration for ETR functionality under 3102 "LISP1". There are 2 Map-Servers and 2 local EIDs configured. 3104 3105 3106 3107 3108 3109 3110 lisp:lisp 3111 3112 LISP1 3113 3114 3115 etr 3116 3117 3118 1 3119 3120 3121 3122 3123 2001:db8:203:0:113::1 3124 *Kye^$$1#gb91U04zpa! 3125 hmac-sha-256-128 3126 3127 3128 2001:db8:204:0:113::1 3129 *Kye^$$1#gb91U04zpa! 3130 hmac-sha-256-128 3131 3132 3133 3134 3135 1000 3136 3137 3138 2001:db8:400:0:100::0 3139 3140 3142 laddr:ipv6-prefix-afi 3143 3144 2001:db8:400:0:100::/80 3145 3146 3147 3148 3149 3150 2000 3151 3152 3153 2001:db8:800:0:200::0 3154 3155 3157 laddr:ipv6-prefix-afi 3158 3159 2001:db8:800:0:200::/80 3160 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3173 7.2.4. LISP Map-Server 3175 The following is an example configuration for Map-Server 3176 functionality under "LISP1". There are 2 mappings configured. 3178 3179 3180 3181 3182 3183 lisp:lisp 3184 3185 LISP1 3186 3187 3188 3190 lisp-ms:ms 3191 3192 3193 3194 3195 3196 1 3197 3198 *Kye^$$1#gb91U04zpa! 3199 hmac-sha-256-128 3200 3201 3202 3203 3204 3205 1000 3206 3207 3208 1 3209 3210 3212 laddr:ipv6-prefix-afi 3213 3214 2001:db8:400:0:100::/80 3215 3216 3217 3218 3219 3220 2000 3221 3222 3223 1 3224 3225 3227 laddr:ipv6-prefix-afi 3228 3229 2001:db8:800:0:200::/80 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3242 8. Acknowledgments 3244 The tree view and the YANG model shown in this document have been 3245 formated with the 'pyang' tool. 3247 9. IANA Considerations 3249 The IANA is requested to as assign a new namespace URI from the IETF 3250 XML registry. 3252 This document registers the following namesace URIs in the IETF XML 3253 registry [RFC3688]: 3255 -------------------------------------------------------------------- 3257 URI: urn:ietf:params:xml:ns:yang:ietf-lisp 3259 Registrant Contact: The IESG. 3261 XML: N/A, the requested URI is an XML namespace. 3263 -------------------------------------------------------------------- 3265 -------------------------------------------------------------------- 3267 URI: urn:ietf:params:xml:ns:yang:ietf-lisp-itr 3269 Registrant Contact: The IESG. 3271 XML: N/A, the requested URI is an XML namespace. 3273 -------------------------------------------------------------------- 3275 -------------------------------------------------------------------- 3277 URI: urn:ietf:params:xml:ns:yang:ietf-lisp-etr 3279 Registrant Contact: The IESG. 3281 XML: N/A, the requested URI is an XML namespace. 3283 -------------------------------------------------------------------- 3285 -------------------------------------------------------------------- 3287 URI: urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver 3289 Registrant Contact: The IESG. 3291 XML: N/A, the requested URI is an XML namespace. 3293 -------------------------------------------------------------------- 3295 -------------------------------------------------------------------- 3297 URI: urn:ietf:params:xml:ns:yang:ietf-lisp-mapresolver 3299 Registrant Contact: The IESG. 3301 XML: N/A, the requested URI is an XML namespace. 3303 -------------------------------------------------------------------- 3305 -------------------------------------------------------------------- 3307 URI: urn:ietf:params:xml:ns:yang:ietf-lisp-address-types 3309 Registrant Contact: The IESG. 3311 XML: N/A, the requested URI is an XML namespace. 3313 -------------------------------------------------------------------- 3315 10. Security Considerations 3317 Security Considerations TBD 3319 11. Normative References 3321 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 3322 Requirement Levels", BCP 14, RFC 2119, 3323 DOI 10.17487/RFC2119, March 1997, 3324 . 3326 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 3327 DOI 10.17487/RFC3688, January 2004, 3328 . 3330 [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The 3331 Locator/ID Separation Protocol (LISP)", RFC 6830, 3332 DOI 10.17487/RFC6830, January 2013, 3333 . 3335 [RFC6832] Lewis, D., Meyer, D., Farinacci, D., and V. Fuller, 3336 "Interworking between Locator/ID Separation Protocol 3337 (LISP) and Non-LISP Sites", RFC 6832, 3338 DOI 10.17487/RFC6832, January 2013, 3339 . 3341 [RFC6833] Fuller, V. and D. Farinacci, "Locator/ID Separation 3342 Protocol (LISP) Map-Server Interface", RFC 6833, 3343 DOI 10.17487/RFC6833, January 2013, 3344 . 3346 [RFC6836] Fuller, V., Farinacci, D., Meyer, D., and D. Lewis, 3347 "Locator/ID Separation Protocol Alternative Logical 3348 Topology (LISP+ALT)", RFC 6836, DOI 10.17487/RFC6836, 3349 January 2013, . 3351 [RFC8060] Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical 3352 Address Format (LCAF)", RFC 8060, DOI 10.17487/RFC8060, 3353 February 2017, . 3355 [RFC8111] Fuller, V., Lewis, D., Ermagan, V., Jain, A., and A. 3356 Smirnov, "Locator/ID Separation Protocol Delegated 3357 Database Tree (LISP-DDT)", RFC 8111, DOI 10.17487/RFC8111, 3358 May 2017, . 3360 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 3361 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 3362 May 2017, . 3364 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 3365 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 3366 . 3368 [RFC8349] Lhotka, L., Lindem, A., and Y. Qu, "A YANG Data Model for 3369 Routing Management (NMDA Version)", RFC 8349, 3370 DOI 10.17487/RFC8349, March 2018, 3371 . 3373 Authors' Addresses 3375 Vina Ermagan 3376 Cisco Systems 3377 San Jose, CA 3378 USA 3380 Email: vermagan@cisco.com 3382 Alberto Rodriguez-Natal 3383 Cisco Systems 3384 San Jose, CA 3385 USA 3387 Email: natal@cisco.com 3388 Florin Coras 3389 Cisco Systems 3390 San Jose, CA 3391 USA 3393 Email: fcoras@cisco.com 3395 Carl Moberg 3396 Cisco Systems 3397 San Jose, CA 3398 USA 3400 Email: camoberg@cisco.com 3402 Reshad Rahman 3403 Cisco Systems 3404 Canada 3406 Email: rrahman@cisco.com 3408 Albert Cabellos-Aparicio 3409 Technical University of Catalonia 3410 Barcelona 3411 Spain 3413 Email: acabello@ac.upc.edu 3415 Fabio Maino 3416 Cisco Systems 3417 San Jose, CA 3418 USA 3420 Email: fmaino@cisco.com