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 grouping MapRegisterMessage {
542 container MapRegister {
545 uses TransportAddress;
548 grouping MapRegisterNotification {
549 container MapRegister {
552 uses TransportAddress;
555 grouping MapNotifyMessage {
556 container MapNotify {
559 uses TransportAddress;
562 grouping MapNotifyNotification {
563 container MapNotify {
566 uses TransportAddress;
569 grouping MapRequestMessage {
570 container MapRequest {
573 uses TransportAddress;
576 grouping MapRequestNotification {
577 container MapRequest {
580 uses TransportAddress;
583 grouping MapReplyMessage {
587 uses TransportAddress;
590 grouping MapReplyNotification {
594 uses TransportAddress;
597 rpc sendMapRegister {
599 uses MapRegisterMessage;
605 uses MapNotifyMessage;
611 uses MapRequestMessage;
617 uses MapReplyMessage;
621 notification addMapping {
622 uses MapRegisterNotification;
625 notification gotMapNotify {
626 uses MapNotifyNotification;
629 notification requestMapping {
630 uses MapRequestNotification;
633 notification gotMapReply {
634 uses MapReplyNotification;
637 notification xtrRequestMapping {
638 uses MapRequestNotification;
641 notification xtrReplyMapping {
642 uses MapReplyNotification;