4 * Copyright 2016 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/rwsdn";
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";
96 grouping sdn-provider-auth {
98 type sdn-account-type;
101 choice provider-specific-info {
131 default "rwsdn_mock";
139 leaf topology-source {
150 container sdn-accounts {
151 list sdn-account-list {
152 rwpb:msg-new SDNAccount;
159 uses sdn-provider-auth;
160 uses connection-status;
167 rwpb:msg-new VNFFGChain;
173 list vnf-chain-path {
177 description " Order of the VNF in VNFFG chain";
179 leaf service-function-type {
185 leaf transport-type {
197 type inet:ip-address;
200 type inet:port-number;
205 rwpb:field-inline "true";
206 rwpb:field-string-max 64;
210 rwpb:field-inline "true";
211 rwpb:field-string-max 64;
218 type inet:ip-address;
221 type inet:port-number;
225 description "SFF name useful for non OVS based SFF";
231 rwpb:msg-new VNFFGSff;
240 type inet:ip-address;
243 type inet:port-number;
251 type inet:ip-address;
254 type inet:port-number;
264 leaf classifier-name {
270 container vnffg-rendered-paths {
271 rwpb:msg-new VNFFGRenderedPaths;
272 list vnffg-rendered-path {
274 rwpb:msg-new VNFFGRenderedPath;
281 "Unique Identifier for the service path";
284 list rendered-path-hop {
291 "Location within the service path";
297 container service-function-forwarder {
300 "Service Function Forwarder name";
305 "Service Function Forwarder Data Plane IP address";
306 type inet:ip-address;
310 "Service Function Forwarder Data Plane port";
311 type inet:port-number;
319 container vnffg-classifiers {
320 list vnffg-classifier {
322 rwpb:msg-new VNFFGClassifier;
331 rwpb:field-inline "true";
332 rwpb:field-string-max 64;
336 rwpb:field-inline "true";
337 rwpb:field-string-max 64;
343 container vnffg-metadata {
357 list match-attributes {
359 "List of match attributes.";
363 "Name for the Access list";
373 leaf source-ip-address {
375 "Source IP address.";
379 leaf destination-ip-address {
381 "Destination IP address.";
387 "Source port number.";
388 type inet:port-number;
391 leaf destination-port {
393 "Destination port number.";
394 type inet:port-number;
402 /* vim: set ts=2:sw=2: */