1 module odl-mappingservice {
4 namespace "urn:opendaylight:lfm:mappingservice";
5 prefix "mappingservice";
7 import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
8 import yang-ext { prefix ext; revision-date 2013-07-09; }
9 import odl-lisp-proto { prefix lisp-proto; revision-date 2015-11-05; }
11 contact "Lorand Jakab <lojakab@cisco.com";
14 "An MD-SAL based implementation of a LISP Map-Server database";
16 revision "2015-09-06" {
17 description "Renamed and moved module to mappingservice.api.";
20 typedef mapping-origin {
21 description "The originating entity of an EID-to-RLOC mapping";
29 description "VNI as a string lookup key in a URI";
34 description "EID as a string lookup key in a URI";
39 description "xTR-ID as a string lookup key in a URI";
43 typedef mapping-change {
44 description "Type of mapping update";
52 identity vni-context {
53 description "A classifier for virtual-network-identifier elements which allows direct access to a particular element in the data tree.";
56 identity eid-context {
57 description "A classifier for endpoint-id elements which allows direct access to a particular element in the data tree.";
60 identity xtrid-context {
61 description "A classifier for xtr-id elements which allows direct access to a particular element in the data tree.";
64 grouping mapping-authkey-list {
65 list mapping-authkey-item {
66 key "mapping-authkey-item-id";
67 leaf mapping-authkey-item-id {
70 uses lisp-proto:mapping-authkey-container;
74 grouping eid-authkey-list {
75 list eid-authkey-item {
76 key "eid-authkey-item-id";
77 leaf eid-authkey-item-id {
80 uses lisp-proto:eid-container;
81 uses lisp-proto:mapping-authkey-container;
85 grouping db-instance {
86 description "Describes the mappings belonging to the same Virtual Network Identifier";
88 description "The 24-bit Virtual Network Identifier";
92 description "A list of EID-to-RLOC mappings within the same Instance ID";
94 ext:context-instance "eid-context";
99 description "Mapping origin";
103 description "Site ID";
104 type lisp-proto:site-id;
106 uses lisp-proto:mapping-record-container;
107 list xtr-id-mapping {
108 description "A list of xTR-IDs with their associated mappings";
111 ext:context-instance "xtrid-context";
115 uses lisp-proto:mapping-record-container;
118 list authentication-key {
119 description "A list of authentication keys for EID prefixes within the same Virtual Network Identifier";
121 ext:context-instance "eid-context";
125 uses lisp-proto:eid-container;
126 uses lisp-proto:mapping-authkey-container;
130 container mapping-database {
131 description "The LISP EID-to-RLOC mapping database";
132 list virtual-network-identifier {
133 description "A list of Virtual Network Identifiers";
135 ext:context-instance "vni-context";
138 container last-updated {
141 description "Last database update timestamp (in milliseconds since January 1, 1970, 00:00:00 GMT)";
149 uses lisp-proto:eid-container;
150 uses lisp-proto:mapping-authkey-container;
156 uses lisp-proto:eid-container;
159 uses lisp-proto:mapping-authkey-container;
165 uses lisp-proto:eid-container;
166 uses lisp-proto:mapping-authkey-container;
172 uses lisp-proto:eid-container;
178 uses lisp-proto:mapping-record-container;
184 uses lisp-proto:eid-container;
187 uses lisp-proto:mapping-record-container;
191 rpc get-mapping-with-xtr-id {
193 uses lisp-proto:eid-container;
195 type lisp-proto:xtr-id;
199 uses lisp-proto:mapping-record-container;
205 uses lisp-proto:mapping-record-container;
211 uses lisp-proto:eid-container;
217 uses eid-authkey-list;
223 uses lisp-proto:eid-list;
226 uses eid-authkey-list;
232 uses eid-authkey-list;
238 uses lisp-proto:eid-list;
244 uses lisp-proto:mapping-record-list;
250 uses lisp-proto:eid-list;
253 uses lisp-proto:mapping-record-list;
257 rpc update-mappings {
259 uses lisp-proto:mapping-record-list;
263 rpc remove-mappings {
265 uses lisp-proto:eid-list;
271 uses eid-authkey-list;
275 rpc get-all-mappings {
277 uses lisp-proto:mapping-record-list;
281 rpc remove-all-keys {
284 rpc remove-all-mappings {
287 rpc remove-all-operational-content {
290 notification mapping-changed {
291 description "Notification sent when a mapping is changed";
293 description "The type of change";
296 uses lisp-proto:mapping-record-container;
297 uses lisp-proto:eid-container;
298 list subscriber-item {
299 description "The list of subscribers to be notified of this change.";
300 uses lisp-proto:subscriber-data-grouping;
302 list dst-subscriber-item {
303 description "For Src/Dst EIDs, The list of the Dst subscribers to be notified of this change.";
304 uses lisp-proto:subscriber-data-grouping;