1 module odl-mappingservice {
4 namespace "urn:opendaylight:lfm:mappingservice";
5 prefix "mappingservice";
7 import config { prefix config; revision-date 2013-04-05; }
8 import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
9 import yang-ext { prefix ext; revision-date 2013-07-09; }
10 import odl-lisp-proto { prefix lisp-proto; revision-date 2015-11-05; }
12 contact "Lorand Jakab <lojakab@cisco.com";
15 "An MD-SAL based implementation of a LISP Map-Server database";
17 revision "2015-09-06" {
18 description "Renamed and moved module to mappingservice.api.";
21 identity mappingservice {
22 base config:service-type;
23 config:java-class "org.opendaylight.lispflowmapping.interfaces.mappingservice.IMappingService";
26 identity mappingservice-shell {
27 base config:service-type;
28 config:java-class "org.opendaylight.lispflowmapping.interfaces.mappingservice.IMappingServiceShell";
31 identity lisp-mappingservice {
32 base config:service-type;
33 config:java-class "org.opendaylight.lispflowmapping.interfaces.lisp.IFlowMapping";
36 typedef mapping-origin {
37 description "The originating entity of an EID-to-RLOC mapping";
45 description "VNI as a string lookup key in a URI";
50 description "EID as a string lookup key in a URI";
55 description "xTR-ID as a string lookup key in a URI";
59 typedef mapping-change {
60 description "Type of mapping update";
68 identity vni-context {
69 description "A classifier for virtual-network-identifier elements which allows direct access to a particular element in the data tree.";
72 identity eid-context {
73 description "A classifier for endpoint-id elements which allows direct access to a particular element in the data tree.";
76 identity xtrid-context {
77 description "A classifier for xtr-id elements which allows direct access to a particular element in the data tree.";
80 grouping mapping-authkey-container {
81 container mapping-authkey {
91 grouping mapping-authkey-list {
92 list mapping-authkey-item {
93 key "mapping-authkey-item-id";
94 leaf mapping-authkey-item-id {
97 uses mapping-authkey-container;
101 grouping eid-authkey-list {
102 list eid-authkey-item {
103 key "eid-authkey-item-id";
104 leaf eid-authkey-item-id {
107 uses lisp-proto:eid-container;
108 uses mapping-authkey-container;
112 grouping db-instance {
113 description "Describes the mappings belonging to the same Virtual Network Identifier";
115 description "The 24-bit Virtual Network Identifier";
119 description "A list of EID-to-RLOC mappings within the same Instance ID";
120 key "eid-uri origin";
121 ext:context-instance "eid-context";
126 description "Mapping origin";
130 description "Site ID";
131 type lisp-proto:site-id;
133 uses lisp-proto:mapping-record-container;
134 list xtr-id-mapping {
135 description "A list of xTR-IDs with their associated mappings";
138 ext:context-instance "xtrid-context";
142 uses lisp-proto:mapping-record-container;
145 list authentication-key {
146 description "A list of authentication keys for EID prefixes within the same Virtual Network Identifier";
148 ext:context-instance "eid-context";
152 uses lisp-proto:eid-container;
153 uses mapping-authkey-container;
157 container mapping-database {
158 description "The LISP EID-to-RLOC mapping database";
159 list virtual-network-identifier {
160 description "A list of Virtual Network Identifiers";
162 ext:context-instance "vni-context";
169 uses lisp-proto:eid-container;
170 uses mapping-authkey-container;
176 uses lisp-proto:eid-container;
179 uses mapping-authkey-container;
185 uses lisp-proto:eid-container;
186 uses mapping-authkey-container;
192 uses lisp-proto:eid-container;
198 uses lisp-proto:mapping-record-container;
204 uses lisp-proto:eid-container;
207 uses lisp-proto:mapping-record-container;
213 uses lisp-proto:mapping-record-container;
219 uses lisp-proto:eid-container;
225 uses eid-authkey-list;
231 uses lisp-proto:eid-list;
234 uses eid-authkey-list;
240 uses eid-authkey-list;
246 uses lisp-proto:eid-list;
252 uses lisp-proto:mapping-record-list;
258 uses lisp-proto:eid-list;
261 uses lisp-proto:mapping-record-list;
265 rpc update-mappings {
267 uses lisp-proto:mapping-record-list;
271 rpc remove-mappings {
273 uses lisp-proto:eid-list;
279 uses eid-authkey-list;
283 rpc get-all-mappings {
285 uses lisp-proto:mapping-record-list;
289 rpc remove-all-keys {
292 rpc remove-all-mappings {
295 notification mapping-changed {
296 description "Notification sent when a mapping is changed";
298 description "The type of change";
301 uses lisp-proto:mapping-record-container;