idnits 2.17.00 (12 Aug 2021) /tmp/idnits3772/draft-ietf-lisp-yang-01.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 507 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 1547 has weird spacing: '...site-id uin...' == Line 1550 has weird spacing: '...vice-id uin...' -- The document date (December 17, 2015) is 2346 days in the past. Is this intentional? Checking references for intended status: Experimental ---------------------------------------------------------------------------- == Unused Reference: 'I-D.ietf-lisp-ddt' is defined on line 3829, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-lisp-lcaf' is defined on line 3834, but no explicit reference was found in the text == Unused Reference: 'RFC2119' is defined on line 3839, but no explicit reference was found in the text == Unused Reference: 'RFC6830' is defined on line 3844, but no explicit reference was found in the text == Unused Reference: 'RFC6836' is defined on line 3858, but no explicit reference was found in the text == Outdated reference: draft-ietf-lisp-ddt has been published as RFC 8111 == Outdated reference: draft-ietf-lisp-lcaf has been published as RFC 8060 Summary: 1 error (**), 0 flaws (~~), 11 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group V. Ermagan 3 Internet-Draft Cisco Systems 4 Intended status: Experimental A. Rodriguez-Natal 5 Expires: June 19, 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 December 17, 2015 15 LISP Configuration YANG Model 16 draft-ietf-lisp-yang-01 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 June 19, 2016. 40 Copyright Notice 42 Copyright (c) 2015 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 // FC need to be sure we don't use interface-name in itr 240 // cached mappings 241 choice address-type { 242 description 243 "The address type of the locator"; 244 case interface-name { 245 leaf interface { 246 type if:interface-state-ref; 247 description 248 "The name of the interface supporting the locator."; 249 } 250 } 251 case address { 252 container locator-address { 253 uses lcaf:lisp-address; 254 description 255 "The locator address provided in LISP canonincal 256 address format."; 257 } 258 } 259 } 260 leaf priority { 261 type uint8; 262 description 263 "Locator priority."; 264 } 265 leaf weight { 266 type uint8; 267 description 268 "Locator weight."; 269 } 270 leaf multicast-priority { 271 type uint8; 272 description 273 "Locator's multicast priority"; 274 } 275 leaf multicast-weight { 276 type uint8; 277 description 278 "Locator's multicast weight"; 279 } 280 } 281 } 282 grouping mappings { 283 description 284 "Group that defines a list of LISP mappings."; 285 list mapping { 286 key "id"; 287 description 288 "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 } 337 } 338 /* Configuration Data */ 339 container lisp { 340 description 341 "Configuration parameters for LISP subsystem."; 342 container devices { 343 description 344 "Configuration of LISP devices."; 345 list device { 346 key "type id"; 347 description 348 "Each entry contains configuration of a lisp-device."; 349 leaf type { 350 type device-ref; 351 description 352 "The type of LISP device - identity derived from the 353 'lisp-device' base identity."; 354 } 355 leaf id { 356 type string; 357 description 358 "Arbitrary device name."; 359 } 360 leaf enabled { 361 type boolean; 362 default "true"; 363 description 364 "Enable/disable the lisp-device."; 365 } 366 } 367 } 368 } 370 /* Operational state data */ 371 container lisp-state { 372 config false; 373 description 374 "Operational state of the LISP subsystem."; 375 container devices { 376 description 377 "Operational state of lisp-devices."; 378 list device { 379 key "type id"; 380 description 381 "Each entry contains operational data of a lisp-device."; 382 leaf type { 383 type device-ref; 384 description 385 "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:ietf-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). 1056 This version of this YANG module is part of RFC 6338; see 1057 the RFC itself for full legal notices. 1058 "; 1059 revision 2015-07-02 { 1060 description 1061 "Initial revision."; 1062 reference 1063 "https://tools.ietf.org/html/rfc6830"; 1064 } 1065 identity itr { 1066 base lisp:lisp-device; 1067 description 1068 "LISP ITR."; 1069 } 1070 augment "/lisp:lisp/lisp:devices/lisp:device" { 1071 when "lisp:type = lisp-itr:itr" { 1072 description 1073 "Augment is valid when LISP device type is ITR."; 1074 } 1075 description 1076 "This augments LISP devices list with ITR specific 1077 parameters."; 1078 container itr-cfg { 1079 presence "LISP ITR operation enabled"; 1080 description 1081 "ITR configuration"; 1082 container rloc-probing { 1083 presence "RLOC probing active"; 1084 description 1085 "RLOC-probing parameters"; 1086 leaf interval { 1087 type uint16; 1088 units "seconds"; 1089 description 1090 "Interval in seconds"; 1091 } 1092 leaf retries { 1093 type uint8; 1094 description 1095 "Number of retries"; 1096 } 1097 leaf retries-interval { 1098 type uint16; 1099 units "seconds"; 1100 description 1101 "Interval in seconds between retries"; 1102 } 1103 } 1104 container itr-rlocs { 1105 description 1106 "List of RLOCs of the ITR included in Map-Requests"; 1107 list itr-rloc { 1108 key "id"; 1109 description 1110 "ITR's list of RLOCs."; 1111 leaf id { 1112 type string; 1113 description 1114 "Unique RLOC id."; 1115 } 1116 container address { 1117 uses lcaf:lisp-address; 1118 description 1119 "RLOC address in generic LISP address format."; 1120 } 1121 } 1122 } 1123 container local-eids { 1124 description 1125 "Container for an ITR's local list of EIDs"; 1126 list local-eid { 1127 key "id"; 1128 min-elements 1; 1129 description 1130 "List of EIDs from which the ITR forwards traffic."; 1131 leaf id { 1132 type lisp:eid-id; 1133 description 1134 "Unique EID ID"; 1135 } 1136 container eid-address { 1137 uses lcaf:lisp-address; 1138 description 1139 "Addres in generic LISP address format"; 1140 } 1141 } 1142 } 1143 container map-resolvers { 1144 description 1145 "The Map-Resolvers configured for the ITR."; 1146 list map-resolver { 1147 key "id"; 1148 min-elements 1; 1149 description 1150 "List of Map-Resolvers configured for the ITR."; 1151 leaf id { 1152 type lisp:eid-id; 1153 description 1154 "Id of the EID for which the Map-Server is 1155 configured."; 1156 } 1157 container eid-address { 1158 uses lcaf:lisp-address; 1159 description 1160 "EID for which the Map-Resolver is configured."; 1161 } 1162 leaf-list map-resolver-address { 1163 type inet:ip-address; 1164 description 1165 "Map-Resolver RLOC address."; 1166 } 1167 } 1168 } 1169 container proxy-etrs { 1170 description 1171 "Proxy ETRs configured for the ITR."; 1172 list proxy-etr { 1173 key "id"; 1174 description 1175 "List of PETR configured for the ITR."; 1176 leaf id { 1177 type lisp:eid-id; 1178 description 1179 "Id of the EID for which the PETR is configured."; 1180 } 1181 container eid-address { 1182 uses lcaf:lisp-address; 1183 description 1184 "EID for which the PETR is configured."; 1185 } 1186 leaf-list proxy-etr-address{ 1187 type inet:ip-address; 1188 description 1189 "PETR RLOC address."; 1190 } 1191 } 1192 } 1193 container static-mappings { 1194 uses lisp:mappings; 1195 description 1196 "EID to RLOCs mappings cache."; 1197 } 1198 } 1199 } 1200 augment "/lisp:lisp-state/lisp:devices/lisp:device" { 1201 when "lisp:type = lisp-itr:itr" { 1202 description 1203 "Augment is valid when LISP device type is ITR."; 1204 } 1205 description 1206 "This augments LISP devices list state with ITR specific 1207 parameters."; 1208 container itr-state { 1209 config false; 1210 description 1211 "ITR state."; 1212 container learned-mappings { 1213 uses lisp:mappings; 1214 description 1215 "EID to RLOCs mappings cache."; 1216 } 1217 } 1218 } 1219 } 1220 1222 4. LISP ETR Module 1224 This module captures the configuration data model of a LISP ETR. The 1225 model also captures some operational data elements. 1227 4.1. Module Structure 1229 module: ietf-lisp-etr 1230 augment /lisp:lisp/lisp:devices/lisp:device: 1231 +--rw etr-cfg! 1232 +--rw local-eids 1233 +--rw local-eid* [id] 1234 +--rw id lisp:eid-id 1235 +--rw eid-address 1236 | +--rw afi lisp-address-family-ref 1237 | +--rw instance-id? instance-id-type 1238 | +--rw (address)? 1239 | +--:(ipv4) 1240 | | +--rw ipv4? inet:ipv4-address 1241 | +--:(ipv6) 1242 | | +--rw ipv6? inet:ipv6-address 1243 | +--:(mac) 1244 | | +--rw mac? yang:mac-address 1245 | +--:(distinguished-name) 1246 | | +--rw distinguished-name? distinguished-name 1247 | +--:(lcaf) 1248 | +--rw lcaf 1249 | +--rw lcaf-type lcaf-ref 1250 | +--rw (address)? 1251 | +--:(null-address) 1252 | | +--rw null-address 1253 | | +--rw address? empty 1254 | +--:(afi-list) 1255 | | +--rw afi-list 1256 | | +--rw address-list* simple-address 1257 | +--:(instance-id) 1258 | | +--rw instance-id 1259 | | +--rw instance-id? instance-id-type 1260 | | +--rw mask-length? uint8 1261 | | +--rw address? simple-address 1262 | +--:(as-number) 1263 | | +--rw as-number 1264 | | +--rw as? inet:as-number 1265 | | +--rw address? simple-address 1266 | +--:(application-data) 1267 | | +--rw application-data 1268 | | +--rw address? simple-address 1269 | | +--rw protocol? uint8 1270 | | +--rw ip-tos? int32 1271 | | +--rw local-port-low? inet:port-number 1272 | | +--rw local-port-high? inet:port-number 1273 | | +--rw remote-port-low? inet:port-number 1274 | | +--rw remote-port-high? inet:port-number 1275 | +--:(geo-coordinates) 1276 | | +--rw geo-coordinates 1277 | | +--rw latitude? bits 1278 | | +--rw latitude-degrees? uint8 1279 | | +--rw latitude-minutes? uint8 1280 | | +--rw latitude-seconds? uint8 1281 | | +--rw longitude? bits 1282 | | +--rw longitude-degrees? uint16 1283 | | +--rw longitude-minutes? uint8 1284 | | +--rw longitude-seconds? uint8 1285 | | +--rw altitude? int32 1286 | | +--rw address? simple-address 1287 | +--:(nat-traversal) 1288 | | +--rw nat-traversal 1289 | | +--rw ms-udp-port? uint16 1290 | | +--rw etr-udp-port? uint16 1291 | | +--rw global-etr-rloc? simple-address 1292 | | +--rw ms-rloc? simple-address 1293 | | +--rw private-etr-rloc? simple-address 1294 | | +--rw rtr-rlocs* simple-address 1295 | +--:(explicit-locator-path) 1296 | | +--rw explicit-locator-path 1297 | | +--rw hop* [address] 1298 | | +--rw address simple-address 1299 | | +--rw lrs-bits? bits 1300 | +--:(sourc-dest-key) 1301 | +--rw sourc-dest-key 1302 | +--rw source? inet:ip-prefix 1303 | +--rw dest? inet:ip-prefix 1304 +--rw map-servers 1305 | +--rw map-server* [address] 1306 | +--rw address inet:ip-address 1307 | +--rw auth-key? string 1308 | +--rw auth-key-type? lisp:auth-key-type 1309 +--rw rlocs 1310 | +--rw rloc* [id] 1311 | +--rw id string 1312 | +--rw (address-type)? 1313 | | +--:(interface-name) 1314 | | | +--rw interface? if:interface-state-ref 1315 | | +--:(address) 1316 | | +--rw locator-address 1317 | | +--rw afi lisp-address-family-ref 1318 | | +--rw instance-id? instance-id-type 1319 | | +--rw (address)? 1320 | | +--:(ipv4) 1321 | | | +--rw ipv4? inet:ipv4-address 1322 | | +--:(ipv6) 1323 | | | +--rw ipv6? inet:ipv6-address 1324 | | +--:(mac) 1325 | | | +--rw mac? yang:mac-address 1326 | | +--:(distinguished-name) 1327 | | | +--rw distinguished-name? distinguished-name 1328 | | +--:(lcaf) 1329 | | +--rw lcaf 1330 | | +--rw lcaf-type lcaf-ref 1331 | | +--rw (address)? 1332 | | +--:(null-address) 1333 | | | +--rw null-address 1334 | | | +--rw address? empty 1335 | | +--:(afi-list) 1336 | | | +--rw afi-list 1337 | | | +--rw address-list* simple-address 1338 | | +--:(instance-id) 1339 | | | +--rw instance-id 1340 | | | +--rw instance-id? instance-id-type 1341 | | | +--rw mask-length? uint8 1342 | | | +--rw address? simple-address 1343 | | +--:(as-number) 1344 | | | +--rw as-number 1345 | | | +--rw as? inet:as-number 1346 | | | +--rw address? simple-address 1347 | | +--:(application-data) 1348 | | | +--rw application-data 1349 | | | +--rw address? simple-address 1350 | | | +--rw protocol? uint8 1351 | | | +--rw ip-tos? int32 1352 | | | +--rw local-port-low? inet:port-number 1353 | | | +--rw local-port-high? inet:port-number 1354 | | | +--rw remote-port-low? inet:port-number 1355 | | | +--rw remote-port-high? inet:port-number 1356 | | +--:(geo-coordinates) 1357 | | | +--rw geo-coordinates 1358 | | | +--rw latitude? bits 1359 | | | +--rw latitude-degrees? uint8 1360 | | | +--rw latitude-minutes? uint8 1361 | | | +--rw latitude-seconds? uint8 1362 | | | +--rw longitude? bits 1363 | | | +--rw longitude-degrees? uint16 1364 | | | +--rw longitude-minutes? uint8 1365 | | | +--rw longitude-seconds? uint8 1366 | | | +--rw altitude? int32 1367 | | | +--rw address? simple-address 1368 | | +--:(nat-traversal) 1369 | | | +--rw nat-traversal 1370 | | | +--rw ms-udp-port? uint16 1371 | | | +--rw etr-udp-port? uint16 1372 | | | +--rw global-etr-rloc? simple-address 1373 | | | +--rw ms-rloc? simple-address 1374 | | | +--rw private-etr-rloc? simple-address 1375 | | | +--rw rtr-rlocs* simple-address 1376 | | +--:(explicit-locator-path) 1377 | | | +--rw explicit-locator-path 1378 | | | +--rw hop* [address] 1379 | | | +--rw address simple-address 1380 | | | +--rw lrs-bits? bits 1381 | | +--:(sourc-dest-key) 1382 | | +--rw sourc-dest-key 1383 | | +--rw source? inet:ip-prefix 1384 | | +--rw dest? inet:ip-prefix 1385 | +--rw priority? uint8 1386 | +--rw weight? uint8 1387 | +--rw multicast-priority? uint8 1388 | +--rw multicast-weight? uint8 1389 +--rw record-ttl? uint32 1390 +--rw want-map-notify? boolean 1391 +--rw proxy-reply? boolean 1392 +--rw registration-interval? uint16 1394 4.2. Module Definition 1396 file "ietf-lisp-etr@2015-07-02.yang" 1397 module ietf-lisp-etr { 1398 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-etr"; 1399 prefix lisp-etr; 1400 import ietf-lisp { 1401 prefix lisp; 1402 } 1403 import ietf-lisp-address-types { 1404 prefix lcaf; 1405 } 1406 import ietf-inet-types { 1407 prefix inet; 1408 } 1409 organization 1410 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 1411 contact 1412 "lisp@ietf.org"; 1413 description 1414 "This YANG module defines the generic configuration 1415 data for a LISP ETR. The module can be extended by vendors 1416 to define vendor-specific configuration parameters and 1417 policies. 1419 Copyright (c) 2015 IETF Trust and the persons identified as 1420 authors of the code. All rights reserved. 1422 Redistribution and use in source and binary forms, with or 1423 without modification, is permitted pursuant to, and subject 1424 to the license terms contained in, the Simplified BSD License 1425 set forth in Section 4.c of the IETF Trust's Legal Provisions 1426 Relating to IETF Documents 1427 (http://trustee.ietf.org/license-info). 1429 This version of this YANG module is part of RFC 6338; see 1430 the RFC itself for full legal notices. 1431 "; 1432 revision 2015-07-02 { 1433 description 1434 "Initial revision."; 1435 reference 1436 "https://tools.ietf.org/html/rfc6830"; 1437 } 1438 identity etr { 1439 base lisp:lisp-device; 1440 description 1441 "LISP ETR."; 1442 } 1443 augment "/lisp:lisp/lisp:devices/lisp:device" { 1444 when "lisp:type = lisp-etr:etr" { 1445 description 1446 "Augment is valid when LISP device type is ETR."; 1447 } 1448 description 1449 "This augments LISP devices list with ETR specific 1450 parameters."; 1451 container etr-cfg { 1452 presence "LISP ETR operation enabled"; 1453 description 1454 "ETR configuration parameters."; 1455 container local-eids { 1456 description 1457 "EIDs served by the ETR."; 1458 list local-eid { 1459 key "id"; 1460 min-elements 1; 1461 description 1462 "List of local EIDs."; 1463 leaf id { 1464 type lisp:eid-id; 1465 description 1466 "Unique id of local EID."; 1467 } 1468 container eid-address { 1469 uses lcaf:lisp-address; 1470 description 1471 "EID address in generic LISP address format."; 1472 } 1473 container map-servers { 1474 description 1475 "Map-Servers configured for the ETR."; 1476 list map-server { 1477 key "address"; 1478 description 1479 "List of Map-Servers configured for the ETR."; 1480 leaf address { 1481 type inet:ip-address; 1482 description 1483 "Map-Server address."; 1484 } 1485 leaf auth-key { 1486 type string; 1487 description 1488 "Map-Server authentication key."; 1489 } 1490 leaf auth-key-type { 1491 type lisp:auth-key-type; 1492 description 1493 "Map-Server authentication type."; 1494 } 1495 } 1496 } 1497 container rlocs { 1498 uses lisp:locators; 1499 description 1500 "Locators mapped to local EID."; 1501 } 1502 leaf record-ttl { 1503 type uint32; 1504 description 1505 "Validity period of the EID to RLOCs mapping provided 1506 in Map-Replies."; 1507 } 1508 leaf want-map-notify { 1509 type boolean; 1510 description 1511 "Flag which if set in a Map-Register requests that a 1512 Map-Notify be sent in response."; 1513 } 1514 leaf proxy-reply { 1515 type boolean; 1516 description 1517 "Flag which if set in a Map-Register requests that the 1518 Map-Server proxy Map-Replies for the ETR."; 1519 } 1520 leaf registration-interval { 1521 type uint16; 1522 units "seconds"; 1523 default "60"; 1524 description 1525 "Interval between consecutive Map-Register messages."; 1526 } 1527 } 1528 } 1529 } 1530 } 1531 } 1532 1534 5. LISP Map Server Module 1536 This module captures the configuration data model of a LISP Map 1537 Server [RFC6833]. The model also captures some operational data 1538 elements. 1540 5.1. Module Structure 1542 module: ietf-lisp-mapserver 1543 augment /lisp:lisp/lisp:devices/lisp:device: 1544 +--rw map-server-cfg! 1545 +--rw sites 1546 | +--rw site* [site-id] 1547 | +--rw site-id uint64 1548 | +--rw devices 1549 | +--rw device* [device-id] 1550 | +--rw device-id uint64 1551 | +--rw auth-key 1552 | | +--rw auth-key-value? string 1553 | | +--rw auth-key-type? lisp:auth-key-type 1554 | +--rw eids 1555 | +--rw eid* [id] 1556 | +--rw id lisp:eid-id 1557 | +--rw eid-address 1558 | | +--rw afi lisp-address-family-ref 1559 | | +--rw instance-id? instance-id-type 1560 | | +--rw (address)? 1561 | | +--:(ipv4) 1562 | | | +--rw ipv4? inet:ipv4-address 1563 | | +--:(ipv6) 1564 | | | +--rw ipv6? inet:ipv6-address 1565 | | +--:(mac) 1566 | | | +--rw mac? yang:mac-address 1567 | | +--:(distinguished-name) 1568 | | | +--rw distinguished-name? distinguished-name 1569 | | +--:(lcaf) 1570 | | +--rw lcaf 1571 | | +--rw lcaf-type lcaf-ref 1572 | | +--rw (address)? 1573 | | +--:(null-address) 1574 | | | +--rw null-address 1575 | | | +--rw address? empty 1576 | | +--:(afi-list) 1577 | | | +--rw afi-list 1578 | | | +--rw address-list* simple-address 1579 | | +--:(instance-id) 1580 | | | +--rw instance-id 1581 | | | +--rw instance-id? instance-id-type 1582 | | | +--rw mask-length? uint8 1583 | | | +--rw address? simple-address 1584 | | +--:(as-number) 1585 | | | +--rw as-number 1586 | | | +--rw as? inet:as-number 1587 | | | +--rw address? simple-address 1588 | | +--:(application-data) 1589 | | | +--rw application-data 1590 | | | +--rw address? simple-address 1591 | | | +--rw protocol? uint8 1592 | | | +--rw ip-tos? int32 1593 | | | +--rw local-port-low? inet:port-number 1594 | | | +--rw local-port-high? inet:port-number 1595 | | | +--rw remote-port-low? inet:port-number 1596 | | | +--rw remote-port-high? inet:port-number 1597 | | +--:(geo-coordinates) 1598 | | | +--rw geo-coordinates 1599 | | | +--rw latitude? bits 1600 | | | +--rw latitude-degrees? uint8 1601 | | | +--rw latitude-minutes? uint8 1602 | | | +--rw latitude-seconds? uint8 1603 | | | +--rw longitude? bits 1604 | | | +--rw longitude-degrees? uint16 1605 | | | +--rw longitude-minutes? uint8 1606 | | | +--rw longitude-seconds? uint8 1607 | | | +--rw altitude? int32 1608 | | | +--rw address? simple-address 1609 | | +--:(nat-traversal) 1610 | | | +--rw nat-traversal 1611 | | | +--rw ms-udp-port? uint16 1612 | | | +--rw etr-udp-port? uint16 1613 | | | +--rw global-etr-rloc? simple-address 1614 | | | +--rw ms-rloc? simple-address 1615 | | | +--rw private-etr-rloc? simple-address 1616 | | | +--rw rtr-rlocs* simple-address 1617 | | +--:(explicit-locator-path) 1618 | | | +--rw explicit-locator-path 1619 | | | +--rw hop* [address] 1620 | | | +--rw address simple-address 1621 | | | +--rw lrs-bits? bits 1622 | | +--:(sourc-dest-key) 1623 | | +--rw sourc-dest-key 1624 | | +--rw source? inet:ip-prefix 1625 | | +--rw dest? inet:ip-prefix 1626 | +--rw more-specifics-accepted? boolean 1627 | +--rw mapping-expiration-timeout? int16 1628 +--rw static-mappings 1629 | +--rw mapping* [id] 1630 | +--rw id eid-id 1631 | +--rw eid 1632 | | +--rw afi lisp-address-family-ref 1633 | | +--rw instance-id? instance-id-type 1634 | | +--rw (address)? 1635 | | +--:(ipv4) 1636 | | | +--rw ipv4? inet:ipv4-address 1637 | | +--:(ipv6) 1638 | | | +--rw ipv6? inet:ipv6-address 1639 | | +--:(mac) 1640 | | | +--rw mac? yang:mac-address 1641 | | +--:(distinguished-name) 1642 | | | +--rw distinguished-name? distinguished-name 1643 | | +--:(lcaf) 1644 | | +--rw lcaf 1645 | | +--rw lcaf-type lcaf-ref 1646 | | +--rw (address)? 1647 | | +--:(null-address) 1648 | | | +--rw null-address 1649 | | | +--rw address? empty 1650 | | +--:(afi-list) 1651 | | | +--rw afi-list 1652 | | | +--rw address-list* simple-address 1653 | | +--:(instance-id) 1654 | | | +--rw instance-id 1655 | | | +--rw instance-id? instance-id-type 1656 | | | +--rw mask-length? uint8 1657 | | | +--rw address? simple-address 1658 | | +--:(as-number) 1659 | | | +--rw as-number 1660 | | | +--rw as? inet:as-number 1661 | | | +--rw address? simple-address 1662 | | +--:(application-data) 1663 | | | +--rw application-data 1664 | | | +--rw address? simple-address 1665 | | | +--rw protocol? uint8 1666 | | | +--rw ip-tos? int32 1667 | | | +--rw local-port-low? inet:port-number 1668 | | | +--rw local-port-high? inet:port-number 1669 | | | +--rw remote-port-low? inet:port-number 1670 | | | +--rw remote-port-high? inet:port-number 1671 | | +--:(geo-coordinates) 1672 | | | +--rw geo-coordinates 1673 | | | +--rw latitude? bits 1674 | | | +--rw latitude-degrees? uint8 1675 | | | +--rw latitude-minutes? uint8 1676 | | | +--rw latitude-seconds? uint8 1677 | | | +--rw longitude? bits 1678 | | | +--rw longitude-degrees? uint16 1679 | | | +--rw longitude-minutes? uint8 1680 | | | +--rw longitude-seconds? uint8 1681 | | | +--rw altitude? int32 1682 | | | +--rw address? simple-address 1683 | | +--:(nat-traversal) 1684 | | | +--rw nat-traversal 1685 | | | +--rw ms-udp-port? uint16 1686 | | | +--rw etr-udp-port? uint16 1687 | | | +--rw global-etr-rloc? simple-address 1688 | | | +--rw ms-rloc? simple-address 1689 | | | +--rw private-etr-rloc? simple-address 1690 | | | +--rw rtr-rlocs* simple-address 1691 | | +--:(explicit-locator-path) 1692 | | | +--rw explicit-locator-path 1693 | | | +--rw hop* [address] 1694 | | | +--rw address simple-address 1695 | | | +--rw lrs-bits? bits 1696 | | +--:(sourc-dest-key) 1697 | | +--rw sourc-dest-key 1698 | | +--rw source? inet:ip-prefix 1699 | | +--rw dest? inet:ip-prefix 1700 | +--rw ttl? uint32 1701 | +--rw authoritative? bits 1702 | +--rw (locator-list)? 1703 | +--:(negative-mapping) 1704 | | +--rw map-reply-action? map-reply-action 1705 | +--:(positive-mapping) 1706 | +--rw rlocs 1707 | +--rw rloc* [id] 1708 | +--rw id string 1709 | +--rw (address-type)? 1710 | | +--:(interface-name) 1711 | | | +--rw interface? if:interface-state-ref 1712 | | +--:(address) 1713 | | +--rw locator-address 1714 | | +--rw afi lisp-address-family-ref 1715 | | +--rw instance-id? instance-id-type 1716 | | +--rw (address)? 1717 | | +--:(ipv4) 1718 | | | +--rw ipv4? inet:ipv4-address 1719 | | +--:(ipv6) 1720 | | | +--rw ipv6? inet:ipv6-address 1721 | | +--:(mac) 1722 | | | +--rw mac? yang:mac-address 1723 | | +--:(distinguished-name) 1724 | | | +--rw distinguished-name? distinguished-name 1725 | | +--:(lcaf) 1726 | | +--rw lcaf 1727 | | +--rw lcaf-type lcaf-ref 1728 | | +--rw (address)? 1729 | | +--:(null-address) 1730 | | | +--rw null-address 1731 | | | +--rw address? empty 1732 | | +--:(afi-list) 1733 | | | +--rw afi-list 1734 | | | +--rw address-list* simple-address 1735 | | +--:(instance-id) 1736 | | | +--rw instance-id 1737 | | | +--rw instance-id? instance-id-type 1738 | | | +--rw mask-length? uint8 1739 | | | +--rw address? simple-address 1740 | | +--:(as-number) 1741 | | | +--rw as-number 1742 | | | +--rw as? inet:as-number 1743 | | | +--rw address? simple-address 1744 | | +--:(application-data) 1745 | | | +--rw application-data 1746 | | | +--rw address? simple-address 1747 | | | +--rw protocol? uint8 1748 | | | +--rw ip-tos? int32 1749 | | | +--rw local-port-low? inet:port-number 1750 | | | +--rw local-port-high? inet:port-number 1751 | | | +--rw remote-port-low? inet:port-number 1752 | | | +--rw remote-port-high? inet:port-number 1753 | | +--:(geo-coordinates) 1754 | | | +--rw geo-coordinates 1755 | | | +--rw latitude? bits 1756 | | | +--rw latitude-degrees? uint8 1757 | | | +--rw latitude-minutes? uint8 1758 | | | +--rw latitude-seconds? uint8 1759 | | | +--rw longitude? bits 1760 | | | +--rw longitude-degrees? uint16 1761 | | | +--rw longitude-minutes? uint8 1762 | | | +--rw longitude-seconds? uint8 1763 | | | +--rw altitude? int32 1764 | | | +--rw address? simple-address 1765 | | +--:(nat-traversal) 1766 | | | +--rw nat-traversal 1767 | | | +--rw ms-udp-port? uint16 1768 | | | +--rw etr-udp-port? uint16 1769 | | | +--rw global-etr-rloc? simple-address 1770 | | | +--rw ms-rloc? simple-address 1771 | | | +--rw private-etr-rloc? simple-address 1772 | | | +--rw rtr-rlocs* simple-address 1773 | | +--:(explicit-locator-path) 1774 | | | +--rw explicit-locator-path 1775 | | | +--rw hop* [address] 1776 | | | +--rw address simple-address 1777 | | | +--rw lrs-bits? bits 1778 | | +--:(sourc-dest-key) 1779 | | +--rw sourc-dest-key 1780 | | +--rw source? inet:ip-prefix 1781 | | +--rw dest? inet:ip-prefix 1782 | +--rw priority? uint8 1783 | +--rw weight? uint8 1784 | +--rw multicast-priority? uint8 1785 | +--rw multicast-weight? uint8 1786 +--rw (mapping-system) 1787 +--:(ddt-mapping-system) 1788 | +--rw ddt-mapping-system! 1789 | +--rw ddt-root* inet:ip-address 1790 | +--rw authoritative-eids 1791 | +--rw authoritative-eid* [id] 1792 | +--rw id lisp:eid-id 1793 | +--rw eid-address 1794 | +--rw afi lisp-address-family-ref 1795 | +--rw instance-id? instance-id-type 1796 | +--rw (address)? 1797 | +--:(ipv4) 1798 | | +--rw ipv4? inet:ipv4-address 1799 | +--:(ipv6) 1800 | | +--rw ipv6? inet:ipv6-address 1801 | +--:(mac) 1802 | | +--rw mac? yang:mac-address 1803 | +--:(distinguished-name) 1804 | | +--rw distinguished-name? distinguished-name 1805 | +--:(lcaf) 1806 | +--rw lcaf 1807 | +--rw lcaf-type lcaf-ref 1808 | +--rw (address)? 1809 | +--:(null-address) 1810 | | +--rw null-address 1811 | | +--rw address? empty 1812 | +--:(afi-list) 1813 | | +--rw afi-list 1814 | | +--rw address-list* simple-address 1815 | +--:(instance-id) 1816 | | +--rw instance-id 1817 | | +--rw instance-id? instance-id-type 1818 | | +--rw mask-length? uint8 1819 | | +--rw address? simple-address 1820 | +--:(as-number) 1821 | | +--rw as-number 1822 | | +--rw as? inet:as-number 1823 | | +--rw address? simple-address 1824 | +--:(application-data) 1825 | | +--rw application-data 1826 | | +--rw address? simple-address 1827 | | +--rw protocol? uint8 1828 | | +--rw ip-tos? int32 1829 | | +--rw local-port-low? inet:port-number 1830 | | +--rw local-port-high? inet:port-number 1831 | | +--rw remote-port-low? inet:port-number 1832 | | +--rw remote-port-high? inet:port-number 1833 | +--:(geo-coordinates) 1834 | | +--rw geo-coordinates 1835 | | +--rw latitude? bits 1836 | | +--rw latitude-degrees? uint8 1837 | | +--rw latitude-minutes? uint8 1838 | | +--rw latitude-seconds? uint8 1839 | | +--rw longitude? bits 1840 | | +--rw longitude-degrees? uint16 1841 | | +--rw longitude-minutes? uint8 1842 | | +--rw longitude-seconds? uint8 1843 | | +--rw altitude? int32 1844 | | +--rw address? simple-address 1845 | +--:(nat-traversal) 1846 | | +--rw nat-traversal 1847 | | +--rw ms-udp-port? uint16 1848 | | +--rw etr-udp-port? uint16 1849 | | +--rw global-etr-rloc? simple-address 1850 | | +--rw ms-rloc? simple-address 1851 | | +--rw private-etr-rloc? simple-address 1852 | | +--rw rtr-rlocs* simple-address 1853 | +--:(explicit-locator-path) 1854 | | +--rw explicit-locator-path 1855 | | +--rw hop* [address] 1856 | | +--rw address simple-address 1857 | | +--rw lrs-bits? bits 1858 | +--:(sourc-dest-key) 1859 | +--rw sourc-dest-key 1860 | +--rw source? inet:ip-prefix 1861 | +--rw dest? inet:ip-prefix 1862 +--:(alt-mapping-system) 1863 +--rw alt-mapping-system! 1864 augment /lisp:lisp-state/lisp:devices/lisp:device: 1865 +--ro ms-state 1866 +--ro registered-mappings 1867 +--ro mapping* [id] 1868 +--ro id eid-id 1869 +--ro eid 1870 | +--ro afi lisp-address-family-ref 1871 | +--ro instance-id? instance-id-type 1872 | +--ro (address)? 1873 | +--:(ipv4) 1874 | | +--ro ipv4? inet:ipv4-address 1875 | +--:(ipv6) 1876 | | +--ro ipv6? inet:ipv6-address 1877 | +--:(mac) 1878 | | +--ro mac? yang:mac-address 1879 | +--:(distinguished-name) 1880 | | +--ro distinguished-name? distinguished-name 1881 | +--:(lcaf) 1882 | +--ro lcaf 1883 | +--ro lcaf-type lcaf-ref 1884 | +--ro (address)? 1885 | +--:(null-address) 1886 | | +--ro null-address 1887 | | +--ro address? empty 1888 | +--:(afi-list) 1889 | | +--ro afi-list 1890 | | +--ro address-list* simple-address 1891 | +--:(instance-id) 1892 | | +--ro instance-id 1893 | | +--ro instance-id? instance-id-type 1894 | | +--ro mask-length? uint8 1895 | | +--ro address? simple-address 1896 | +--:(as-number) 1897 | | +--ro as-number 1898 | | +--ro as? inet:as-number 1899 | | +--ro address? simple-address 1900 | +--:(application-data) 1901 | | +--ro application-data 1902 | | +--ro address? simple-address 1903 | | +--ro protocol? uint8 1904 | | +--ro ip-tos? int32 1905 | | +--ro local-port-low? inet:port-number 1906 | | +--ro local-port-high? inet:port-number 1907 | | +--ro remote-port-low? inet:port-number 1908 | | +--ro remote-port-high? inet:port-number 1909 | +--:(geo-coordinates) 1910 | | +--ro geo-coordinates 1911 | | +--ro latitude? bits 1912 | | +--ro latitude-degrees? uint8 1913 | | +--ro latitude-minutes? uint8 1914 | | +--ro latitude-seconds? uint8 1915 | | +--ro longitude? bits 1916 | | +--ro longitude-degrees? uint16 1917 | | +--ro longitude-minutes? uint8 1918 | | +--ro longitude-seconds? uint8 1919 | | +--ro altitude? int32 1920 | | +--ro address? simple-address 1921 | +--:(nat-traversal) 1922 | | +--ro nat-traversal 1923 | | +--ro ms-udp-port? uint16 1924 | | +--ro etr-udp-port? uint16 1925 | | +--ro global-etr-rloc? simple-address 1926 | | +--ro ms-rloc? simple-address 1927 | | +--ro private-etr-rloc? simple-address 1928 | | +--ro rtr-rlocs* simple-address 1929 | +--:(explicit-locator-path) 1930 | | +--ro explicit-locator-path 1931 | | +--ro hop* [address] 1932 | | +--ro address simple-address 1933 | | +--ro lrs-bits? bits 1934 | +--:(sourc-dest-key) 1935 | +--ro sourc-dest-key 1936 | +--ro source? inet:ip-prefix 1937 | +--ro dest? inet:ip-prefix 1938 +--ro ttl? uint32 1939 +--ro authoritative? bits 1940 +--ro (locator-list)? 1941 +--:(negative-mapping) 1942 | +--ro map-reply-action? map-reply-action 1943 +--:(positive-mapping) 1944 +--ro rlocs 1945 +--ro rloc* [id] 1946 +--ro id string 1947 +--ro (address-type)? 1948 | +--:(interface-name) 1949 | | +--ro interface? if:interface-state-ref 1950 | +--:(address) 1951 | +--ro locator-address 1952 | +--ro afi lisp-address-family-ref 1953 | +--ro instance-id? instance-id-type 1954 | +--ro (address)? 1955 | +--:(ipv4) 1956 | | +--ro ipv4? inet:ipv4-address 1957 | +--:(ipv6) 1958 | | +--ro ipv6? inet:ipv6-address 1959 | +--:(mac) 1960 | | +--ro mac? yang:mac-address 1961 | +--:(distinguished-name) 1962 | | +--ro distinguished-name? distinguished-name 1963 | +--:(lcaf) 1964 | +--ro lcaf 1965 | +--ro lcaf-type lcaf-ref 1966 | +--ro (address)? 1967 | +--:(null-address) 1968 | | +--ro null-address 1969 | | +--ro address? empty 1970 | +--:(afi-list) 1971 | | +--ro afi-list 1972 | | +--ro address-list* simple-address 1973 | +--:(instance-id) 1974 | | +--ro instance-id 1975 | | +--ro instance-id? instance-id-type 1976 | | +--ro mask-length? uint8 1977 | | +--ro address? simple-address 1978 | +--:(as-number) 1979 | | +--ro as-number 1980 | | +--ro as? inet:as-number 1981 | | +--ro address? simple-address 1982 | +--:(application-data) 1983 | | +--ro application-data 1984 | | +--ro address? simple-address 1985 | | +--ro protocol? uint8 1986 | | +--ro ip-tos? int32 1987 | | +--ro local-port-low? inet:port-number 1988 | | +--ro local-port-high? inet:port-number 1989 | | +--ro remote-port-low? inet:port-number 1990 | | +--ro remote-port-high? inet:port-number 1991 | +--:(geo-coordinates) 1992 | | +--ro geo-coordinates 1993 | | +--ro latitude? bits 1994 | | +--ro latitude-degrees? uint8 1995 | | +--ro latitude-minutes? uint8 1996 | | +--ro latitude-seconds? uint8 1997 | | +--ro longitude? bits 1998 | | +--ro longitude-degrees? uint16 1999 | | +--ro longitude-minutes? uint8 2000 | | +--ro longitude-seconds? uint8 2001 | | +--ro altitude? int32 2002 | | +--ro address? simple-address 2003 | +--:(nat-traversal) 2004 | | +--ro nat-traversal 2005 | | +--ro ms-udp-port? uint16 2006 | | +--ro etr-udp-port? uint16 2007 | | +--ro global-etr-rloc? simple-address 2008 | | +--ro ms-rloc? simple-address 2009 | | +--ro private-etr-rloc? simple-address 2010 | | +--ro rtr-rlocs* simple-address 2011 | +--:(explicit-locator-path) 2012 | | +--ro explicit-locator-path 2013 | | +--ro hop* [address] 2014 | | +--ro address simple-address 2015 | | +--ro lrs-bits? bits 2016 | +--:(sourc-dest-key) 2017 | +--ro sourc-dest-key 2018 | +--ro source? inet:ip-prefix 2019 | +--ro dest? inet:ip-prefix 2020 +--ro priority? uint8 2021 +--ro weight? uint8 2022 +--ro multicast-priority? uint8 2023 +--ro multicast-weight? uint8 2025 5.2. Module Definition 2027 file "ietf-lisp-mapserver@2015-07-02.yang" 2028 module ietf-lisp-mapserver { 2029 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapserver"; 2030 prefix lisp-ms; 2031 import ietf-lisp { 2032 prefix lisp; 2033 } 2034 import ietf-lisp-address-types { 2035 prefix lcaf; 2036 } 2037 import ietf-inet-types { 2038 prefix inet; 2039 } 2040 organization 2041 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 2042 contact 2043 "lisp@ietf.org"; 2044 description 2045 "This YANG module defines the generic configuration 2046 data for a LISP Map-Server. The module can be extended by 2047 vendors to define vendor-specific configuration parameters 2048 and policies. 2050 Copyright (c) 2015 IETF Trust and the persons identified as 2051 authors of the code. All rights reserved. 2053 Redistribution and use in source and binary forms, with or 2054 without modification, is permitted pursuant to, and subject 2055 to the license terms contained in, the Simplified BSD License 2056 set forth in Section 4.c of the IETF Trust's Legal Provisions 2057 Relating to IETF Documents 2058 (http://trustee.ietf.org/license-info). 2060 This version of this YANG module is part of RFC 6338; see 2061 the RFC itself for full legal notices. 2063 "; 2065 revision 2015-07-02 { 2066 description 2067 "Initial revision."; 2068 reference 2069 "https://tools.ietf.org/html/rfc6833"; 2070 } 2071 identity ms { 2072 base lisp:lisp-device; 2073 description 2074 "LISP Map-Server."; 2075 } 2076 augment "/lisp:lisp/lisp:devices/lisp:device" { 2077 when "lisp:type = lisp-ms:ms" { 2078 description 2079 "Augment is valid when LISP device type is Map-Server."; 2080 } 2081 description 2082 "This augments LISP devices list with Map-Server specific 2083 parameters."; 2084 container map-server-cfg { 2085 presence "LISP Map-Server operation enabled"; 2086 description 2087 "Map-Server configuration parameters."; 2088 container sites { 2089 description 2090 "Sites for which the Map-Server accepts registrations."; 2091 list site { 2092 key "site-id"; 2093 description 2094 "List of sites for which the Map-Server acceptes 2095 registrations."; 2096 leaf site-id { 2097 type uint64; 2098 description 2099 "Site identifier."; 2100 } 2101 //Can be augmented to have below for per site auth-key 2102 // leaf auth-key { 2103 // description "clear text authentication key"; 2104 // type string; 2105 // } 2106 container devices { 2107 description 2108 "Site devices registered with the Map-Server."; 2109 list device { 2110 key "device-id"; 2111 description 2112 "List of site devices registered with the 2113 Map-Server."; 2114 leaf device-id { 2115 type uint64; 2116 description 2117 "Device identifier."; 2118 } 2119 container auth-key { 2120 description 2121 "Device authentication key."; 2122 leaf auth-key-value { 2123 type string; 2124 description 2125 "Clear text authentication key"; 2126 } 2127 leaf auth-key-type { 2128 type lisp:auth-key-type; 2129 description 2130 "Authentication key type."; 2131 } 2132 } 2134 container eids { 2135 description 2136 "EIDs registered by device."; 2137 list eid { 2138 key "id"; 2139 description 2140 "List of EIDs registered by device."; 2141 leaf id { 2142 type lisp:eid-id; 2143 description 2144 "Id of the EID registered."; 2145 } 2146 container eid-address { 2147 uses lcaf:lisp-address; 2148 description 2149 "EID in generic LISP address format registered 2150 with the Map-Server."; 2151 } 2152 leaf more-specifics-accepted { 2153 type boolean; 2154 description 2155 "Flag indicating if more specific prefixes 2156 can be registered."; 2157 } 2158 leaf mapping-expiration-timeout { 2159 type int16; 2160 units "seconds"; 2161 default "180"; //3 times the mapregister int 2162 description 2163 "Time before mapping is expired if no new 2164 registrations are received."; 2165 } 2166 // Can be augmented to have below for per-eid auth-key 2167 // leaf auth-key { 2168 // description "clear text authentication key"; 2169 // type string; 2170 // } 2171 } 2172 } 2173 } 2174 } 2175 } 2176 } 2177 container static-mappings { 2178 uses lisp:mappings; 2179 description 2180 "Datastore of statically registred mappings."; 2181 } 2182 choice mapping-system { 2183 mandatory true; 2184 description 2185 "Interface to Mapping System."; 2186 container ddt-mapping-system { 2187 presence "DDT Mapping System in use"; 2188 description 2189 "DDT Mapping System interface."; 2190 leaf-list ddt-root { 2191 type inet:ip-address; 2192 description 2193 "List of DDT root address."; 2194 } 2195 container authoritative-eids { 2196 description 2197 "Authoritative EIDs"; 2198 list authoritative-eid { 2199 key "id"; 2200 description 2201 "List of authoritative EIDs."; 2202 leaf id { 2203 type lisp:eid-id; 2204 description 2205 "EID id."; 2206 } 2207 container eid-address { 2208 uses lcaf:lisp-address; 2209 description 2210 "EID in generic LISP address format."; 2211 } 2212 } 2213 } 2214 } 2215 container alt-mapping-system { 2216 presence "ALT Mapping System in use"; 2217 description 2218 "ALT Mapping System interface."; 2219 // TBD 2220 } 2221 } 2222 } 2223 } 2224 augment "/lisp:lisp-state/lisp:devices/lisp:device" { 2225 when "lisp:type = lisp-ms:ms" { 2226 description 2227 "Augment is valid when LISP device type is Map-Server."; 2228 } 2229 description 2230 "This augments LISP devices list state with Map-Server 2231 specific parameters."; 2232 container ms-state { 2233 config false; 2234 description 2235 "Map-Server state."; 2236 container registered-mappings { 2237 uses lisp:mappings; 2238 description 2239 "Datastore of registred mappings."; 2240 } 2241 } 2242 } 2243 } 2244 2246 6. LISP Map Resolver Module 2248 This module captures the configuration data model of a LISP Map 2249 Resolver [RFC6833]. The model also captures some operational data 2250 elements. 2252 6.1. Module Structure 2254 module: ietf-lisp-mapresolver 2255 augment /lisp:lisp/lisp:devices/lisp:device: 2256 +--rw map-resolver-cfg! 2257 +--rw (mapping-system) 2258 +--:(ddt-mapping-system) 2259 | +--rw ddt-mapping-system! 2260 | +--rw ddt-root* inet:ip-address 2261 +--:(alt-mapping-system) 2262 +--rw alt-mapping-system! 2264 6.2. Module Definition 2266 file "ietf-lisp-mapresolver@2015-07-02.yang" 2267 module ietf-lisp-mapresolver { 2268 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-mapresolver"; 2269 prefix lisp-mr; 2270 import ietf-lisp { 2271 prefix lisp; 2272 } 2273 import ietf-inet-types { 2274 prefix inet; 2275 } 2276 organization 2277 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 2278 contact 2279 "lisp@ietf.org"; 2280 description 2281 "This YANG module defines the generic configuration 2282 data for a LISP Map-Resolver. The module can be extended by 2283 vendors to define vendor-specific configuration parameters 2284 and policies. 2286 Copyright (c) 2015 IETF Trust and the persons identified as 2287 authors of the code. All rights reserved. 2289 Redistribution and use in source and binary forms, with or 2290 without modification, is permitted pursuant to, and subject 2291 to the license terms contained in, the Simplified BSD License 2292 set forth in Section 4.c of the IETF Trust's Legal Provisions 2293 Relating to IETF Documents 2294 (http://trustee.ietf.org/license-info). 2296 This version of this YANG module is part of RFC 6338; see 2297 the RFC itself for full legal notices. 2298 "; 2299 revision 2015-07-02 { 2300 description 2301 "Initial revision."; 2302 reference 2303 "https://tools.ietf.org/html/rfc6833"; 2304 } 2305 identity mr { 2306 base lisp:lisp-device; 2307 description 2308 "LISP Map-Resolver."; 2309 } 2310 augment "/lisp:lisp/lisp:devices/lisp:device" { 2311 when "lisp:type = lisp-mr:mr" { 2312 description 2313 "Augment is valid when LISP device type is Map-Resolver."; 2314 } 2315 description 2316 "This augments LISP devices list with Map-Resolver specific 2317 parameters."; 2318 container map-resolver-cfg { 2319 presence "LISP Map-Resolver operation enabled"; 2320 description 2321 "Map-Resolver configuration parameters."; 2322 choice mapping-system { 2323 mandatory true; 2324 description 2325 "Mapping system interface."; 2326 container ddt-mapping-system { 2327 presence "DDT Mapping System in use"; 2328 description 2329 "DDT mapping system interface."; 2330 leaf-list ddt-root { 2331 type inet:ip-address; 2332 description 2333 "List of DDT root addresses."; 2334 } 2335 } 2336 container alt-mapping-system{ 2337 presence "ALT Mapping System in use"; 2338 description 2339 "ALT mapping system interface."; 2340 // TBD 2341 } 2342 } 2343 } 2344 } 2345 } 2346 2348 7. LISP Proxy ITR Module 2350 This module captures the configuration data model of a LISP Proxy ITR 2351 [RFC6832]. The model may also capture some operational data 2352 elements. 2354 7.1. Module Structure 2356 module: ietf-lisp-pitr 2357 augment /lisp:lisp/lisp:devices/lisp:device: 2358 +--rw proxy-itr-cfg! 2359 +--rw servicing-eids 2360 | +--rw eid* [id] 2361 | +--rw id lisp:eid-id 2362 | +--rw eid-address 2363 | +--rw afi lisp-address-family-ref 2364 | +--rw instance-id? instance-id-type 2365 | +--rw (address)? 2366 | +--:(ipv4) 2367 | | +--rw ipv4? inet:ipv4-address 2368 | +--:(ipv6) 2369 | | +--rw ipv6? inet:ipv6-address 2370 | +--:(mac) 2371 | | +--rw mac? yang:mac-address 2372 | +--:(distinguished-name) 2373 | | +--rw distinguished-name? distinguished-name 2374 | +--:(lcaf) 2375 | +--rw lcaf 2376 | +--rw lcaf-type lcaf-ref 2377 | +--rw (address)? 2378 | +--:(null-address) 2379 | | +--rw null-address 2380 | | +--rw address? empty 2381 | +--:(afi-list) 2382 | | +--rw afi-list 2383 | | +--rw address-list* simple-address 2384 | +--:(instance-id) 2385 | | +--rw instance-id 2386 | | +--rw instance-id? instance-id-type 2387 | | +--rw mask-length? uint8 2388 | | +--rw address? simple-address 2389 | +--:(as-number) 2390 | | +--rw as-number 2391 | | +--rw as? inet:as-number 2392 | | +--rw address? simple-address 2393 | +--:(application-data) 2394 | | +--rw application-data 2395 | | +--rw address? simple-address 2396 | | +--rw protocol? uint8 2397 | | +--rw ip-tos? int32 2398 | | +--rw local-port-low? inet:port-number 2399 | | +--rw local-port-high? inet:port-number 2400 | | +--rw remote-port-low? inet:port-number 2401 | | +--rw remote-port-high? inet:port-number 2402 | +--:(geo-coordinates) 2403 | | +--rw geo-coordinates 2404 | | +--rw latitude? bits 2405 | | +--rw latitude-degrees? uint8 2406 | | +--rw latitude-minutes? uint8 2407 | | +--rw latitude-seconds? uint8 2408 | | +--rw longitude? bits 2409 | | +--rw longitude-degrees? uint16 2410 | | +--rw longitude-minutes? uint8 2411 | | +--rw longitude-seconds? uint8 2412 | | +--rw altitude? int32 2413 | | +--rw address? simple-address 2414 | +--:(nat-traversal) 2415 | | +--rw nat-traversal 2416 | | +--rw ms-udp-port? uint16 2417 | | +--rw etr-udp-port? uint16 2418 | | +--rw global-etr-rloc? simple-address 2419 | | +--rw ms-rloc? simple-address 2420 | | +--rw private-etr-rloc? simple-address 2421 | | +--rw rtr-rlocs* simple-address 2422 | +--:(explicit-locator-path) 2423 | | +--rw explicit-locator-path 2424 | | +--rw hop* [address] 2425 | | +--rw address simple-address 2426 | | +--rw lrs-bits? bits 2427 | +--:(sourc-dest-key) 2428 | +--rw sourc-dest-key 2429 | +--rw source? inet:ip-prefix 2430 | +--rw dest? inet:ip-prefix 2431 +--rw map-resolvers 2432 | +--rw map-resolver* [id] 2433 | +--rw id lisp:eid-id 2434 | +--rw eid 2435 | | +--rw afi lisp-address-family-ref 2436 | | +--rw instance-id? instance-id-type 2437 | | +--rw (address)? 2438 | | +--:(ipv4) 2439 | | | +--rw ipv4? inet:ipv4-address 2440 | | +--:(ipv6) 2441 | | | +--rw ipv6? inet:ipv6-address 2442 | | +--:(mac) 2443 | | | +--rw mac? yang:mac-address 2444 | | +--:(distinguished-name) 2445 | | | +--rw distinguished-name? distinguished-name 2446 | | +--:(lcaf) 2447 | | +--rw lcaf 2448 | | +--rw lcaf-type lcaf-ref 2449 | | +--rw (address)? 2450 | | +--:(null-address) 2451 | | | +--rw null-address 2452 | | | +--rw address? empty 2453 | | +--:(afi-list) 2454 | | | +--rw afi-list 2455 | | | +--rw address-list* simple-address 2456 | | +--:(instance-id) 2457 | | | +--rw instance-id 2458 | | | +--rw instance-id? instance-id-type 2459 | | | +--rw mask-length? uint8 2460 | | | +--rw address? simple-address 2461 | | +--:(as-number) 2462 | | | +--rw as-number 2463 | | | +--rw as? inet:as-number 2464 | | | +--rw address? simple-address 2465 | | +--:(application-data) 2466 | | | +--rw application-data 2467 | | | +--rw address? simple-address 2468 | | | +--rw protocol? uint8 2469 | | | +--rw ip-tos? int32 2470 | | | +--rw local-port-low? inet:port-number 2471 | | | +--rw local-port-high? inet:port-number 2472 | | | +--rw remote-port-low? inet:port-number 2473 | | | +--rw remote-port-high? inet:port-number 2474 | | +--:(geo-coordinates) 2475 | | | +--rw geo-coordinates 2476 | | | +--rw latitude? bits 2477 | | | +--rw latitude-degrees? uint8 2478 | | | +--rw latitude-minutes? uint8 2479 | | | +--rw latitude-seconds? uint8 2480 | | | +--rw longitude? bits 2481 | | | +--rw longitude-degrees? uint16 2482 | | | +--rw longitude-minutes? uint8 2483 | | | +--rw longitude-seconds? uint8 2484 | | | +--rw altitude? int32 2485 | | | +--rw address? simple-address 2486 | | +--:(nat-traversal) 2487 | | | +--rw nat-traversal 2488 | | | +--rw ms-udp-port? uint16 2489 | | | +--rw etr-udp-port? uint16 2490 | | | +--rw global-etr-rloc? simple-address 2491 | | | +--rw ms-rloc? simple-address 2492 | | | +--rw private-etr-rloc? simple-address 2493 | | | +--rw rtr-rlocs* simple-address 2494 | | +--:(explicit-locator-path) 2495 | | | +--rw explicit-locator-path 2496 | | | +--rw hop* [address] 2497 | | | +--rw address simple-address 2498 | | | +--rw lrs-bits? bits 2499 | | +--:(sourc-dest-key) 2500 | | +--rw sourc-dest-key 2501 | | +--rw source? inet:ip-prefix 2502 | | +--rw dest? inet:ip-prefix 2503 | +--rw address* inet:ip-address 2504 +--rw static-mappings 2505 +--rw mapping* [id] 2506 +--rw id eid-id 2507 +--rw eid 2508 | +--rw afi lisp-address-family-ref 2509 | +--rw instance-id? instance-id-type 2510 | +--rw (address)? 2511 | +--:(ipv4) 2512 | | +--rw ipv4? inet:ipv4-address 2513 | +--:(ipv6) 2514 | | +--rw ipv6? inet:ipv6-address 2515 | +--:(mac) 2516 | | +--rw mac? yang:mac-address 2517 | +--:(distinguished-name) 2518 | | +--rw distinguished-name? distinguished-name 2519 | +--:(lcaf) 2520 | +--rw lcaf 2521 | +--rw lcaf-type lcaf-ref 2522 | +--rw (address)? 2523 | +--:(null-address) 2524 | | +--rw null-address 2525 | | +--rw address? empty 2526 | +--:(afi-list) 2527 | | +--rw afi-list 2528 | | +--rw address-list* simple-address 2529 | +--:(instance-id) 2530 | | +--rw instance-id 2531 | | +--rw instance-id? instance-id-type 2532 | | +--rw mask-length? uint8 2533 | | +--rw address? simple-address 2534 | +--:(as-number) 2535 | | +--rw as-number 2536 | | +--rw as? inet:as-number 2537 | | +--rw address? simple-address 2538 | +--:(application-data) 2539 | | +--rw application-data 2540 | | +--rw address? simple-address 2541 | | +--rw protocol? uint8 2542 | | +--rw ip-tos? int32 2543 | | +--rw local-port-low? inet:port-number 2544 | | +--rw local-port-high? inet:port-number 2545 | | +--rw remote-port-low? inet:port-number 2546 | | +--rw remote-port-high? inet:port-number 2547 | +--:(geo-coordinates) 2548 | | +--rw geo-coordinates 2549 | | +--rw latitude? bits 2550 | | +--rw latitude-degrees? uint8 2551 | | +--rw latitude-minutes? uint8 2552 | | +--rw latitude-seconds? uint8 2553 | | +--rw longitude? bits 2554 | | +--rw longitude-degrees? uint16 2555 | | +--rw longitude-minutes? uint8 2556 | | +--rw longitude-seconds? uint8 2557 | | +--rw altitude? int32 2558 | | +--rw address? simple-address 2559 | +--:(nat-traversal) 2560 | | +--rw nat-traversal 2561 | | +--rw ms-udp-port? uint16 2562 | | +--rw etr-udp-port? uint16 2563 | | +--rw global-etr-rloc? simple-address 2564 | | +--rw ms-rloc? simple-address 2565 | | +--rw private-etr-rloc? simple-address 2566 | | +--rw rtr-rlocs* simple-address 2567 | +--:(explicit-locator-path) 2568 | | +--rw explicit-locator-path 2569 | | +--rw hop* [address] 2570 | | +--rw address simple-address 2571 | | +--rw lrs-bits? bits 2572 | +--:(sourc-dest-key) 2573 | +--rw sourc-dest-key 2574 | +--rw source? inet:ip-prefix 2575 | +--rw dest? inet:ip-prefix 2576 +--rw ttl? uint32 2577 +--rw authoritative? bits 2578 +--rw (locator-list)? 2579 +--:(negative-mapping) 2580 | +--rw map-reply-action? map-reply-action 2581 +--:(positive-mapping) 2582 +--rw rlocs 2583 +--rw rloc* [id] 2584 +--rw id string 2585 +--rw (address-type)? 2586 | +--:(interface-name) 2587 | | +--rw interface? if:interface-state-ref 2588 | +--:(address) 2589 | +--rw locator-address 2590 | +--rw afi lisp-address-family-ref 2591 | +--rw instance-id? instance-id-type 2592 | +--rw (address)? 2593 | +--:(ipv4) 2594 | | +--rw ipv4? inet:ipv4-address 2595 | +--:(ipv6) 2596 | | +--rw ipv6? inet:ipv6-address 2597 | +--:(mac) 2598 | | +--rw mac? yang:mac-address 2599 | +--:(distinguished-name) 2600 | | +--rw distinguished-name? distinguished-name 2601 | +--:(lcaf) 2602 | +--rw lcaf 2603 | +--rw lcaf-type lcaf-ref 2604 | +--rw (address)? 2605 | +--:(null-address) 2606 | | +--rw null-address 2607 | | +--rw address? empty 2608 | +--:(afi-list) 2609 | | +--rw afi-list 2610 | | +--rw address-list* simple-address 2611 | +--:(instance-id) 2612 | | +--rw instance-id 2613 | | +--rw instance-id? instance-id-type 2614 | | +--rw mask-length? uint8 2615 | | +--rw address? simple-address 2616 | +--:(as-number) 2617 | | +--rw as-number 2618 | | +--rw as? inet:as-number 2619 | | +--rw address? simple-address 2620 | +--:(application-data) 2621 | | +--rw application-data 2622 | | +--rw address? simple-address 2623 | | +--rw protocol? uint8 2624 | | +--rw ip-tos? int32 2625 | | +--rw local-port-low? inet:port-number 2626 | | +--rw local-port-high? inet:port-number 2627 | | +--rw remote-port-low? inet:port-number 2628 | | +--rw remote-port-high? inet:port-number 2629 | +--:(geo-coordinates) 2630 | | +--rw geo-coordinates 2631 | | +--rw latitude? bits 2632 | | +--rw latitude-degrees? uint8 2633 | | +--rw latitude-minutes? uint8 2634 | | +--rw latitude-seconds? uint8 2635 | | +--rw longitude? bits 2636 | | +--rw longitude-degrees? uint16 2637 | | +--rw longitude-minutes? uint8 2638 | | +--rw longitude-seconds? uint8 2639 | | +--rw altitude? int32 2640 | | +--rw address? simple-address 2641 | +--:(nat-traversal) 2642 | | +--rw nat-traversal 2643 | | +--rw ms-udp-port? uint16 2644 | | +--rw etr-udp-port? uint16 2645 | | +--rw global-etr-rloc? simple-address 2646 | | +--rw ms-rloc? simple-address 2647 | | +--rw private-etr-rloc? simple-address 2648 | | +--rw rtr-rlocs* simple-address 2649 | +--:(explicit-locator-path) 2650 | | +--rw explicit-locator-path 2651 | | +--rw hop* [address] 2652 | | +--rw address simple-address 2653 | | +--rw lrs-bits? bits 2654 | +--:(sourc-dest-key) 2655 | +--rw sourc-dest-key 2656 | +--rw source? inet:ip-prefix 2657 | +--rw dest? inet:ip-prefix 2658 +--rw priority? uint8 2659 +--rw weight? uint8 2660 +--rw multicast-priority? uint8 2661 +--rw multicast-weight? uint8 2662 augment /lisp:lisp-state/lisp:devices/lisp:device: 2663 +--ro pitr-state 2664 +--ro learned-mappings 2665 +--ro mapping* [id] 2666 +--ro id eid-id 2667 +--ro eid 2668 | +--ro afi lisp-address-family-ref 2669 | +--ro instance-id? instance-id-type 2670 | +--ro (address)? 2671 | +--:(ipv4) 2672 | | +--ro ipv4? inet:ipv4-address 2673 | +--:(ipv6) 2674 | | +--ro ipv6? inet:ipv6-address 2675 | +--:(mac) 2676 | | +--ro mac? yang:mac-address 2677 | +--:(distinguished-name) 2678 | | +--ro distinguished-name? distinguished-name 2679 | +--:(lcaf) 2680 | +--ro lcaf 2681 | +--ro lcaf-type lcaf-ref 2682 | +--ro (address)? 2683 | +--:(null-address) 2684 | | +--ro null-address 2685 | | +--ro address? empty 2686 | +--:(afi-list) 2687 | | +--ro afi-list 2688 | | +--ro address-list* simple-address 2689 | +--:(instance-id) 2690 | | +--ro instance-id 2691 | | +--ro instance-id? instance-id-type 2692 | | +--ro mask-length? uint8 2693 | | +--ro address? simple-address 2694 | +--:(as-number) 2695 | | +--ro as-number 2696 | | +--ro as? inet:as-number 2697 | | +--ro address? simple-address 2698 | +--:(application-data) 2699 | | +--ro application-data 2700 | | +--ro address? simple-address 2701 | | +--ro protocol? uint8 2702 | | +--ro ip-tos? int32 2703 | | +--ro local-port-low? inet:port-number 2704 | | +--ro local-port-high? inet:port-number 2705 | | +--ro remote-port-low? inet:port-number 2706 | | +--ro remote-port-high? inet:port-number 2707 | +--:(geo-coordinates) 2708 | | +--ro geo-coordinates 2709 | | +--ro latitude? bits 2710 | | +--ro latitude-degrees? uint8 2711 | | +--ro latitude-minutes? uint8 2712 | | +--ro latitude-seconds? uint8 2713 | | +--ro longitude? bits 2714 | | +--ro longitude-degrees? uint16 2715 | | +--ro longitude-minutes? uint8 2716 | | +--ro longitude-seconds? uint8 2717 | | +--ro altitude? int32 2718 | | +--ro address? simple-address 2719 | +--:(nat-traversal) 2720 | | +--ro nat-traversal 2721 | | +--ro ms-udp-port? uint16 2722 | | +--ro etr-udp-port? uint16 2723 | | +--ro global-etr-rloc? simple-address 2724 | | +--ro ms-rloc? simple-address 2725 | | +--ro private-etr-rloc? simple-address 2726 | | +--ro rtr-rlocs* simple-address 2727 | +--:(explicit-locator-path) 2728 | | +--ro explicit-locator-path 2729 | | +--ro hop* [address] 2730 | | +--ro address simple-address 2731 | | +--ro lrs-bits? bits 2732 | +--:(sourc-dest-key) 2733 | +--ro sourc-dest-key 2734 | +--ro source? inet:ip-prefix 2735 | +--ro dest? inet:ip-prefix 2736 +--ro ttl? uint32 2737 +--ro authoritative? bits 2738 +--ro (locator-list)? 2739 +--:(negative-mapping) 2740 | +--ro map-reply-action? map-reply-action 2741 +--:(positive-mapping) 2742 +--ro rlocs 2743 +--ro rloc* [id] 2744 +--ro id string 2745 +--ro (address-type)? 2746 | +--:(interface-name) 2747 | | +--ro interface? if:interface-state-ref 2748 | +--:(address) 2749 | +--ro locator-address 2750 | +--ro afi lisp-address-family-ref 2751 | +--ro instance-id? instance-id-type 2752 | +--ro (address)? 2753 | +--:(ipv4) 2754 | | +--ro ipv4? inet:ipv4-address 2755 | +--:(ipv6) 2756 | | +--ro ipv6? inet:ipv6-address 2757 | +--:(mac) 2758 | | +--ro mac? yang:mac-address 2759 | +--:(distinguished-name) 2760 | | +--ro distinguished-name? distinguished-name 2761 | +--:(lcaf) 2762 | +--ro lcaf 2763 | +--ro lcaf-type lcaf-ref 2764 | +--ro (address)? 2765 | +--:(null-address) 2766 | | +--ro null-address 2767 | | +--ro address? empty 2768 | +--:(afi-list) 2769 | | +--ro afi-list 2770 | | +--ro address-list* simple-address 2771 | +--:(instance-id) 2772 | | +--ro instance-id 2773 | | +--ro instance-id? instance-id-type 2774 | | +--ro mask-length? uint8 2775 | | +--ro address? simple-address 2776 | +--:(as-number) 2777 | | +--ro as-number 2778 | | +--ro as? inet:as-number 2779 | | +--ro address? simple-address 2780 | +--:(application-data) 2781 | | +--ro application-data 2782 | | +--ro address? simple-address 2783 | | +--ro protocol? uint8 2784 | | +--ro ip-tos? int32 2785 | | +--ro local-port-low? inet:port-number 2786 | | +--ro local-port-high? inet:port-number 2787 | | +--ro remote-port-low? inet:port-number 2788 | | +--ro remote-port-high? inet:port-number 2789 | +--:(geo-coordinates) 2790 | | +--ro geo-coordinates 2791 | | +--ro latitude? bits 2792 | | +--ro latitude-degrees? uint8 2793 | | +--ro latitude-minutes? uint8 2794 | | +--ro latitude-seconds? uint8 2795 | | +--ro longitude? bits 2796 | | +--ro longitude-degrees? uint16 2797 | | +--ro longitude-minutes? uint8 2798 | | +--ro longitude-seconds? uint8 2799 | | +--ro altitude? int32 2800 | | +--ro address? simple-address 2801 | +--:(nat-traversal) 2802 | | +--ro nat-traversal 2803 | | +--ro ms-udp-port? uint16 2804 | | +--ro etr-udp-port? uint16 2805 | | +--ro global-etr-rloc? simple-address 2806 | | +--ro ms-rloc? simple-address 2807 | | +--ro private-etr-rloc? simple-address 2808 | | +--ro rtr-rlocs* simple-address 2809 | +--:(explicit-locator-path) 2810 | | +--ro explicit-locator-path 2811 | | +--ro hop* [address] 2812 | | +--ro address simple-address 2813 | | +--ro lrs-bits? bits 2814 | +--:(sourc-dest-key) 2815 | +--ro sourc-dest-key 2816 | +--ro source? inet:ip-prefix 2817 | +--ro dest? inet:ip-prefix 2818 +--ro priority? uint8 2819 +--ro weight? uint8 2820 +--ro multicast-priority? uint8 2821 +--ro multicast-weight? uint8 2823 7.2. Module Definition 2825 file "ietf-lisp-pitr@2015-07-02.yang" 2826 module ietf-lisp-pitr { 2827 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-pitr"; 2828 prefix lisp-pitr; 2829 import ietf-lisp { 2830 prefix lisp; 2831 } 2832 import ietf-lisp-address-types { 2833 prefix lcaf; 2834 } 2835 import ietf-inet-types { 2836 prefix inet; 2837 } 2838 organization 2839 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 2840 contact 2841 "lisp@ietf.org"; 2842 description 2843 "This YANG module defines the generic configuration 2844 data for a LISP PITR. The module can be extended by vendors 2845 to define vendor-specific configuration parameters and 2846 policies. 2848 Copyright (c) 2015 IETF Trust and the persons identified as 2849 authors of the code. All rights reserved. 2851 Redistribution and use in source and binary forms, with or 2852 without modification, is permitted pursuant to, and subject 2853 to the license terms contained in, the Simplified BSD License 2854 set forth in Section 4.c of the IETF Trust's Legal Provisions 2855 Relating to IETF Documents 2856 (http://trustee.ietf.org/license-info). 2858 This version of this YANG module is part of RFC 6338; see 2859 the RFC itself for full legal notices. 2860 "; 2861 revision 2015-07-02 { 2862 description 2863 "Initial revision."; 2864 reference 2865 "https://tools.ietf.org/html/rfc6832"; 2866 } 2867 identity pitr { 2868 base lisp:lisp-device; 2869 description 2870 "LISP PITR."; 2871 } 2872 augment "/lisp:lisp/lisp:devices/lisp:device" { 2873 when "lisp:type = lisp-pitr:pitr" { 2874 description 2875 "Augment is valid when LISP device type is PITR."; 2877 } 2878 description 2879 "This augments LISP devices list with PITR specific 2880 parameters."; 2881 container proxy-itr-cfg { 2882 presence "LISP PITR operation enabled"; 2883 description 2884 "Proxy-ITR configuration parameters."; 2885 container servicing-eids { 2886 description 2887 "EIDs serviced by the PITR."; 2888 list eid { 2889 key "id"; 2890 description 2891 "List of EIDs serviced by the PITR."; 2892 leaf id { 2893 type lisp:eid-id; 2894 description 2895 "Id of serviced EID."; 2896 } 2897 container eid-address { 2898 uses lcaf:lisp-address; 2899 description 2900 "Serviced EID address in generic LISP address format."; 2901 } 2902 } 2903 } 2905 container map-resolvers { 2906 description 2907 "Map-Resolvers configured for PITR."; 2908 list map-resolver { 2909 key "id"; 2910 description 2911 "List of Map-Resolvers configured for PITR."; 2912 leaf id { 2913 type lisp:eid-id; 2914 description 2915 "Id of EID for which the Map-Resolver is used."; 2916 } 2917 container eid { 2918 uses lcaf:lisp-address; 2919 description 2920 "EID for which the Map-Resolver is used."; 2921 } 2922 leaf-list address { 2923 type inet:ip-address; 2924 min-elements 1; 2925 description 2926 "List of Map-Resolver's addresses."; 2927 } 2928 } 2929 } 2930 container static-mappings{ 2931 uses lisp:mappings; 2932 description 2933 "EID to RLOCs mappings cache."; 2934 } 2935 } 2936 } 2937 augment "/lisp:lisp-state/lisp:devices/lisp:device" { 2938 when "lisp:type = lisp-pitr:pitr" { 2939 description 2940 "Augment is valid when LISP device type is PITR."; 2941 } 2942 description 2943 "This augments LISP devices list state with PITR specific 2944 parameters."; 2945 container pitr-state { 2946 config false; 2947 description 2948 "ITR state."; 2949 container learned-mappings { 2950 uses lisp:mappings; 2951 description 2952 "EID to RLOCs mappings cache."; 2953 } 2954 } 2955 } 2956 } 2957 2959 8. LISP Proxy ETR Module 2961 This module captures the configuration data model of a LISP Proxy ETR 2962 [RFC6832]. The model may also capture some operational data 2963 elements. 2965 8.1. Module Structure 2967 module: ietf-lisp-petr 2968 augment /lisp:lisp/lisp:devices/lisp:device: 2969 +--rw proxy-etr-cfg! 2970 +--rw servicing-eids 2971 +--rw eid* [id] 2972 +--rw id lisp:eid-id 2973 +--rw eid-address 2974 +--rw afi lisp-address-family-ref 2975 +--rw instance-id? instance-id-type 2976 +--rw (address)? 2977 +--:(ipv4) 2978 | +--rw ipv4? inet:ipv4-address 2979 +--:(ipv6) 2980 | +--rw ipv6? inet:ipv6-address 2981 +--:(mac) 2982 | +--rw mac? yang:mac-address 2983 +--:(distinguished-name) 2984 | +--rw distinguished-name? distinguished-name 2985 +--:(lcaf) 2986 +--rw lcaf 2987 +--rw lcaf-type lcaf-ref 2988 +--rw (address)? 2989 +--:(null-address) 2990 | +--rw null-address 2991 | +--rw address? empty 2992 +--:(afi-list) 2993 | +--rw afi-list 2994 | +--rw address-list* simple-address 2995 +--:(instance-id) 2996 | +--rw instance-id 2997 | +--rw instance-id? instance-id-type 2998 | +--rw mask-length? uint8 2999 | +--rw address? simple-address 3000 +--:(as-number) 3001 | +--rw as-number 3002 | +--rw as? inet:as-number 3003 | +--rw address? simple-address 3004 +--:(application-data) 3005 | +--rw application-data 3006 | +--rw address? simple-address 3007 | +--rw protocol? uint8 3008 | +--rw ip-tos? int32 3009 | +--rw local-port-low? inet:port-number 3010 | +--rw local-port-high? inet:port-number 3011 | +--rw remote-port-low? inet:port-number 3012 | +--rw remote-port-high? inet:port-number 3013 +--:(geo-coordinates) 3014 | +--rw geo-coordinates 3015 | +--rw latitude? bits 3016 | +--rw latitude-degrees? uint8 3017 | +--rw latitude-minutes? uint8 3018 | +--rw latitude-seconds? uint8 3019 | +--rw longitude? bits 3020 | +--rw longitude-degrees? uint16 3021 | +--rw longitude-minutes? uint8 3022 | +--rw longitude-seconds? uint8 3023 | +--rw altitude? int32 3024 | +--rw address? simple-address 3025 +--:(nat-traversal) 3026 | +--rw nat-traversal 3027 | +--rw ms-udp-port? uint16 3028 | +--rw etr-udp-port? uint16 3029 | +--rw global-etr-rloc? simple-address 3030 | +--rw ms-rloc? simple-address 3031 | +--rw private-etr-rloc? simple-address 3032 | +--rw rtr-rlocs* simple-address 3033 +--:(explicit-locator-path) 3034 | +--rw explicit-locator-path 3035 | +--rw hop* [address] 3036 | +--rw address simple-address 3037 | +--rw lrs-bits? bits 3038 +--:(sourc-dest-key) 3039 +--rw sourc-dest-key 3040 +--rw source? inet:ip-prefix 3041 +--rw dest? inet:ip-prefix 3043 8.2. Module Definition 3045 file "ietf-lisp-petr@2015-07-02.yang" 3046 module ietf-lisp-petr { 3047 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-petr"; 3048 prefix lisp-petr; 3049 import ietf-lisp { 3050 prefix lisp; 3051 } 3052 import ietf-lisp-address-types { 3053 prefix lcaf; 3054 } 3055 organization 3056 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 3057 contact 3058 "lisp@ietf.org"; 3059 description 3060 "This YANG module defines the generic configuration 3061 data for a LISP PETR. The module can be extended by vendors to 3062 define vendor-specific configuration parameters and policies. 3064 Copyright (c) 2015 IETF Trust and the persons identified as 3065 authors of the code. All rights reserved. 3067 Redistribution and use in source and binary forms, with or 3068 without modification, is permitted pursuant to, and subject 3069 to the license terms contained in, the Simplified BSD License 3070 set forth in Section 4.c of the IETF Trust's Legal Provisions 3071 Relating to IETF Documents 3072 (http://trustee.ietf.org/license-info). 3074 This version of this YANG module is part of RFC 6338; see 3075 the RFC itself for full legal notices. 3076 "; 3077 revision 2015-07-02 { 3078 description 3079 "Initial revision."; 3080 reference 3081 "https://tools.ietf.org/html/rfc6832"; 3082 } 3083 identity petr { 3084 base lisp:lisp-device; 3085 description 3086 "LISP PETR."; 3087 } 3088 augment "/lisp:lisp/lisp:devices/lisp:device" { 3089 when "lisp:type = lisp-petr:petr" { 3090 description 3091 "Augment is valid when LISP device type is PETR."; 3092 } 3093 description 3094 "This augments LISP devices list with PETR specific 3095 parameters."; 3096 container proxy-etr-cfg { 3097 presence "LISP PETR operation enabled"; 3098 description 3099 "Proxy ETR configuration parameters."; 3100 container servicing-eids { 3101 description 3102 "EIDs serviced by the PETR."; 3103 list eid { 3104 key "id"; 3105 description 3106 "List of EIDs serviced by the PETR."; 3107 leaf id { 3108 type lisp:eid-id; 3109 description 3110 "Id of serviced EID."; 3111 } 3112 container eid-address { 3113 uses lcaf:lisp-address; 3114 description 3115 "Serviced EID in generic LISP address format."; 3116 } 3118 } 3119 } 3120 } 3121 } 3122 } 3123 3125 9. LISP Address Types 3127 This module captures the various LISP address types, and is an 3128 essential building block used in other LISP modules. 3130 9.1. Module Definition 3132 file "ietf-lisp-address-types@2015-11-05.yang" 3133 module ietf-lisp-address-types { 3134 namespace "urn:ietf:params:xml:ns:yang:ietf-lisp-address-types"; 3135 prefix laddr; 3136 import ietf-inet-types { 3137 prefix inet; 3138 //revision-date 2010-09-24; 3139 } 3140 import ietf-yang-types { 3141 prefix yang; 3142 //revision-date 2010-09-24; 3143 } 3144 organization 3145 "IETF LISP (Locator/ID Separation Protocol) Working Group"; 3146 contact 3147 "lisp@ietf.org"; 3148 description 3149 "This YANG module defines the LISP Canonical Address Formats 3150 (LCAF) for LISP. The module can be extended by vendors to 3151 define vendor-specific parameters. 3153 Copyright (c) 2014 IETF Trust and the persons identified as 3154 authors of the code. All rights reserved. 3156 Redistribution and use in source and binary forms, with or 3157 without modification, is permitted pursuant to, and subject 3158 to the license terms contained in, the Simplified BSD License 3159 set forth in Section 4.c of the IETF Trust's Legal Provisions 3160 Relating to IETF Documents 3161 (http://trustee.ietf.org/license-info). 3163 This version of this YANG module is part of RFC 6338; see 3164 the RFC itself for full legal notices. 3166 "; 3167 revision 2015-11-05 { 3168 description 3169 "Initial revision."; 3170 reference 3171 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10"; 3172 } 3173 identity lisp-address-family { 3174 description 3175 "Base identity from which identities describing LISP address 3176 families are derived."; 3177 } 3178 identity no-address-afi { 3179 base lisp-address-family; 3180 description 3181 "IANA Reserved."; 3182 } 3183 identity ipv4-afi { 3184 base lisp-address-family; 3185 description 3186 "IANA IPv4 address family."; 3187 } 3188 identity ipv4-prefix-afi { 3189 base lisp-address-family; 3190 description 3191 "IANA IPv4 address family prefix."; 3192 } 3193 identity ipv6-afi { 3194 base lisp-address-family; 3195 description 3196 "IANA IPv6 address family."; 3197 } 3198 identity ipv6-prefix-afi { 3199 base lisp-address-family; 3200 description 3201 "IANA IPv6 address family prefix."; 3202 } 3203 identity mac-afi { 3204 base lisp-address-family; 3205 description 3206 "IANA MAC address family."; 3207 } 3208 identity distinguished-name-afi { 3209 base lisp-address-family; 3210 description 3211 "IANA Distinguished Name address family."; 3212 } 3213 identity as-number-afi { 3214 base lisp-address-family; 3215 description 3216 "IANA AS Number address family."; 3217 } 3218 identity lcaf { 3219 base lisp-address-family; 3220 description 3221 "IANA LISP Canonical Address Format address family."; 3222 } 3223 identity null-address-lcaf { 3224 base lcaf; 3225 description 3226 "Null body LCAF type."; 3227 } 3228 identity afi-list-lcaf { 3229 base lcaf; 3230 description 3231 "AFI-List LCAF type."; 3232 } 3233 identity instance-id-lcaf { 3234 base lcaf; 3235 description 3236 "Instance-ID LCAF type."; 3237 } 3238 identity as-number-lcaf { 3239 base lcaf; 3240 description 3241 "AS Number LCAF type."; 3242 } 3243 identity application-data-lcaf { 3244 base lcaf; 3245 description 3246 "Application Data LCAF type."; 3247 } 3248 identity geo-coordinates-lcaf { 3249 base lcaf; 3250 description 3251 "Geo-coordinates LCAF type."; 3252 } 3253 identity opaque-key-lcaf { 3254 base lcaf; 3255 description 3256 "Opaque Key LCAF type."; 3257 } 3258 identity nat-traversal-lcaf { 3259 base lcaf; 3260 description 3261 "NAT-Traversal LCAF type."; 3263 } 3264 identity nonce-locator-lcaf { 3265 base lcaf; 3266 description 3267 "Nonce-Locator LCAF type."; 3268 } 3269 identity multicast-info-lcaf { 3270 base lcaf; 3271 description 3272 "Multicast Info LCAF type."; 3273 } 3274 identity explicit-locator-path-lcaf { 3275 base lcaf; 3276 description 3277 "Explicit Locator Path LCAF type."; 3278 } 3279 identity security-key-lcaf { 3280 base lcaf; 3281 description 3282 "Security Key LCAF type."; 3283 } 3284 identity source-dest-key-lcaf { 3285 base lcaf; 3286 description 3287 "Source/Dest LCAF type."; 3288 } 3289 identity replication-list-lcaf { 3290 base lcaf; 3291 description 3292 "Replication-List LCAF type."; 3293 } 3294 identity json-data-model-lcaf { 3295 base lcaf; 3296 description 3297 "JSON Data Model LCAF type."; 3298 } 3299 identity key-value-address-lcaf { 3300 base lcaf; 3301 description 3302 "Key/Value Address LCAF type."; 3303 } 3304 identity encapsulation-format-lcaf { 3305 base lcaf; 3306 description 3307 "Encapsulation Format LCAF type."; 3308 } 3309 identity service-path-lcaf { 3310 base lcaf; 3311 description 3312 "Service Path LCAF type."; 3313 } 3314 typedef instance-id-type { 3315 type uint32 { 3316 range "0..16777215"; 3317 } 3318 description 3319 "Defines the range of values for an Instance ID."; 3320 } 3321 typedef service-path-id-type { 3322 type uint32 { 3323 range "0..16777215"; 3324 } 3325 description 3326 "Defines the range of values for a Service Path ID."; 3327 } 3328 typedef distinguished-name-type { 3329 type string; 3330 description 3331 "Distinguished Name address."; 3332 reference 3333 "http://www.iana.org/assignments/address-family-numbers/ 3334 address-family-numbers.xhtml"; 3335 } 3336 typedef simple-address { 3337 type union { 3338 type inet:ip-address; 3339 type inet:ip-prefix; 3340 type yang:mac-address; 3341 type distinguished-name-type; 3342 type inet:as-number; 3343 } 3344 description 3345 "Union of address types that can be part of LCAFs."; 3346 } 3348 typedef lisp-address-family-ref { 3349 type identityref { 3350 base lisp-address-family; 3351 } 3352 description 3353 "LISP address family reference."; 3354 } 3355 typedef lcaf-ref { 3356 type identityref { 3357 base lcaf; 3358 } 3359 description 3360 "LCAF types reference."; 3361 } 3363 grouping lisp-address { 3364 description 3365 "Generic LISP address."; 3366 leaf address-type { 3367 type lisp-address-family-ref; 3368 mandatory true; 3369 description 3370 "Type of the LISP address."; 3371 } 3372 leaf virtual-network-id { 3373 type instance-id-type; 3374 description 3375 "Virtual Network Identifier (instance-id) of the address."; 3376 } 3377 choice address { 3378 description 3379 "Various LISP address types, including IP, MAC, and LCAF."; 3381 leaf no-address { 3382 when "../../address-type = 'laddr:no-addr-afi'" { 3383 description 3384 "When AFI is 0."; 3385 } 3386 type empty; 3387 description 3388 "No address."; 3389 } 3390 leaf ipv4 { 3391 when "../../address-type = 'laddr:ipv4-afi'" { 3392 description 3393 "When AFI is IPv4."; 3394 } 3395 type inet:ipv4-address; 3396 description 3397 "IPv4 address."; 3398 } 3399 leaf ipv4-prefix { 3400 when "../../address-type = 'laddr:ipv4-prefix-afi'" { 3401 description 3402 "When AFI is IPv4."; 3403 } 3404 type inet:ipv4-prefix; 3405 description 3406 "IPv4 prefix."; 3408 } 3409 leaf ipv6 { 3410 when "../../address-type = 'laddr:ipv6-afi'" { 3411 description 3412 "When AFI is IPv6."; 3413 } 3414 type inet:ipv6-address; 3415 description 3416 "IPv6 address."; 3417 } 3418 leaf ipv6-prefix { 3419 when "../../address-type = 'laddr:ipv6-prefix-afi'" { 3420 description 3421 "When AFI is IPv6."; 3422 } 3423 type inet:ipv6-prefix; 3424 description 3425 "IPv6 address."; 3426 } 3427 leaf mac { 3428 when "../../address-type = 'laddr:mac-afi'" { 3429 description 3430 "When AFI is MAC."; 3431 } 3432 type yang:mac-address; 3433 description 3434 "MAC address."; 3435 } 3436 leaf distinguished-name { 3437 when "../../address-type = 'laddr:distinguished-name-afi'" { 3438 description 3439 "When AFI is distinguished-name."; 3440 } 3441 type distinguished-name-type; 3442 description 3443 "Distinguished Name address."; 3444 } 3445 leaf as-number { 3446 when "../../address-type = 'laddr:as-number-afi'" { 3447 description 3448 "When AFI is as-number."; 3449 } 3450 type inet:as-number; 3451 description 3452 "AS Number."; 3453 } 3454 container null-address { 3455 when "../../address-type = 'null-address-lcaf'" { 3456 description 3457 "When LCAF type is null."; 3458 } 3459 description 3460 "Null body LCAF type"; 3461 leaf address { 3462 type empty; 3463 description 3464 "AFI address."; 3465 } 3466 } 3467 container afi-list { 3468 when "../../address-type = 'afi-list-lcaf'" { 3469 description 3470 "When LCAF type is AFI-List."; 3471 } 3472 description 3473 "AFI-List LCAF type."; 3474 reference 3475 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3476 #section-4.16.1"; 3477 leaf-list address-list { 3478 type simple-address; 3479 description 3480 "List of AFI addresses."; 3481 } 3482 } 3483 container instance-id { 3484 when "../../address-type = 'instance-id-lcaf'" { 3485 description 3486 "When LCAF type is Instance-ID"; 3487 } 3488 description 3489 "Instance ID LCAF type."; 3490 reference 3491 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3492 #section-4.2"; 3493 leaf iid { 3494 type instance-id-type; 3495 description 3496 "Instance ID value."; 3497 } 3498 leaf mask-length { 3499 type uint8; 3500 description 3501 "Mask length."; 3502 } 3503 leaf address { 3504 type simple-address; 3505 description 3506 "AFI address."; 3507 } 3508 } 3509 container as-number-lcaf { 3510 when "../../address-type = 'as-number-lcaf'" { 3511 description 3512 "When LCAF type is AS-Number."; 3513 } 3514 description 3515 "AS Number LCAF type."; 3516 reference 3517 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3518 #section-4.3"; 3519 leaf as { 3520 type inet:as-number; 3521 description 3522 "AS number."; 3523 } 3524 leaf address { 3525 type simple-address; 3526 description 3527 "AFI address."; 3528 } 3529 } 3530 container application-data { 3531 when "../../address-type = 'application-data-lcaf'" { 3532 description 3533 "When LCAF type is Application Data."; 3534 } 3535 description 3536 "Application Data LCAF type."; 3537 reference 3538 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3539 #section-4.4"; 3540 leaf address { 3541 type simple-address; 3542 description 3543 "AFI address."; 3544 } 3545 leaf protocol { 3546 type uint8; 3547 description 3548 "Protocol number."; 3549 } 3550 leaf ip-tos { 3551 type int32; 3552 description 3553 "Type of service field."; 3554 } 3555 leaf local-port-low { 3556 type inet:port-number; 3557 description 3558 "Low end of local port range."; 3559 } 3560 leaf local-port-high { 3561 type inet:port-number; 3562 description 3563 "High end of local port range."; 3564 } 3565 leaf remote-port-low { 3566 type inet:port-number; 3567 description 3568 "Low end of remote port range."; 3569 } 3570 leaf remote-port-high { 3571 type inet:port-number; 3572 description 3573 "High end of remote port range."; 3574 } 3575 } 3576 container geo-coordinates { 3577 when "../../address-type = 'geo-coordinates-lcaf'" { 3578 description 3579 "When LCAF type is Geo-coordinates."; 3580 } 3581 description 3582 "Geo-coordinates LCAF type."; 3583 reference 3584 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3585 #section-4.5"; 3586 leaf latitude { 3587 type bits { 3588 bit N { 3589 description 3590 "Latitude bit."; 3591 } 3592 } 3593 description 3594 "Bit that selects between North and South latitude."; 3595 } 3596 leaf latitude-degrees { 3597 type uint8 { 3598 range "0 .. 90"; 3599 } 3600 description 3601 "Degrees of latitude."; 3602 } 3603 leaf latitude-minutes { 3604 type uint8 { 3605 range "0..59"; 3606 } 3607 description 3608 "Minutes of latitude."; 3609 } 3610 leaf latitude-seconds { 3611 type uint8 { 3612 range "0..59"; 3613 } 3614 description 3615 "Seconds of latitude."; 3616 } 3617 leaf longitude { 3618 type bits { 3619 bit E { 3620 description 3621 "Longitude bit."; 3622 } 3623 } 3624 description 3625 "Bit that selects between East and West longitude."; 3626 } 3627 leaf longitude-degrees { 3628 type uint16 { 3629 range "0 .. 180"; 3630 } 3631 description 3632 "Degrees of longitude."; 3633 } 3634 leaf longitude-minutes { 3635 type uint8 { 3636 range "0..59"; 3637 } 3638 description 3639 "Minutes of longitude."; 3640 } 3641 leaf longitude-seconds { 3642 type uint8 { 3643 range "0..59"; 3644 } 3645 description 3646 "Seconds of longitude."; 3647 } 3648 leaf altitude { 3649 type int32; 3650 description 3651 "Height relative to sea level in meters."; 3652 } 3653 leaf address { 3654 type simple-address; 3655 description 3656 "AFI address."; 3657 } 3658 } 3659 container nat-traversal { 3660 when "../../address-type = 'nat-traversal-lcaf'" { 3661 description 3662 "When LCAF type is NAT-Traversal."; 3663 } 3664 description 3665 "NAT-Traversal LCAF type."; 3666 reference 3667 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3668 #section-4.6"; 3669 leaf ms-udp-port { 3670 type uint16; 3671 description 3672 "Map-Server UDP port (set to 4342)."; 3673 } 3674 leaf etr-udp-port { 3675 type uint16; 3676 description 3677 "ETR UDP port."; 3678 } 3679 leaf global-etr-rloc { 3680 type simple-address; 3681 description 3682 "Global ETR RLOC address."; 3683 } 3684 leaf ms-rloc { 3685 type simple-address; 3686 description 3687 "Map-Server RLOC address."; 3688 } 3689 leaf private-etr-rloc { 3690 type simple-address; 3691 description 3692 "Private ETR RLOC address."; 3693 } 3694 leaf-list rtr-rlocs { 3695 type simple-address; 3696 description 3697 "List of RTR RLOC addresses."; 3698 } 3699 } 3700 container explicit-locator-path { 3701 when "../../address-type = 'explicit-locator-path-lcaf'" { 3702 description 3703 "When LCAF type type is Explicit Locator Path."; 3704 } 3705 description 3706 "Explicit Locator Path LCAF type."; 3707 reference 3708 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3709 #section-4.9"; 3710 list hop { 3711 key "hop-id"; 3712 ordered-by user; 3713 description 3714 "List of locator hops forming the explicit path."; 3715 leaf hop-id { 3716 type string; 3717 description 3718 "Unique identifier for the hop."; 3719 } 3720 leaf address { 3721 type simple-address; 3722 description 3723 "AFI address."; 3724 } 3725 leaf lrs-bits { 3726 type bits{ 3727 bit lookup { 3728 description 3729 "Lookup bit."; 3730 } 3731 bit rloc-probe { 3732 description 3733 "RLOC-probe bit."; 3734 } 3735 bit strict { 3736 description 3737 "Strict bit."; 3738 } 3739 } 3740 description 3741 "Flag bits per hop."; 3742 } 3743 } 3745 } 3746 container source-dest-key { 3747 when "../../address-type = 'source-dest-key-lcaf'" { 3748 description 3749 "When LCAF type type is Source/Dest."; 3750 } 3751 description 3752 "Source/Dest LCAF type."; 3753 reference 3754 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3755 #section-4.11"; 3756 leaf source { 3757 type simple-address; 3758 description 3759 "Source address."; 3760 } 3761 leaf dest { 3762 type simple-address; 3763 description 3764 "Destination address."; 3765 } 3766 } 3767 container key-value-address { 3768 when "../../address-type = 'key-value-address-lcaf'" { 3769 description 3770 "When LCAF type type is Key/Value Address."; 3771 } 3772 description 3773 "Key/Value Address LCAF type."; 3774 reference 3775 "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-10 3776 #section-4.11"; 3777 leaf key { 3778 type simple-address; 3779 description 3780 "Address as Key."; 3781 } 3782 leaf value { 3783 type simple-address; 3784 description 3785 "Address as Value."; 3786 } 3787 } 3788 container service-path { 3789 when "../../address-type = 'service-path-lcaf'" { 3790 description 3791 "When LCAF type service path identifier."; 3792 } 3794 description 3795 "Service Path LCAF type."; 3796 reference 3797 "http://tools.ietf.org/html/draft-ermagan-lisp-nsh-00"; 3798 leaf service-path-id { 3799 type service-path-id-type; 3800 description 3801 "Service path identifier for the path for NSH header"; 3802 } 3803 leaf service-index { 3804 type uint8; 3805 description 3806 "Service path index for NSH header"; 3807 } 3808 } 3809 } 3810 } 3811 } 3812 3814 10. Acknowledgments 3816 The tree view and the YANG model shown in this document have been 3817 formated with the 'pyang' tool. 3819 11. IANA Considerations 3821 This memo includes no request to IANA. 3823 12. Security Considerations 3825 Security Considerations TBD 3827 13. Normative References 3829 [I-D.ietf-lisp-ddt] 3830 Fuller, V., Lewis, D., Ermagan, V., and A. Jain, "LISP 3831 Delegated Database Tree", draft-ietf-lisp-ddt-03 (work in 3832 progress), April 2015. 3834 [I-D.ietf-lisp-lcaf] 3835 Farinacci, D., Meyer, D., and J. Snijders, "LISP Canonical 3836 Address Format (LCAF)", draft-ietf-lisp-lcaf-11 (work in 3837 progress), September 2015. 3839 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 3840 Requirement Levels", BCP 14, RFC 2119, 3841 DOI 10.17487/RFC2119, March 1997, 3842 . 3844 [RFC6830] Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The 3845 Locator/ID Separation Protocol (LISP)", RFC 6830, 3846 DOI 10.17487/RFC6830, January 2013, 3847 . 3849 [RFC6832] Lewis, D., Meyer, D., Farinacci, D., and V. Fuller, 3850 "Interworking between Locator/ID Separation Protocol 3851 (LISP) and Non-LISP Sites", RFC 6832. 3853 [RFC6833] Fuller, V. and D. Farinacci, "Locator/ID Separation 3854 Protocol (LISP) Map-Server Interface", RFC 6833, 3855 DOI 10.17487/RFC6833, January 2013, 3856 . 3858 [RFC6836] Fuller, V., Farinacci, D., Meyer, D., and D. Lewis, 3859 "Locator/ID Separation Protocol Alternative Logical 3860 Topology (LISP+ALT)", RFC 6836, DOI 10.17487/RFC6836, 3861 January 2013, . 3863 Authors' Addresses 3865 Vina Ermagan 3866 Cisco Systems 3867 170 Tasman Drive 3868 San Jose, CA 3869 USA 3871 Email: vermagan@cisco.com 3873 Alberto Rodriguez-Natal 3874 Technical University of Catalonia 3875 Barcelona 3876 Spain 3878 Email: arnatal@ac.upc.edu 3879 Florin Coras 3880 Technical University of Catalonia 3881 Barcelona 3882 Spain 3884 Email: fcoras@ac.upc.edu 3886 Carl Moberg 3887 Cisco Systems 3888 170 W Tasman Dr 3889 San Jose, CA 3890 USA 3892 Email: camoberg@cisco.com 3894 Albert Cabellos-Aparicio 3895 Technical University of Catalonia 3896 Barcelona 3897 Spain 3899 Email: acabello@ac.upc.edu 3901 Fabio Maino 3902 Cisco Systems 3903 170 Tasman Drive 3904 San Jose, CA 3905 USA 3907 Email: fmaino@cisco.com