1 module lfm-control-plane {
4 namespace "urn:opendaylight:lfm-control-plane";
5 prefix "lfm-control-plane";
7 import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
8 import ietf-yang-types { prefix yang; revision-date 2010-09-24; }
9 import yang-ext { prefix ext; revision-date "2013-07-09"; }
11 organization "LISP Flow Mapping";
14 "David Goldberg <david.goldberg@contextream.com>
15 Vina Ermagan <vermagan@cisco.com>";
18 "YANG version of the mapping service.";
20 revision "2015-03-14" {
21 description "Updated for ODL Lithium";
24 typedef mapping-origin {
25 description "The originating entity of an EID-to-RLOC mapping";
33 description "IID as a string lookup key in a URI";
38 description "EID as a string lookup key in a URI";
42 identity instance-id-context {
43 description "A classifier for instance-id elements which allows direct access to a particular element in the data tree.";
46 identity eid-context {
47 description "A classifier for endpoint-id elements which allows direct access to a particular element in the data tree.";
50 grouping TransportAddress {
51 container TransportAddress {
54 reference "http://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml";
57 type inet:port-number;
62 grouping LispAFIAddress {
65 reference "http://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml";
69 grouping LispNoAddress {
77 grouping LispIpv4Address {
84 type inet:ipv4-address;
85 reference "https://tools.ietf.org/html/rfc3209#section-4.6.2.1";
89 grouping LispIpv6Address {
96 type inet:ipv6-address;
100 grouping LispMacAddress {
101 uses LispAFIAddress {
107 type yang:mac-address;
111 grouping LispDistinguishedNameAddress {
112 uses LispAFIAddress {
117 leaf distinguishedName {
122 grouping LispASAddress {
123 uses LispAFIAddress {
133 grouping LispSimpleAddress {
134 choice primitiveAddress {
136 container NoAddress {
141 container Ipv4Address {
142 uses LispIpv4Address;
146 container Ipv6Address {
147 uses LispIpv6Address;
151 container MacAddress {
155 case DistinguishedName {
156 container DistinguishedNameAddress {
157 uses LispDistinguishedNameAddress;
161 container ASAddress {
168 grouping ReencapHop {
170 uses LispSimpleAddress;
183 grouping LispLcafAddress {
184 uses LispAFIAddress {
191 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03";
195 grouping LcafSegmentAddress {
196 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03#section-4.1";
197 uses LispLcafAddress {
204 range "0 .. 16777215";
211 uses LispSimpleAddress;
215 grouping LcafTrafficEngineeringAddress {
216 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03#section-4.1";
217 uses LispLcafAddress {
231 grouping LcafListAddress {
232 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03#section-4.1";
233 uses LispLcafAddress {
243 uses LispSimpleAddress;
247 grouping LcafSourceDestAddress {
248 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03#section-4.11";
249 uses LispLcafAddress {
254 container srcAddress {
255 uses LispSimpleAddress;
257 container dstAddress {
258 uses LispSimpleAddress;
268 grouping LcafKeyValueAddress {
269 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-04#section-4.14";
270 uses LispLcafAddress {
276 uses LispSimpleAddress;
279 uses LispSimpleAddress;
283 grouping LcafApplicationDataAddress {
284 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03#section-4.11";
285 uses LispLcafAddress {
291 uses LispSimpleAddress;
300 type inet:port-number;
303 type inet:port-number;
308 grouping LispAddress {
309 container LispAddressContainer {
312 container NoAddress {
317 container Ipv4Address {
318 uses LispIpv4Address;
322 container Ipv6Address {
323 uses LispIpv6Address;
327 container MacAddress {
331 case DistinguishedName {
332 container distinguishedName {
333 uses LispDistinguishedNameAddress;
342 container LcafSegmentAddr {
343 uses LcafSegmentAddress;
346 case LcafSourceDest {
347 container LcafSourceDestAddr {
348 uses LcafSourceDestAddress;
352 container LcafKeyValueAddressAddr {
353 uses LcafKeyValueAddress;
357 container LcafListAddr {
358 uses LcafListAddress;
361 case LcafApplicationData {
362 container LcafApplicationDataAddr {
363 uses LcafApplicationDataAddress;
366 case LcafTrafficEngineering {
367 container LcafTrafficEngineeringAddr {
368 uses LcafTrafficEngineeringAddress;
375 grouping EidRecords {
384 grouping LocatorRecords {
396 leaf multicastPriority {
399 leaf multicastWeight {
417 grouping EidToLocatorRecord {
430 enum NativelyForward;
441 // locator record list
445 grouping EidToLocatorRecords {
446 list eidToLocatorRecord {
447 uses EidToLocatorRecord;
460 grouping MapRegister {
461 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";
465 leaf xtrSiteIdPresent {
477 leaf authenticationData {
480 uses EidToLocatorRecords;
485 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";
486 leaf xtrSiteIdPresent {
495 leaf authenticationData {
498 uses EidToLocatorRecords;
502 grouping MapRequest {
503 reference "http://tools.ietf.org/html/rfc6830#section-6.1.2";
507 leaf mapDataPresent {
525 container SourceEid {
533 uses EidToLocatorRecord;
538 reference "http://tools.ietf.org/html/rfc6830#section-6.1.4";
545 leaf echoNonceEnabled {
548 leaf securityEnabled {
551 uses EidToLocatorRecords;
554 grouping MapRegisterNotification {
555 container MapRegister {
558 uses TransportAddress;
561 grouping MapNotifyMessage {
562 container MapNotify {
565 uses TransportAddress;
568 grouping MapRequestMessage {
569 container MapRequest {
572 uses TransportAddress;
575 grouping MapRequestNotification {
576 container MapRequest {
579 uses TransportAddress;
582 grouping MapReplyMessage {
586 uses TransportAddress;
589 grouping MapReplyNotification {
597 uses MapNotifyMessage;
603 uses MapRequestMessage;
609 uses MapReplyMessage;
613 notification addMapping {
614 uses MapRegisterNotification;
617 notification requestMapping {
618 uses MapRequestNotification;
621 notification xtrRequestMapping {
622 uses MapRequestNotification;
625 notification xtrReplyMapping {
626 uses MapReplyNotification;
629 grouping db-instance {
630 description "Describes the mappings belonging to the same Instance ID";
632 description "The 24-bit Instance ID";
636 description "A list of EID-to-RLOC mappings within the same Instance ID";
638 ext:context-instance "eid-context";
645 uses EidToLocatorRecord;
649 container mapping-database {
650 description "The LISP EID-to-RLOC mapping database";
652 description "A list of LISP Instance IDs";
654 ext:context-instance instance-id-context";