4 namespace "urn:opendaylight:lfm:lisp-proto";
7 import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
8 import ietf-yang-types { prefix yang; revision-date 2010-09-24; }
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-08-20" {
20 description "Renamed the module to lisp-proto.";
21 reference "https://tools.ietf.org/html/rfc6830";
24 grouping TransportAddress {
25 container TransportAddress {
28 reference "http://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml";
31 type inet:port-number;
36 grouping LispAFIAddress {
39 reference "http://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml";
43 grouping LispNoAddress {
51 grouping LispIpv4Address {
58 type inet:ipv4-address;
59 reference "https://tools.ietf.org/html/rfc3209#section-4.6.2.1";
66 grouping LispIpv6Address {
73 type inet:ipv6-address;
80 grouping LispMacAddress {
87 type yang:mac-address;
91 grouping LispDistinguishedNameAddress {
97 leaf distinguishedName {
102 grouping LispASAddress {
103 uses LispAFIAddress {
113 grouping LispSimpleAddress {
114 choice primitiveAddress {
116 container NoAddress {
121 container Ipv4Address {
122 uses LispIpv4Address;
126 container Ipv6Address {
127 uses LispIpv6Address;
131 container MacAddress {
135 case DistinguishedName {
136 container DistinguishedNameAddress {
137 uses LispDistinguishedNameAddress;
141 container ASAddress {
148 grouping ReencapHop {
150 uses LispSimpleAddress;
163 grouping LispLcafAddress {
164 uses LispAFIAddress {
171 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03";
175 grouping LcafSegmentAddress {
176 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-08#section-4.1";
177 uses LispLcafAddress {
184 range "0 .. 16777215";
191 uses LispSimpleAddress;
195 grouping LcafTrafficEngineeringAddress {
196 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-09#section-4.9";
197 uses LispLcafAddress {
212 grouping LcafListAddress {
213 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-08#section-4.15.1";
214 uses LispLcafAddress {
224 uses LispSimpleAddress;
228 grouping LcafSourceDestAddress {
229 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-08#section-4.11";
230 uses LispLcafAddress {
235 container srcAddress {
236 uses LispSimpleAddress;
238 container dstAddress {
239 uses LispSimpleAddress;
249 grouping LcafKeyValueAddress {
250 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-08#section-4.14";
251 uses LispLcafAddress {
257 uses LispSimpleAddress;
260 uses LispSimpleAddress;
264 grouping LcafApplicationDataAddress {
265 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-08#section-4.3";
266 uses LispLcafAddress {
272 uses LispSimpleAddress;
281 type inet:port-number;
284 type inet:port-number;
287 type inet:port-number;
289 leaf remotePortHigh {
290 type inet:port-number;
295 grouping LispAddress {
296 container LispAddressContainer {
299 container NoAddress {
304 container Ipv4Address {
305 uses LispIpv4Address;
309 container Ipv6Address {
310 uses LispIpv6Address;
314 container MacAddress {
318 case DistinguishedName {
319 container distinguishedName {
320 uses LispDistinguishedNameAddress;
329 container LcafSegmentAddr {
330 uses LcafSegmentAddress;
333 case LcafSourceDest {
334 container LcafSourceDestAddr {
335 uses LcafSourceDestAddress;
339 container LcafKeyValueAddressAddr {
340 uses LcafKeyValueAddress;
344 container LcafListAddr {
345 uses LcafListAddress;
348 case LcafApplicationData {
349 container LcafApplicationDataAddr {
350 uses LcafApplicationDataAddress;
353 case LcafTrafficEngineering {
354 container LcafTrafficEngineeringAddr {
355 uses LcafTrafficEngineeringAddress;
362 grouping EidRecords {
371 grouping LocatorRecords {
383 leaf multicastPriority {
386 leaf multicastWeight {
404 grouping EidToLocatorRecord {
417 enum NativelyForward;
428 // locator record list
432 grouping EidToLocatorRecords {
433 list eidToLocatorRecord {
434 uses EidToLocatorRecord;
447 grouping MapRegister {
448 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";
452 leaf xtrSiteIdPresent {
464 leaf authenticationData {
467 uses EidToLocatorRecords;
472 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";
473 leaf xtrSiteIdPresent {
482 leaf authenticationData {
485 uses EidToLocatorRecords;
489 grouping MapRequest {
490 reference "http://tools.ietf.org/html/rfc6830#section-6.1.2";
494 leaf mapDataPresent {
512 container SourceEid {
520 uses EidToLocatorRecord;
525 reference "http://tools.ietf.org/html/rfc6830#section-6.1.4";
532 leaf echoNonceEnabled {
535 leaf securityEnabled {
538 uses EidToLocatorRecords;
541 typedef message-type {
551 "Map-Request control packet";
556 "Map-Reply control packet";
561 "Map-Register control packet";
566 "Map-Notify control packet";
571 "Map-Referral control packet";
576 "Info control packet";
578 enum encapsulated-control-message {
581 "Encapsulated control packet";
585 "Defines the LISP control message types";
586 reference "https://tools.ietf.org/html/rfc6830#section-6.1.1";
589 grouping MapRegisterMessage {
590 container MapRegister {
593 uses TransportAddress;
596 grouping MapRegisterNotification {
597 container MapRegister {
600 uses TransportAddress;
603 grouping MapNotifyMessage {
604 container MapNotify {
607 uses TransportAddress;
610 grouping MapNotifyNotification {
611 container MapNotify {
614 uses TransportAddress;
617 grouping MapRequestMessage {
618 container MapRequest {
621 uses TransportAddress;
624 grouping MapRequestNotification {
625 container MapRequest {
628 uses TransportAddress;
631 grouping MapReplyMessage {
635 uses TransportAddress;
638 grouping MapReplyNotification {
642 uses TransportAddress;
645 notification addMapping {
646 uses MapRegisterNotification;
649 notification gotMapNotify {
650 uses MapNotifyNotification;
653 notification requestMapping {
654 uses MapRequestNotification;
657 notification gotMapReply {
658 uses MapReplyNotification;
661 notification xtrRequestMapping {
662 uses MapRequestNotification;
665 notification xtrReplyMapping {
666 uses MapReplyNotification;