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 {
228 uses mapping-record-list;
233 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";
234 leaf xtrSiteIdPresent {
243 leaf authenticationData {
246 uses mapping-record-list;
250 grouping MapRequest {
251 reference "http://tools.ietf.org/html/rfc6830#section-6.1.2";
255 leaf mapDataPresent {
273 container SourceEid {
285 uses mapping-record-container;
290 reference "http://tools.ietf.org/html/rfc6830#section-6.1.4";
297 leaf echoNonceEnabled {
300 leaf securityEnabled {
303 uses mapping-record-list;
306 typedef message-type {
316 "Map-Request control packet";
321 "Map-Reply control packet";
326 "Map-Register control packet";
331 "Map-Notify control packet";
336 "Map-Referral control packet";
341 "Info control packet";
343 enum encapsulated-control-message {
346 "Encapsulated control packet";
350 "Defines the LISP control message types";
351 reference "https://tools.ietf.org/html/rfc6830#section-6.1.1";
354 grouping MapRegisterMessage {
355 container MapRegister {
358 uses transport-address;
361 grouping MapRegisterNotification {
362 container MapRegister {
365 uses transport-address;
368 grouping MapNotifyMessage {
369 container MapNotify {
372 uses transport-address;
375 grouping MapNotifyNotification {
376 container MapNotify {
379 uses transport-address;
382 grouping MapRequestMessage {
383 container MapRequest {
386 uses transport-address;
389 grouping MapRequestNotification {
390 container MapRequest {
393 uses transport-address;
396 grouping MapReplyMessage {
400 uses transport-address;
403 grouping MapReplyNotification {
407 uses transport-address;
410 notification addMapping {
411 uses MapRegisterNotification;
414 notification gotMapNotify {
415 uses MapNotifyNotification;
418 notification requestMapping {
419 uses MapRequestNotification;
422 notification gotMapReply {
423 uses MapReplyNotification;
426 notification xtrRequestMapping {
427 uses MapRequestNotification;
430 notification xtrReplyMapping {
431 uses MapReplyNotification;