module ovsdb { yang-version 1; namespace "urn:opendaylight:params:xml:ns:yang:ovsdb"; prefix "southbound"; import network-topology {prefix "topo"; revision-date "2013-10-21"; } import yang-ext { prefix "ext"; } import ietf-inet-types { prefix inet; } import overlay { prefix overlay; } import ietf-yang-types { prefix yang; revision-date "2013-07-15";} revision "2015-01-05" { description "Initial revision of southbound model"; } typedef ovsdb-bridge-ref { description "A reference to an ovsdb bridge"; type instance-identifier; } typedef ovsdb-node-ref { description "A reference to an ovsdb node"; type instance-identifier; } grouping ovsdb-bridge-attributes { leaf bridge-uuid { description "The unique identifier of the bridge"; type yang:uuid; } leaf bridge-name { description "The name of the bridge"; type string; } leaf managed-by { description "The OVSDB which this bridge belongs to"; type ovsdb-node-ref; } } grouping ovsdb-node-attributes { uses overlay:ip-port-locator; list managed-node-entry { key "bridge-ref"; leaf bridge-ref { type ovsdb-bridge-ref; } } } identity interface-type-base { description "Base identity for all OVSDB interface types"; } identity interface-type-system { description "Interface type for system interfaces"; base interface-type-base; } identity interface-type-internal { description "Interface type for internal interfaces"; base interface-type-base; } identity interface-type-vxlan { description "Interface type for vxlan interfaces"; base interface-type-base; } identity interface-type-patch { description "Interface type for patch interfaces"; base interface-type-base; } grouping ovsdb-port-interface-attributes { leaf port-uuid { description "The unique identifier of the OVSDB port"; type yang:uuid; } leaf interface-uuid { description "The unique identifier of the OVSDB interface"; type yang:uuid; } leaf name { description "The name of the OVSDB port/interface"; type string; } leaf interface-type { description "The type of the OVSDB interface"; type identityref { base interface-type-base; } } } augment "/topo:network-topology/topo:topology/topo:node" { description "Augmentation for bridge nodes managed by ovsdb"; ext:augment-identifier "ovsdb-managed-node-augmentation"; uses ovsdb-bridge-attributes; } augment "/topo:network-topology/topo:topology/topo:node" { description "Augment topology node for an ovsdb node"; ext:augment-identifier "ovsdb-node-augmentation"; uses ovsdb-node-attributes; } augment "/topo:network-topology/topo:topology/topo:node/topo:termination-point" { description "Augment topology node termination-point for an ovsdb port/interface"; ext:augment-identifier "ovsdb-termination-point-augmentation"; uses ovsdb-port-interface-attributes; } }