import network-topology {prefix "topo"; revision-date "2013-10-21"; }
import yang-ext { prefix "ext"; }
- import ietf-inet-types { prefix inet; }
+ import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
import overlay { prefix overlay; }
import ietf-yang-types { prefix yang; revision-date "2013-07-15";}
import opendaylight-l2-types { prefix ethertype; revision-date "2013-08-27";}
description "The unique identifier of the bridge";
type yang:uuid;
}
+ leaf bridge-openflow-node-ref {
+ description "A reference to the openflow node";
+ type instance-identifier;
+ }
leaf bridge-name {
description "The name of the bridge";
description "Uri telling bridge how to connect to controller";
type inet:uri;
}
+ leaf controller-uuid {
+ description "The unique identifier of the controller";
+ type yang:uuid;
+ }
+ leaf is-connected {
+ type boolean;
+ }
+
}
leaf datapath-id {
description "The OVSDB which this bridge belongs to";
type ovsdb-node-ref;
}
+
+ list bridge-external-ids {
+ description
+ "Key-value pairs for use by external frameworks that integrate
+ with Open vSwitch.
+
+ external_ids : bridge-id: optional string
+
+ A unique identifier of the bridge. On Citrix XenServer this
+ will commonly be the same as external_ids:xs-network-uuids.
+
+ external_ids : xs-network-uuids: optional string
+
+ Semicolon-delimited set of universally unique identifier(s)
+ for the network with which this bridge is associated on a
+ Citrix XenServer host. The network identifiers are RFC 4122
+ UUIDs as displayed by, e.g., xe network−list.";
+
+ key "bridge-external-id-key";
+ leaf bridge-external-id-key {
+ description "external-id name/key";
+ type string;
+ mandatory true;
+ }
+ leaf bridge-external-id-value {
+ description "bridge-external-id value";
+ type string;
+ mandatory true;
+ }
+ }
+
+ list bridge-other-configs {
+ description
+ "Key-value pairs for configuring rarely used features.
+
+ other_config : hwaddr: optional string
+ An Ethernet address in the form xx:xx:xx:xx:xx:xx to set the
+ hardware address of the local port and influence the datapath
+ ID.
+
+ other_config : forward-bpdu: optional string
+ either true or false. Option to allow forwarding of BPDU frames when NORMAL
+ action is invoked. Frames with reserved Ethernet
+ addresses (e.g. STP BPDU) will be forwarded when this option
+ is enabled and the switch is not providing that functionality.
+
+ other_config : mac-aging-time: optional string
+ containing an integer, at least 1 The maximum number of seconds to retain a
+ MAC learning entry for which no packets have been seen. The
+ default is currently 300 seconds (5 minutes). The value, if
+ specified, is forced into a reasonable range, currently 15
+ to 3600 seconds.
+
+ other_config : mac-table-size: optional string
+ containing an integer, at least 1 The maximum number of MAC addresses to
+ learn. The default is currently 2048. The value, if
+ specified, is forced into a reasonable range, currently 10
+ to 1,000,000.
+
+ other_config : datapath-id: optional string
+ Exactly 16 hex digits to set the OpenFlow datapath ID to a
+ specific value. May not be all-zero.
+
+ other_config : dp-desc: optional string
+ Human readable description of datapath. It it a maximum
+ 256 byte-long free-form string to describe the datapath for
+ debugging purposes.
+
+ other_config : disable-in-band: optional string
+ either true or false
+ If set to true, disable in-band control on the bridge
+ regardless of controller and manager settings.
+
+ other_config : in-band-queue: optional string
+ containing an integer, in range 0 to 4,294,967,295 A queue ID as a
+ nonnegative integer.
+
+ other_config : stp-system-id: optional string
+ The bridge’s STP identifier (the lower 48 bits of the
+ bridge-id) in the form xx:xx:xx:xx:xx:xx. By default, the
+ identifier is the MAC address of the bridge.
+
+ other_config : stp-priority: optional string
+ containing an integer, in range 0 to 65,535 The bridge’s relative priority
+ value for determining the root bridge (the upper 16 bits of
+ the bridgeid). A bridge with the lowest bridge-id is elected
+ the root. By default, the priority is 0x8000.
+
+ other_config : stp-hello-time: optional string
+ containing an integer, in range 1 to 10 The interval between transmissions
+ of hello messages by designated ports, in seconds. By default
+ the hello interval is 2 seconds.
+
+ other_config : stp-max-age: optional string
+ containing an integer, in range 6 to 40 The maximum age of the information
+ transmitted by the bridge when it is the root bridge, in
+ seconds. By default, the maximum age is 20 seconds.
+
+ other_config : stp-forward-delay: optional string
+ containing an integer, in range 4 to 30 The delay to wait between
+ transitioning root and designated ports to forwarding, in
+ seconds. By default, the forwarding delay is 15 seconds.
+
+ other_config : mcast-snooping-aging-time: optional string,
+ containing an integer, at least 1 The maximum number of
+ seconds to retain a multicast snooping entry for which no
+ packets have been seen. The default is currently 300
+ seconds (5 minutes). The value, if specified, is forced into
+ a reasonable range, currently 15 to 3600 seconds.
+
+ other_config : mcast-snooping-table-size: optional string,
+ containing an integer, at least 1 The maximum number of
+ multicast snooping addresses to learn. The default is
+ currently 2048. The value, if specified, is forced into a
+ reasonable range, currently 10 to 1,000,000.
+
+ other_config : mcast-snooping-disable-flood-unregistered:
+ optional string, either true or false If set to false,
+ unregistered multicast packets are forwarded to all ports.
+ If set to true, unregistered multicast packets are forwarded
+ to ports connected to multicast routers.";
+
+ key "bridge-other-config-key";
+ leaf bridge-other-config-key {
+ description "bridge-other-config name/key";
+ type string;
+ }
+ leaf bridge-other-config-value {
+ description "bridge-other-config value";
+ type string;
+ }
+ }
+
+ }
+
+ grouping ovsdb-connection-info-attributes {
+ leaf remote-ip {
+ type inet:ip-address;
+ description "Ovsdb Connection Remote IP";
+ }
+ leaf remote-port {
+ type inet:port-number;
+ description "Ovsdb Connection Remote Port Number";
+ }
+ leaf local-ip {
+ type inet:ip-address;
+ description "Ovsdb Connection Local IP";
+ }
+ leaf local-port {
+ type inet:port-number;
+ description "Ovsdb Connection Local Port Number IP";
+ }
}
grouping ovsdb-node-attributes {
- uses overlay:ip-port-locator;
+ description "";
+ container connection-info{
+ uses ovsdb-connection-info-attributes;
+ }
+
+ leaf db-version {
+ description "The database schema version";
+ type string;
+ }
leaf ovs-version {
+ description "The Open_vSwitch version number";
type string;
}
}
}
+ list openvswitch-external-ids {
+ description "Key-value pairs for use by external frameworks that integrate
+ with Open vSwitch.
+
+ external_ids : system-id: optional string
+ A unique identifier for the Open vSwitch’s physical host.
+ The form of the identifier depends on the type of the host.
+ On a Citrix XenServer, this will likely be the same as
+ external_ids:xs-system-uuid.
+
+ external_ids : xs-system-uuid: optional string
+ The Citrix XenServer universally unique identifier for the
+ physical host as displayed by xe-host−list.";
+
+ key "external-id-key";
+ leaf external-id-key {
+ description "external-id name/key";
+ type string;
+ mandatory true;
+ }
+ leaf external-id-value {
+ description "external-id value";
+ type string;
+ mandatory true;
+ }
+ }
+
+ list openvswitch-other-configs {
+ description "Key-value pairs for configuring rarely used features.
+
+ other_config : stats-update-interval: optional string
+ This option will affect the update of the statistics column
+ in the following tables: Port, Interface , Mirror.
+
+ other_config : flow-restore-wait: optional string
+ either true or false When ovs−vswitchd starts up, it has an empty flow
+ table and therefore it handles all arriving packets in its
+ default fashion according to its configuration, by
+ dropping them or sending them to an OpenFlow controller or
+ switching them as a standalone switch.
+
+ other_config : flow-limit: optional string
+ containing an integer, at least 0. The maximum number of flows allowed in
+ the datapath flow table.
+
+ other_config : n-dpdk-rxqs: optional string
+ containing an integer, at least 1 Specifies the number of rx queues to be
+ created for each dpdk interface. If not specified or
+ specified to 0, one rx queue will be created for each dpdk
+ interface by default.
+
+ other_config : pmd-cpu-mask: optional string
+ Specifies CPU mask for setting the cpu affinity of
+ PMD (Poll Mode Driver) threads. Value should be in the form
+ of hex string, similar to the dpdk EAL ’-c COREMASK’ option
+ input or the ’taskset’ mask input.
+
+ other_config : n-handler-threads: optional string
+ containing an integer, at least 1 Specifies the number of threads for
+ software datapaths to use for handling new flows. The default
+ the number of online CPU cores minus the number of
+ revalidators.
+
+ other_config : n-revalidator-threads: optional string,
+ containing an integer, at least 1 Specifies the number of
+ threads for software datapaths to use for revalidating flows
+ in the datapath.
+
+ other_config : enable-statistics: optional string
+ either ture or false. Set this value to true to enable populating the
+ statistics column or to false to explicitly disable it.";
+
+ key "other-config-key";
+ leaf other-config-key {
+ description "other-config name/key";
+ type string;
+ }
+ leaf other-config-value {
+ description "other-config value";
+ type string;
+ }
+ }
+
}
identity interface-type-base {
base interface-type-base;
}
+ identity interface-type-stt {
+ description "Interface type for stt 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 {
leaf ofport {
description "Port/Interface related optional ofport";
- type uint16;
+ type uint32;
}
leaf ofport_request {
}
}
- leaf attached-to {
- description "Reference to the bridge where terminiation point is attached.";
- type ovsdb-bridge-ref;
- }
-
leaf vlan-tag {
description "The VLAN tag of the termination point.";
type ethertype:vlan-id;
type ethertype:vlan-id;
}
}
- }
- grouping ovsdb-external-ids-attributes {
- list external-ids {
- description "Port/Interface external id";
+ leaf vlan-mode {
+ description "The VLAN mode of the termination point.";
+ type enumeration {
+ enum "access" {
+ value 1;
+ description
+ "The VLAN mode access.";
+ }
+ enum "native-tagged" {
+ value 2;
+ description
+ "The VLAN mode native-tagged.";
+ }
+ enum "native-untagged" {
+ value 3;
+ description
+ "The VLAN mode native-untagged.";
+ }
+ enum "trunk" {
+ value 4;
+ description
+ "The VLAN mode trunk.";
+ }
+ }
+ }
+
+ list port-other-configs {
+ description "Other config attributes for Ports
+
+ other_config : priority-tags: optional string
+ either true or false An 802.1Q header contains two important pieces of
+ information: a VLAN ID and a priority.
+
+ other_config : bond-hash-basis: optional string
+ containing an integer An integer hashed along with flows when choosing output
+ slaves in load balanced bonds. When changed, all flows will be
+ assigned different hash values possibly causing slave selection
+ decisions to change.
+
+ other_config : bond-detect-mode: optional string
+ either miimon or carrier The means used to detect link failures. Defaults to
+ carrier which uses each interface’s carrier to detect failures.
+ When set to miimon, will check for failures by polling each
+ interface’s MII.
+
+ other_config : bond-miimon-interval: optional string
+ containing an integer The interval, in milliseconds, between successive
+ attempts to poll each interface’s MII. Relevant only when
+ other_config:bond-detect-mode is miimon
+
+ other_config : lacp-system-id: optional string
+ The LACP system ID of this Port. The system ID of a LACP bond
+ is used to identify itself to its partners. Must be a nonzero
+ MAC address. Defaults to the bridge Ethernet address if unset.
+
+ other_config : lacp-system-priority: optional string
+ containing an integer, in range 1 to 65,535 The LACP system priority of this
+ Port. In LACP negotiations, link status decisions are made by
+ the system with the numerically lower priority.
+
+ other_config : lacp-time: optional string
+ either slow or fast. The LACP timing which should be used on this Port. By default
+ slow is used. When configured to be fast LACP heartbeats are
+ requested at a rate of once per second causing connectivity
+ problems to be detected more quickly. In slow mode, heartbeats
+ are requested at a rate of once every 30 seconds.
+
+ other_config : lacp-fallback-ab: optional string
+ either true or false Determines the behavior of openvswitch bond in LACP mode.
+ If the partner switch does not support LACP, setting this
+ option to true allows openvswitch to fallback to active-backup.
+ If the option is set to false, the bond will be disabled.
+ In both the cases, once the partner switch is configured
+ to LACP mode, the bond will use LACP.
+
+ other_config : bond-rebalance-interval: optional string,
+ containing an integer, in range 0 to 10,000 For a load
+ balanced bonded port, the number of milliseconds between
+ successive attempts to rebalance the bond, that is, to move
+ flows from one interface on the bond to another in an attempt
+ to keep usage of each interface roughly equal. If zero, load
+ balancing is disabled on the bond (link failure still cause
+ flows to move). If less than 1000ms, the rebalance interval
+ will be 1000ms.
+
+ other_config : stp-enable: optional string
+ either true or false. If spanning tree is enabled on the bridge, member ports are
+ enabled by default (with the exception of bond, internal, and
+ mirror ports which do not work with STP). If this column’s
+ value is false spanning tree is disabled on the port.
+
+ other_config : stp-port-num: optional string
+ containing an integer, in range 1 to 255 The port number used for the lower 8
+ bits of the port-id. By default, the numbers will be assigned
+ automatically. If any port’s number is manually configured on
+ a bridge, then they must all be.
+
+ other_config : stp-port-priority: optional string
+ containing an integer, in range 0 to 255 The port’s relative priority value
+ for determining the root port (the upper 8 bits of the port-id).
+
+ other_config : stp-path-cost: optional string
+ containing an integer, in range 0 to 65,535 Spanning tree path cost for the
+ port. A lower number indicates a faster link. By default, the
+ cost is based on the maximum speed of the link.
+
+ other_config : rstp-enable: optional string
+ either true or false
+ If rapid spanning tree is enabled on the bridge, member ports
+ are enabled by default (with the exception of bond, internal,
+ and mirror ports which do not work with RSTP). If this
+ column’s value is false rapid spanning tree is disabled on
+ the port.
+
+ other_config : rstp-port-priority: optional string
+ containing an integer, in range 0 to 240 The port’s relative priority value
+ for determining the root port, in multiples of 16. By default,
+ the port priority is 0x80 (128).
+
+ other_config : rstp-port-num: optional string
+ containing an integer, in range 1 to 4,095 The local RSTP port number, used
+ as the lower 12 bits of the port-id.
+
+ other_config : rstp-port-path-cost: optional string
+ containing an integer The port path cost. The Port’s contribution, when it
+ is the Root Port, to the Root Path Cost for the Bridge.
+
+ other_config : rstp-port-admin-edge: optional string
+ either true or false
+
+ other_config : rstp-port-auto-edge: optional string
+ either true or false The auto edge port parameter for the Port. Default
+ is true.
+
+ other_config : rstp-port-mcheck: optional string
+ either true or false The mcheck port parameter for the Port. Default is false.
+
+ other_config : mcast-snooping-flood: optional string
+ either true or false If set to true, multicast packets are
+ unconditionally forwarded to the specific port";
+
+ key "other-config-key";
+ leaf other-config-key {
+ description "port-other-config name/key";
+ type string;
+ }
+ leaf other-config-value {
+ description "port-other-config value";
+ type string;
+ }
+ }
+
+ list interface-other-configs {
+ description "Other config attributes for Interfaces
+
+ other_config : enable-vlan-splinters: optional string
+ either true or false. Set to true to enable VLAN splinters on this
+ interface. Defaults to false.";
+
+ key "other-config-key";
+ leaf other-config-key {
+ description "interface-other-config name/key";
+ type string;
+ }
+ leaf other-config-value {
+ description "interface-other-config value";
+ type string;
+ }
+ }
+
+ list port-external-ids {
+ description "Port external ids
+
+ external_ids : fake-bridge-id-*: optional string
+ External IDs for a fake bridge (see the fake_bridge column) are defined by
+ prefixing a Bridge external_ids key with
+ fake−bridge−, e.g. fake−bridge−xs−network−uuids.";
+
key "external-id-key";
leaf external-id-key {
description "external-id name/key";
type string;
mandatory true;
}
- }
+ }
+
+ list interface-external-ids {
+ description "Interface external ids
+
+ external_ids : attached-mac: optional string.
+ The MAC address programmed into the ‘‘virtual hardware’’ for this interface, in
+ the form xx:xx:xx:xx:xx:xx. For Citrix XenServer, this is the
+ value of the MAC field in the VIF record for this interface.
+
+ external_ids : iface-id: optional string.
+ A system-unique identifier for the interface. On XenServer, this will commonly
+ be the same as external_ids:xs-vif-uuid.
+
+ external_ids : iface-status: optional string
+ either active or inactive Hypervisors may sometimes have more than one interface
+ associated with a given external_ids:iface-id, only one of
+ which is actually in use at a given time.
+
+ external_ids : xs-vif-uuid: optional string.
+ The virtual interface associated with this interface.
+
+ external_ids : xs-network-uuid: optional string.
+ The virtual network to which this interface is attached.
+
+ external_ids : vm-id: optional string.
+ The VM to which this interface belongs. On XenServer, this will be the same as
+ external_ids:xsvm-uuid.
+
+ external_ids : xs-vm-uuid: optional string.
+ The VM to which this interface belongs";
+
+ key "external-id-key";
+ leaf external-id-key {
+ description "external-id name/key";
+ type string;
+ mandatory true;
+ }
+ leaf external-id-value {
+ description "external-id value";
+ type string;
+ mandatory true;
+ }
+ }
}
augment "/topo:network-topology/topo:topology/topo:node" {
description "Augment topology node termination-point for an ovsdb port/interface";
ext:augment-identifier "ovsdb-termination-point-augmentation";
uses ovsdb-port-interface-attributes;
- uses ovsdb-external-ids-attributes;
}
}