4 * Copyright 2016-2017 RIFT.IO Inc
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
23 namespace "http://riftio.com/ns/riftware-1.0/rwsdnal";
34 import rw-yang-types {
46 import ietf-inet-types {
50 import ietf-yang-types {
59 "RIFT RWSDN cloud data";
62 typedef sdn-connection-status-enum {
63 description "Connection status for the sdn account";
72 grouping connection-status {
73 container connection-status {
75 rwpb:msg-new SdnConnectionStatus;
77 type sdn-connection-status-enum;
85 uses connection-status;
87 typedef sdn-account-type {
88 description "SDN account type";
97 grouping sdn-provider-auth {
99 type sdn-account-type;
102 choice provider-specific-info {
132 default "rwsdn_mock";
140 leaf topology-source {
149 container openstack {
178 description "Domain of the OpenStack user";
181 leaf project-domain {
184 description "Domain of the OpenStack project";
194 default "rwsdn_openstack";
200 description "Certificate validatation policy in case of SSL/TLS connection";
207 container sdn-accounts {
208 list sdn-account-list {
209 rwpb:msg-new SDNAccount;
216 uses sdn-provider-auth;
217 uses connection-status;
224 rwpb:msg-new VNFFGChain;
230 list vnf-chain-path {
234 description " Order of the VNF in VNFFG chain";
236 leaf service-function-type {
242 leaf transport-type {
254 type inet:ip-address;
257 type inet:port-number;
262 rwpb:field-inline "true";
263 rwpb:field-string-max 64;
267 rwpb:field-inline "true";
268 rwpb:field-string-max 64;
275 type inet:ip-address;
278 type inet:port-number;
282 description "SFF name useful for non OVS based SFF";
288 rwpb:msg-new VNFFGSff;
297 type inet:ip-address;
300 type inet:port-number;
308 type inet:ip-address;
311 type inet:port-number;
321 leaf classifier-name {
327 container vnffg-rendered-paths {
328 rwpb:msg-new VNFFGRenderedPaths;
329 list vnffg-rendered-path {
331 rwpb:msg-new VNFFGRenderedPath;
338 "Unique Identifier for the service path";
341 list rendered-path-hop {
348 "Location within the service path";
354 container service-function-forwarder {
357 "Service Function Forwarder name";
362 "Service Function Forwarder Data Plane IP address";
363 type inet:ip-address;
367 "Service Function Forwarder Data Plane port";
368 type inet:port-number;
376 container vnffg-classifiers {
377 list vnffg-classifier {
379 rwpb:msg-new VNFFGClassifier;
391 rwpb:field-inline "true";
392 rwpb:field-string-max 64;
396 rwpb:field-inline "true";
397 rwpb:field-string-max 64;
403 container vnffg-metadata {
417 list match-attributes {
419 "List of match attributes.";
423 "Name for the Access list";
433 leaf source-ip-address {
435 "Source IP address.";
439 leaf destination-ip-address {
441 "Destination IP address.";
447 "Source port number.";
448 type inet:port-number;
451 leaf destination-port {
453 "Destination port number.";
454 type inet:port-number;
462 /* vim: set ts=2:sw=2: */