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";
63 grouping LispIpv6Address {
70 type inet:ipv6-address;
74 grouping LispMacAddress {
81 type yang:mac-address;
85 grouping LispDistinguishedNameAddress {
91 leaf distinguishedName {
96 grouping LispASAddress {
107 grouping LispSimpleAddress {
108 choice primitiveAddress {
110 container NoAddress {
115 container Ipv4Address {
116 uses LispIpv4Address;
120 container Ipv6Address {
121 uses LispIpv6Address;
125 container MacAddress {
129 case DistinguishedName {
130 container DistinguishedNameAddress {
131 uses LispDistinguishedNameAddress;
135 container ASAddress {
142 grouping ReencapHop {
144 uses LispSimpleAddress;
157 grouping LispLcafAddress {
158 uses LispAFIAddress {
165 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03";
169 grouping LcafSegmentAddress {
170 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-08#section-4.1";
171 uses LispLcafAddress {
178 range "0 .. 16777215";
185 uses LispSimpleAddress;
189 grouping LcafTrafficEngineeringAddress {
190 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-09#section-4.9";
191 uses LispLcafAddress {
206 grouping LcafListAddress {
207 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-08#section-4.15.1";
208 uses LispLcafAddress {
218 uses LispSimpleAddress;
222 grouping LcafSourceDestAddress {
223 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-08#section-4.11";
224 uses LispLcafAddress {
229 container srcAddress {
230 uses LispSimpleAddress;
232 container dstAddress {
233 uses LispSimpleAddress;
243 grouping LcafKeyValueAddress {
244 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-08#section-4.14";
245 uses LispLcafAddress {
251 uses LispSimpleAddress;
254 uses LispSimpleAddress;
258 grouping LcafApplicationDataAddress {
259 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-08#section-4.3";
260 uses LispLcafAddress {
266 uses LispSimpleAddress;
275 type inet:port-number;
278 type inet:port-number;
281 type inet:port-number;
283 leaf remotePortHigh {
284 type inet:port-number;
289 grouping LispAddress {
290 container LispAddressContainer {
293 container NoAddress {
298 container Ipv4Address {
299 uses LispIpv4Address;
303 container Ipv6Address {
304 uses LispIpv6Address;
308 container MacAddress {
312 case DistinguishedName {
313 container distinguishedName {
314 uses LispDistinguishedNameAddress;
323 container LcafSegmentAddr {
324 uses LcafSegmentAddress;
327 case LcafSourceDest {
328 container LcafSourceDestAddr {
329 uses LcafSourceDestAddress;
333 container LcafKeyValueAddressAddr {
334 uses LcafKeyValueAddress;
338 container LcafListAddr {
339 uses LcafListAddress;
342 case LcafApplicationData {
343 container LcafApplicationDataAddr {
344 uses LcafApplicationDataAddress;
347 case LcafTrafficEngineering {
348 container LcafTrafficEngineeringAddr {
349 uses LcafTrafficEngineeringAddress;
356 grouping EidRecords {
365 grouping LocatorRecords {
377 leaf multicastPriority {
380 leaf multicastWeight {
398 grouping EidToLocatorRecord {
411 enum NativelyForward;
422 // locator record list
426 grouping EidToLocatorRecords {
427 list eidToLocatorRecord {
428 uses EidToLocatorRecord;
441 grouping MapRegister {
442 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";
446 leaf xtrSiteIdPresent {
458 leaf authenticationData {
461 uses EidToLocatorRecords;
466 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";
467 leaf xtrSiteIdPresent {
476 leaf authenticationData {
479 uses EidToLocatorRecords;
483 grouping MapRequest {
484 reference "http://tools.ietf.org/html/rfc6830#section-6.1.2";
488 leaf mapDataPresent {
506 container SourceEid {
514 uses EidToLocatorRecord;
519 reference "http://tools.ietf.org/html/rfc6830#section-6.1.4";
526 leaf echoNonceEnabled {
529 leaf securityEnabled {
532 uses EidToLocatorRecords;
535 grouping MapRegisterMessage {
536 container MapRegister {
539 uses TransportAddress;
542 grouping MapRegisterNotification {
543 container MapRegister {
546 uses TransportAddress;
549 grouping MapNotifyMessage {
550 container MapNotify {
553 uses TransportAddress;
556 grouping MapNotifyNotification {
557 container MapNotify {
560 uses TransportAddress;
563 grouping MapRequestMessage {
564 container MapRequest {
567 uses TransportAddress;
570 grouping MapRequestNotification {
571 container MapRequest {
574 uses TransportAddress;
577 grouping MapReplyMessage {
581 uses TransportAddress;
584 grouping MapReplyNotification {
588 uses TransportAddress;
591 rpc sendMapRegister {
593 uses MapRegisterMessage;
599 uses MapNotifyMessage;
605 uses MapRequestMessage;
611 uses MapReplyMessage;
615 notification addMapping {
616 uses MapRegisterNotification;
619 notification gotMapNotify {
620 uses MapNotifyNotification;
623 notification requestMapping {
624 uses MapRequestNotification;
627 notification gotMapReply {
628 uses MapReplyNotification;
631 notification xtrRequestMapping {
632 uses MapRequestNotification;
635 notification xtrReplyMapping {
636 uses MapReplyNotification;