| |
| /* |
| * |
| * Copyright 2016 RIFT.IO Inc |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| * |
| * |
| */ |
| |
| module rw-topology { |
| namespace "http://riftio.com/ns/riftware-1.0/rw-topology"; |
| prefix rw-topology; |
| |
| import ietf-inet-types {prefix inet;} |
| import ietf-network {prefix nw;} |
| import ietf-network-topology {prefix nt;} |
| import ietf-l2-topology {prefix l2t;} |
| |
| revision "2015-10-20" { |
| description "Initial revision of IP level addressing for L2 host topology"; |
| } |
| |
| grouping ip-address-group { |
| description "IP addresses if present for L2 termination points"; |
| container ip-attributes { |
| description "L2 termination points containing IP addresses"; |
| list ip-addresses { |
| key ip; |
| leaf ip { |
| type inet:ip-address; |
| description "IPv4 or IPv6 address"; |
| } |
| } |
| } |
| } // grouping ip-address-group |
| |
| |
| grouping rw-network-attributes { |
| description "RW Topology scope attributes"; |
| container rw-network-attributes { |
| description "Containing RW network attributes"; |
| leaf name { |
| type string; |
| description "Name of the RW Topology network"; |
| } |
| leaf sdn-account-name { |
| type string; |
| description "Name of the SDN account from which topology is got"; |
| } |
| } |
| } |
| |
| grouping rw-node-attributes { |
| description "RW node attributes"; |
| container rw-node-attributes { |
| description "Containing RW node attributes"; |
| leaf name { |
| type string; |
| description "Node name"; |
| } |
| leaf ovs-bridge-name { |
| type string; |
| description "Name of OVS bridge"; |
| } |
| } |
| } |
| |
| grouping rw-link-attributes { |
| description "RW link attributes"; |
| container rw-link-attributes { |
| description "Containing RW link attributes"; |
| leaf name { |
| type string; |
| description "Link name"; |
| } |
| } |
| } |
| |
| grouping rw-termination-point-attributes { |
| description "RW termination point attributes"; |
| container rw-termination-point-attributes { |
| description "Containing RW TP attributes"; |
| leaf description { |
| type string; |
| description "Port description"; |
| } |
| uses ip-address-group; |
| } |
| } |
| |
| augment "/nw:network" { |
| description |
| "Configuration parameters for the RW network |
| as a whole"; |
| uses rw-network-attributes; |
| } |
| |
| augment "/nw:network/nw:node" { |
| description |
| "Configuration parameters for RW at the node |
| level"; |
| uses rw-node-attributes; |
| } |
| |
| augment "/nw:network/nt:link" { |
| description "Augment RW topology link information"; |
| uses rw-link-attributes; |
| } |
| |
| augment "/nw:network/nw:node/nt:termination-point" { |
| description |
| "Augment RW topology termination point configuration"; |
| uses rw-termination-point-attributes; |
| } |
| } |