/* * Copyright (c) 2015 Cable Television Laboratories, Inc. All rights reserved. * * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 which accompanies this distribution, * and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL */ // Constructed based on Adolfo's UML UNI model // UNI // + uniIdentifier : string // + physicalMedium : string = UNI Type 2 Physical Interface // + speed : string = Set (10M, 100M, 10M/100M, 10M/100M/1000M, 1G, 10G> // + mode : string = Full Duplex // + macLayer : string = IEEE 802.3-2005 // + type : string // + uniMtuSize : int = [uniMtuSize >= 1522] module cl-unimgr-mef { yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:unimgr"; prefix "unimgr"; import ietf-yang-types { prefix "yang"; revision-date 2013-07-15; } import ietf-inet-types { prefix "inet"; revision-date 2010-09-24; } import network-topology { prefix "topo"; revision-date 2013-10-21; } import yang-ext { prefix "ext"; } import ovsdb { prefix "ovsdb"; revision-date 2015-01-05;} revision "2015-10-12" { description "Updated revision of the unimgr model."; } typedef ovsdb-node-ref { description "A reference to an ovsdb node"; type ovsdb:ovsdb-node-ref; } grouping service-speed { choice speed { case speed-10M { leaf speed-10M { type empty; } } case speed-100M { leaf speed-100M { type empty; } } case speed-1G { leaf speed-1G { type empty; } } case speed-10G { leaf speed-10G { type empty; } } } } // represent simplification of MEF Per Uni Attributes grouping uni { leaf ovsdb-node-ref { type ovsdb-node-ref; description "A reference to the ovsdb node."; } leaf physical-medium { type string; default "UNI TypeFull Duplex 2 Physical Interface"; } leaf ip-address { type inet:ip-address; } leaf mac-address { type yang:mac-address; } container speed { uses service-speed; } leaf mode { type string; default "Full Duplex"; } leaf mac-layer { type string; default "IEEE 802.3-2005"; } leaf type { type string; } leaf mtu-size { type uint64; units byte; } } // Represents simplification of MEF EVC Per Uni Atrributes grouping evc { list uni-source { key "order"; leaf order { type uint8; } leaf uni { type instance-identifier; } } list uni-dest { key "order"; leaf order { type uint8; } leaf uni { type instance-identifier; } } leaf cos-id { type string; } container ingress-bw { uses service-speed; } container egress-bw { uses service-speed; } } augment "/topo:network-topology/topo:topology/topo:node" { description "Augmentation for UNI nodes under topology"; ext:augment-identifier "uni-augmentation"; uses uni; } augment "/topo:network-topology/topo:topology/topo:link" { description "Augmentation for EVC Link under topology"; ext:augment-identifier "evc-augmentation"; uses evc; } }