1 module odl-lisp-proto {
4 namespace "urn:opendaylight:lfm:lisp-proto";
7 import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
8 import odl-inet-binary-types { prefix inet-bin; revision-date 2016-03-03; }
9 import odl-lisp-address-types { prefix odl-lisp-address; revision-date 2016-05-04; }
11 organization "LISP Flow Mapping";
14 "David Goldberg <david.goldberg@contextream.com>
15 Vina Ermagan <vermagan@cisco.com>";
18 "YANG representation of LISP (RFC6830) protocol.";
20 revision "2015-11-05" {
21 description "Renamed the module to lisp-proto.";
22 reference "https://tools.ietf.org/html/rfc6830";
30 "128 bit xTR identifier.";
38 "64 bit site identifier.";
41 grouping transport-address {
42 container transport-address {
44 type inet-bin:ip-address-binary;
45 reference "http://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml";
48 type inet:port-number;
53 grouping mapping-authkey-container {
54 container mapping-authkey {
64 grouping eid-container {
66 uses odl-lisp-address:augmented-lisp-address;
70 grouping rloc-container {
72 uses odl-lisp-address:augmented-lisp-address;
86 grouping LocatorRecords {
98 leaf multicastPriority {
101 leaf multicastWeight {
119 grouping map-request-metadata {
121 type inet-bin:ip-address-binary;
123 "The Source IP address used for sending the enclosing control
124 packet in RLOC space.";
127 "This is a collection of fields which are not present in the actual
128 mapping record defined in RFC 6830, but are used internally in
132 grouping mapping-record-metadata {
136 "128 bit xTR identifier.";
141 "64 bit site identifier.";
144 type inet-bin:ip-address-binary;
146 "The Source IP address used for sending the enclosing control
147 packet in RLOC space.";
152 "Milliseconds since January 1, 1970, 00:00:00 GMT";
155 "This is a collection of fields which are not present in the actual
156 mapping record defined in RFC 6830, but are used internally in
160 grouping mapping-record-container {
161 container mapping-record {
165 "A mapping record's time to live in Minute(s)";
173 enum NativelyForward;
184 // locator record list
188 uses mapping-record-metadata;
192 grouping mapping-record-list {
193 list mapping-record-item {
194 key "mapping-record-item-id";
195 leaf mapping-record-item-id {
198 uses mapping-record-container;
211 grouping MapRegister {
212 reference "http://tools.ietf.org/html/rfc6830#section-6.1.6 , http://tools.ietf.org/html/draft-ermagan-lisp-nat-traversal-05#section-4.3";
216 leaf xtrSiteIdPresent {
228 leaf authenticationData {
234 uses mapping-record-list;
239 reference "http://tools.ietf.org/html/rfc6830#section-6.1.7 , http://tools.ietf.org/html/draft-ermagan-lisp-nat-traversal-05#section-4.3";
240 leaf xtrSiteIdPresent {
249 leaf authenticationData {
255 uses mapping-record-list;
259 grouping MapRequest {
260 reference "http://tools.ietf.org/html/rfc6830#section-6.1.2";
264 leaf mapDataPresent {
282 container SourceEid {
294 uses mapping-record-container;
296 uses map-request-metadata;
300 reference "http://tools.ietf.org/html/rfc6830#section-6.1.4";
307 leaf echoNonceEnabled {
310 leaf securityEnabled {
313 uses mapping-record-list;
316 grouping map-register-cache-key-container {
317 container map-register-cache-key {
321 "The EID prefix stored as binary data";
326 "128 bit xTR identifier.";
331 "64 bit site identifier.";
334 "The lookup key in the Map-Register fast path.";
338 grouping map-register-cache-metadata-container {
339 container map-register-cache-metadata {
340 list eid-lisp-address {
341 key "eid-lisp-address-id";
342 leaf eid-lisp-address-id {
346 description "List of EID-Prefixes from Map-Register message.";
351 "128 bit xTR identifier.";
356 "64 bit site identifier.";
361 "Milliseconds since January 1, 1970, 00:00:00 GMT";
363 leaf want-map-notify {
366 "xTR askes for Map-Register acknowledgement in form of
367 a Map-Notify control message.";
371 description "Value of 22th bit in map register message.";
374 "The Map-Register cache metadata is information for a mapping
375 database about mapping update event, without the full Map-Register
376 packet data. The metadata and the packet data together will form
377 the Map-Register cache value.";
381 grouping map-register-cache-value-grouping {
382 container map-register-cache-value {
383 uses map-register-cache-metadata-container;
384 uses mapping-authkey-container;
388 "Map-Register packet contents";
393 grouping subscriber-address-grouping {
394 container subscriber-address {
396 "A network element which subscribed to notifications about mapping changes.";
402 typedef message-type {
412 "Map-Request control packet";
417 "Map-Reply control packet";
422 "Map-Register control packet";
427 "Map-Notify control packet";
432 "Map-Referral control packet";
437 "Info control packet";
439 enum encapsulated-control-message {
442 "Encapsulated control packet";
446 "Defines the LISP control message types";
447 reference "https://tools.ietf.org/html/rfc6830#section-6.1.1";
450 grouping MapRegisterMessage {
451 container MapRegister {
454 uses transport-address;
457 grouping MapRegisterNotification {
458 container MapRegister {
461 uses transport-address;
464 grouping MapNotifyMessage {
465 container MapNotify {
468 uses transport-address;
471 grouping MapNotifyNotification {
472 container MapNotify {
475 uses transport-address;
478 grouping MapRequestMessage {
479 container MapRequest {
482 uses transport-address;
485 grouping MapRequestNotification {
486 container MapRequest {
489 uses transport-address;
492 grouping MapReplyMessage {
496 uses transport-address;
499 grouping MapReplyNotification {
503 uses transport-address;
506 notification addMapping {
507 uses MapRegisterNotification;
510 notification gotMapNotify {
511 uses MapNotifyNotification;
514 notification requestMapping {
515 uses MapRequestNotification;
518 notification gotMapReply {
519 uses MapReplyNotification;
522 notification xtrRequestMapping {
523 uses MapRequestNotification;
526 notification xtrReplyMapping {
527 uses MapReplyNotification;
530 notification mappingKeepAlive {
531 uses map-register-cache-metadata-container;