description "Initial revision of southbound model";
}
+ typedef ovsdb-termination-point-ref {
+ description "A reference to an ovsdb termination point";
+ type instance-identifier;
+ }
+
typedef ovsdb-bridge-ref {
description "A reference to an ovsdb bridge";
type instance-identifier;
RFC 2579: Textual Conventions for SMIv2";
}
+ identity datapath-type-base {
+ description "Base identity for all OVSDB datapath types";
+ }
+
+ identity datapath-type-system {
+ description "Datapath type for the kernel datapath";
+ base datapath-type-base;
+ }
+
+ identity datapath-type-netdev {
+ description "Datapath type for the userspace datapath";
+ base datapath-type-base;
+ }
+
identity ovsdb-bridge-protocol-base {
description "Base identity for all ovsdb-bridge-protocols";
}
base ovsdb-bridge-protocol-base;
}
+ identity ovsdb-fail-mode-base {
+ description "Base identity for ovsdb-failmode";
+ }
+
+ identity ovsdb-fail-mode-standalone {
+ description "Identity for ovsdb-failmode standalone";
+ base ovsdb-fail-mode-base;
+ }
+
+ identity ovsdb-fail-mode-secure {
+ description "Identity for ovsdb-failmode standalone";
+ base ovsdb-fail-mode-base;
+ }
+
grouping ovsdb-bridge-attributes {
leaf bridge-uuid {
description "The unique identifier of the bridge";
}
}
+ list controller-entry {
+ description "Bridge controller info";
+ key "target";
+ leaf target {
+ description "Uri telling bridge how to connect to controller";
+ type inet:uri;
+ }
+ }
+
leaf datapath-id {
description "Datapath-id of the bridge";
type datapath-id;
}
+ leaf datapath-type {
+ description "The datapath type of the bridge";
+ type identityref {
+ base datapath-type-base;
+ }
+ }
+
+ leaf fail-mode {
+ description "Failmode of the bridge";
+ type identityref {
+ base ovsdb-fail-mode-base;
+ }
+ }
+
leaf flow-node {
description "Flow node corresponding to this bridge";
type flow-node-ref;
grouping ovsdb-node-attributes {
uses overlay:ip-port-locator;
+ leaf ovs-version {
+ type string;
+ }
+
list managed-node-entry {
key "bridge-ref";
leaf bridge-ref {
type ovsdb-bridge-ref;
}
}
- }
+ list datapath-type-entry {
+ key "datapath-type";
+ leaf datapath-type {
+ description "Datapath types supported by OVSDB node";
+ type identityref {
+ base datapath-type-base;
+ }
+ }
+ }
+
+ list interface-type-entry {
+ key "interface-type";
+ leaf interface-type {
+ description "Interface types supported by OVSDB node";
+ type identityref {
+ base interface-type-base;
+ }
+ }
+ }
+
+ }
identity interface-type-base {
description "Base identity for all OVSDB interface types";
base interface-type-base;
}
+ identity interface-type-tap {
+ description "Interface type for tun/tap interfaces";
+ base interface-type-base;
+ }
+
+ identity interface-type-geneve {
+ description "Interface type for geneve interfaces";
+ base interface-type-base;
+ }
+
+ identity interface-type-gre {
+ description "Interface type for gre interfaces";
+ base interface-type-base;
+ }
+
+ identity interface-type-ipsec-gre {
+ description "Interface type for ipsec-gre interfaces";
+ base interface-type-base;
+ }
+
+ identity interface-type-gre64 {
+ description "Interface type for gre64 interfaces";
+ base interface-type-base;
+ }
+
+ identity interface-type-ipsec-gre64 {
+ description "Interface type for ipsec-gre64 interfaces";
+ base interface-type-base;
+ }
+
+ identity interface-type-lisp {
+ description "Interface type for lisp interfaces";
+ base interface-type-base;
+ }
+
+ identity interface-type-dpdk {
+ description "Interface type for dpdk interfaces";
+ base interface-type-base;
+ }
+
+ identity interface-type-dpdkr {
+ description "Interface type for dpdk ring interfaces";
+ base interface-type-base;
+ }
+
+ identity interface-type-dpdkvhost {
+ description "Interface type for dpdkvhost interfaces";
+ base interface-type-base;
+ }
+
grouping ovsdb-port-interface-attributes {
leaf port-uuid {
description "The unique identifier of the OVSDB port";
type string;
}
+ leaf bridge-name {
+ description "Create termination point on this bridge";
+ type string;
+ }
+
leaf interface-type {
description "The type of the OVSDB interface";
type identityref {
base interface-type-base;
}
}
+
+ list options {
+ description "Port/Interface related optional input values";
+ key "option";
+ leaf option {
+ description "Option name";
+ type string;
+ }
+ leaf value {
+ description "Option value";
+ type string;
+ }
+ }
+
+ leaf ofport {
+ description "Port/Interface related optional ofport";
+ type uint16;
+ }
+
+ leaf ofport_request {
+ description "Port/Interface related optional ofport_request, in range 1 to 65279";
+ type uint16 {
+ range "1..65279";
+ }
+ }
+
+ leaf attached-to {
+ description "Reference to the bridge where terminiation point is attached.";
+ type ovsdb-bridge-ref;
+ }
}
augment "/topo:network-topology/topo:topology/topo:node" {