1 module odl-lisp-proto {
4 namespace "urn:opendaylight:lfm:lisp-proto";
7 import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
8 import ietf-lisp-address-types { prefix lisp-address; revision-date 2015-11-05; }
10 organization "LISP Flow Mapping";
13 "David Goldberg <david.goldberg@contextream.com>
14 Vina Ermagan <vermagan@cisco.com>";
17 "YANG representation of LISP (RFC6830) protocol.";
19 revision "2015-11-05" {
20 description "Renamed the module to lisp-proto.";
21 reference "https://tools.ietf.org/html/rfc6830";
24 typedef ipv4-address-binary {
29 "The ipv4-address-binary type represents an IPv4 address in binary
30 in network byte order.";
33 typedef ipv6-address-binary {
38 "The ipv6-address-binary type represents an IPv6 address in binary
39 in network byte order.";
42 typedef ip-address-binary {
44 type ipv4-address-binary;
45 type ipv6-address-binary;
48 "The ip-address-binary type represents an IP address in binary
49 in network byte order, and is IP version neutral. The length of
50 the byte array implies the IP version.";
53 grouping transport-address {
54 container transport-address {
57 reference "http://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml";
60 type inet:port-number;
65 grouping eid-container {
67 uses lisp-address:lisp-address;
71 grouping rloc-container {
73 uses lisp-address:lisp-address;
87 grouping LocatorRecords {
99 leaf multicastPriority {
102 leaf multicastWeight {
120 grouping mapping-record-metadata {
126 "128 bit xTR identifier.";
133 "64 bit site identifier.";
136 type inet:ip-address;
138 "The Source IP address used for sending the enclosing control
139 packet in RLOC space.";
144 "Milliseconds since January 1, 1970, 00:00:00 GMT";
147 "This is a collection of fields which are not present in the actual
148 mapping record defined in RFC 6830, but are used internally in
152 grouping mapping-record-container {
153 container mapping-record {
166 enum NativelyForward;
177 // locator record list
181 uses mapping-record-metadata;
185 grouping mapping-record-list {
186 list mapping-record-item {
187 key "mapping-record-item-id";
188 leaf mapping-record-item-id {
191 uses mapping-record-container;
208 grouping MapRegister {
209 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";
213 leaf xtrSiteIdPresent {
225 leaf authenticationData {
231 uses mapping-record-list;
236 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";
237 leaf xtrSiteIdPresent {
246 leaf authenticationData {
252 uses mapping-record-list;
256 grouping MapRequest {
257 reference "http://tools.ietf.org/html/rfc6830#section-6.1.2";
261 leaf mapDataPresent {
279 container SourceEid {
291 uses mapping-record-container;
296 reference "http://tools.ietf.org/html/rfc6830#section-6.1.4";
303 leaf echoNonceEnabled {
306 leaf securityEnabled {
309 uses mapping-record-list;
312 typedef message-type {
322 "Map-Request control packet";
327 "Map-Reply control packet";
332 "Map-Register control packet";
337 "Map-Notify control packet";
342 "Map-Referral control packet";
347 "Info control packet";
349 enum encapsulated-control-message {
352 "Encapsulated control packet";
356 "Defines the LISP control message types";
357 reference "https://tools.ietf.org/html/rfc6830#section-6.1.1";
360 grouping MapRegisterMessage {
361 container MapRegister {
364 uses transport-address;
367 grouping MapRegisterNotification {
368 container MapRegister {
371 uses transport-address;
374 grouping MapNotifyMessage {
375 container MapNotify {
378 uses transport-address;
381 grouping MapNotifyNotification {
382 container MapNotify {
385 uses transport-address;
388 grouping MapRequestMessage {
389 container MapRequest {
392 uses transport-address;
395 grouping MapRequestNotification {
396 container MapRequest {
399 uses transport-address;
402 grouping MapReplyMessage {
406 uses transport-address;
409 grouping MapReplyNotification {
413 uses transport-address;
416 notification addMapping {
417 uses MapRegisterNotification;
420 notification gotMapNotify {
421 uses MapNotifyNotification;
424 notification requestMapping {
425 uses MapRequestNotification;
428 notification gotMapReply {
429 uses MapReplyNotification;
432 notification xtrRequestMapping {
433 uses MapRequestNotification;
436 notification xtrReplyMapping {
437 uses MapReplyNotification;