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; revision-date 2013-07-15; } 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";} revision "2015-01-05" { 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; } typedef ovsdb-node-ref { description "A reference to an ovsdb node"; type instance-identifier; } typedef flow-node-ref { description "A reference to a flow node"; type instance-identifier; } typedef ovsdb-qos-ref { description "A reference to a ovsdb QoS entry"; type instance-identifier; } typedef ovsdb-queue-ref { description "A reference to an ovsdb queue entry"; type instance-identifier; } typedef ovsdb-bridge-name { type string; } typedef datapath-id { type string { pattern '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){7}'; } description "The datapath-d type represents OpenFlow datapath-id . The canonical representation uses lowercase characters. In the value set and its semantics, this type is similar to the MacAddress textual convention of the SMIv2, but with 16 extra bits"; reference "Openflow 1.3.0 Spec IEEE 802: IEEE Standard for Local and Metropolitan Area Networks: Overview and Architecture 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"; } identity ovsdb-bridge-protocol-openflow-10 { description "Ovsdb bridge protocol OpenFlow 1.0"; base ovsdb-bridge-protocol-base; } identity ovsdb-bridge-protocol-openflow-11 { description "Ovsdb bridge protocol OpenFlow 1.1"; base ovsdb-bridge-protocol-base; } identity ovsdb-bridge-protocol-openflow-12 { description "Ovsdb bridge protocol OpenFlow 1.2"; base ovsdb-bridge-protocol-base; } identity ovsdb-bridge-protocol-openflow-13 { description "Ovsdb bridge protocol OpenFlow 1.3"; base ovsdb-bridge-protocol-base; } identity ovsdb-bridge-protocol-openflow-14 { description "Ovsdb bridge protocol OpenFlow 1.4"; base ovsdb-bridge-protocol-base; } identity ovsdb-bridge-protocol-openflow-15 { description "Ovsdb bridge protocol OpenFlow 1.5"; 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"; 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"; type ovsdb-bridge-name; } list protocol-entry { key "protocol"; leaf protocol { description "Protocol bridge should seek to speak to its controller"; type identityref { base ovsdb-bridge-protocol-base; } } } list controller-entry { description "Bridge controller info"; key "target"; leaf target { 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 "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; } leaf managed-by { description "The OVSDB which this bridge belongs to"; type ovsdb-node-ref; } leaf stp_enable { description "Enable spanning tree on the bridge. By default, STP is disabled on bridges"; type boolean; } 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; } } leaf auto-attach { description "The unique identifier of the auto_attach entry for this bridge."; type yang:uuid; } } 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 { description "Plugin will not allow multiple connections to the same device. If an application attempts to make more than one connection to the device by putting multiple entries in the config data store, then it is the responsibility of the application to clean the config data store"; 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 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; } } } 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; } } list manager-entry { description "Node managers info"; config false; key "target"; leaf target { description "Uri that user set to connect to the controller"; type inet:uri; } leaf connected { type boolean; } leaf number_of_connections { type uint32; } } list qos-entries { key "qos-id"; leaf qos-id { description "An identifier used for QoS entries in the MD-SAL."; type inet:uri; } leaf qos-uuid { description "The unique identifier of the QoS."; type yang:uuid; } leaf qos-type { type identityref { base qos-type-base; } } list queue-list { description "The list of queues used by the QoS"; key "queue-number"; leaf queue-number { description "The queue number of the record in the QoS entry"; type uint32; } leaf queue-ref { description "Instance identifier to a Queue in the MD-SAL."; type ovsdb-queue-ref; } leaf queue-uuid { description "The unique identifier of the queue record."; type yang:uuid; status deprecated; } } list qos-external-ids { key "qos-external-id-key"; leaf qos-external-id-key { description "qos external-id name/key"; type string; mandatory true; } leaf qos-external-id-value { description "qos-external-id value"; type string; mandatory true; } } list qos-other-config { description " other_config : max-rate optional string, containing an integer."; key "other-config-key"; leaf other-config-key { description "qos-other-config name/key"; type string; } leaf other-config-value { description "qos-other-config value"; type string; } } } list queues { key "queue-id"; leaf queue-id { description "An identifier used for Queue entries in the MD-SAL."; type inet:uri; } leaf queue-uuid { description "The unique identifier of the queue."; type yang:uuid; } leaf dscp { type uint8; } list queues-external-ids { key "queues-external-id-key"; leaf queues-external-id-key { description "queues external-id name/key"; type string; mandatory true; } leaf queues-external-id-value { description "queues-external-id value"; type string; mandatory true; } } list queues-other-config { description " Configuration for linux-htb QoS: other_config : min-rate optional string containing an integer, at least 1. Minimum guaranteed bandwidth, in bit/s. other_config : max-rate optional string containing an integer, at least 1. Maximum allowed bandwidth, in bit/s. Optional. If specified, the queue's rate will not be allowed to exceed the specified value, even if excess bandwidth is available. If unspecified, defaults to no limit. other_config : burst optional string containing an integer, at least 1. Burst size, in bits. This is the maximum amount of ''credits'' that a queue can accumulate while it is idle. Optional. Details of the linux-htb implementation require a minimum burst size, so a too-small burst will be silently ignored. other_config : priority optional string. containing an integer, in range 0 to 4,294,967,295. A queue with a smaller priority will receive all the excess bandwidth that it can use before a queue with a larger value receives any. Specific priority values are unimportant; only relative ordering matters. Defaults to 0 if unspecified. Configuration for linux-htb QoS: other_config : min-rate optional string containing an integer, at least 1. Minimum guaranteed bandwidth, in bit/s. other_config : max-rate optional string containing an integer, at least 1. Maximum allowed bandwidth, in bit/s. Optional. If specified, the queue's rate will not be allowed to exceed the specified value, even if excess bandwidth is available. If unspecified, defaults to no limit.."; key "queue-other-config-key"; leaf queue-other-config-key { type string; } leaf queue-other-config-value { type string; } } } list autoattach { key "autoattach-id"; leaf autoattach-id { description "An identifier used for AutoAttach table in the MD-SAL."; type inet:uri; } leaf bridge-id { description "Node-id of the Bridge table from where Autoattach table can be referenced."; type inet:uri; } leaf autoattach-uuid { description "The unique identifier of the autoattach table."; type yang:uuid; } leaf system-name { type string; description "The system_name string is exported in LLDP messages. It should uniquely identify the bridge in the network."; } leaf system-description { type string; description "The system_description string is exported in LLDP messages. It should describe the type of software and hardware."; } list mappings { description "Map of integer-integer pairs, key in range 0 to 16,777,215, value in range 0 to 4,095. A mapping from SPB network Individual Service Identifier (ISID) to VLAN id."; key "mappings-key"; leaf mappings-key { type uint32 { range "0..16777215"; } } leaf mappings-value { type uint16 { range "0..4095"; } } } list autoattach-external-ids { description "Key-value pairs for use by external frameworks that integrate with Open vSwitch, rather than by Open vSwitch itself."; key "autoattach-external-id-key"; leaf autoattach-external-id-key { description "external-id name/key"; type string; mandatory true; } leaf autoattach-external-id-value { description "autoattach-external-id value"; type string; mandatory true; } } } } 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-vxlan-gpe { description "Interface type for vxlan gpe interfaces"; base interface-type-base; } identity interface-type-patch { description "Interface type for patch interfaces"; 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; } identity interface-type-dpdkvhostuser { description "Interface type for dpdkvhostuser interfaces"; base interface-type-base; } identity interface-type-stt { description "Interface type for stt interfaces"; base interface-type-base; } identity qos-type-base { description "the base identity for qos"; } identity qos-type-linux-htb { description "linux hierarchy token bucket classifier"; base qos-type-base; } identity qos-type-linux-hfsc { description "linux hierarchical fair service curve classifier"; base qos-type-base; } identity qos-type-linux-sfq { description "linux stochastic fairness queueing classifier"; base qos-type-base; } identity qos-type-linux-codel { description "linux controlled delay classifier"; base qos-type-base; } identity qos-type-linux-fq-codel { description "linux fair queueing controlled delay classifier"; base qos-type-base; } identity qos-type-egress-policer { description "DPDK user space egress policer"; base qos-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 ifindex { description "The ifindex is useful for seamless integration with protocols such as SNMP and sFlow. It is a positive interface index as defined for SNMP MIB-II in RFCs 1213 and 2863 if the interface has one, otherwise 0. It is a read-only column and an integer in the range 0 to 4,294,967,295"; type uint32; config false; } 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 uint32; } leaf ofport_request { description "Port/Interface related optional ofport_request, in range 1 to 65279"; type uint16 { range "1..65279"; } } leaf vlan-tag { description "The VLAN tag of the termination point."; type ethertype:vlan-id; } list trunks { description "Represents the trunks of a termination point."; leaf trunk { type ethertype:vlan-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; } leaf external-id-value { description "external-id value"; 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; } } list interface-lldp { description "Auto Attach configuration for a particular interface. If LLDP is enabled on an interface, the interface processes received LLDP packets and never passes them to OpenFlow or forwards them. lldp : enable: optional string, either true or false True to enable LLDP on this Interface. If not specified, LLDP will be disabled by default."; key "lldp-key"; leaf lldp-key { description "lldp name/key"; type string; } leaf lldp-value { description "lldp value"; type string; } } list interface-bfd { description "BFD configuration for a particular interface. BFD, defined in RFC 5880 and RFC 5881, allows point-to-point detection of connectivity failures by occasional transmission of BFD control messages. bfd : enable: optional string, either true or false True to enable BFD on this Interface. If not specified, BFD will be disabled by default. bfd : min_rx: optional string containing an integer, at least 1. The shortest interval, in milliseconds, at which this BFD session offers to receive BFD control messages. The remote endpoint may choose to send messages at a slower rate. Defaults to 1000. bfd : min_tx: optional string containing an integer, at least 1. The shortest interval, in milliseconds, at which this BFD session is willing to transmit BFD control messages. Messages will actually be transmitted at a slower rate if the remote endpoint is not willing to receive as quickly as specified. Defaults to 100. bfd : decay_min_rx: optional string containing an integer An alternate receive interval, in milliseconds, that must be greater than or equal to bfd:min_rx. The implementation switches from bfd:min_rx to bfd:decay_min_rx when there is no obvious incoming data traffic at the interface, to reduce the CPU and bandwidth cost of monitoring an idle interface. This feature may be disabled by setting a value of 0. This feature is reset whenever bfd:decay_min_rx bfd:min_rx changes. bfd : forwarding_if_rx: optional string, either true or false When true, traffic received on the Interface is used to indicate the capability of packet I/O. BFD control packets are still transmitted and received. At least one BFD control packet must be received every 100 * bfd:min_rx amount of time. Otherwise, even if traffic are received, the bfd-status:forwarding will be false. bfd : cpath_down: optional string, either true or false Set to true to notify the remote endpoint that traffic should not be forwarded to this system for some reason other than a connectivity failure on the interface being monitored. The typical underlying reason is concatenated path down, that is, that connectivity beyond the local system is down. Defaults to false. bfd : cpath_down: optional string, either true or false Set to true to notify the remote endpoint that traffic should not be forwarded to this system for some reason other than a connectivity failure on the interface being monitored. The typical underlying reason is concatenated path down, that is, that connectivity beyond the local system is down. Defaults to false. bfd : check_tnl_key: optional string, either true or false Set to true to make BFD accept only control messages with a tunnel key of zero. By default, BFD accepts control messages with any tunnel key. bfd : bfd_local_dst_mac: optional string, mac address Set to an Ethernet address in the form xx:xx:xx:xx:xx:xx to set the MAC used as destination for transmitted BFD packets. The default is 00:23:20:00:00:01 bfd : bfd_remote_dst_mac: optional string, mac address Set to an Ethernet address in the form xx:xx:xx:xx:xx:xx to set the MAC used for checking the destination of received BFD packets. Packets with different destination MAC will not be considered as BFD packets. If not specified the destination MAC address of received BFD packets are not checked. bfd : bfd_src_ip: optional string, ip address Set to an IPv4 address to set the IP address used as source for transmitted BFD packets. The default is 169.254.1.1 bfd : bfd_dst_ip: optional string, ip address Set to an IPv4 address to set the IP address used as destination for transmitted BFD packets. The default is 169.254.1.0"; key "bfd-key"; leaf bfd-key { description "bfd name/key"; type string; } leaf bfd-value { description "bfd value"; type string; } } list interface-bfd-status { description "BFD status for a particular interface. The switch sets key-value pairs in the bfd_status column to report the status of BFD on this interface. When BFD is not enabled, with bfd:enable, the switch clears all key-value pairs from bfd_status. bfd_status : state: optional string, one of [admin_down, down, init, up] Reports the state of the BFD session. The BFD session is fully healthy and negotiated if UP. bfd_status : forwarding: optional string, true or false Reports whether the BFD session believes this Interface may be used to forward traffic. Typically this means the local session is signaling UP, and the remote system isn't signaling a problem such as concatenated path down. bfd_status : diagnostic: optional string A diagnostic code specifying the local system's reason for the last change in session state. The error messages are defined in section 4.1 of [RFC 5880]. bfd_status : remote_state: optional string, one of [admin_down, down, init, up] Reports the state of the remote endpoint's BFD session. bfd_status : remote_diagnostic: optional string A diagnostic code specifying the remote system's reason for the last change in session state. The error messages are defined in section 4.1 of [RFC 5880]. bfd_status : flap_count: optional string, containing an integer, minimum 0 Counts the number of bfd_status:forwarding flaps since start. A flap is considered as a change of the bfd_status:forwarding value."; key "bfd-status-key"; leaf bfd-status-key { description "bfd-status name/key"; type string; } leaf bfd-status-value { description "bfd-status value"; type string; } } leaf qos { description "The unique identifier of the QoS entry for this port."; status deprecated; type yang:uuid; } list qos-entry { key "qos-key"; max-elements 1; leaf qos-key { description "Fixed key to reference the QoS entry in MD-SAL."; type uint32 { range "1..1"; } mandatory true; } leaf qos-ref { description "Instance identifier of a QoS entry in the MD-SAL."; type ovsdb-qos-ref; mandatory true; } } leaf ingress-policing-rate { description "Maximum rate for data received on this interface in kbps. Data received faster than this rate is dropped. Set to 0 (default) to disable policing"; type uint32; } leaf ingress-policing-burst { description "Maximum burst size for data received on this interface in kb. The default burst size if set to 0 is 1000 kb. This value has no effect if ingress-policing-rate is 0."; type uint32; } } augment "/topo:network-topology/topo:topology/topo:node" { description "Augmentation for bridge nodes managed by ovsdb"; ext:augment-identifier "ovsdb-bridge-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; } }