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";
54 typedef mapping-change {
55 description "Type of mapping update";
63 identity vni-context {
64 description "A classifier for virtual-network-identifier elements which allows direct access to a particular element in the data tree.";
67 identity eid-context {
68 description "A classifier for endpoint-id elements which allows direct access to a particular element in the data tree.";
71 grouping mapping-authkey-container {
72 container mapping-authkey {
82 grouping mapping-authkey-list {
83 list mapping-authkey-item {
84 key "mapping-authkey-item-id";
85 leaf mapping-authkey-item-id {
88 uses mapping-authkey-container;
92 grouping eid-authkey-list {
93 list eid-authkey-item {
94 key "eid-authkey-item-id";
95 leaf eid-authkey-item-id {
98 uses lisp-proto:eid-container;
99 uses mapping-authkey-container;
103 grouping db-instance {
104 description "Describes the mappings belonging to the same Virtual Network Identifier";
106 description "The 24-bit Virtual Network Identifier";
110 description "A list of EID-to-RLOC mappings within the same Instance ID";
111 key "eid-uri origin";
112 ext:context-instance "eid-context";
117 description "Mapping origin";
121 description "Site ID";
122 type lisp-proto:site-id;
124 uses lisp-proto:mapping-record-container;
126 list authentication-key {
127 description "A list of authentication keys for EID prefixes within the same Virtual Network Identifier";
129 ext:context-instance "eid-context";
133 uses lisp-proto:eid-container;
134 uses mapping-authkey-container;
138 container mapping-database {
139 description "The LISP EID-to-RLOC mapping database";
140 list virtual-network-identifier {
141 description "A list of Virtual Network Identifiers";
143 ext:context-instance "vni-context";
150 uses lisp-proto:eid-container;
151 uses mapping-authkey-container;
157 uses lisp-proto:eid-container;
160 uses mapping-authkey-container;
166 uses lisp-proto:eid-container;
167 uses mapping-authkey-container;
173 uses lisp-proto:eid-container;
179 uses lisp-proto:mapping-record-container;
185 uses lisp-proto:eid-container;
188 uses lisp-proto:mapping-record-container;
194 uses lisp-proto:mapping-record-container;
200 uses lisp-proto:eid-container;
206 uses eid-authkey-list;
212 uses lisp-proto:eid-list;
215 uses eid-authkey-list;
221 uses eid-authkey-list;
227 uses lisp-proto:eid-list;
233 uses lisp-proto:mapping-record-list;
239 uses lisp-proto:eid-list;
242 uses lisp-proto:mapping-record-list;
246 rpc update-mappings {
248 uses lisp-proto:mapping-record-list;
252 rpc remove-mappings {
254 uses lisp-proto:eid-list;
260 uses eid-authkey-list;
264 rpc get-all-mappings {
266 uses lisp-proto:mapping-record-list;
270 rpc remove-all-keys {
273 rpc remove-all-mappings {
276 notification mapping-changed {
277 description "Notification sent when a mapping is changed";
279 description "The type of change";
282 uses lisp-proto:mapping-record-container;