1 //TODO mandatory statements
4 namespace "urn:opendaylight:params:xml:ns:yang:lisp";
6 import ietf-interfaces {
9 import ietf-inet-types {
12 import ietf-lisp-address-types {
16 "FD.io Overlay Forwarding Engine (ONE) project";
18 "Florin Coras <fcoras@cisco.com>
19 Vina Ermagan <vermagan@cisco.com>
20 ONE list <one@lists.fd.io>";
23 "This YANG module defines the generic configuration and
24 operational data for LISP in VPP";
25 revision "2016-05-20" {
27 "Initial revision of LISP model";
29 "https://tools.ietf.org/html/rfc6830";
32 typedef locator-set-ref {
34 path "/lisp/lisp-feature-data/locator-sets/locator-set/name";
36 description "Locator-set reference";
41 description "Mapping ID";
44 typedef map-reply-action {
49 "Mapping is kept alive and no encapsulation occurs.";
51 enum natively-forward {
54 "Matching packets are not encapsulated or dropped but
57 enum send-map-request {
60 "Matching packets invoke Map-Requests.";
65 "Matching packets are dropped.";
69 "Defines the lisp map-cache ACT type";
71 "https://tools.ietf.org/html/rfc6830#section-6.1.4";
73 grouping locator-properties-grouping {
75 "Properties of a RLOC";
88 grouping locator-sets-grouping {
89 // NOTE: to be used only for local locators
90 // lisp_add_del_locator_set locator-set <ls_name> [del]
91 // lisp_add_del_locator locator-set <ls_name> iface <iface_name>
92 // p <val> w <val> [del]
93 container locator-sets {
98 description "Locator-set name";
103 type if:interface-ref;
104 description "Interface reference";
106 uses locator-properties-grouping;
107 description "List of interfaces part of the locator-set";
109 description "Locator-set";
111 description "Locator-sets";
113 description "Grouping for locator-sets";
116 grouping adjacencies-grouping {
117 container adjacencies {
122 description "Adjacency id";
124 container local-eid {
125 uses lisp-types:lisp-address;
126 description "Local EID that must have a local mapping";
128 container remote-eid {
129 uses lisp-types:lisp-address;
130 description "Remote EID that must have a remote mapping";
132 description "List of adjacencies";
134 description "Adjacencies programmed into the data plane";
136 description "Adjacencies grouping";
139 grouping dp-subtable-grouping {
140 // Once both vni and table-id are set:
141 // lisp_eid_table_add_del_map <vni> <dp_table>
142 container local-mappings {
147 description "Id that uniquely identifies a mapping";
150 uses lisp-types:lisp-address;
151 description "EID address";
154 type locator-set-ref;
155 description "Locator-set";
157 description "Local mapping";
159 description "Local EID to locator-set mappings";
161 // lisp_add_del_local_eid eid <ip-address/mask> locator-set
163 // lisp_add_del_remote_mapping vni <vni> eid <eid> seid
164 // <seid> [action <action>] rloc
165 // <ip-addr> [rloc <ip-addr> ..]
166 // NOTE: 1.lisp_add_del_remote_mapping seid is used to build
167 // src/dst mappings. Rlocs have p/w in them
168 container remote-mappings {
169 list remote-mapping {
173 description "Id that uniquely identifies a mapping";
176 description "Remote EID address";
177 uses lisp-types:lisp-address;
181 description "Mapping validity period.";
186 description "Authoritative bit.";
190 "Bit that indicates if mapping comes from an
191 authoritative source.";
193 choice locator-list {
195 "list of locators are either negative, or positive.";
196 case negative-mapping {
197 //NOTE - Wrapped in container to prevent leaf map-reply-action enforcing impresence of rlocs
199 leaf map-reply-action {
200 type map-reply-action;
202 "Forwarding action for a negative mapping.";
206 case positive-mapping {
207 // NOTE if container is not needed to encapsulate
208 // locator list, remove it
213 type inet:ip-address;
214 description "Locator address";
216 uses locator-properties-grouping;
217 description "Remote locator";
220 "List of locators for a positive mapping.";
224 uses adjacencies-grouping;
225 description "List of remote mappings";
227 description "Map-cache/remote mappings cache";
229 description "Data path subtable (VRF/bridge domain) grouping";
232 grouping eid-table-grouping {
233 container eid-table {
235 key "virtual-network-identifier";
236 leaf virtual-network-identifier {
240 container vrf-subtable {
243 description "table-id";
246 uses dp-subtable-grouping;
247 description "VRF subtable";
249 container bridge-domain-subtable {
250 leaf bridge-domain-ref {
252 description "Name reference to existing bridge domain";
255 uses dp-subtable-grouping;
256 description "Bridge domain subtable";
258 description "VNI tables";
260 description "EID table";
262 description "EID table grouping";
264 grouping map-resolvers-grouping {
265 container map-resolvers {
266 // lisp_add_del_map_resolver <ip>
270 type inet:ip-address;
271 description "Map-resolver IP address";
273 description "List of map-resolvers";
275 description "Map-resolvers configured";
277 description "Map-Resolver grouping";
279 grouping pitr-cfg-grouping {
280 // lisp_pitr_set_locator_set <ip>
283 type locator-set-ref;
284 description "Locator-set reference";
286 description "Proxy-ITR configuration";
288 description "PITR configuration grouping";
291 grouping itr-remote-locator-sets-grouping{
292 container itr-remote-locator-set{
293 // lisp_add_del_map_request_itr_rlocs add/del <ls_name>
294 // lisp_get_map_request_itr_rlocs
295 leaf remote-locator-set-name{
296 type locator-set-ref;
297 description "Locators to be used in map-requests";
302 grouping lisp-feature-data-grouping{
303 //aggregation of all lisp data, restricted by Lisp beeing enabled
305 container lisp-feature-data{
306 when "../lisp:enable = 'true'";
308 uses locator-sets-grouping;
309 uses eid-table-grouping;
310 uses map-resolvers-grouping;
311 uses pitr-cfg-grouping;
312 uses itr-remote-locator-sets-grouping;
316 // ref https://wiki.fd.io/view/ONE/Command-line_Interface_CLI_Guide
319 // lisp_enable_disable / lisp_enable_disable_status_dump
322 description "Enable/disable LISP feature";
324 uses lisp-feature-data-grouping;
325 description "LISP configuration";
328 container lisp-state {
330 // lisp_enable_disable / lisp_enable_disable_status_dump
333 description "Enable/disable LISP feature";
335 uses lisp-feature-data-grouping;
336 description "LISP state";