idnits 2.17.1 draft-ietf-lisp-yang-03.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 157 instances of too long lines in the document, the longest one being 26 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 106 has weird spacing: '...et-name str...' == Line 206 has weird spacing: '...ance-id int...' == Line 208 has weird spacing: '...le-type lis...' == Line 213 has weird spacing: '...ance-id int...' == Line 215 has weird spacing: '...le-type lis...' -- The document date (July 6, 2016) is 2843 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- == Unused Reference: 'I-D.ietf-lisp-ddt' is defined on line 3776, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-lisp-lcaf' is defined on line 3781, but no explicit reference was found in the text == Unused Reference: 'RFC2119' is defined on line 3786, but no explicit reference was found in the text == Unused Reference: 'RFC6830' is defined on line 3791, but no explicit reference was found in the text == Unused Reference: 'RFC6836' is defined on line 3805, but no explicit reference was found in the text == Outdated reference: A later version (-09) exists of draft-ietf-lisp-ddt-07 == Outdated reference: A later version (-22) exists of draft-ietf-lisp-lcaf-13 ** Obsolete normative reference: RFC 6830 (Obsoleted by RFC 9300, RFC 9301) ** Obsolete normative reference: RFC 6833 (Obsoleted by RFC 9301) Summary: 3 errors (**), 0 flaws (~~), 13 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 Cisco Systems 4 Intended status: Experimental A. Rodriguez-Natal 5 Expires: January 7, 2017 F. Coras 6 Technical University of Catalonia 7 C. Moberg 8 Cisco Systems 9 A. Cabellos-Aparicio 10 Technical University of Catalonia 11 F. Maino 12 Cisco Systems 13 July 6, 2016 15 LISP Configuration YANG Model 16 draft-ietf-lisp-yang-03 18 Abstract 20 This document describes a YANG data model to use with the Locator/ID 21 Separation Protocol (LISP). 23 Status of This Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at http://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on January 7, 2017. 40 Copyright Notice 42 Copyright (c) 2016 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (http://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 58 2. LISP Module . . . . . . . . . . . . . . . . . . . . . . . . . 3 59 2.1. Module Structure . . . . . . . . . . . . . . . . . . . . 3 60 2.2. Module Definition . . . . . . . . . . . . . . . . . . . . 5 61 3. LISP-ITR Module . . . . . . . . . . . . . . . . . . . . . . . 13 62 3.1. Module Structure . . . . . . . . . . . . . . . . . . . . 14 63 3.2. Module Definition . . . . . . . . . . . . . . . . . . . . 27 64 4. LISP ETR Module . . . . . . . . . . . . . . . . . . . . . . . 30 65 4.1. Module Structure . . . . . . . . . . . . . . . . . . . . 31 66 4.2. Module Definition . . . . . . . . . . . . . . . . . . . . 33 67 5. LISP Map Server Module . . . . . . . . . . . . . . . . . . . 36 68 5.1. Module Structure . . . . . . . . . . . . . . . . . . . . 36 69 5.2. Module Definition . . . . . . . . . . . . . . . . . . . . 42 70 6. LISP Map Resolver Module . . . . . . . . . . . . . . . . . . 45 71 6.1. Module Structure . . . . . . . . . . . . . . . . . . . . 45 72 6.2. Module Definition . . . . . . . . . . . . . . . . . . . . 45 73 7. LISP Proxy ITR Module . . . . . . . . . . . . . . . . . . . . 47 74 7.1. Module Structure . . . . . . . . . . . . . . . . . . . . 47 75 7.2. Module Definition . . . . . . . . . . . . . . . . . . . . 59 76 8. LISP Proxy ETR Module . . . . . . . . . . . . . . . . . . . . 61 77 8.1. Module Structure . . . . . . . . . . . . . . . . . . . . 61 78 8.2. Module Definition . . . . . . . . . . . . . . . . . . . . 63 79 9. LISP Address Types . . . . . . . . . . . . . . . . . . . . . 65 80 9.1. Module Definition . . . . . . . . . . . . . . . . . . . . 65 81 10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 79 82 11. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 79 83 12. Security Considerations . . . . . . . . . . . . . . . . . . . 79 84 13. Normative References . . . . . . . . . . . . . . . . . . . . 79 85 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 80 87 1. Introduction 89 The Locator/ID Separation Protocol (LISP) defines several network 90 elements subject to be configured. This document presents the YANG 91 data models required for basic configuration of all major LISP 92 [RFC6830]elements. The models also capture some essential 93 operational data elements as well. 95 2. LISP Module 97 This module is the base LISP module that is augmented in multiple 98 models to represent various LISP device roles. 100 2.1. Module Structure 102 module: ietf-lisp 103 +--rw lisp 104 | +--rw locator-sets 105 | | +--rw locator-set* [locator-set-name] 106 | | +--rw locator-set-name string 107 | | +--rw (locator-type)? 108 | | +--:(local-interface) 109 | | | +--rw interface* [interface-ref] 110 | | | +--rw interface-ref if:interface-ref 111 | | | +--rw priority? uint8 112 | | | +--rw weight? uint8 113 | | | +--rw multicast-priority? uint8 114 | | | +--rw multicast-weight? uint8 115 | | +--:(general-locator) 116 | | +--rw locator* [id] 117 | | +--rw id string 118 | | +--rw locator-address 119 | | | +--rw address-type lisp-address-family-ref 120 | | | +--rw virtual-network-id? instance-id-type 121 | | | +--rw (address)? 122 | | | +--:(no-address) 123 | | | | +--rw no-address? empty 124 | | | +--:(ipv4) 125 | | | | +--rw ipv4? inet:ipv4-address 126 | | | +--:(ipv4-prefix) 127 | | | | +--rw ipv4-prefix? inet:ipv4-prefix 128 | | | +--:(ipv6) 129 | | | | +--rw ipv6? inet:ipv6-address 130 | | | +--:(ipv6-prefix) 131 | | | | +--rw ipv6-prefix? inet:ipv6-prefix 132 | | | +--:(mac) 133 | | | | +--rw mac? yang:mac-address 134 | | | +--:(distinguished-name) 135 | | | | +--rw distinguished-name? distinguished-name-type 136 | | | +--:(as-number) 137 | | | | +--rw as-number? inet:as-number 138 | | | +--:(null-address) 139 | | | | +--rw null-address 140 | | | | +--rw address? empty 141 | | | +--:(afi-list) 142 | | | | +--rw afi-list 143 | | | | +--rw address-list* simple-address 144 | | | +--:(instance-id) 145 | | | | +--rw instance-id 146 | | | | +--rw iid? instance-id-type 147 | | | | +--rw mask-length? uint8 148 | | | | +--rw address? simple-address 149 | | | +--:(as-number-lcaf) 150 | | | | +--rw as-number-lcaf 151 | | | | +--rw as? inet:as-number 152 | | | | +--rw address? simple-address 153 | | | +--:(application-data) 154 | | | | +--rw application-data 155 | | | | +--rw address? simple-address 156 | | | | +--rw protocol? uint8 157 | | | | +--rw ip-tos? int32 158 | | | | +--rw local-port-low? inet:port-number 159 | | | | +--rw local-port-high? inet:port-number 160 | | | | +--rw remote-port-low? inet:port-number 161 | | | | +--rw remote-port-high? inet:port-number 162 | | | +--:(geo-coordinates) 163 | | | | +--rw geo-coordinates 164 | | | | +--rw latitude? bits 165 | | | | +--rw latitude-degrees? uint8 166 | | | | +--rw latitude-minutes? uint8 167 | | | | +--rw latitude-seconds? uint8 168 | | | | +--rw longitude? bits 169 | | | | +--rw longitude-degrees? uint16 170 | | | | +--rw longitude-minutes? uint8 171 | | | | +--rw longitude-seconds? uint8 172 | | | | +--rw altitude? int32 173 | | | | +--rw address? simple-address 174 | | | +--:(nat-traversal) 175 | | | | +--rw nat-traversal 176 | | | | +--rw ms-udp-port? uint16 177 | | | | +--rw etr-udp-port? uint16 178 | | | | +--rw global-etr-rloc? simple-address 179 | | | | +--rw ms-rloc? simple-address 180 | | | | +--rw private-etr-rloc? simple-address 181 | | | | +--rw rtr-rlocs* simple-address 182 | | | +--:(explicit-locator-path) 183 | | | | +--rw explicit-locator-path 184 | | | | +--rw hop* [hop-id] 185 | | | | +--rw hop-id string 186 | | | | +--rw address? simple-address 187 | | | | +--rw lrs-bits? bits 188 | | | +--:(source-dest-key) 189 | | | | +--rw source-dest-key 190 | | | | +--rw source? simple-address 191 | | | | +--rw dest? simple-address 192 | | | +--:(key-value-address) 193 | | | | +--rw key-value-address 194 | | | | +--rw key? simple-address 195 | | | | +--rw value? simple-address 196 | | | +--:(service-path) 197 | | | +--rw service-path 198 | | | +--rw service-path-id? service-path-id-type 199 | | | +--rw service-index? uint8 200 | | +--rw priority? uint8 201 | | +--rw weight? uint8 202 | | +--rw multicast-priority? uint8 203 | | +--rw multicast-weight? uint8 204 | +--rw lisp-router-instances 205 | +--rw lisp-router-instance* [lisp-router-instance-id] 206 | +--rw lisp-router-instance-id int32 207 | +--rw lisp-role* [lisp-role-type] 208 | +--rw lisp-role-type lisp-role-ref 209 | +--rw enabled? boolean 210 +--ro lisp-state 211 +--ro lisp-router-instances 212 +--ro lisp-router-instance* [lisp-router-instance-id] 213 +--ro lisp-router-instance-id int32 214 +--ro lisp-role* [lisp-role-type] 215 +--ro lisp-role-type lisp-role-ref 216 +--ro enabled? boolean 218 2.2. Module Definition 220 file "ietf-lisp@2016-06-30.yang" 221 module ietf-lisp { 222 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp"; 223 prefix lisp; 224 import ietf-interfaces { 225 prefix if; 226 } 227 import ietf-lisp-address-types { 228 prefix lcaf; 229 } 230 organization 231 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 232 contact 233 "lisp@ietf.org"; 234 description 235 "This YANG module defines the generic configuration 236 and operational data for LISP. The module can be extended by 237 vendors to define vendor-specific LISP configuration 238 parameters and policies. 240 Copyright (c) 2014 IETF Trust and the persons identified as 241 authors of the code. All rights reserved. 243 Redistribution and use in source and binary forms, with or 244 without modification, is permitted pursuant to, and subject 245 to the license terms contained in, the Simplified BSD License 246 set forth in Section 4.c of the IETF Trust's Legal Provisions 247 Relating to IETF Documents 248 (http://trustee.ietf.org/license-info). 250 This version of this YANG module is part of RFC 6338; see 251 the RFC itself for full legal notices. 252 "; 254 revision 2016-06-30 { 255 description 256 "Initial revision."; 257 reference 258 "https://tools.ietf.org/html/rfc6830"; 259 } 260 identity lisp-role { 261 description 262 "LISP router role."; 263 } 264 identity mapping-system { 265 description 266 "Mapping System interface"; 267 } 268 identity single-node-mapping-system { 269 base mapping-system; 270 description 271 "logically singular Map Server"; 272 } 273 typedef mapping-system-ref { 274 type identityref { 275 base mapping-system; 276 } 277 description 278 "Mapping System reference"; 279 } 281 typedef lisp-role-ref { 282 type identityref { 283 base lisp-role; 284 } 285 description 286 "LISP role reference"; 287 } 288 typedef map-reply-action { 289 type enumeration { 290 enum no-action { 291 value 0; 292 description 293 "Mapping is kept alive and no encapsulation occurs."; 294 } 295 enum natively-forward { 296 value 1; 297 description 298 "Matching packets are not encapsulated or dropped but 299 natively forwarded."; 300 } 301 enum send-map-request { 302 value 2; 303 description 304 "Matching packets invoke Map-Requests."; 305 } 306 enum drop { 307 value 3; 308 description 309 "Matching packets are dropped."; 310 } 311 } 312 description 313 "Defines the lisp map-cache ACT type"; 314 reference "https://tools.ietf.org/html/rfc6830#section-6.1.4"; 315 } 316 typedef eid-id { 317 type string; 318 description 319 "Type encoding of lisp-addresses to be generally used in EID 320 keyed lists."; 321 } 322 typedef auth-key-type { 323 type enumeration { 324 enum none { 325 value 0; 326 description 327 "No authentication."; 328 } 329 enum hmac-sha-1-96 { 330 value 1; 331 description 332 "HMAC-SHA-1-96 (RFC2404) authentication is used."; 333 } 334 enum hmac-sha-256-128 { 335 value 2; 336 description 337 "HMAC-SHA-256-128 (RFC4868) authentication is used."; 338 } 339 } 340 description 341 "Enumeration of the authentication mechansms supported by 342 LISP."; 343 reference 344 "https://tools.ietf.org/html/rfc6830#section-6.1.6"; 345 } 347 grouping locator-properties { 348 description 349 "Properties of a RLOC"; 350 leaf priority { 351 type uint8; 352 description 353 "Locator priority."; 354 } 355 leaf weight { 356 type uint8; 357 description 358 "Locator weight."; 359 } 360 leaf multicast-priority { 361 type uint8; 362 description 363 "Locator's multicast priority"; 364 } 365 leaf multicast-weight { 366 type uint8; 367 description 368 "Locator's multicast weight"; 369 } 370 } 372 grouping locators-grouping { 373 description 374 "Group that defines a list of LISP locators."; 375 // vina: container? 376 list locator { 377 key "id"; 378 description 379 "List of routing locators"; 380 leaf id { 381 type string { 382 length "1..64"; 383 } 384 description 385 "Locator id"; 386 } 387 container locator-address { 388 uses lcaf:lisp-address; 389 description 390 "The locator address provided in LISP canonincal 391 address format."; 392 } 393 uses locator-properties; 394 } 396 } 398 grouping local-locators-grouping { 399 description 400 "Group that defines a list of LISP locators."; 401 list interface { 402 key "interface-ref"; 403 description 404 "The address type of the locator"; 405 leaf interface-ref { 406 type if:interface-ref; 407 description 408 "The name of the interface supporting the locator."; 409 } 410 uses locator-properties; 411 } 412 } 413 grouping servicing-eids-grouping { 414 description 415 "Group of EIDs serviced by the this lisp device."; 416 container servicing-eids { 417 description 418 "This node defines list of EIDs serviced by the this" 419 + " lisp device."; 420 list servicing-eid { 421 key "id"; 422 description 423 "List of EIDs serviced by the this lisp device."; 424 leaf id { 425 type lisp:eid-id; 426 description 427 "Id of serviced EID."; 428 } 429 container eid-address { 430 uses lcaf:lisp-address; 431 description 432 "Serviced EID address in generic LISP address format."; 433 } 434 } 435 } 436 } 437 grouping mappings { 438 description 439 "Group that defines a list of LISP mappings."; 440 list mapping { 441 key "id"; 442 description 443 "List of EID to RLOCs mappings."; 444 leaf id { 445 type eid-id; 446 description 447 "Id that uniquely identifies a mapping."; 448 } 449 container eid { 450 uses lcaf:lisp-address; 451 description 452 "End-host Identifier (EID) to be mapped to a list of 453 locators"; 454 } 455 leaf ttl { 456 type uint32; 457 description 458 "Mapping validity period."; 459 } 460 leaf authoritative { 461 type bits { 462 bit A { 463 description 464 "Authoritative bit."; 465 } 466 } 467 description 468 "Bit that indicates if mapping comes from an 469 authoritative source."; 470 } 471 leaf static { 472 type boolean; 473 default "false"; 474 description 475 "This leaf should be true if the mapping is static."; 476 } 477 choice locator-list { 478 description 479 "list of locartors are either negative, or positive."; 481 case negative-mapping { 482 leaf map-reply-action { 483 type map-reply-action; 484 description 485 "Forwarding action for a negative mapping."; 486 } 487 } 488 case positive-mapping { 489 container rlocs { 490 uses locators-grouping; 491 description 492 "List of locators for a positive mapping."; 493 } 494 } 495 } 496 } 497 } 499 /* Configuration Data */ 500 container lisp { 501 description 502 "Configuration parameters for LISP subsystem."; 504 container locator-sets { 505 description 506 "Container that defines a named locator set which can be 507 referenced elsewhere."; 508 list locator-set { 509 key "locator-set-name"; 510 description 511 "Multiple locator sets can be configured."; 512 leaf locator-set-name { 513 type string { 514 length "1..64"; 515 } 516 description 517 "Locator set name"; 518 } 519 choice locator-type { 520 description 521 "Locator sets can be based on local interfaces, or 522 general locators."; 523 case local-interface { 524 uses local-locators-grouping; 525 description 526 "List of locators in this set based on local 527 interfaces."; 528 } 529 case general-locator { 530 uses locators-grouping; 531 description 532 "List of locators in this set based on lisp-address."; 533 } 534 } 535 } 536 } 538 container lisp-router-instances { 539 description 540 "Configuration of LISP router instances."; 541 list lisp-router-instance { 542 key "lisp-router-instance-id"; 543 description 544 "Each entry contains configuration of a lisp-router 545 instance."; 546 leaf lisp-router-instance-id { 547 type int32; 548 description 549 "Arbitrary lisp-router id."; 550 } 551 list lisp-role { 552 key lisp-role-type; 553 description 554 "List of lisp device roles such as MS, MR, ITR, 555 ETR, RTR."; 556 leaf lisp-role-type { 557 type lisp-role-ref; 558 description 559 "The type of LISP device - identity derived from the 560 'lisp-device' base identity."; 561 } 562 leaf enabled { 563 type boolean; 564 default "true"; 565 description 566 "Enable/disable the lisp-role."; 567 } 568 } 569 } 570 } 571 } 573 /* Operational state data */ 574 container lisp-state { 575 config false; 576 description 577 "Operational state of the LISP subsystem."; 578 container lisp-router-instances { 579 description 580 "Configuration of LISP router instances."; 581 list lisp-router-instance { 582 key "lisp-router-instance-id"; 583 description 584 "Each entry contains configuration of a lisp-router 585 instance."; 586 leaf lisp-router-instance-id { 587 type int32; 588 description 589 "Arbitrary lisp-router id."; 590 } 591 list lisp-role { 592 key lisp-role-type; 593 description 594 "List of lisp device roles such as MS, MR, ITR, 595 ETR, RTR."; 596 leaf lisp-role-type { 597 type lisp-role-ref; 598 description 599 "The type of LISP device - identity derived from the 600 'lisp-device' base identity."; 601 } 602 leaf enabled { 603 type boolean; 604 default "true"; 605 description 606 "Enable/disable the lisp-role."; 607 } 608 } 609 } 610 } 611 } 613 } 615 617 3. LISP-ITR Module 619 This module captures the configuration data model of a LISP ITR. The 620 model also captures some operational data elements. 622 3.1. Module Structure 624 module: ietf-lisp-itr 625 augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: 626 +--rw itr-cfg! 627 +--rw rloc-probing! 628 | +--rw interval? uint16 629 | +--rw retries? uint8 630 | +--rw retries-interval? uint16 631 +--rw itr-rlocs? -> /lisp:lisp/locator-sets/locator-set/locator-set-name 632 +--rw map-resolvers 633 | +--rw map-resolver* [id] 634 | +--rw id lisp:eid-id 635 | +--rw eid-address 636 | | +--rw address-type lisp-address-family-ref 637 | | +--rw virtual-network-id? instance-id-type 638 | | +--rw (address)? 639 | | +--:(no-address) 640 | | | +--rw no-address? empty 641 | | +--:(ipv4) 642 | | | +--rw ipv4? inet:ipv4-address 643 | | +--:(ipv4-prefix) 644 | | | +--rw ipv4-prefix? inet:ipv4-prefix 645 | | +--:(ipv6) 646 | | | +--rw ipv6? inet:ipv6-address 647 | | +--:(ipv6-prefix) 648 | | | +--rw ipv6-prefix? inet:ipv6-prefix 649 | | +--:(mac) 650 | | | +--rw mac? yang:mac-address 651 | | +--:(distinguished-name) 652 | | | +--rw distinguished-name? distinguished-name-type 653 | | +--:(as-number) 654 | | | +--rw as-number? inet:as-number 655 | | +--:(null-address) 656 | | | +--rw null-address 657 | | | +--rw address? empty 658 | | +--:(afi-list) 659 | | | +--rw afi-list 660 | | | +--rw address-list* simple-address 661 | | +--:(instance-id) 662 | | | +--rw instance-id 663 | | | +--rw iid? instance-id-type 664 | | | +--rw mask-length? uint8 665 | | | +--rw address? simple-address 666 | | +--:(as-number-lcaf) 667 | | | +--rw as-number-lcaf 668 | | | +--rw as? inet:as-number 669 | | | +--rw address? simple-address 670 | | +--:(application-data) 671 | | | +--rw application-data 672 | | | +--rw address? simple-address 673 | | | +--rw protocol? uint8 674 | | | +--rw ip-tos? int32 675 | | | +--rw local-port-low? inet:port-number 676 | | | +--rw local-port-high? inet:port-number 677 | | | +--rw remote-port-low? inet:port-number 678 | | | +--rw remote-port-high? inet:port-number 679 | | +--:(geo-coordinates) 680 | | | +--rw geo-coordinates 681 | | | +--rw latitude? bits 682 | | | +--rw latitude-degrees? uint8 683 | | | +--rw latitude-minutes? uint8 684 | | | +--rw latitude-seconds? uint8 685 | | | +--rw longitude? bits 686 | | | +--rw longitude-degrees? uint16 687 | | | +--rw longitude-minutes? uint8 688 | | | +--rw longitude-seconds? uint8 689 | | | +--rw altitude? int32 690 | | | +--rw address? simple-address 691 | | +--:(nat-traversal) 692 | | | +--rw nat-traversal 693 | | | +--rw ms-udp-port? uint16 694 | | | +--rw etr-udp-port? uint16 695 | | | +--rw global-etr-rloc? simple-address 696 | | | +--rw ms-rloc? simple-address 697 | | | +--rw private-etr-rloc? simple-address 698 | | | +--rw rtr-rlocs* simple-address 699 | | +--:(explicit-locator-path) 700 | | | +--rw explicit-locator-path 701 | | | +--rw hop* [hop-id] 702 | | | +--rw hop-id string 703 | | | +--rw address? simple-address 704 | | | +--rw lrs-bits? bits 705 | | +--:(source-dest-key) 706 | | | +--rw source-dest-key 707 | | | +--rw source? simple-address 708 | | | +--rw dest? simple-address 709 | | +--:(key-value-address) 710 | | | +--rw key-value-address 711 | | | +--rw key? simple-address 712 | | | +--rw value? simple-address 713 | | +--:(service-path) 714 | | +--rw service-path 715 | | +--rw service-path-id? service-path-id-type 716 | | +--rw service-index? uint8 717 | +--rw map-resolver-address* inet:ip-address 718 +--rw proxy-etrs 719 | +--rw proxy-etr* [id] 720 | +--rw id lisp:eid-id 721 | +--rw eid-address 722 | | +--rw address-type lisp-address-family-ref 723 | | +--rw virtual-network-id? instance-id-type 724 | | +--rw (address)? 725 | | +--:(no-address) 726 | | | +--rw no-address? empty 727 | | +--:(ipv4) 728 | | | +--rw ipv4? inet:ipv4-address 729 | | +--:(ipv4-prefix) 730 | | | +--rw ipv4-prefix? inet:ipv4-prefix 731 | | +--:(ipv6) 732 | | | +--rw ipv6? inet:ipv6-address 733 | | +--:(ipv6-prefix) 734 | | | +--rw ipv6-prefix? inet:ipv6-prefix 735 | | +--:(mac) 736 | | | +--rw mac? yang:mac-address 737 | | +--:(distinguished-name) 738 | | | +--rw distinguished-name? distinguished-name-type 739 | | +--:(as-number) 740 | | | +--rw as-number? inet:as-number 741 | | +--:(null-address) 742 | | | +--rw null-address 743 | | | +--rw address? empty 744 | | +--:(afi-list) 745 | | | +--rw afi-list 746 | | | +--rw address-list* simple-address 747 | | +--:(instance-id) 748 | | | +--rw instance-id 749 | | | +--rw iid? instance-id-type 750 | | | +--rw mask-length? uint8 751 | | | +--rw address? simple-address 752 | | +--:(as-number-lcaf) 753 | | | +--rw as-number-lcaf 754 | | | +--rw as? inet:as-number 755 | | | +--rw address? simple-address 756 | | +--:(application-data) 757 | | | +--rw application-data 758 | | | +--rw address? simple-address 759 | | | +--rw protocol? uint8 760 | | | +--rw ip-tos? int32 761 | | | +--rw local-port-low? inet:port-number 762 | | | +--rw local-port-high? inet:port-number 763 | | | +--rw remote-port-low? inet:port-number 764 | | | +--rw remote-port-high? inet:port-number 765 | | +--:(geo-coordinates) 766 | | | +--rw geo-coordinates 767 | | | +--rw latitude? bits 768 | | | +--rw latitude-degrees? uint8 769 | | | +--rw latitude-minutes? uint8 770 | | | +--rw latitude-seconds? uint8 771 | | | +--rw longitude? bits 772 | | | +--rw longitude-degrees? uint16 773 | | | +--rw longitude-minutes? uint8 774 | | | +--rw longitude-seconds? uint8 775 | | | +--rw altitude? int32 776 | | | +--rw address? simple-address 777 | | +--:(nat-traversal) 778 | | | +--rw nat-traversal 779 | | | +--rw ms-udp-port? uint16 780 | | | +--rw etr-udp-port? uint16 781 | | | +--rw global-etr-rloc? simple-address 782 | | | +--rw ms-rloc? simple-address 783 | | | +--rw private-etr-rloc? simple-address 784 | | | +--rw rtr-rlocs* simple-address 785 | | +--:(explicit-locator-path) 786 | | | +--rw explicit-locator-path 787 | | | +--rw hop* [hop-id] 788 | | | +--rw hop-id string 789 | | | +--rw address? simple-address 790 | | | +--rw lrs-bits? bits 791 | | +--:(source-dest-key) 792 | | | +--rw source-dest-key 793 | | | +--rw source? simple-address 794 | | | +--rw dest? simple-address 795 | | +--:(key-value-address) 796 | | | +--rw key-value-address 797 | | | +--rw key? simple-address 798 | | | +--rw value? simple-address 799 | | +--:(service-path) 800 | | +--rw service-path 801 | | +--rw service-path-id? service-path-id-type 802 | | +--rw service-index? uint8 803 | +--rw proxy-etr-address* inet:ip-address 804 +--rw map-cache 805 | +--rw mapping* [id] 806 | +--rw id eid-id 807 | +--rw eid 808 | | +--rw address-type lisp-address-family-ref 809 | | +--rw virtual-network-id? instance-id-type 810 | | +--rw (address)? 811 | | +--:(no-address) 812 | | | +--rw no-address? empty 813 | | +--:(ipv4) 814 | | | +--rw ipv4? inet:ipv4-address 815 | | +--:(ipv4-prefix) 816 | | | +--rw ipv4-prefix? inet:ipv4-prefix 817 | | +--:(ipv6) 818 | | | +--rw ipv6? inet:ipv6-address 819 | | +--:(ipv6-prefix) 820 | | | +--rw ipv6-prefix? inet:ipv6-prefix 821 | | +--:(mac) 822 | | | +--rw mac? yang:mac-address 823 | | +--:(distinguished-name) 824 | | | +--rw distinguished-name? distinguished-name-type 825 | | +--:(as-number) 826 | | | +--rw as-number? inet:as-number 827 | | +--:(null-address) 828 | | | +--rw null-address 829 | | | +--rw address? empty 830 | | +--:(afi-list) 831 | | | +--rw afi-list 832 | | | +--rw address-list* simple-address 833 | | +--:(instance-id) 834 | | | +--rw instance-id 835 | | | +--rw iid? instance-id-type 836 | | | +--rw mask-length? uint8 837 | | | +--rw address? simple-address 838 | | +--:(as-number-lcaf) 839 | | | +--rw as-number-lcaf 840 | | | +--rw as? inet:as-number 841 | | | +--rw address? simple-address 842 | | +--:(application-data) 843 | | | +--rw application-data 844 | | | +--rw address? simple-address 845 | | | +--rw protocol? uint8 846 | | | +--rw ip-tos? int32 847 | | | +--rw local-port-low? inet:port-number 848 | | | +--rw local-port-high? inet:port-number 849 | | | +--rw remote-port-low? inet:port-number 850 | | | +--rw remote-port-high? inet:port-number 851 | | +--:(geo-coordinates) 852 | | | +--rw geo-coordinates 853 | | | +--rw latitude? bits 854 | | | +--rw latitude-degrees? uint8 855 | | | +--rw latitude-minutes? uint8 856 | | | +--rw latitude-seconds? uint8 857 | | | +--rw longitude? bits 858 | | | +--rw longitude-degrees? uint16 859 | | | +--rw longitude-minutes? uint8 860 | | | +--rw longitude-seconds? uint8 861 | | | +--rw altitude? int32 862 | | | +--rw address? simple-address 863 | | +--:(nat-traversal) 864 | | | +--rw nat-traversal 865 | | | +--rw ms-udp-port? uint16 866 | | | +--rw etr-udp-port? uint16 867 | | | +--rw global-etr-rloc? simple-address 868 | | | +--rw ms-rloc? simple-address 869 | | | +--rw private-etr-rloc? simple-address 870 | | | +--rw rtr-rlocs* simple-address 871 | | +--:(explicit-locator-path) 872 | | | +--rw explicit-locator-path 873 | | | +--rw hop* [hop-id] 874 | | | +--rw hop-id string 875 | | | +--rw address? simple-address 876 | | | +--rw lrs-bits? bits 877 | | +--:(source-dest-key) 878 | | | +--rw source-dest-key 879 | | | +--rw source? simple-address 880 | | | +--rw dest? simple-address 881 | | +--:(key-value-address) 882 | | | +--rw key-value-address 883 | | | +--rw key? simple-address 884 | | | +--rw value? simple-address 885 | | +--:(service-path) 886 | | +--rw service-path 887 | | +--rw service-path-id? service-path-id-type 888 | | +--rw service-index? uint8 889 | +--rw ttl? uint32 890 | +--rw authoritative? bits 891 | +--rw static? boolean 892 | +--rw (locator-list)? 893 | +--:(negative-mapping) 894 | | +--rw map-reply-action? map-reply-action 895 | +--:(positive-mapping) 896 | +--rw rlocs 897 | +--rw locator* [id] 898 | +--rw id string 899 | +--rw locator-address 900 | | +--rw address-type lisp-address-family-ref 901 | | +--rw virtual-network-id? instance-id-type 902 | | +--rw (address)? 903 | | +--:(no-address) 904 | | | +--rw no-address? empty 905 | | +--:(ipv4) 906 | | | +--rw ipv4? inet:ipv4-address 907 | | +--:(ipv4-prefix) 908 | | | +--rw ipv4-prefix? inet:ipv4-prefix 909 | | +--:(ipv6) 910 | | | +--rw ipv6? inet:ipv6-address 911 | | +--:(ipv6-prefix) 912 | | | +--rw ipv6-prefix? inet:ipv6-prefix 913 | | +--:(mac) 914 | | | +--rw mac? yang:mac-address 915 | | +--:(distinguished-name) 916 | | | +--rw distinguished-name? distinguished-name-type 917 | | +--:(as-number) 918 | | | +--rw as-number? inet:as-number 919 | | +--:(null-address) 920 | | | +--rw null-address 921 | | | +--rw address? empty 922 | | +--:(afi-list) 923 | | | +--rw afi-list 924 | | | +--rw address-list* simple-address 925 | | +--:(instance-id) 926 | | | +--rw instance-id 927 | | | +--rw iid? instance-id-type 928 | | | +--rw mask-length? uint8 929 | | | +--rw address? simple-address 930 | | +--:(as-number-lcaf) 931 | | | +--rw as-number-lcaf 932 | | | +--rw as? inet:as-number 933 | | | +--rw address? simple-address 934 | | +--:(application-data) 935 | | | +--rw application-data 936 | | | +--rw address? simple-address 937 | | | +--rw protocol? uint8 938 | | | +--rw ip-tos? int32 939 | | | +--rw local-port-low? inet:port-number 940 | | | +--rw local-port-high? inet:port-number 941 | | | +--rw remote-port-low? inet:port-number 942 | | | +--rw remote-port-high? inet:port-number 943 | | +--:(geo-coordinates) 944 | | | +--rw geo-coordinates 945 | | | +--rw latitude? bits 946 | | | +--rw latitude-degrees? uint8 947 | | | +--rw latitude-minutes? uint8 948 | | | +--rw latitude-seconds? uint8 949 | | | +--rw longitude? bits 950 | | | +--rw longitude-degrees? uint16 951 | | | +--rw longitude-minutes? uint8 952 | | | +--rw longitude-seconds? uint8 953 | | | +--rw altitude? int32 954 | | | +--rw address? simple-address 955 | | +--:(nat-traversal) 956 | | | +--rw nat-traversal 957 | | | +--rw ms-udp-port? uint16 958 | | | +--rw etr-udp-port? uint16 959 | | | +--rw global-etr-rloc? simple-address 960 | | | +--rw ms-rloc? simple-address 961 | | | +--rw private-etr-rloc? simple-address 962 | | | +--rw rtr-rlocs* simple-address 963 | | +--:(explicit-locator-path) 964 | | | +--rw explicit-locator-path 965 | | | +--rw hop* [hop-id] 966 | | | +--rw hop-id string 967 | | | +--rw address? simple-address 968 | | | +--rw lrs-bits? bits 969 | | +--:(source-dest-key) 970 | | | +--rw source-dest-key 971 | | | +--rw source? simple-address 972 | | | +--rw dest? simple-address 973 | | +--:(key-value-address) 974 | | | +--rw key-value-address 975 | | | +--rw key? simple-address 976 | | | +--rw value? simple-address 977 | | +--:(service-path) 978 | | +--rw service-path 979 | | +--rw service-path-id? service-path-id-type 980 | | +--rw service-index? uint8 981 | +--rw priority? uint8 982 | +--rw weight? uint8 983 | +--rw multicast-priority? uint8 984 | +--rw multicast-weight? uint8 985 +--rw servicing-eids 986 +--rw servicing-eid* [id] 987 +--rw id lisp:eid-id 988 +--rw eid-address 989 +--rw address-type lisp-address-family-ref 990 +--rw virtual-network-id? instance-id-type 991 +--rw (address)? 992 +--:(no-address) 993 | +--rw no-address? empty 994 +--:(ipv4) 995 | +--rw ipv4? inet:ipv4-address 996 +--:(ipv4-prefix) 997 | +--rw ipv4-prefix? inet:ipv4-prefix 998 +--:(ipv6) 999 | +--rw ipv6? inet:ipv6-address 1000 +--:(ipv6-prefix) 1001 | +--rw ipv6-prefix? inet:ipv6-prefix 1002 +--:(mac) 1003 | +--rw mac? yang:mac-address 1004 +--:(distinguished-name) 1005 | +--rw distinguished-name? distinguished-name-type 1006 +--:(as-number) 1007 | +--rw as-number? inet:as-number 1008 +--:(null-address) 1009 | +--rw null-address 1010 | +--rw address? empty 1011 +--:(afi-list) 1012 | +--rw afi-list 1013 | +--rw address-list* simple-address 1014 +--:(instance-id) 1015 | +--rw instance-id 1016 | +--rw iid? instance-id-type 1017 | +--rw mask-length? uint8 1018 | +--rw address? simple-address 1019 +--:(as-number-lcaf) 1020 | +--rw as-number-lcaf 1021 | +--rw as? inet:as-number 1022 | +--rw address? simple-address 1023 +--:(application-data) 1024 | +--rw application-data 1025 | +--rw address? simple-address 1026 | +--rw protocol? uint8 1027 | +--rw ip-tos? int32 1028 | +--rw local-port-low? inet:port-number 1029 | +--rw local-port-high? inet:port-number 1030 | +--rw remote-port-low? inet:port-number 1031 | +--rw remote-port-high? inet:port-number 1032 +--:(geo-coordinates) 1033 | +--rw geo-coordinates 1034 | +--rw latitude? bits 1035 | +--rw latitude-degrees? uint8 1036 | +--rw latitude-minutes? uint8 1037 | +--rw latitude-seconds? uint8 1038 | +--rw longitude? bits 1039 | +--rw longitude-degrees? uint16 1040 | +--rw longitude-minutes? uint8 1041 | +--rw longitude-seconds? uint8 1042 | +--rw altitude? int32 1043 | +--rw address? simple-address 1044 +--:(nat-traversal) 1045 | +--rw nat-traversal 1046 | +--rw ms-udp-port? uint16 1047 | +--rw etr-udp-port? uint16 1048 | +--rw global-etr-rloc? simple-address 1049 | +--rw ms-rloc? simple-address 1050 | +--rw private-etr-rloc? simple-address 1051 | +--rw rtr-rlocs* simple-address 1052 +--:(explicit-locator-path) 1053 | +--rw explicit-locator-path 1054 | +--rw hop* [hop-id] 1055 | +--rw hop-id string 1056 | +--rw address? simple-address 1057 | +--rw lrs-bits? bits 1058 +--:(source-dest-key) 1059 | +--rw source-dest-key 1060 | +--rw source? simple-address 1061 | +--rw dest? simple-address 1062 +--:(key-value-address) 1063 | +--rw key-value-address 1064 | +--rw key? simple-address 1065 | +--rw value? simple-address 1066 +--:(service-path) 1067 +--rw service-path 1068 +--rw service-path-id? service-path-id-type 1069 +--rw service-index? uint8 1070 augment /lisp:lisp-state/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: 1071 +--ro itr-state 1072 +--ro map-cache 1073 +--ro mapping* [id] 1074 +--ro id eid-id 1075 +--ro eid 1076 | +--ro address-type lisp-address-family-ref 1077 | +--ro virtual-network-id? instance-id-type 1078 | +--ro (address)? 1079 | +--:(no-address) 1080 | | +--ro no-address? empty 1081 | +--:(ipv4) 1082 | | +--ro ipv4? inet:ipv4-address 1083 | +--:(ipv4-prefix) 1084 | | +--ro ipv4-prefix? inet:ipv4-prefix 1085 | +--:(ipv6) 1086 | | +--ro ipv6? inet:ipv6-address 1087 | +--:(ipv6-prefix) 1088 | | +--ro ipv6-prefix? inet:ipv6-prefix 1089 | +--:(mac) 1090 | | +--ro mac? yang:mac-address 1091 | +--:(distinguished-name) 1092 | | +--ro distinguished-name? distinguished-name-type 1093 | +--:(as-number) 1094 | | +--ro as-number? inet:as-number 1095 | +--:(null-address) 1096 | | +--ro null-address 1097 | | +--ro address? empty 1098 | +--:(afi-list) 1099 | | +--ro afi-list 1100 | | +--ro address-list* simple-address 1101 | +--:(instance-id) 1102 | | +--ro instance-id 1103 | | +--ro iid? instance-id-type 1104 | | +--ro mask-length? uint8 1105 | | +--ro address? simple-address 1106 | +--:(as-number-lcaf) 1107 | | +--ro as-number-lcaf 1108 | | +--ro as? inet:as-number 1109 | | +--ro address? simple-address 1110 | +--:(application-data) 1111 | | +--ro application-data 1112 | | +--ro address? simple-address 1113 | | +--ro protocol? uint8 1114 | | +--ro ip-tos? int32 1115 | | +--ro local-port-low? inet:port-number 1116 | | +--ro local-port-high? inet:port-number 1117 | | +--ro remote-port-low? inet:port-number 1118 | | +--ro remote-port-high? inet:port-number 1119 | +--:(geo-coordinates) 1120 | | +--ro geo-coordinates 1121 | | +--ro latitude? bits 1122 | | +--ro latitude-degrees? uint8 1123 | | +--ro latitude-minutes? uint8 1124 | | +--ro latitude-seconds? uint8 1125 | | +--ro longitude? bits 1126 | | +--ro longitude-degrees? uint16 1127 | | +--ro longitude-minutes? uint8 1128 | | +--ro longitude-seconds? uint8 1129 | | +--ro altitude? int32 1130 | | +--ro address? simple-address 1131 | +--:(nat-traversal) 1132 | | +--ro nat-traversal 1133 | | +--ro ms-udp-port? uint16 1134 | | +--ro etr-udp-port? uint16 1135 | | +--ro global-etr-rloc? simple-address 1136 | | +--ro ms-rloc? simple-address 1137 | | +--ro private-etr-rloc? simple-address 1138 | | +--ro rtr-rlocs* simple-address 1139 | +--:(explicit-locator-path) 1140 | | +--ro explicit-locator-path 1141 | | +--ro hop* [hop-id] 1142 | | +--ro hop-id string 1143 | | +--ro address? simple-address 1144 | | +--ro lrs-bits? bits 1145 | +--:(source-dest-key) 1146 | | +--ro source-dest-key 1147 | | +--ro source? simple-address 1148 | | +--ro dest? simple-address 1149 | +--:(key-value-address) 1150 | | +--ro key-value-address 1151 | | +--ro key? simple-address 1152 | | +--ro value? simple-address 1153 | +--:(service-path) 1154 | +--ro service-path 1155 | +--ro service-path-id? service-path-id-type 1156 | +--ro service-index? uint8 1157 +--ro ttl? uint32 1158 +--ro authoritative? bits 1159 +--ro static? boolean 1160 +--ro (locator-list)? 1161 +--:(negative-mapping) 1162 | +--ro map-reply-action? map-reply-action 1163 +--:(positive-mapping) 1164 +--ro rlocs 1165 +--ro locator* [id] 1166 +--ro id string 1167 +--ro locator-address 1168 | +--ro address-type lisp-address-family-ref 1169 | +--ro virtual-network-id? instance-id-type 1170 | +--ro (address)? 1171 | +--:(no-address) 1172 | | +--ro no-address? empty 1173 | +--:(ipv4) 1174 | | +--ro ipv4? inet:ipv4-address 1175 | +--:(ipv4-prefix) 1176 | | +--ro ipv4-prefix? inet:ipv4-prefix 1177 | +--:(ipv6) 1178 | | +--ro ipv6? inet:ipv6-address 1179 | +--:(ipv6-prefix) 1180 | | +--ro ipv6-prefix? inet:ipv6-prefix 1181 | +--:(mac) 1182 | | +--ro mac? yang:mac-address 1183 | +--:(distinguished-name) 1184 | | +--ro distinguished-name? distinguished-name-type 1185 | +--:(as-number) 1186 | | +--ro as-number? inet:as-number 1187 | +--:(null-address) 1188 | | +--ro null-address 1189 | | +--ro address? empty 1190 | +--:(afi-list) 1191 | | +--ro afi-list 1192 | | +--ro address-list* simple-address 1193 | +--:(instance-id) 1194 | | +--ro instance-id 1195 | | +--ro iid? instance-id-type 1196 | | +--ro mask-length? uint8 1197 | | +--ro address? simple-address 1198 | +--:(as-number-lcaf) 1199 | | +--ro as-number-lcaf 1200 | | +--ro as? inet:as-number 1201 | | +--ro address? simple-address 1202 | +--:(application-data) 1203 | | +--ro application-data 1204 | | +--ro address? simple-address 1205 | | +--ro protocol? uint8 1206 | | +--ro ip-tos? int32 1207 | | +--ro local-port-low? inet:port-number 1208 | | +--ro local-port-high? inet:port-number 1209 | | +--ro remote-port-low? inet:port-number 1210 | | +--ro remote-port-high? inet:port-number 1211 | +--:(geo-coordinates) 1212 | | +--ro geo-coordinates 1213 | | +--ro latitude? bits 1214 | | +--ro latitude-degrees? uint8 1215 | | +--ro latitude-minutes? uint8 1216 | | +--ro latitude-seconds? uint8 1217 | | +--ro longitude? bits 1218 | | +--ro longitude-degrees? uint16 1219 | | +--ro longitude-minutes? uint8 1220 | | +--ro longitude-seconds? uint8 1221 | | +--ro altitude? int32 1222 | | +--ro address? simple-address 1223 | +--:(nat-traversal) 1224 | | +--ro nat-traversal 1225 | | +--ro ms-udp-port? uint16 1226 | | +--ro etr-udp-port? uint16 1227 | | +--ro global-etr-rloc? simple-address 1228 | | +--ro ms-rloc? simple-address 1229 | | +--ro private-etr-rloc? simple-address 1230 | | +--ro rtr-rlocs* simple-address 1231 | +--:(explicit-locator-path) 1232 | | +--ro explicit-locator-path 1233 | | +--ro hop* [hop-id] 1234 | | +--ro hop-id string 1235 | | +--ro address? simple-address 1236 | | +--ro lrs-bits? bits 1237 | +--:(source-dest-key) 1238 | | +--ro source-dest-key 1239 | | +--ro source? simple-address 1240 | | +--ro dest? simple-address 1241 | +--:(key-value-address) 1242 | | +--ro key-value-address 1243 | | +--ro key? simple-address 1244 | | +--ro value? simple-address 1245 | +--:(service-path) 1246 | +--ro service-path 1247 | +--ro service-path-id? service-path-id-type 1248 | +--ro service-index? uint8 1249 +--ro priority? uint8 1250 +--ro weight? uint8 1251 +--ro multicast-priority? uint8 1252 +--ro multicast-weight? uint8 1254 3.2. Module Definition 1256 file "ietf-lisp-itr@2016-06-30.yang" 1257 module ietf-lisp-itr { 1258 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-itr"; 1259 prefix lisp-itr; 1260 import ietf-lisp { 1261 prefix lisp; 1262 } 1263 import ietf-lisp-address-types { 1264 prefix lcaf; 1265 } 1266 import ietf-inet-types { 1267 prefix inet; 1268 } 1269 organization 1270 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 1271 contact 1272 "lisp@ietf.org"; 1273 description 1274 "This YANG module defines the generic configuration 1275 data for a LISP ITR. The module can be extended by vendors 1276 to define vendor-specific configuration parameters and 1277 policies. 1279 Copyright (c) 2015 IETF Trust and the persons identified as 1280 authors of the code. All rights reserved. 1282 Redistribution and use in source and binary forms, with or 1283 without modification, is permitted pursuant to, and subject 1284 to the license terms contained in, the Simplified BSD License 1285 set forth in Section 4.c of the IETF Trust's Legal Provisions 1286 Relating to IETF Documents 1287 (http://trustee.ietf.org/license-info). 1289 This version of this YANG module is part of RFC 6338; see 1290 the RFC itself for full legal notices. 1291 "; 1292 revision 2016-06-30 { 1293 description 1294 "Initial revision."; 1295 reference 1296 "https://tools.ietf.org/html/rfc6830"; 1297 } 1298 identity itr { 1299 base lisp:lisp-role; 1300 description 1301 "LISP ITR."; 1302 } 1303 augment "/lisp:lisp/lisp:lisp-router-instances/" 1304 + "lisp:lisp-router-instance/lisp:lisp-role" { 1305 when "lisp:lisp-role-type = 'lisp-itr:itr'" { 1306 description 1307 "Augment is valid when LISP role type is ITR."; 1308 } 1309 description 1310 "This augments LISP devices list with ITR specific 1311 parameters."; 1312 container itr-cfg { 1313 presence "LISP ITR operation enabled"; 1314 description 1315 "ITR configuration"; 1316 container rloc-probing { 1317 presence "RLOC probing active"; 1318 description 1319 "RLOC-probing parameters"; 1320 leaf interval { 1321 type uint16; 1322 units "seconds"; 1323 description 1324 "Interval in seconds"; 1325 } 1326 leaf retries { 1327 type uint8; 1328 description 1329 "Number of retries"; 1330 } 1331 leaf retries-interval { 1332 type uint16; 1333 units "seconds"; 1334 description 1335 "Interval in seconds between retries"; 1336 } 1337 } 1338 leaf itr-rlocs { 1339 type leafref { 1340 path "/lisp:lisp/lisp:locator-sets/lisp:locator-set/" 1341 + "lisp:locator-set-name"; 1343 } 1344 description 1345 "Refrence to a locator set that the ITR includes in 1346 Map-Requests"; 1347 } 1348 container map-resolvers { 1349 description 1350 "The Map-Resolvers configured for the ITR."; 1351 list map-resolver { 1352 key "id"; 1353 min-elements 1; 1354 description 1355 "List of Map-Resolvers configured for the ITR."; 1356 leaf id { 1357 type lisp:eid-id; 1358 description 1359 "Id of the EID for which the Map-Server is 1360 configured."; 1361 } 1362 container eid-address { 1363 uses lcaf:lisp-address; 1364 description 1365 "EID for which the Map-Resolver is configured."; 1366 } 1367 leaf-list map-resolver-address { 1368 type inet:ip-address; 1369 description 1370 "Map-Resolver RLOC address."; 1371 } 1372 } 1373 } 1374 container proxy-etrs { 1375 description 1376 "Proxy ETRs configured for the ITR."; 1377 list proxy-etr { 1378 key "id"; 1379 description 1380 "List of PETR configured for the ITR."; 1381 leaf id { 1382 type lisp:eid-id; 1383 description 1384 "Id of the EID for which the PETR is configured."; 1385 } 1386 container eid-address { 1387 uses lcaf:lisp-address; 1388 description 1389 "EID for which the PETR is configured."; 1390 } 1391 leaf-list proxy-etr-address{ 1392 type inet:ip-address; 1393 description 1394 "PETR RLOC address."; 1395 } 1396 } 1397 } 1398 container map-cache{ 1399 uses lisp:mappings; 1400 description 1401 "EID to RLOCs mappings cache."; 1402 } 1403 uses lisp:servicing-eids-grouping; 1405 } 1406 } 1407 augment "/lisp:lisp-state/lisp:lisp-router-instances/" 1408 + "lisp:lisp-router-instance/lisp:lisp-role" { 1409 when "lisp:lisp-role-type = 'lisp-itr:itr'" { 1410 description 1411 "Augment is valid when LISP role type is ITR."; 1412 } 1413 description 1414 "This augments LISP devices list state with ITR specific 1415 parameters."; 1416 container itr-state { 1417 config false; 1418 description 1419 "ITR state."; 1420 container map-cache{ 1421 uses lisp:mappings; 1422 description 1423 "EID to RLOCs mappings cache."; 1424 } 1425 } 1426 } 1427 } 1428 1430 4. LISP ETR Module 1432 This module captures the configuration data model of a LISP ETR. The 1433 model also captures some operational data elements. 1435 4.1. Module Structure 1437 module: ietf-lisp-etr 1438 augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: 1439 +--rw etr-cfg! 1440 +--rw local-eids 1441 +--rw local-eid* [id] 1442 +--rw id lisp:eid-id 1443 +--rw eid-address 1444 | +--rw address-type lisp-address-family-ref 1445 | +--rw virtual-network-id? instance-id-type 1446 | +--rw (address)? 1447 | +--:(no-address) 1448 | | +--rw no-address? empty 1449 | +--:(ipv4) 1450 | | +--rw ipv4? inet:ipv4-address 1451 | +--:(ipv4-prefix) 1452 | | +--rw ipv4-prefix? inet:ipv4-prefix 1453 | +--:(ipv6) 1454 | | +--rw ipv6? inet:ipv6-address 1455 | +--:(ipv6-prefix) 1456 | | +--rw ipv6-prefix? inet:ipv6-prefix 1457 | +--:(mac) 1458 | | +--rw mac? yang:mac-address 1459 | +--:(distinguished-name) 1460 | | +--rw distinguished-name? distinguished-name-type 1461 | +--:(as-number) 1462 | | +--rw as-number? inet:as-number 1463 | +--:(null-address) 1464 | | +--rw null-address 1465 | | +--rw address? empty 1466 | +--:(afi-list) 1467 | | +--rw afi-list 1468 | | +--rw address-list* simple-address 1469 | +--:(instance-id) 1470 | | +--rw instance-id 1471 | | +--rw iid? instance-id-type 1472 | | +--rw mask-length? uint8 1473 | | +--rw address? simple-address 1474 | +--:(as-number-lcaf) 1475 | | +--rw as-number-lcaf 1476 | | +--rw as? inet:as-number 1477 | | +--rw address? simple-address 1478 | +--:(application-data) 1479 | | +--rw application-data 1480 | | +--rw address? simple-address 1481 | | +--rw protocol? uint8 1482 | | +--rw ip-tos? int32 1483 | | +--rw local-port-low? inet:port-number 1484 | | +--rw local-port-high? inet:port-number 1485 | | +--rw remote-port-low? inet:port-number 1486 | | +--rw remote-port-high? inet:port-number 1487 | +--:(geo-coordinates) 1488 | | +--rw geo-coordinates 1489 | | +--rw latitude? bits 1490 | | +--rw latitude-degrees? uint8 1491 | | +--rw latitude-minutes? uint8 1492 | | +--rw latitude-seconds? uint8 1493 | | +--rw longitude? bits 1494 | | +--rw longitude-degrees? uint16 1495 | | +--rw longitude-minutes? uint8 1496 | | +--rw longitude-seconds? uint8 1497 | | +--rw altitude? int32 1498 | | +--rw address? simple-address 1499 | +--:(nat-traversal) 1500 | | +--rw nat-traversal 1501 | | +--rw ms-udp-port? uint16 1502 | | +--rw etr-udp-port? uint16 1503 | | +--rw global-etr-rloc? simple-address 1504 | | +--rw ms-rloc? simple-address 1505 | | +--rw private-etr-rloc? simple-address 1506 | | +--rw rtr-rlocs* simple-address 1507 | +--:(explicit-locator-path) 1508 | | +--rw explicit-locator-path 1509 | | +--rw hop* [hop-id] 1510 | | +--rw hop-id string 1511 | | +--rw address? simple-address 1512 | | +--rw lrs-bits? bits 1513 | +--:(source-dest-key) 1514 | | +--rw source-dest-key 1515 | | +--rw source? simple-address 1516 | | +--rw dest? simple-address 1517 | +--:(key-value-address) 1518 | | +--rw key-value-address 1519 | | +--rw key? simple-address 1520 | | +--rw value? simple-address 1521 | +--:(service-path) 1522 | +--rw service-path 1523 | +--rw service-path-id? service-path-id-type 1524 | +--rw service-index? uint8 1525 +--rw map-servers 1526 | +--rw map-server* [address] 1527 | +--rw address inet:ip-address 1528 | +--rw auth-key? string 1529 | +--rw auth-key-type? lisp:auth-key-type 1530 +--rw rlocs? -> /lisp:lisp/locator-sets/locator-set/locator-set-name 1531 +--rw record-ttl? uint32 1532 +--rw want-map-notify? boolean 1533 +--rw proxy-reply? boolean 1534 +--rw registration-interval? uint16 1536 4.2. Module Definition 1538 file "ietf-lisp-etr@2016-06-30.yang" 1539 module ietf-lisp-etr { 1540 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-etr"; 1541 prefix lisp-etr; 1542 import ietf-lisp { 1543 prefix lisp; 1544 } 1545 import ietf-lisp-address-types { 1546 prefix lcaf; 1547 } 1548 import ietf-inet-types { 1549 prefix inet; 1550 } 1551 organization 1552 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 1553 contact 1554 "lisp@ietf.org"; 1555 description 1556 "This YANG module defines the generic configuration 1557 data for a LISP ETR. The module can be extended by vendors 1558 to define vendor-specific configuration parameters and 1559 policies. 1561 Copyright (c) 2015 IETF Trust and the persons identified as 1562 authors of the code. All rights reserved. 1564 Redistribution and use in source and binary forms, with or 1565 without modification, is permitted pursuant to, and subject 1566 to the license terms contained in, the Simplified BSD License 1567 set forth in Section 4.c of the IETF Trust's Legal Provisions 1568 Relating to IETF Documents 1569 (http://trustee.ietf.org/license-info). 1571 This version of this YANG module is part of RFC 6338; see 1572 the RFC itself for full legal notices. 1573 "; 1574 revision 2016-06-30 { 1575 description 1576 "Initial revision."; 1577 reference 1578 "https://tools.ietf.org/html/rfc6830"; 1580 } 1581 identity etr { 1582 base lisp:lisp-role; 1583 description 1584 "LISP ETR."; 1585 } 1586 augment "/lisp:lisp/lisp:lisp-router-instances/" 1587 + "lisp:lisp-router-instance/lisp:lisp-role" { 1588 when "lisp:lisp-role-type = 'lisp-etr:etr'" { 1589 description 1590 "Augment is valid when LISP device type is ETR."; 1591 } 1592 description 1593 "This augments LISP devices list with ETR specific 1594 parameters."; 1595 container etr-cfg { 1596 presence "LISP ETR operation enabled"; 1597 description 1598 "ETR configuration parameters."; 1599 container local-eids { 1600 description 1601 "EIDs served by the ETR."; 1602 list local-eid { 1603 key "id"; 1604 min-elements 1; 1605 description 1606 "List of local EIDs."; 1607 leaf id { 1608 type lisp:eid-id; 1609 description 1610 "Unique id of local EID."; 1611 } 1612 container eid-address { 1613 uses lcaf:lisp-address; 1614 description 1615 "EID address in generic LISP address format."; 1616 } 1617 container map-servers { 1618 description 1619 "Map-Servers configured for the ETR."; 1620 list map-server { 1621 key "address"; 1622 description 1623 "List of Map-Servers configured for the ETR."; 1624 leaf address { 1625 type inet:ip-address; 1626 description 1627 "Map-Server address."; 1629 } 1630 leaf auth-key { 1631 type string; 1632 description 1633 "Map-Server authentication key."; 1634 } 1635 leaf auth-key-type { 1636 type lisp:auth-key-type; 1637 description 1638 "Map-Server authentication type."; 1639 } 1640 } 1641 } 1642 leaf rlocs { 1643 type leafref { 1644 path "/lisp:lisp/lisp:locator-sets/lisp:locator-set/" 1645 + "lisp:locator-set-name"; 1646 } 1647 description 1648 "Locator set mapped to this local EID."; 1649 } 1650 leaf record-ttl { 1651 type uint32; 1652 description 1653 "Validity period of the EID to RLOCs mapping provided 1654 in Map-Replies."; 1655 } 1656 leaf want-map-notify { 1657 type boolean; 1658 default "true"; 1659 description 1660 "Flag which if set in a Map-Register requests that a 1661 Map-Notify be sent in response."; 1662 } 1663 leaf proxy-reply { 1664 type boolean; 1665 default "false"; 1666 description 1667 "Flag which if set in a Map-Register requests that the 1668 Map-Server proxy Map-Replies for the ETR."; 1669 } 1670 leaf registration-interval { 1671 type uint16; 1672 units "seconds"; 1673 default "60"; 1674 description 1675 "Interval between consecutive Map-Register messages."; 1676 } 1678 } 1679 } 1680 }//etr-cfg 1681 }//augment 1682 }// lisp-etr 1683 1685 5. LISP Map Server Module 1687 This module captures the configuration data model of a LISP Map 1688 Server [RFC6833]. The model also captures some operational data 1689 elements. 1691 5.1. Module Structure 1693 module: ietf-lisp-mapserver 1694 augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: 1695 +--rw map-server-cfg 1696 +--rw sites 1697 | +--rw site* [site-id] 1698 | +--rw site-id uint64 1699 | +--rw auth-key 1700 | | +--rw auth-key-value? string 1701 | | +--rw auth-key-type? lisp:auth-key-type 1702 | +--rw eids 1703 | +--rw eid* [id] 1704 | +--rw id lisp:eid-id 1705 | +--rw eid-address 1706 | | +--rw address-type lisp-address-family-ref 1707 | | +--rw virtual-network-id? instance-id-type 1708 | | +--rw (address)? 1709 | | +--:(no-address) 1710 | | | +--rw no-address? empty 1711 | | +--:(ipv4) 1712 | | | +--rw ipv4? inet:ipv4-address 1713 | | +--:(ipv4-prefix) 1714 | | | +--rw ipv4-prefix? inet:ipv4-prefix 1715 | | +--:(ipv6) 1716 | | | +--rw ipv6? inet:ipv6-address 1717 | | +--:(ipv6-prefix) 1718 | | | +--rw ipv6-prefix? inet:ipv6-prefix 1719 | | +--:(mac) 1720 | | | +--rw mac? yang:mac-address 1721 | | +--:(distinguished-name) 1722 | | | +--rw distinguished-name? distinguished-name-type 1723 | | +--:(as-number) 1724 | | | +--rw as-number? inet:as-number 1725 | | +--:(null-address) 1726 | | | +--rw null-address 1727 | | | +--rw address? empty 1728 | | +--:(afi-list) 1729 | | | +--rw afi-list 1730 | | | +--rw address-list* simple-address 1731 | | +--:(instance-id) 1732 | | | +--rw instance-id 1733 | | | +--rw iid? instance-id-type 1734 | | | +--rw mask-length? uint8 1735 | | | +--rw address? simple-address 1736 | | +--:(as-number-lcaf) 1737 | | | +--rw as-number-lcaf 1738 | | | +--rw as? inet:as-number 1739 | | | +--rw address? simple-address 1740 | | +--:(application-data) 1741 | | | +--rw application-data 1742 | | | +--rw address? simple-address 1743 | | | +--rw protocol? uint8 1744 | | | +--rw ip-tos? int32 1745 | | | +--rw local-port-low? inet:port-number 1746 | | | +--rw local-port-high? inet:port-number 1747 | | | +--rw remote-port-low? inet:port-number 1748 | | | +--rw remote-port-high? inet:port-number 1749 | | +--:(geo-coordinates) 1750 | | | +--rw geo-coordinates 1751 | | | +--rw latitude? bits 1752 | | | +--rw latitude-degrees? uint8 1753 | | | +--rw latitude-minutes? uint8 1754 | | | +--rw latitude-seconds? uint8 1755 | | | +--rw longitude? bits 1756 | | | +--rw longitude-degrees? uint16 1757 | | | +--rw longitude-minutes? uint8 1758 | | | +--rw longitude-seconds? uint8 1759 | | | +--rw altitude? int32 1760 | | | +--rw address? simple-address 1761 | | +--:(nat-traversal) 1762 | | | +--rw nat-traversal 1763 | | | +--rw ms-udp-port? uint16 1764 | | | +--rw etr-udp-port? uint16 1765 | | | +--rw global-etr-rloc? simple-address 1766 | | | +--rw ms-rloc? simple-address 1767 | | | +--rw private-etr-rloc? simple-address 1768 | | | +--rw rtr-rlocs* simple-address 1769 | | +--:(explicit-locator-path) 1770 | | | +--rw explicit-locator-path 1771 | | | +--rw hop* [hop-id] 1772 | | | +--rw hop-id string 1773 | | | +--rw address? simple-address 1774 | | | +--rw lrs-bits? bits 1775 | | +--:(source-dest-key) 1776 | | | +--rw source-dest-key 1777 | | | +--rw source? simple-address 1778 | | | +--rw dest? simple-address 1779 | | +--:(key-value-address) 1780 | | | +--rw key-value-address 1781 | | | +--rw key? simple-address 1782 | | | +--rw value? simple-address 1783 | | +--:(service-path) 1784 | | +--rw service-path 1785 | | +--rw service-path-id? service-path-id-type 1786 | | +--rw service-index? uint8 1787 | +--rw more-specifics-accepted? boolean 1788 | +--rw mapping-expiration-timeout? int16 1789 +--rw mapping-system-type? lisp:mapping-system-ref 1790 augment /lisp:lisp-state/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: 1791 +--ro ms-state 1792 +--ro registered-mappings 1793 +--ro mapping* [id] 1794 +--ro id eid-id 1795 +--ro eid 1796 | +--ro address-type lisp-address-family-ref 1797 | +--ro virtual-network-id? instance-id-type 1798 | +--ro (address)? 1799 | +--:(no-address) 1800 | | +--ro no-address? empty 1801 | +--:(ipv4) 1802 | | +--ro ipv4? inet:ipv4-address 1803 | +--:(ipv4-prefix) 1804 | | +--ro ipv4-prefix? inet:ipv4-prefix 1805 | +--:(ipv6) 1806 | | +--ro ipv6? inet:ipv6-address 1807 | +--:(ipv6-prefix) 1808 | | +--ro ipv6-prefix? inet:ipv6-prefix 1809 | +--:(mac) 1810 | | +--ro mac? yang:mac-address 1811 | +--:(distinguished-name) 1812 | | +--ro distinguished-name? distinguished-name-type 1813 | +--:(as-number) 1814 | | +--ro as-number? inet:as-number 1815 | +--:(null-address) 1816 | | +--ro null-address 1817 | | +--ro address? empty 1818 | +--:(afi-list) 1819 | | +--ro afi-list 1820 | | +--ro address-list* simple-address 1821 | +--:(instance-id) 1822 | | +--ro instance-id 1823 | | +--ro iid? instance-id-type 1824 | | +--ro mask-length? uint8 1825 | | +--ro address? simple-address 1826 | +--:(as-number-lcaf) 1827 | | +--ro as-number-lcaf 1828 | | +--ro as? inet:as-number 1829 | | +--ro address? simple-address 1830 | +--:(application-data) 1831 | | +--ro application-data 1832 | | +--ro address? simple-address 1833 | | +--ro protocol? uint8 1834 | | +--ro ip-tos? int32 1835 | | +--ro local-port-low? inet:port-number 1836 | | +--ro local-port-high? inet:port-number 1837 | | +--ro remote-port-low? inet:port-number 1838 | | +--ro remote-port-high? inet:port-number 1839 | +--:(geo-coordinates) 1840 | | +--ro geo-coordinates 1841 | | +--ro latitude? bits 1842 | | +--ro latitude-degrees? uint8 1843 | | +--ro latitude-minutes? uint8 1844 | | +--ro latitude-seconds? uint8 1845 | | +--ro longitude? bits 1846 | | +--ro longitude-degrees? uint16 1847 | | +--ro longitude-minutes? uint8 1848 | | +--ro longitude-seconds? uint8 1849 | | +--ro altitude? int32 1850 | | +--ro address? simple-address 1851 | +--:(nat-traversal) 1852 | | +--ro nat-traversal 1853 | | +--ro ms-udp-port? uint16 1854 | | +--ro etr-udp-port? uint16 1855 | | +--ro global-etr-rloc? simple-address 1856 | | +--ro ms-rloc? simple-address 1857 | | +--ro private-etr-rloc? simple-address 1858 | | +--ro rtr-rlocs* simple-address 1859 | +--:(explicit-locator-path) 1860 | | +--ro explicit-locator-path 1861 | | +--ro hop* [hop-id] 1862 | | +--ro hop-id string 1863 | | +--ro address? simple-address 1864 | | +--ro lrs-bits? bits 1865 | +--:(source-dest-key) 1866 | | +--ro source-dest-key 1867 | | +--ro source? simple-address 1868 | | +--ro dest? simple-address 1869 | +--:(key-value-address) 1870 | | +--ro key-value-address 1871 | | +--ro key? simple-address 1872 | | +--ro value? simple-address 1873 | +--:(service-path) 1874 | +--ro service-path 1875 | +--ro service-path-id? service-path-id-type 1876 | +--ro service-index? uint8 1877 +--ro ttl? uint32 1878 +--ro authoritative? bits 1879 +--ro static? boolean 1880 +--ro (locator-list)? 1881 +--:(negative-mapping) 1882 | +--ro map-reply-action? map-reply-action 1883 +--:(positive-mapping) 1884 +--ro rlocs 1885 +--ro locator* [id] 1886 +--ro id string 1887 +--ro locator-address 1888 | +--ro address-type lisp-address-family-ref 1889 | +--ro virtual-network-id? instance-id-type 1890 | +--ro (address)? 1891 | +--:(no-address) 1892 | | +--ro no-address? empty 1893 | +--:(ipv4) 1894 | | +--ro ipv4? inet:ipv4-address 1895 | +--:(ipv4-prefix) 1896 | | +--ro ipv4-prefix? inet:ipv4-prefix 1897 | +--:(ipv6) 1898 | | +--ro ipv6? inet:ipv6-address 1899 | +--:(ipv6-prefix) 1900 | | +--ro ipv6-prefix? inet:ipv6-prefix 1901 | +--:(mac) 1902 | | +--ro mac? yang:mac-address 1903 | +--:(distinguished-name) 1904 | | +--ro distinguished-name? distinguished-name-type 1905 | +--:(as-number) 1906 | | +--ro as-number? inet:as-number 1907 | +--:(null-address) 1908 | | +--ro null-address 1909 | | +--ro address? empty 1910 | +--:(afi-list) 1911 | | +--ro afi-list 1912 | | +--ro address-list* simple-address 1913 | +--:(instance-id) 1914 | | +--ro instance-id 1915 | | +--ro iid? instance-id-type 1916 | | +--ro mask-length? uint8 1917 | | +--ro address? simple-address 1918 | +--:(as-number-lcaf) 1919 | | +--ro as-number-lcaf 1920 | | +--ro as? inet:as-number 1921 | | +--ro address? simple-address 1922 | +--:(application-data) 1923 | | +--ro application-data 1924 | | +--ro address? simple-address 1925 | | +--ro protocol? uint8 1926 | | +--ro ip-tos? int32 1927 | | +--ro local-port-low? inet:port-number 1928 | | +--ro local-port-high? inet:port-number 1929 | | +--ro remote-port-low? inet:port-number 1930 | | +--ro remote-port-high? inet:port-number 1931 | +--:(geo-coordinates) 1932 | | +--ro geo-coordinates 1933 | | +--ro latitude? bits 1934 | | +--ro latitude-degrees? uint8 1935 | | +--ro latitude-minutes? uint8 1936 | | +--ro latitude-seconds? uint8 1937 | | +--ro longitude? bits 1938 | | +--ro longitude-degrees? uint16 1939 | | +--ro longitude-minutes? uint8 1940 | | +--ro longitude-seconds? uint8 1941 | | +--ro altitude? int32 1942 | | +--ro address? simple-address 1943 | +--:(nat-traversal) 1944 | | +--ro nat-traversal 1945 | | +--ro ms-udp-port? uint16 1946 | | +--ro etr-udp-port? uint16 1947 | | +--ro global-etr-rloc? simple-address 1948 | | +--ro ms-rloc? simple-address 1949 | | +--ro private-etr-rloc? simple-address 1950 | | +--ro rtr-rlocs* simple-address 1951 | +--:(explicit-locator-path) 1952 | | +--ro explicit-locator-path 1953 | | +--ro hop* [hop-id] 1954 | | +--ro hop-id string 1955 | | +--ro address? simple-address 1956 | | +--ro lrs-bits? bits 1957 | +--:(source-dest-key) 1958 | | +--ro source-dest-key 1959 | | +--ro source? simple-address 1960 | | +--ro dest? simple-address 1961 | +--:(key-value-address) 1962 | | +--ro key-value-address 1963 | | +--ro key? simple-address 1964 | | +--ro value? simple-address 1965 | +--:(service-path) 1966 | +--ro service-path 1967 | +--ro service-path-id? service-path-id-type 1968 | +--ro service-index? uint8 1969 +--ro priority? uint8 1970 +--ro weight? uint8 1971 +--ro multicast-priority? uint8 1972 +--ro multicast-weight? uint8 1974 5.2. Module Definition 1976 file "ietf-lisp-mapserver@2016-06-30.yang" 1977 module ietf-lisp-mapserver { 1978 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver"; 1979 prefix lisp-ms; 1980 import ietf-lisp { 1981 prefix lisp; 1982 } 1983 import ietf-lisp-address-types { 1984 prefix lcaf; 1985 } 1986 organization 1987 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 1988 contact 1989 "lisp@ietf.org"; 1990 description 1991 "This YANG module defines the generic configuration 1992 data for a LISP Map-Server. The module can be extended by 1993 vendors to define vendor-specific configuration parameters 1994 and policies. 1996 Copyright (c) 2015 IETF Trust and the persons identified as 1997 authors of the code. All rights reserved. 1999 Redistribution and use in source and binary forms, with or 2000 without modification, is permitted pursuant to, and subject 2001 to the license terms contained in, the Simplified BSD License 2002 set forth in Section 4.c of the IETF Trust's Legal Provisions 2003 Relating to IETF Documents 2004 (http://trustee.ietf.org/license-info). 2006 This version of this YANG module is part of RFC 6338; see 2007 the RFC itself for full legal notices. 2008 "; 2010 revision 2016-06-30 { 2011 description 2012 "Initial revision."; 2013 reference 2014 "https://tools.ietf.org/html/rfc6833"; 2015 } 2017 identity ms { 2018 base lisp:lisp-role; 2019 description 2020 "LISP Map-Server."; 2021 } 2023 augment "/lisp:lisp/lisp:lisp-router-instances" 2024 + "/lisp:lisp-router-instance/lisp:lisp-role" { 2025 when "lisp:lisp-role-type = 'lisp-ms:ms'" { 2026 description 2027 "Augment is valid when LISP device type is Map-Server."; 2028 } 2029 description 2030 "This augments LISP devices list with Map-Server specific 2031 parameters."; 2032 container map-server-cfg { 2033 description 2034 "Map-Server configuration parameters."; 2035 container sites { 2036 description 2037 "Sites for which the Map-Server accepts registrations."; 2038 list site { 2039 key "site-id"; 2040 description 2041 "List of sites for which the Map-Server acceptes 2042 registrations."; 2043 leaf site-id { 2044 type uint64; 2045 description 2046 "Site identifier."; 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 auth-key-type { 2057 type lisp:auth-key-type; 2058 description 2059 "Authentication key type."; 2060 } 2061 } 2062 container eids { 2063 description 2064 "EIDs registered by device."; 2065 list eid { 2066 key "id"; 2067 description 2068 "List of EIDs registered by device."; 2069 leaf id { 2070 type lisp:eid-id; 2071 description 2072 "Id of the EID registered."; 2073 } 2074 container eid-address { 2075 uses lcaf:lisp-address; 2076 description 2077 "EID in generic LISP address format registered 2078 with the Map-Server."; 2079 } 2080 leaf more-specifics-accepted { 2081 type boolean; 2082 default "false"; 2083 description 2084 "Flag indicating if more specific prefixes 2085 can be registered."; 2086 } 2087 leaf mapping-expiration-timeout { 2088 type int16; 2089 units "seconds"; 2090 default "180"; //3 times the mapregister int 2091 description 2092 "Time before mapping is expired if no new 2093 registrations are received."; 2094 } 2095 // This model can be augmented to have below for per-eid auth-key 2096 // leaf auth-key { 2097 // description "clear text authentication key"; 2098 // type string; 2099 // } 2100 } 2101 } 2102 } 2103 } 2104 leaf mapping-system-type { 2105 type lisp:mapping-system-ref; 2106 description 2107 "A reference to the mapping system"; 2108 } 2109 } 2111 } 2113 augment "/lisp:lisp-state/lisp:lisp-router-instances" 2114 + "/lisp:lisp-router-instance/lisp:lisp-role" { 2115 when "lisp:lisp-role-type = 'lisp-ms:ms'" { 2116 description 2117 "Augment is valid when LISP device type is Map-Server."; 2118 } 2119 description 2120 "This augments LISP devices list state with Map-Server 2121 specific parameters."; 2122 container ms-state { 2123 config false; 2124 description 2125 "Map-Server state."; 2126 container registered-mappings { 2127 uses lisp:mappings; 2128 description 2129 "Datastore of registred mappings."; 2130 } 2131 } 2132 } 2133 } 2134 2136 6. LISP Map Resolver Module 2138 This module captures the configuration data model of a LISP Map 2139 Resolver [RFC6833]. The model also captures some operational data 2140 elements. 2142 6.1. Module Structure 2144 module: ietf-lisp-mapresolver 2145 augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: 2146 +--rw map-resolver-cfg 2147 +--rw mapping-system-type? lisp:mapping-system-ref 2148 +--rw ms-address? inet:ip-address 2150 6.2. Module Definition 2152 file "ietf-lisp-mapresolver@2016-06-30.yang" 2153 module ietf-lisp-mapresolver { 2154 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapresolver"; 2155 prefix lisp-mr; 2156 import ietf-lisp { 2157 prefix lisp; 2158 } 2159 import ietf-inet-types { 2160 prefix inet; 2161 } 2163 organization 2164 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 2165 contact 2166 "lisp@ietf.org"; 2167 description 2168 "This YANG module defines the generic configuration 2169 data for a LISP Map-Resolver. The module can be extended by 2170 vendors to define vendor-specific configuration parameters 2171 and policies. 2173 Copyright (c) 2015 IETF Trust and the persons identified as 2174 authors of the code. All rights reserved. 2176 Redistribution and use in source and binary forms, with or 2177 without modification, is permitted pursuant to, and subject 2178 to the license terms contained in, the Simplified BSD License 2179 set forth in Section 4.c of the IETF Trust's Legal Provisions 2180 Relating to IETF Documents 2181 (http://trustee.ietf.org/license-info). 2183 This version of this YANG module is part of RFC 6338; see 2184 the RFC itself for full legal notices. 2185 "; 2186 revision 2016-06-30 { 2187 description 2188 "Initial revision."; 2189 reference 2190 "https://tools.ietf.org/html/rfc6833"; 2191 } 2192 identity mr { 2193 base lisp:lisp-role; 2194 description 2195 "LISP Map-Resolver."; 2196 } 2197 augment "/lisp:lisp/lisp:lisp-router-instances" 2198 +"/lisp:lisp-router-instance/lisp:lisp-role" { 2199 when "lisp:lisp-role-type = 'lisp-mr:mr'" { 2200 description 2201 "Augment is valid when LISP device type is Map-Resolver."; 2202 } 2203 description 2204 "This augments LISP devices list with Map-Resolver specific 2205 parameters."; 2206 container map-resolver-cfg { 2207 description 2208 "Map-Resolver configuration parameters."; 2209 leaf mapping-system-type { 2210 type lisp:mapping-system-ref; 2211 description 2212 "A reference to the mapping system"; 2213 } 2214 leaf ms-address { 2215 when "../mapping-system-type = 'lisp-mr:single-node-mapping-system'"; 2217 type inet:ip-address; 2218 description 2219 "address to reach the Map Server when " 2220 + "lisp-mr:single-node-mapping-system is being used."; 2221 } 2222 }//map-resolver-cfg 2223 }//aug 2225 // TBD Operational model/container 2226 // container cached-mappings { 2227 // config false; 2228 // uses mappings; 2229 // } 2230 } 2231 2233 7. LISP Proxy ITR Module 2235 This module captures the configuration data model of a LISP Proxy ITR 2236 [RFC6832]. The model may also capture some operational data 2237 elements. 2239 7.1. Module Structure 2241 module: ietf-lisp-pitr 2242 augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: 2243 +--rw proxy-itr-cfg! 2244 +--rw servicing-eids 2245 | +--rw servicing-eid* [id] 2246 | +--rw id lisp:eid-id 2247 | +--rw eid-address 2248 | +--rw address-type lisp-address-family-ref 2249 | +--rw virtual-network-id? instance-id-type 2250 | +--rw (address)? 2251 | +--:(no-address) 2252 | | +--rw no-address? empty 2253 | +--:(ipv4) 2254 | | +--rw ipv4? inet:ipv4-address 2255 | +--:(ipv4-prefix) 2256 | | +--rw ipv4-prefix? inet:ipv4-prefix 2257 | +--:(ipv6) 2258 | | +--rw ipv6? inet:ipv6-address 2259 | +--:(ipv6-prefix) 2260 | | +--rw ipv6-prefix? inet:ipv6-prefix 2261 | +--:(mac) 2262 | | +--rw mac? yang:mac-address 2263 | +--:(distinguished-name) 2264 | | +--rw distinguished-name? distinguished-name-type 2265 | +--:(as-number) 2266 | | +--rw as-number? inet:as-number 2267 | +--:(null-address) 2268 | | +--rw null-address 2269 | | +--rw address? empty 2270 | +--:(afi-list) 2271 | | +--rw afi-list 2272 | | +--rw address-list* simple-address 2273 | +--:(instance-id) 2274 | | +--rw instance-id 2275 | | +--rw iid? instance-id-type 2276 | | +--rw mask-length? uint8 2277 | | +--rw address? simple-address 2278 | +--:(as-number-lcaf) 2279 | | +--rw as-number-lcaf 2280 | | +--rw as? inet:as-number 2281 | | +--rw address? simple-address 2282 | +--:(application-data) 2283 | | +--rw application-data 2284 | | +--rw address? simple-address 2285 | | +--rw protocol? uint8 2286 | | +--rw ip-tos? int32 2287 | | +--rw local-port-low? inet:port-number 2288 | | +--rw local-port-high? inet:port-number 2289 | | +--rw remote-port-low? inet:port-number 2290 | | +--rw remote-port-high? inet:port-number 2291 | +--:(geo-coordinates) 2292 | | +--rw geo-coordinates 2293 | | +--rw latitude? bits 2294 | | +--rw latitude-degrees? uint8 2295 | | +--rw latitude-minutes? uint8 2296 | | +--rw latitude-seconds? uint8 2297 | | +--rw longitude? bits 2298 | | +--rw longitude-degrees? uint16 2299 | | +--rw longitude-minutes? uint8 2300 | | +--rw longitude-seconds? uint8 2301 | | +--rw altitude? int32 2302 | | +--rw address? simple-address 2303 | +--:(nat-traversal) 2304 | | +--rw nat-traversal 2305 | | +--rw ms-udp-port? uint16 2306 | | +--rw etr-udp-port? uint16 2307 | | +--rw global-etr-rloc? simple-address 2308 | | +--rw ms-rloc? simple-address 2309 | | +--rw private-etr-rloc? simple-address 2310 | | +--rw rtr-rlocs* simple-address 2311 | +--:(explicit-locator-path) 2312 | | +--rw explicit-locator-path 2313 | | +--rw hop* [hop-id] 2314 | | +--rw hop-id string 2315 | | +--rw address? simple-address 2316 | | +--rw lrs-bits? bits 2317 | +--:(source-dest-key) 2318 | | +--rw source-dest-key 2319 | | +--rw source? simple-address 2320 | | +--rw dest? simple-address 2321 | +--:(key-value-address) 2322 | | +--rw key-value-address 2323 | | +--rw key? simple-address 2324 | | +--rw value? simple-address 2325 | +--:(service-path) 2326 | +--rw service-path 2327 | +--rw service-path-id? service-path-id-type 2328 | +--rw service-index? uint8 2329 +--rw map-resolvers 2330 | +--rw map-resolver* [id] 2331 | +--rw id lisp:eid-id 2332 | +--rw eid 2333 | | +--rw address-type lisp-address-family-ref 2334 | | +--rw virtual-network-id? instance-id-type 2335 | | +--rw (address)? 2336 | | +--:(no-address) 2337 | | | +--rw no-address? empty 2338 | | +--:(ipv4) 2339 | | | +--rw ipv4? inet:ipv4-address 2340 | | +--:(ipv4-prefix) 2341 | | | +--rw ipv4-prefix? inet:ipv4-prefix 2342 | | +--:(ipv6) 2343 | | | +--rw ipv6? inet:ipv6-address 2344 | | +--:(ipv6-prefix) 2345 | | | +--rw ipv6-prefix? inet:ipv6-prefix 2346 | | +--:(mac) 2347 | | | +--rw mac? yang:mac-address 2348 | | +--:(distinguished-name) 2349 | | | +--rw distinguished-name? distinguished-name-type 2350 | | +--:(as-number) 2351 | | | +--rw as-number? inet:as-number 2352 | | +--:(null-address) 2353 | | | +--rw null-address 2354 | | | +--rw address? empty 2355 | | +--:(afi-list) 2356 | | | +--rw afi-list 2357 | | | +--rw address-list* simple-address 2358 | | +--:(instance-id) 2359 | | | +--rw instance-id 2360 | | | +--rw iid? instance-id-type 2361 | | | +--rw mask-length? uint8 2362 | | | +--rw address? simple-address 2363 | | +--:(as-number-lcaf) 2364 | | | +--rw as-number-lcaf 2365 | | | +--rw as? inet:as-number 2366 | | | +--rw address? simple-address 2367 | | +--:(application-data) 2368 | | | +--rw application-data 2369 | | | +--rw address? simple-address 2370 | | | +--rw protocol? uint8 2371 | | | +--rw ip-tos? int32 2372 | | | +--rw local-port-low? inet:port-number 2373 | | | +--rw local-port-high? inet:port-number 2374 | | | +--rw remote-port-low? inet:port-number 2375 | | | +--rw remote-port-high? inet:port-number 2376 | | +--:(geo-coordinates) 2377 | | | +--rw geo-coordinates 2378 | | | +--rw latitude? bits 2379 | | | +--rw latitude-degrees? uint8 2380 | | | +--rw latitude-minutes? uint8 2381 | | | +--rw latitude-seconds? uint8 2382 | | | +--rw longitude? bits 2383 | | | +--rw longitude-degrees? uint16 2384 | | | +--rw longitude-minutes? uint8 2385 | | | +--rw longitude-seconds? uint8 2386 | | | +--rw altitude? int32 2387 | | | +--rw address? simple-address 2388 | | +--:(nat-traversal) 2389 | | | +--rw nat-traversal 2390 | | | +--rw ms-udp-port? uint16 2391 | | | +--rw etr-udp-port? uint16 2392 | | | +--rw global-etr-rloc? simple-address 2393 | | | +--rw ms-rloc? simple-address 2394 | | | +--rw private-etr-rloc? simple-address 2395 | | | +--rw rtr-rlocs* simple-address 2396 | | +--:(explicit-locator-path) 2397 | | | +--rw explicit-locator-path 2398 | | | +--rw hop* [hop-id] 2399 | | | +--rw hop-id string 2400 | | | +--rw address? simple-address 2401 | | | +--rw lrs-bits? bits 2402 | | +--:(source-dest-key) 2403 | | | +--rw source-dest-key 2404 | | | +--rw source? simple-address 2405 | | | +--rw dest? simple-address 2406 | | +--:(key-value-address) 2407 | | | +--rw key-value-address 2408 | | | +--rw key? simple-address 2409 | | | +--rw value? simple-address 2410 | | +--:(service-path) 2411 | | +--rw service-path 2412 | | +--rw service-path-id? service-path-id-type 2413 | | +--rw service-index? uint8 2414 | +--rw address* inet:ip-address 2415 +--rw itr-rlocs? -> /lisp:lisp/locator-sets/locator-set/locator-set-name 2416 +--rw map-cache 2417 +--rw mapping* [id] 2418 +--rw id eid-id 2419 +--rw eid 2420 | +--rw address-type lisp-address-family-ref 2421 | +--rw virtual-network-id? instance-id-type 2422 | +--rw (address)? 2423 | +--:(no-address) 2424 | | +--rw no-address? empty 2425 | +--:(ipv4) 2426 | | +--rw ipv4? inet:ipv4-address 2427 | +--:(ipv4-prefix) 2428 | | +--rw ipv4-prefix? inet:ipv4-prefix 2429 | +--:(ipv6) 2430 | | +--rw ipv6? inet:ipv6-address 2431 | +--:(ipv6-prefix) 2432 | | +--rw ipv6-prefix? inet:ipv6-prefix 2433 | +--:(mac) 2434 | | +--rw mac? yang:mac-address 2435 | +--:(distinguished-name) 2436 | | +--rw distinguished-name? distinguished-name-type 2437 | +--:(as-number) 2438 | | +--rw as-number? inet:as-number 2439 | +--:(null-address) 2440 | | +--rw null-address 2441 | | +--rw address? empty 2442 | +--:(afi-list) 2443 | | +--rw afi-list 2444 | | +--rw address-list* simple-address 2445 | +--:(instance-id) 2446 | | +--rw instance-id 2447 | | +--rw iid? instance-id-type 2448 | | +--rw mask-length? uint8 2449 | | +--rw address? simple-address 2450 | +--:(as-number-lcaf) 2451 | | +--rw as-number-lcaf 2452 | | +--rw as? inet:as-number 2453 | | +--rw address? simple-address 2454 | +--:(application-data) 2455 | | +--rw application-data 2456 | | +--rw address? simple-address 2457 | | +--rw protocol? uint8 2458 | | +--rw ip-tos? int32 2459 | | +--rw local-port-low? inet:port-number 2460 | | +--rw local-port-high? inet:port-number 2461 | | +--rw remote-port-low? inet:port-number 2462 | | +--rw remote-port-high? inet:port-number 2463 | +--:(geo-coordinates) 2464 | | +--rw geo-coordinates 2465 | | +--rw latitude? bits 2466 | | +--rw latitude-degrees? uint8 2467 | | +--rw latitude-minutes? uint8 2468 | | +--rw latitude-seconds? uint8 2469 | | +--rw longitude? bits 2470 | | +--rw longitude-degrees? uint16 2471 | | +--rw longitude-minutes? uint8 2472 | | +--rw longitude-seconds? uint8 2473 | | +--rw altitude? int32 2474 | | +--rw address? simple-address 2475 | +--:(nat-traversal) 2476 | | +--rw nat-traversal 2477 | | +--rw ms-udp-port? uint16 2478 | | +--rw etr-udp-port? uint16 2479 | | +--rw global-etr-rloc? simple-address 2480 | | +--rw ms-rloc? simple-address 2481 | | +--rw private-etr-rloc? simple-address 2482 | | +--rw rtr-rlocs* simple-address 2483 | +--:(explicit-locator-path) 2484 | | +--rw explicit-locator-path 2485 | | +--rw hop* [hop-id] 2486 | | +--rw hop-id string 2487 | | +--rw address? simple-address 2488 | | +--rw lrs-bits? bits 2489 | +--:(source-dest-key) 2490 | | +--rw source-dest-key 2491 | | +--rw source? simple-address 2492 | | +--rw dest? simple-address 2493 | +--:(key-value-address) 2494 | | +--rw key-value-address 2495 | | +--rw key? simple-address 2496 | | +--rw value? simple-address 2497 | +--:(service-path) 2498 | +--rw service-path 2499 | +--rw service-path-id? service-path-id-type 2500 | +--rw service-index? uint8 2501 +--rw ttl? uint32 2502 +--rw authoritative? bits 2503 +--rw static? boolean 2504 +--rw (locator-list)? 2505 +--:(negative-mapping) 2506 | +--rw map-reply-action? map-reply-action 2507 +--:(positive-mapping) 2508 +--rw rlocs 2509 +--rw locator* [id] 2510 +--rw id string 2511 +--rw locator-address 2512 | +--rw address-type lisp-address-family-ref 2513 | +--rw virtual-network-id? instance-id-type 2514 | +--rw (address)? 2515 | +--:(no-address) 2516 | | +--rw no-address? empty 2517 | +--:(ipv4) 2518 | | +--rw ipv4? inet:ipv4-address 2519 | +--:(ipv4-prefix) 2520 | | +--rw ipv4-prefix? inet:ipv4-prefix 2521 | +--:(ipv6) 2522 | | +--rw ipv6? inet:ipv6-address 2523 | +--:(ipv6-prefix) 2524 | | +--rw ipv6-prefix? inet:ipv6-prefix 2525 | +--:(mac) 2526 | | +--rw mac? yang:mac-address 2527 | +--:(distinguished-name) 2528 | | +--rw distinguished-name? distinguished-name-type 2529 | +--:(as-number) 2530 | | +--rw as-number? inet:as-number 2531 | +--:(null-address) 2532 | | +--rw null-address 2533 | | +--rw address? empty 2534 | +--:(afi-list) 2535 | | +--rw afi-list 2536 | | +--rw address-list* simple-address 2537 | +--:(instance-id) 2538 | | +--rw instance-id 2539 | | +--rw iid? instance-id-type 2540 | | +--rw mask-length? uint8 2541 | | +--rw address? simple-address 2542 | +--:(as-number-lcaf) 2543 | | +--rw as-number-lcaf 2544 | | +--rw as? inet:as-number 2545 | | +--rw address? simple-address 2546 | +--:(application-data) 2547 | | +--rw application-data 2548 | | +--rw address? simple-address 2549 | | +--rw protocol? uint8 2550 | | +--rw ip-tos? int32 2551 | | +--rw local-port-low? inet:port-number 2552 | | +--rw local-port-high? inet:port-number 2553 | | +--rw remote-port-low? inet:port-number 2554 | | +--rw remote-port-high? inet:port-number 2555 | +--:(geo-coordinates) 2556 | | +--rw geo-coordinates 2557 | | +--rw latitude? bits 2558 | | +--rw latitude-degrees? uint8 2559 | | +--rw latitude-minutes? uint8 2560 | | +--rw latitude-seconds? uint8 2561 | | +--rw longitude? bits 2562 | | +--rw longitude-degrees? uint16 2563 | | +--rw longitude-minutes? uint8 2564 | | +--rw longitude-seconds? uint8 2565 | | +--rw altitude? int32 2566 | | +--rw address? simple-address 2567 | +--:(nat-traversal) 2568 | | +--rw nat-traversal 2569 | | +--rw ms-udp-port? uint16 2570 | | +--rw etr-udp-port? uint16 2571 | | +--rw global-etr-rloc? simple-address 2572 | | +--rw ms-rloc? simple-address 2573 | | +--rw private-etr-rloc? simple-address 2574 | | +--rw rtr-rlocs* simple-address 2575 | +--:(explicit-locator-path) 2576 | | +--rw explicit-locator-path 2577 | | +--rw hop* [hop-id] 2578 | | +--rw hop-id string 2579 | | +--rw address? simple-address 2580 | | +--rw lrs-bits? bits 2581 | +--:(source-dest-key) 2582 | | +--rw source-dest-key 2583 | | +--rw source? simple-address 2584 | | +--rw dest? simple-address 2585 | +--:(key-value-address) 2586 | | +--rw key-value-address 2587 | | +--rw key? simple-address 2588 | | +--rw value? simple-address 2589 | +--:(service-path) 2590 | +--rw service-path 2591 | +--rw service-path-id? service-path-id-type 2592 | +--rw service-index? uint8 2593 +--rw priority? uint8 2594 +--rw weight? uint8 2595 +--rw multicast-priority? uint8 2596 +--rw multicast-weight? uint8 2597 augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: 2598 +--ro pitr-state 2599 +--ro map-cache 2600 +--ro mapping* [id] 2601 +--ro id eid-id 2602 +--ro eid 2603 | +--ro address-type lisp-address-family-ref 2604 | +--ro virtual-network-id? instance-id-type 2605 | +--ro (address)? 2606 | +--:(no-address) 2607 | | +--ro no-address? empty 2608 | +--:(ipv4) 2609 | | +--ro ipv4? inet:ipv4-address 2610 | +--:(ipv4-prefix) 2611 | | +--ro ipv4-prefix? inet:ipv4-prefix 2612 | +--:(ipv6) 2613 | | +--ro ipv6? inet:ipv6-address 2614 | +--:(ipv6-prefix) 2615 | | +--ro ipv6-prefix? inet:ipv6-prefix 2616 | +--:(mac) 2617 | | +--ro mac? yang:mac-address 2618 | +--:(distinguished-name) 2619 | | +--ro distinguished-name? distinguished-name-type 2620 | +--:(as-number) 2621 | | +--ro as-number? inet:as-number 2622 | +--:(null-address) 2623 | | +--ro null-address 2624 | | +--ro address? empty 2625 | +--:(afi-list) 2626 | | +--ro afi-list 2627 | | +--ro address-list* simple-address 2628 | +--:(instance-id) 2629 | | +--ro instance-id 2630 | | +--ro iid? instance-id-type 2631 | | +--ro mask-length? uint8 2632 | | +--ro address? simple-address 2633 | +--:(as-number-lcaf) 2634 | | +--ro as-number-lcaf 2635 | | +--ro as? inet:as-number 2636 | | +--ro address? simple-address 2637 | +--:(application-data) 2638 | | +--ro application-data 2639 | | +--ro address? simple-address 2640 | | +--ro protocol? uint8 2641 | | +--ro ip-tos? int32 2642 | | +--ro local-port-low? inet:port-number 2643 | | +--ro local-port-high? inet:port-number 2644 | | +--ro remote-port-low? inet:port-number 2645 | | +--ro remote-port-high? inet:port-number 2646 | +--:(geo-coordinates) 2647 | | +--ro geo-coordinates 2648 | | +--ro latitude? bits 2649 | | +--ro latitude-degrees? uint8 2650 | | +--ro latitude-minutes? uint8 2651 | | +--ro latitude-seconds? uint8 2652 | | +--ro longitude? bits 2653 | | +--ro longitude-degrees? uint16 2654 | | +--ro longitude-minutes? uint8 2655 | | +--ro longitude-seconds? uint8 2656 | | +--ro altitude? int32 2657 | | +--ro address? simple-address 2658 | +--:(nat-traversal) 2659 | | +--ro nat-traversal 2660 | | +--ro ms-udp-port? uint16 2661 | | +--ro etr-udp-port? uint16 2662 | | +--ro global-etr-rloc? simple-address 2663 | | +--ro ms-rloc? simple-address 2664 | | +--ro private-etr-rloc? simple-address 2665 | | +--ro rtr-rlocs* simple-address 2666 | +--:(explicit-locator-path) 2667 | | +--ro explicit-locator-path 2668 | | +--ro hop* [hop-id] 2669 | | +--ro hop-id string 2670 | | +--ro address? simple-address 2671 | | +--ro lrs-bits? bits 2672 | +--:(source-dest-key) 2673 | | +--ro source-dest-key 2674 | | +--ro source? simple-address 2675 | | +--ro dest? simple-address 2676 | +--:(key-value-address) 2677 | | +--ro key-value-address 2678 | | +--ro key? simple-address 2679 | | +--ro value? simple-address 2680 | +--:(service-path) 2681 | +--ro service-path 2682 | +--ro service-path-id? service-path-id-type 2683 | +--ro service-index? uint8 2684 +--ro ttl? uint32 2685 +--ro authoritative? bits 2686 +--ro static? boolean 2687 +--ro (locator-list)? 2688 +--:(negative-mapping) 2689 | +--ro map-reply-action? map-reply-action 2690 +--:(positive-mapping) 2691 +--ro rlocs 2692 +--ro locator* [id] 2693 +--ro id string 2694 +--ro locator-address 2695 | +--ro address-type lisp-address-family-ref 2696 | +--ro virtual-network-id? instance-id-type 2697 | +--ro (address)? 2698 | +--:(no-address) 2699 | | +--ro no-address? empty 2700 | +--:(ipv4) 2701 | | +--ro ipv4? inet:ipv4-address 2702 | +--:(ipv4-prefix) 2703 | | +--ro ipv4-prefix? inet:ipv4-prefix 2704 | +--:(ipv6) 2705 | | +--ro ipv6? inet:ipv6-address 2706 | +--:(ipv6-prefix) 2707 | | +--ro ipv6-prefix? inet:ipv6-prefix 2708 | +--:(mac) 2709 | | +--ro mac? yang:mac-address 2710 | +--:(distinguished-name) 2711 | | +--ro distinguished-name? distinguished-name-type 2712 | +--:(as-number) 2713 | | +--ro as-number? inet:as-number 2714 | +--:(null-address) 2715 | | +--ro null-address 2716 | | +--ro address? empty 2717 | +--:(afi-list) 2718 | | +--ro afi-list 2719 | | +--ro address-list* simple-address 2720 | +--:(instance-id) 2721 | | +--ro instance-id 2722 | | +--ro iid? instance-id-type 2723 | | +--ro mask-length? uint8 2724 | | +--ro address? simple-address 2725 | +--:(as-number-lcaf) 2726 | | +--ro as-number-lcaf 2727 | | +--ro as? inet:as-number 2728 | | +--ro address? simple-address 2729 | +--:(application-data) 2730 | | +--ro application-data 2731 | | +--ro address? simple-address 2732 | | +--ro protocol? uint8 2733 | | +--ro ip-tos? int32 2734 | | +--ro local-port-low? inet:port-number 2735 | | +--ro local-port-high? inet:port-number 2736 | | +--ro remote-port-low? inet:port-number 2737 | | +--ro remote-port-high? inet:port-number 2738 | +--:(geo-coordinates) 2739 | | +--ro geo-coordinates 2740 | | +--ro latitude? bits 2741 | | +--ro latitude-degrees? uint8 2742 | | +--ro latitude-minutes? uint8 2743 | | +--ro latitude-seconds? uint8 2744 | | +--ro longitude? bits 2745 | | +--ro longitude-degrees? uint16 2746 | | +--ro longitude-minutes? uint8 2747 | | +--ro longitude-seconds? uint8 2748 | | +--ro altitude? int32 2749 | | +--ro address? simple-address 2750 | +--:(nat-traversal) 2751 | | +--ro nat-traversal 2752 | | +--ro ms-udp-port? uint16 2753 | | +--ro etr-udp-port? uint16 2754 | | +--ro global-etr-rloc? simple-address 2755 | | +--ro ms-rloc? simple-address 2756 | | +--ro private-etr-rloc? simple-address 2757 | | +--ro rtr-rlocs* simple-address 2758 | +--:(explicit-locator-path) 2759 | | +--ro explicit-locator-path 2760 | | +--ro hop* [hop-id] 2761 | | +--ro hop-id string 2762 | | +--ro address? simple-address 2763 | | +--ro lrs-bits? bits 2764 | +--:(source-dest-key) 2765 | | +--ro source-dest-key 2766 | | +--ro source? simple-address 2767 | | +--ro dest? simple-address 2768 | +--:(key-value-address) 2769 | | +--ro key-value-address 2770 | | +--ro key? simple-address 2771 | | +--ro value? simple-address 2772 | +--:(service-path) 2773 | +--ro service-path 2774 | +--ro service-path-id? service-path-id-type 2775 | +--ro service-index? uint8 2776 +--ro priority? uint8 2777 +--ro weight? uint8 2778 +--ro multicast-priority? uint8 2779 +--ro multicast-weight? uint8 2781 7.2. Module Definition 2783 file "ietf-lisp-pitr@2016-06-30.yang" 2784 module ietf-lisp-pitr { 2785 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-pitr"; 2786 prefix lisp-pitr; 2787 import ietf-lisp { 2788 prefix lisp; 2789 } 2790 import ietf-lisp-address-types { 2791 prefix lcaf; 2792 } 2793 import ietf-inet-types { 2794 prefix inet; 2795 } 2796 organization 2797 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 2798 contact 2799 "lisp@ietf.org"; 2800 description 2801 "This YANG module defines the generic configuration 2802 data for a LISP PITR. The module can be extended by vendors 2803 to define vendor-specific configuration parameters and 2804 policies. 2806 Copyright (c) 2015 IETF Trust and the persons identified as 2807 authors of the code. All rights reserved. 2809 Redistribution and use in source and binary forms, with or 2810 without modification, is permitted pursuant to, and subject 2811 to the license terms contained in, the Simplified BSD License 2812 set forth in Section 4.c of the IETF Trust's Legal Provisions 2813 Relating to IETF Documents 2814 (http://trustee.ietf.org/license-info). 2816 This version of this YANG module is part of RFC 6338; see 2817 the RFC itself for full legal notices. 2818 "; 2819 revision 2016-06-30 { 2820 description 2821 "Initial revision."; 2822 reference 2823 "https://tools.ietf.org/html/rfc6832"; 2824 } 2825 identity pitr { 2826 base lisp:lisp-role; 2827 description 2828 "LISP PITR."; 2830 } 2831 augment "/lisp:lisp/lisp:lisp-router-instances" 2832 + "/lisp:lisp-router-instance/lisp:lisp-role" { 2833 when "lisp:lisp-role-type = 'lisp-pitr:pitr'" { 2834 description 2835 "Augment is valid when LISP device type is PITR."; 2836 } 2837 description 2838 "This augments LISP devices list with PITR specific 2839 parameters."; 2840 container proxy-itr-cfg { 2841 presence "LISP PITR operation enabled"; 2842 description 2843 "Proxy-ITR configuration parameters."; 2845 uses lisp:servicing-eids-grouping; 2847 container map-resolvers { 2848 description 2849 "Map-Resolvers configured for PITR."; 2850 list map-resolver { 2851 key "id"; 2852 description 2853 "List of Map-Resolvers configured for PITR."; 2854 leaf id { 2855 type lisp:eid-id; 2856 description 2857 "Id of EID for which the Map-Resolver is used."; 2858 } 2859 container eid { 2860 uses lcaf:lisp-address; 2861 description 2862 "EID for which the Map-Resolver is used."; 2863 } 2864 leaf-list address { 2865 type inet:ip-address; 2866 min-elements 1; 2867 description 2868 "List of Map-Resolver's addresses."; 2869 } 2870 } 2871 } 2872 leaf itr-rlocs { 2873 type leafref { 2874 path "/lisp:lisp/lisp:locator-sets/lisp:locator-set/" 2875 + "lisp:locator-set-name"; 2876 } 2877 description 2878 "Refrence to a locator set that the PITR includes in 2879 Map-Requests"; 2880 } 2881 container map-cache{ 2882 uses lisp:mappings; 2883 description 2884 "EID to RLOCs mappings cache."; 2885 } 2886 } 2887 } 2888 augment "/lisp:lisp/lisp:lisp-router-instances" 2889 + "/lisp:lisp-router-instance/lisp:lisp-role" { 2890 when "lisp:lisp-role-type = 'lisp-pitr:pitr'" { 2891 description 2892 "Augment is valid when LISP device type is PITR."; 2893 } 2894 description 2895 "This augments LISP devices list state with PITR specific 2896 parameters."; 2897 container pitr-state { 2898 config false; 2899 description 2900 "ITR state."; 2901 container map-cache { 2902 uses lisp:mappings; 2903 description 2904 "EID to RLOCs mappings cache."; 2905 } 2906 } 2907 } 2908 } 2909 2911 8. LISP Proxy ETR Module 2913 This module captures the configuration data model of a LISP Proxy ETR 2914 [RFC6832]. The model may also capture some operational data 2915 elements. 2917 8.1. Module Structure 2919 module: ietf-lisp-petr 2920 augment /lisp:lisp/lisp:lisp-router-instances/lisp:lisp-router-instance/lisp:lisp-role: 2921 +--rw proxy-etr-cfg! 2922 +--rw servicing-eids 2923 +--rw servicing-eid* [id] 2924 +--rw id lisp:eid-id 2925 +--rw eid-address 2926 +--rw address-type lisp-address-family-ref 2927 +--rw virtual-network-id? instance-id-type 2928 +--rw (address)? 2929 +--:(no-address) 2930 | +--rw no-address? empty 2931 +--:(ipv4) 2932 | +--rw ipv4? inet:ipv4-address 2933 +--:(ipv4-prefix) 2934 | +--rw ipv4-prefix? inet:ipv4-prefix 2935 +--:(ipv6) 2936 | +--rw ipv6? inet:ipv6-address 2937 +--:(ipv6-prefix) 2938 | +--rw ipv6-prefix? inet:ipv6-prefix 2939 +--:(mac) 2940 | +--rw mac? yang:mac-address 2941 +--:(distinguished-name) 2942 | +--rw distinguished-name? distinguished-name-type 2943 +--:(as-number) 2944 | +--rw as-number? inet:as-number 2945 +--:(null-address) 2946 | +--rw null-address 2947 | +--rw address? empty 2948 +--:(afi-list) 2949 | +--rw afi-list 2950 | +--rw address-list* simple-address 2951 +--:(instance-id) 2952 | +--rw instance-id 2953 | +--rw iid? instance-id-type 2954 | +--rw mask-length? uint8 2955 | +--rw address? simple-address 2956 +--:(as-number-lcaf) 2957 | +--rw as-number-lcaf 2958 | +--rw as? inet:as-number 2959 | +--rw address? simple-address 2960 +--:(application-data) 2961 | +--rw application-data 2962 | +--rw address? simple-address 2963 | +--rw protocol? uint8 2964 | +--rw ip-tos? int32 2965 | +--rw local-port-low? inet:port-number 2966 | +--rw local-port-high? inet:port-number 2967 | +--rw remote-port-low? inet:port-number 2968 | +--rw remote-port-high? inet:port-number 2969 +--:(geo-coordinates) 2970 | +--rw geo-coordinates 2971 | +--rw latitude? bits 2972 | +--rw latitude-degrees? uint8 2973 | +--rw latitude-minutes? uint8 2974 | +--rw latitude-seconds? uint8 2975 | +--rw longitude? bits 2976 | +--rw longitude-degrees? uint16 2977 | +--rw longitude-minutes? uint8 2978 | +--rw longitude-seconds? uint8 2979 | +--rw altitude? int32 2980 | +--rw address? simple-address 2981 +--:(nat-traversal) 2982 | +--rw nat-traversal 2983 | +--rw ms-udp-port? uint16 2984 | +--rw etr-udp-port? uint16 2985 | +--rw global-etr-rloc? simple-address 2986 | +--rw ms-rloc? simple-address 2987 | +--rw private-etr-rloc? simple-address 2988 | +--rw rtr-rlocs* simple-address 2989 +--:(explicit-locator-path) 2990 | +--rw explicit-locator-path 2991 | +--rw hop* [hop-id] 2992 | +--rw hop-id string 2993 | +--rw address? simple-address 2994 | +--rw lrs-bits? bits 2995 +--:(source-dest-key) 2996 | +--rw source-dest-key 2997 | +--rw source? simple-address 2998 | +--rw dest? simple-address 2999 +--:(key-value-address) 3000 | +--rw key-value-address 3001 | +--rw key? simple-address 3002 | +--rw value? simple-address 3003 +--:(service-path) 3004 +--rw service-path 3005 +--rw service-path-id? service-path-id-type 3006 +--rw service-index? uint8 3008 8.2. Module Definition 3010 file "ietf-lisp-petr@2016-06-30.yang" 3011 module ietf-lisp-petr { 3012 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-petr"; 3013 prefix lisp-petr; 3014 import ietf-lisp { 3015 prefix lisp; 3016 } 3017 organization 3018 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 3019 contact 3020 "lisp@ietf.org"; 3021 description 3022 "This YANG module defines the generic configuration 3023 data for a LISP PETR. The module can be extended by vendors to 3024 define vendor-specific configuration parameters and policies. 3026 Copyright (c) 2015 IETF Trust and the persons identified as 3027 authors of the code. All rights reserved. 3029 Redistribution and use in source and binary forms, with or 3030 without modification, is permitted pursuant to, and subject 3031 to the license terms contained in, the Simplified BSD License 3032 set forth in Section 4.c of the IETF Trust's Legal Provisions 3033 Relating to IETF Documents 3034 (http://trustee.ietf.org/license-info). 3036 This version of this YANG module is part of RFC 6338; see 3037 the RFC itself for full legal notices. 3038 "; 3039 revision 2016-06-30 { 3040 description 3041 "Initial revision."; 3042 reference 3043 "https://tools.ietf.org/html/rfc6832"; 3044 } 3045 identity petr { 3046 base lisp:lisp-role; 3047 description 3048 "LISP PETR."; 3049 } 3050 augment "/lisp:lisp/lisp:lisp-router-instances" 3051 + "/lisp:lisp-router-instance/lisp:lisp-role" { 3052 when "lisp:lisp-role-type = 'lisp-petr:petr'" { 3053 description 3054 "Augment is valid when LISP device type is PETR."; 3055 } 3056 description 3057 "This augments LISP devices list with PETR specific 3058 parameters."; 3059 container proxy-etr-cfg { 3060 presence "LISP PETR operation enabled"; 3061 description 3062 "Proxy ETR configuration parameters."; 3064 uses lisp:servicing-eids-grouping; 3065 }//proxy-etr-cfg 3066 } 3067 } 3068 3070 9. LISP Address Types 3072 This module captures the various LISP address types, and is an 3073 essential building block used in other LISP modules. 3075 9.1. Module Definition 3077 file "ietf-lisp-address-types@2015-11-05.yang" 3078 module ietf-lisp-address-types { 3079 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"; 3080 prefix laddr; 3081 import ietf-inet-types { 3082 prefix inet; 3083 revision-date 2013-07-15; 3084 } 3085 import ietf-yang-types { 3086 prefix yang; 3087 revision-date 2013-07-15; 3088 } 3089 organization 3090 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 3091 contact 3092 "lisp@ietf.org"; 3093 description 3094 "This YANG module defines the LISP Canonical Address Formats 3095 (LCAF) for LISP. The module can be extended by vendors to 3096 define vendor-specific parameters. 3098 Copyright (c) 2014 IETF Trust and the persons identified as 3099 authors of the code. All rights reserved. 3101 Redistribution and use in source and binary forms, with or 3102 without modification, is permitted pursuant to, and subject 3103 to the license terms contained in, the Simplified BSD License 3104 set forth in Section 4.c of the IETF Trust's Legal Provisions 3105 Relating to IETF Documents 3106 (http://trustee.ietf.org/license-info). 3108 This version of this YANG module is part of RFC 6338; see 3109 the RFC itself for full legal notices. 3111 "; 3112 revision 2015-11-05 { 3113 description 3114 "Initial revision."; 3115 reference 3116 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10"; 3117 } 3118 identity lisp-address-family { 3119 description 3120 "Base identity from which identities describing LISP address 3121 families are derived."; 3122 } 3123 identity no-address-afi { 3124 base lisp-address-family; 3125 description 3126 "IANA Reserved."; 3127 } 3128 identity ipv4-afi { 3129 base lisp-address-family; 3130 description 3131 "IANA IPv4 address family."; 3132 } 3133 identity ipv4-prefix-afi { 3134 base lisp-address-family; 3135 description 3136 "IANA IPv4 address family prefix."; 3137 } 3138 identity ipv6-afi { 3139 base lisp-address-family; 3140 description 3141 "IANA IPv6 address family."; 3142 } 3143 identity ipv6-prefix-afi { 3144 base lisp-address-family; 3145 description 3146 "IANA IPv6 address family prefix."; 3147 } 3148 identity mac-afi { 3149 base lisp-address-family; 3150 description 3151 "IANA MAC address family."; 3152 } 3153 identity distinguished-name-afi { 3154 base lisp-address-family; 3155 description 3156 "IANA Distinguished Name address family."; 3157 } 3158 identity as-number-afi { 3159 base lisp-address-family; 3160 description 3161 "IANA AS Number address family."; 3162 } 3163 identity lcaf { 3164 base lisp-address-family; 3165 description 3166 "IANA LISP Canonical Address Format address family."; 3167 } 3168 identity null-address-lcaf { 3169 base lcaf; 3170 description 3171 "Null body LCAF type."; 3172 } 3173 identity afi-list-lcaf { 3174 base lcaf; 3175 description 3176 "AFI-List LCAF type."; 3177 } 3178 identity instance-id-lcaf { 3179 base lcaf; 3180 description 3181 "Instance-ID LCAF type."; 3182 } 3183 identity as-number-lcaf { 3184 base lcaf; 3185 description 3186 "AS Number LCAF type."; 3187 } 3188 identity application-data-lcaf { 3189 base lcaf; 3190 description 3191 "Application Data LCAF type."; 3192 } 3193 identity geo-coordinates-lcaf { 3194 base lcaf; 3195 description 3196 "Geo-coordinates LCAF type."; 3197 } 3198 identity opaque-key-lcaf { 3199 base lcaf; 3200 description 3201 "Opaque Key LCAF type."; 3202 } 3203 identity nat-traversal-lcaf { 3204 base lcaf; 3205 description 3206 "NAT-Traversal LCAF type."; 3207 } 3208 identity nonce-locator-lcaf { 3209 base lcaf; 3210 description 3211 "Nonce-Locator LCAF type."; 3212 } 3213 identity multicast-info-lcaf { 3214 base lcaf; 3215 description 3216 "Multicast Info LCAF type."; 3217 } 3218 identity explicit-locator-path-lcaf { 3219 base lcaf; 3220 description 3221 "Explicit Locator Path LCAF type."; 3222 } 3223 identity security-key-lcaf { 3224 base lcaf; 3225 description 3226 "Security Key LCAF type."; 3227 } 3228 identity source-dest-key-lcaf { 3229 base lcaf; 3230 description 3231 "Source/Dest LCAF type."; 3232 } 3233 identity replication-list-lcaf { 3234 base lcaf; 3235 description 3236 "Replication-List LCAF type."; 3237 } 3238 identity json-data-model-lcaf { 3239 base lcaf; 3240 description 3241 "JSON Data Model LCAF type."; 3242 } 3243 identity key-value-address-lcaf { 3244 base lcaf; 3245 description 3246 "Key/Value Address LCAF type."; 3247 } 3248 identity encapsulation-format-lcaf { 3249 base lcaf; 3250 description 3251 "Encapsulation Format LCAF type."; 3252 } 3253 identity service-path-lcaf { 3254 base lcaf; 3255 description 3256 "Service Path LCAF type."; 3257 } 3258 typedef instance-id-type { 3259 type uint32 { 3260 range "0..16777215"; 3261 } 3262 description 3263 "Defines the range of values for an Instance ID."; 3264 } 3265 typedef service-path-id-type { 3266 type uint32 { 3267 range "0..16777215"; 3268 } 3269 description 3270 "Defines the range of values for a Service Path ID."; 3271 } 3272 typedef distinguished-name-type { 3273 type string; 3274 description 3275 "Distinguished Name address."; 3276 reference 3277 "http://www.iana.org/assignments/address-family-numbers/ 3278 address-family-numbers.xhtml"; 3279 } 3280 typedef simple-address { 3281 type union { 3282 type inet:ip-address; 3283 type inet:ip-prefix; 3284 type yang:mac-address; 3285 type distinguished-name-type; 3286 type inet:as-number; 3287 } 3288 description 3289 "Union of address types that can be part of LCAFs."; 3290 } 3292 typedef lisp-address-family-ref { 3293 type identityref { 3294 base lisp-address-family; 3295 } 3296 description 3297 "LISP address family reference."; 3298 } 3299 typedef lcaf-ref { 3300 type identityref { 3301 base lcaf; 3302 } 3303 description 3304 "LCAF types reference."; 3305 } 3307 grouping lisp-address { 3308 description 3309 "Generic LISP address."; 3311 leaf address-type { 3312 type lisp-address-family-ref; 3313 mandatory true; 3314 description 3315 "Type of the LISP address."; 3316 } 3317 leaf virtual-network-id { 3318 type instance-id-type; 3319 description 3320 "Virtual Network Identifier (instance-id) of the address."; 3321 } 3322 choice address { 3323 description 3324 "Various LISP address types, including IP, MAC, and LCAF."; 3326 leaf no-address { 3327 when "../address-type = 'laddr:no-addr-afi'" { 3328 description 3329 "When AFI is 0."; 3330 } 3331 type empty; 3332 description 3333 "No address."; 3334 } 3335 leaf ipv4 { 3336 when "../address-type = 'laddr:ipv4-afi'" { 3337 description 3338 "When AFI is IPv4."; 3339 } 3340 type inet:ipv4-address; 3341 description 3342 "IPv4 address."; 3343 } 3344 leaf ipv4-prefix { 3345 when "../address-type = 'laddr:ipv4-prefix-afi'" { 3346 description 3347 "When AFI is IPv4."; 3348 } 3349 type inet:ipv4-prefix; 3350 description 3351 "IPv4 prefix."; 3352 } 3353 leaf ipv6 { 3354 when "../address-type = 'laddr:ipv6-afi'" { 3355 description 3356 "When AFI is IPv6."; 3357 } 3358 type inet:ipv6-address; 3359 description 3360 "IPv6 address."; 3361 } 3362 leaf ipv6-prefix { 3363 when "../address-type = 'laddr:ipv6-prefix-afi'" { 3364 description 3365 "When AFI is IPv6."; 3366 } 3367 type inet:ipv6-prefix; 3368 description 3369 "IPv6 address."; 3370 } 3371 leaf mac { 3372 when "../address-type = 'laddr:mac-afi'" { 3373 description 3374 "When AFI is MAC."; 3375 } 3376 type yang:mac-address; 3377 description 3378 "MAC address."; 3379 } 3380 leaf distinguished-name { 3381 when "../address-type = 'laddr:distinguished-name-afi'" { 3382 description 3383 "When AFI is distinguished-name."; 3384 } 3385 type distinguished-name-type; 3386 description 3387 "Distinguished Name address."; 3388 } 3389 leaf as-number { 3390 when "../address-type = 'laddr:as-number-afi'" { 3391 description 3392 "When AFI is as-number."; 3393 } 3394 type inet:as-number; 3395 description 3396 "AS Number."; 3397 } 3398 container null-address { 3399 when "../address-type = 'laddr:null-address-lcaf'" { 3400 description 3401 "When LCAF type is null."; 3402 } 3403 description 3404 "Null body LCAF type"; 3405 leaf address { 3406 type empty; 3407 description 3408 "AFI address."; 3409 } 3410 } 3411 container afi-list { 3412 when "../address-type = 'laddr:afi-list-lcaf'" { 3413 description 3414 "When LCAF type is AFI-List."; 3415 } 3416 description 3417 "AFI-List LCAF type."; 3418 reference 3419 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3420 #section-4.16.1"; 3421 leaf-list address-list { 3422 type simple-address; 3423 description 3424 "List of AFI addresses."; 3425 } 3426 } 3427 container instance-id { 3428 when "../address-type = 'laddr:instance-id-lcaf'" { 3429 description 3430 "When LCAF type is Instance-ID"; 3431 } 3432 description 3433 "Instance ID LCAF type."; 3434 reference 3435 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3436 #section-4.2"; 3437 leaf iid { 3438 type instance-id-type; 3439 description 3440 "Instance ID value."; 3441 } 3442 leaf mask-length { 3443 type uint8; 3444 description 3445 "Mask length."; 3446 } 3447 leaf address { 3448 type simple-address; 3449 description 3450 "AFI address."; 3451 } 3452 } 3453 container as-number-lcaf { 3454 when "../address-type = 'laddr:as-number-lcaf'" { 3455 description 3456 "When LCAF type is AS-Number."; 3457 } 3458 description 3459 "AS Number LCAF type."; 3460 reference 3461 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3462 #section-4.3"; 3463 leaf as { 3464 type inet:as-number; 3465 description 3466 "AS number."; 3467 } 3468 leaf address { 3469 type simple-address; 3470 description 3471 "AFI address."; 3472 } 3473 } 3474 container application-data { 3475 when "../address-type = 'laddr:application-data-lcaf'" { 3476 description 3477 "When LCAF type is Application Data."; 3478 } 3479 description 3480 "Application Data LCAF type."; 3481 reference 3482 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3483 #section-4.4"; 3484 leaf address { 3485 type simple-address; 3486 description 3487 "AFI address."; 3488 } 3489 leaf protocol { 3490 type uint8; 3491 description 3492 "Protocol number."; 3493 } 3494 leaf ip-tos { 3495 type int32; 3496 description 3497 "Type of service field."; 3498 } 3499 leaf local-port-low { 3500 type inet:port-number; 3501 description 3502 "Low end of local port range."; 3504 } 3505 leaf local-port-high { 3506 type inet:port-number; 3507 description 3508 "High end of local port range."; 3509 } 3510 leaf remote-port-low { 3511 type inet:port-number; 3512 description 3513 "Low end of remote port range."; 3514 } 3515 leaf remote-port-high { 3516 type inet:port-number; 3517 description 3518 "High end of remote port range."; 3519 } 3520 } 3521 container geo-coordinates { 3522 when "../address-type = 'laddr:geo-coordinates-lcaf'" { 3523 description 3524 "When LCAF type is Geo-coordinates."; 3525 } 3526 description 3527 "Geo-coordinates LCAF type."; 3528 reference 3529 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3530 #section-4.5"; 3531 leaf latitude { 3532 type bits { 3533 bit N { 3534 description 3535 "Latitude bit."; 3536 } 3537 } 3538 description 3539 "Bit that selects between North and South latitude."; 3540 } 3541 leaf latitude-degrees { 3542 type uint8 { 3543 range "0 .. 90"; 3544 } 3545 description 3546 "Degrees of latitude."; 3547 } 3548 leaf latitude-minutes { 3549 type uint8 { 3550 range "0..59"; 3551 } 3552 description 3553 "Minutes of latitude."; 3554 } 3555 leaf latitude-seconds { 3556 type uint8 { 3557 range "0..59"; 3558 } 3559 description 3560 "Seconds of latitude."; 3561 } 3562 leaf longitude { 3563 type bits { 3564 bit E { 3565 description 3566 "Longitude bit."; 3567 } 3568 } 3569 description 3570 "Bit that selects between East and West longitude."; 3571 } 3572 leaf longitude-degrees { 3573 type uint16 { 3574 range "0 .. 180"; 3575 } 3576 description 3577 "Degrees of longitude."; 3578 } 3579 leaf longitude-minutes { 3580 type uint8 { 3581 range "0..59"; 3582 } 3583 description 3584 "Minutes of longitude."; 3585 } 3586 leaf longitude-seconds { 3587 type uint8 { 3588 range "0..59"; 3589 } 3590 description 3591 "Seconds of longitude."; 3592 } 3593 leaf altitude { 3594 type int32; 3595 description 3596 "Height relative to sea level in meters."; 3597 } 3598 leaf address { 3599 type simple-address; 3600 description 3601 "AFI address."; 3602 } 3603 } 3604 container nat-traversal { 3605 when "../address-type = 'laddr:nat-traversal-lcaf'" { 3606 description 3607 "When LCAF type is NAT-Traversal."; 3608 } 3609 description 3610 "NAT-Traversal LCAF type."; 3611 reference 3612 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3613 #section-4.6"; 3614 leaf ms-udp-port { 3615 type uint16; 3616 description 3617 "Map-Server UDP port (set to 4342)."; 3618 } 3619 leaf etr-udp-port { 3620 type uint16; 3621 description 3622 "ETR UDP port."; 3623 } 3624 leaf global-etr-rloc { 3625 type simple-address; 3626 description 3627 "Global ETR RLOC address."; 3628 } 3629 leaf ms-rloc { 3630 type simple-address; 3631 description 3632 "Map-Server RLOC address."; 3633 } 3634 leaf private-etr-rloc { 3635 type simple-address; 3636 description 3637 "Private ETR RLOC address."; 3638 } 3639 leaf-list rtr-rlocs { 3640 type simple-address; 3641 description 3642 "List of RTR RLOC addresses."; 3643 } 3644 } 3645 container explicit-locator-path { 3646 when "../address-type = 'laddr:explicit-locator-path-lcaf'" { 3647 description 3648 "When LCAF type type is Explicit Locator Path."; 3649 } 3650 description 3651 "Explicit Locator Path LCAF type."; 3652 reference 3653 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3654 #section-4.9"; 3655 list hop { 3656 key "hop-id"; 3657 ordered-by user; 3658 description 3659 "List of locator hops forming the explicit path."; 3660 leaf hop-id { 3661 type string { 3662 length "1..64"; 3663 } 3664 description 3665 "Unique identifier for the hop."; 3666 } 3667 leaf address { 3668 type simple-address; 3669 description 3670 "AFI address."; 3671 } 3672 leaf lrs-bits { 3673 type bits{ 3674 bit lookup { 3675 description 3676 "Lookup bit."; 3677 } 3678 bit rloc-probe { 3679 description 3680 "RLOC-probe bit."; 3681 } 3682 bit strict { 3683 description 3684 "Strict bit."; 3685 } 3686 } 3687 description 3688 "Flag bits per hop."; 3689 } 3690 } 3691 } 3692 container source-dest-key { 3693 when "../address-type = 'laddr:source-dest-key-lcaf'" { 3694 description 3695 "When LCAF type type is Source/Dest."; 3697 } 3698 description 3699 "Source/Dest LCAF type."; 3700 reference 3701 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3702 #section-4.11"; 3703 leaf source { 3704 type simple-address; 3705 description 3706 "Source address."; 3707 } 3708 leaf dest { 3709 type simple-address; 3710 description 3711 "Destination address."; 3712 } 3713 } 3714 container key-value-address { 3715 when "../address-type = 'laddr:key-value-address-lcaf'" { 3716 description 3717 "When LCAF type type is Key/Value Address."; 3718 } 3719 description 3720 "Key/Value Address LCAF type."; 3721 reference 3722 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3723 #section-4.11"; 3724 leaf key { 3725 type simple-address; 3726 description 3727 "Address as Key."; 3728 } 3729 leaf value { 3730 type simple-address; 3731 description 3732 "Address as Value."; 3733 } 3734 } 3735 container service-path { 3736 when "../address-type = 'laddr:service-path-lcaf'" { 3737 description 3738 "When LCAF type service path identifier."; 3739 } 3740 description 3741 "Service Path LCAF type."; 3742 reference 3743 "http://tools.ietf.org/html/draft-ermagan-lisp-nsh-00"; 3744 leaf service-path-id { 3745 type service-path-id-type; 3746 description 3747 "Service path identifier for the path for NSH header"; 3748 } 3749 leaf service-index { 3750 type uint8; 3751 description 3752 "Service path index for NSH header"; 3753 } 3754 } 3755 } 3756 } 3757 } 3759 3761 10. Acknowledgments 3763 The tree view and the YANG model shown in this document have been 3764 formated with the 'pyang' tool. 3766 11. IANA Considerations 3768 This memo includes no request to IANA. 3770 12. Security Considerations 3772 Security Considerations TBD 3774 13. Normative References 3776 [I-D.ietf-lisp-ddt] 3777 Fuller, V., Lewis, D., Ermagan, V., Jain, A., and A. 3778 Smirnov, "LISP Delegated Database Tree", draft-ietf-lisp- 3779 ddt-07 (work in progress), May 2016. 3781 [I-D.ietf-lisp-lcaf] 3782 Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical 3783 Address Format (LCAF)", draft-ietf-lisp-lcaf-13 (work in 3784 progress), May 2016. 3786 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 3787 Requirement Levels", BCP 14, RFC 2119, 3788 DOI 10.17487/RFC2119, March 1997, 3789 . 3791 [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The 3792 Locator/ID Separation Protocol (LISP)", RFC 6830, 3793 DOI 10.17487/RFC6830, January 2013, 3794 . 3796 [RFC6832] Lewis, D., Meyer, D., Farinacci, D., and V. Fuller, 3797 "Interworking between Locator/ID Separation Protocol 3798 (LISP) and Non-LISP Sites", RFC 6832. 3800 [RFC6833] Fuller, V. and D. Farinacci, "Locator/ID Separation 3801 Protocol (LISP) Map-Server Interface", RFC 6833, 3802 DOI 10.17487/RFC6833, January 2013, 3803 . 3805 [RFC6836] Fuller, V., Farinacci, D., Meyer, D., and D. Lewis, 3806 "Locator/ID Separation Protocol Alternative Logical 3807 Topology (LISP+ALT)", RFC 6836, DOI 10.17487/RFC6836, 3808 January 2013, . 3810 Authors' Addresses 3812 Vina Ermagan 3813 Cisco Systems 3814 170 Tasman Drive 3815 San Jose, CA 3816 USA 3818 Email: vermagan@cisco.com 3820 Alberto Rodriguez-Natal 3821 Technical University of Catalonia 3822 Barcelona 3823 Spain 3825 Email: arnatal@ac.upc.edu 3827 Florin Coras 3828 Technical University of Catalonia 3829 Barcelona 3830 Spain 3832 Email: fcoras@ac.upc.edu 3833 Carl Moberg 3834 Cisco Systems 3835 170 W Tasman Dr 3836 San Jose, CA 3837 USA 3839 Email: camoberg@cisco.com 3841 Albert Cabellos-Aparicio 3842 Technical University of Catalonia 3843 Barcelona 3844 Spain 3846 Email: acabello@ac.upc.edu 3848 Fabio Maino 3849 Cisco Systems 3850 170 Tasman Drive 3851 San Jose, CA 3852 USA 3854 Email: fmaino@cisco.com