1 module lispflowmapping {
8 prefix lispflowmapping;
10 import ietf-inet-types {
12 revision-date 2010-09-24;
15 import ietf-yang-types {
17 revision-date 2010-09-24;
20 organization "LISP Flow Mapping";
23 "David Goldberg <david.goldberg@contextream.com>
24 Vina Ermagan <vermagan@cisco.com>";
27 "YANG version of the mapping service.";
29 revision "2013-10-31" {
34 grouping TransportAddress{
35 container TransportAddress {
38 reference "http://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml";
41 type inet:port-number;
46 grouping LispAFIAddress {
49 reference "http://www.iana.org/assignments/safi-namespace/safi-namespace.xhtml";
53 grouping LispNoAddress {
61 grouping LispIpv4Address {
68 type inet:ipv4-address;
69 reference "https://tools.ietf.org/html/rfc3209#section-4.6.2.1";
73 grouping LispIpv6Address {
80 type inet:ipv6-address;
84 grouping LispMacAddress {
91 type yang:mac-address;
95 grouping LispDistinguishedNameAddress {
101 leaf distinguishedName {
107 grouping LispASAddress {
118 grouping LispSimpleAddress {
119 choice primitiveAddress {
124 uses LispIpv4Address;
127 uses LispIpv6Address;
132 case DistinguishedName {
133 uses LispDistinguishedNameAddress;
141 grouping ReencapHop {
143 uses LispSimpleAddress;
159 grouping LispLcafAddress {
167 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03";
171 grouping LcafSegmentAddress {
172 reference http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03#section-4.1;
173 uses LispLcafAddress{
180 range "0 .. 16777215";
187 uses LispSimpleAddress;
190 grouping LcafTrafficEngineeringAddress {
191 reference http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03#section-4.1;
192 uses LispLcafAddress{
202 grouping LcafListAddress {
203 reference http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03#section-4.1;
204 uses LispLcafAddress{
210 uses LispSimpleAddress;
214 grouping LcafSourceDestAddress {
215 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03#section-4.11";
216 uses LispLcafAddress{
221 container srcAddress {
222 uses LispSimpleAddress;
224 container dstAddress {
225 uses LispSimpleAddress;
235 grouping LcafKeyValueAddress {
236 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-04#section-4.14";
237 uses LispLcafAddress{
243 uses LispSimpleAddress;
246 uses LispSimpleAddress;
250 grouping LcafApplicationDataAddress {
251 reference "http://tools.ietf.org/html/draft-ietf-lisp-lcaf-03#section-4.11";
252 uses LispLcafAddress{
258 uses LispSimpleAddress;
267 type inet:port-number;
270 type inet:port-number;
275 grouping LispAddress {
276 container LispAddressContainer{
282 uses LispIpv4Address;
285 uses LispIpv6Address;
290 case DistinguishedName {
291 uses LispDistinguishedNameAddress;
297 uses LcafSegmentAddress;
299 case LcafSourceDest {
300 uses LcafSourceDestAddress;
303 uses LcafKeyValueAddress;
306 uses LcafListAddress;
308 case LcafApplicationData {
309 uses LcafApplicationDataAddress;
311 case LcafTrafficEngineering {
312 uses LcafTrafficEngineeringAddress;
319 grouping EidRecords {
331 grouping LocatorRecords {
339 leaf multicastPriority {
342 leaf multicastWeight {
360 grouping EidToLocatorRecord {
373 enum NativelyForward;
384 // locator record list
388 grouping EidToLocatorRecords {
389 list eidToLocatorRecord {
390 uses EidToLocatorRecord;
403 grouping MapRegister {
404 reference "http://tools.ietf.org/html/rfc6830#section-6.1.6";
405 reference "http://tools.ietf.org/html/draft-ermagan-lisp-nat-traversal-05#section-4.3";
409 leaf xtrSiteIdPresent {
421 leaf authenticationData {
424 uses EidToLocatorRecords;
429 reference "http://tools.ietf.org/html/rfc6830#section-6.1.7";
430 reference "http://tools.ietf.org/html/draft-ermagan-lisp-nat-traversal-05#section-4.3";
431 leaf xtrSiteIdPresent {
440 leaf authenticationData {
443 uses EidToLocatorRecords;
447 grouping MapRequest {
448 reference "http://tools.ietf.org/html/rfc6830#section-6.1.2";
452 leaf mapDataPresent {
470 container SourceEid {
478 uses EidToLocatorRecord;
483 reference "http://tools.ietf.org/html/rfc6830#section-6.1.4";
490 leaf echoNonceEnabled {
493 leaf securityEnabled {
496 uses EidToLocatorRecords;
499 grouping MapRegisterNotification {
500 container MapRegister {
503 uses TransportAddress;
507 grouping MapNotifyMessage {
508 container MapNotify {
511 uses TransportAddress;
515 grouping MapRequestMessage {
516 container MapRequest {
519 uses TransportAddress;
523 grouping MapRequestNotification {
524 container MapRequest {
527 uses TransportAddress;
532 grouping MapReplyMessage {
536 uses TransportAddress;
540 grouping MapReplyNotification {
550 uses MapNotifyMessage;
556 uses MapRequestMessage;
562 uses MapReplyMessage;
566 notification addMapping {
567 uses MapRegisterNotification;
570 notification requestMapping {
571 uses MapRequestNotification;
574 notification xtrRequestMapping {
575 uses MapRequestNotification;
578 notification xtrReplyMapping {
579 uses MapReplyNotification;