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 "64 bit site identifier";
52 description "VNI as a string lookup key in a URI";
57 description "EID as a string lookup key in a URI";
61 typedef mapping-change {
62 description "Type of mapping update";
69 identity vni-context {
70 description "A classifier for virtual-network-identifier elements which allows direct access to a particular element in the data tree.";
73 identity eid-context {
74 description "A classifier for endpoint-id elements which allows direct access to a particular element in the data tree.";
77 grouping mapping-authkey-container {
78 container mapping-authkey {
88 grouping mapping-authkey-list {
89 list mapping-authkey-item {
90 key "mapping-authkey-item-id";
91 leaf mapping-authkey-item-id {
94 uses mapping-authkey-container;
98 grouping eid-authkey-list {
99 list eid-authkey-item {
100 key "eid-authkey-item-id";
101 leaf eid-authkey-item-id {
104 uses lisp-proto:eid-container;
105 uses mapping-authkey-container;
109 grouping db-instance {
110 description "Describes the mappings belonging to the same Virtual Network Identifier";
112 description "The 24-bit Virtual Network Identifier";
116 description "A list of EID-to-RLOC mappings within the same Instance ID";
117 key "eid-uri origin";
118 ext:context-instance "eid-context";
123 description "Mapping origin";
127 description "Site ID";
130 uses lisp-proto:mapping-record-container;
132 list authentication-key {
133 description "A list of authentication keys for EID prefixes within the same Virtual Network Identifier";
135 ext:context-instance "eid-context";
139 uses lisp-proto:eid-container;
140 uses mapping-authkey-container;
144 container mapping-database {
145 description "The LISP EID-to-RLOC mapping database";
146 list virtual-network-identifier {
147 description "A list of Virtual Network Identifiers";
149 ext:context-instance "vni-context";
156 uses lisp-proto:eid-container;
157 uses mapping-authkey-container;
163 uses lisp-proto:eid-container;
166 uses mapping-authkey-container;
172 uses lisp-proto:eid-container;
173 uses mapping-authkey-container;
179 uses lisp-proto:eid-container;
185 uses lisp-proto:mapping-record-container;
191 uses lisp-proto:eid-container;
194 uses lisp-proto:mapping-record-container;
200 uses lisp-proto:mapping-record-container;
206 uses lisp-proto:eid-container;
212 uses eid-authkey-list;
218 uses lisp-proto:eid-list;
221 uses eid-authkey-list;
227 uses eid-authkey-list;
233 uses lisp-proto:eid-list;
239 uses lisp-proto:mapping-record-list;
245 uses lisp-proto:eid-list;
248 uses lisp-proto:mapping-record-list;
252 rpc update-mappings {
254 uses lisp-proto:mapping-record-list;
258 rpc remove-mappings {
260 uses lisp-proto:eid-list;
266 uses eid-authkey-list;
270 rpc get-all-mappings {
272 uses lisp-proto:mapping-record-list;
276 rpc remove-all-keys {
279 rpc remove-all-mappings {
282 notification mapping-changed {
283 description "Notification sent when a mapping is changed";
285 description "The type of change";
288 uses lisp-proto:mapping-record-container;