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