Merge "update IT for new SFC model changes for DPLs"
[ovsdb.git] / southbound / southbound-api / src / main / yang / ovsdb.yang
1 module ovsdb {
2     yang-version 1;
3     namespace "urn:opendaylight:params:xml:ns:yang:ovsdb";
4     prefix "southbound";
5
6     import network-topology {prefix "topo"; revision-date "2013-10-21"; }
7     import yang-ext { prefix "ext"; }
8     import ietf-inet-types { prefix inet; revision-date 2010-09-24; }
9     import overlay { prefix overlay; }
10     import ietf-yang-types { prefix yang; revision-date "2013-07-15";}
11     import opendaylight-l2-types { prefix ethertype; revision-date "2013-08-27";}
12
13     revision "2015-01-05" {
14         description "Initial revision of southbound model";
15     }
16
17     typedef ovsdb-termination-point-ref {
18         description "A reference to an ovsdb termination point";
19         type instance-identifier;
20     }
21
22     typedef ovsdb-bridge-ref {
23         description "A reference to an ovsdb bridge";
24         type instance-identifier;
25     }
26
27     typedef ovsdb-node-ref {
28         description "A reference to an ovsdb node";
29         type instance-identifier;
30     }
31
32     typedef flow-node-ref {
33         description "A reference to a flow node";
34         type instance-identifier;
35     }
36
37     typedef ovsdb-bridge-name {
38         type string;
39     }
40
41     typedef datapath-id {
42         type string {
43           pattern
44             '[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){7}';
45         }
46         description
47           "The datapath-d type represents OpenFlow datapath-id .
48         The canonical representation uses lowercase characters.
49
50         In the value set and its semantics, this type is similar
51         to the MacAddress textual convention of the SMIv2, but with
52         16 extra bits";
53         reference
54           "Openflow 1.3.0 Spec
55            IEEE 802: IEEE Standard for Local and Metropolitan Area
56                 Networks: Overview and Architecture
57            RFC 2579: Textual Conventions for SMIv2";
58     }
59
60     identity datapath-type-base {
61         description "Base identity for all OVSDB datapath types";
62     }
63
64     identity datapath-type-system {
65         description "Datapath type for the kernel datapath";
66         base datapath-type-base;
67     }
68
69     identity datapath-type-netdev {
70         description "Datapath type for the userspace datapath";
71         base datapath-type-base;
72     }
73
74     identity ovsdb-bridge-protocol-base {
75         description "Base identity for all ovsdb-bridge-protocols";
76     }
77
78     identity ovsdb-bridge-protocol-openflow-10 {
79         description "Ovsdb bridge protocol OpenFlow 1.0";
80         base ovsdb-bridge-protocol-base;
81     }
82
83     identity ovsdb-bridge-protocol-openflow-11 {
84         description "Ovsdb bridge protocol OpenFlow 1.1";
85         base ovsdb-bridge-protocol-base;
86     }
87
88     identity ovsdb-bridge-protocol-openflow-12 {
89         description "Ovsdb bridge protocol OpenFlow 1.2";
90         base ovsdb-bridge-protocol-base;
91     }
92
93     identity ovsdb-bridge-protocol-openflow-13 {
94         description "Ovsdb bridge protocol OpenFlow 1.3";
95         base ovsdb-bridge-protocol-base;
96     }
97
98     identity ovsdb-bridge-protocol-openflow-14 {
99         description "Ovsdb bridge protocol OpenFlow 1.4";
100         base ovsdb-bridge-protocol-base;
101     }
102
103     identity ovsdb-bridge-protocol-openflow-15 {
104         description "Ovsdb bridge protocol OpenFlow 1.5";
105         base ovsdb-bridge-protocol-base;
106     }
107
108     identity ovsdb-fail-mode-base {
109         description "Base identity for ovsdb-failmode";
110     }
111
112     identity ovsdb-fail-mode-standalone {
113         description "Identity for ovsdb-failmode standalone";
114         base ovsdb-fail-mode-base;
115     }
116
117     identity ovsdb-fail-mode-secure {
118         description "Identity for ovsdb-failmode standalone";
119         base ovsdb-fail-mode-base;
120     }
121
122     grouping ovsdb-bridge-attributes {
123         leaf bridge-uuid {
124             description "The unique identifier of the bridge";
125             type yang:uuid;
126         }
127         leaf bridge-openflow-node-ref {
128             description "A reference to the openflow node";
129             type instance-identifier;
130         }
131
132         leaf bridge-name {
133             description "The name of the bridge";
134             type ovsdb-bridge-name;
135         }
136         list protocol-entry {
137             key "protocol";
138             leaf protocol {
139                 description "Protocol bridge should seek to speak to its controller";
140                 type identityref {
141                     base ovsdb-bridge-protocol-base;
142                 }
143             }
144         }
145
146         list controller-entry {
147             description "Bridge controller info";
148             key "target";
149             leaf target {
150                 description "Uri telling bridge how to connect to controller";
151                 type inet:uri;
152             }
153             leaf controller-uuid {
154                 description "The unique identifier of the controller";
155                 type yang:uuid;
156             }
157             leaf is-connected {
158                 type boolean;
159             }
160
161         }
162
163         leaf datapath-id {
164             description "Datapath-id of the bridge";
165             type datapath-id;
166         }
167
168         leaf datapath-type {
169             description "The datapath type of the bridge";
170             type identityref {
171                 base datapath-type-base;
172             }
173         }
174
175         leaf fail-mode {
176             description "Failmode of the bridge";
177             type identityref {
178                 base ovsdb-fail-mode-base;
179             }
180         }
181
182         leaf flow-node {
183             description "Flow node corresponding to this bridge";
184             type flow-node-ref;
185         }
186
187         leaf managed-by {
188             description "The OVSDB which this bridge belongs to";
189             type ovsdb-node-ref;
190         }
191
192         list bridge-external-ids {
193             description
194                "Key-value pairs for use by external frameworks that integrate
195             with Open vSwitch.
196
197             external_ids : bridge-id: optional string
198
199             A unique identifier of the bridge. On Citrix XenServer this
200             will commonly be the same as external_ids:xs-network-uuids.
201
202             external_ids : xs-network-uuids: optional string
203
204             Semicolon-delimited set of universally unique identifier(s)
205             for the network with which this bridge is associated on a
206             Citrix XenServer host. The network identifiers are RFC 4122
207             UUIDs as displayed by, e.g., xe network−list.";
208
209             key "bridge-external-id-key";
210             leaf bridge-external-id-key {
211                 description "external-id name/key";
212                 type string;
213                 mandatory true;
214             }
215             leaf bridge-external-id-value {
216                 description "bridge-external-id value";
217                 type string;
218                 mandatory true;
219             }
220         }
221
222         list bridge-other-configs {
223             description
224                "Key-value pairs for configuring rarely used features.
225
226             other_config : hwaddr: optional string
227                An Ethernet address in the form xx:xx:xx:xx:xx:xx to set the
228                hardware address of the local port and influence the datapath
229                ID.
230
231             other_config : forward-bpdu: optional string
232                either true or false. Option to allow forwarding of BPDU frames when NORMAL
233                action is invoked. Frames with reserved Ethernet
234                addresses (e.g. STP BPDU) will be forwarded when this option
235                is enabled and the switch is not providing that functionality.
236
237             other_config : mac-aging-time: optional string
238                containing an integer, at least 1 The maximum number of seconds to retain a
239                MAC learning entry for which no packets have been seen. The
240                default is currently 300 seconds (5 minutes). The value, if
241                specified, is forced into a reasonable range, currently 15
242                   to 3600 seconds.
243
244             other_config : mac-table-size: optional string
245                containing an integer, at least 1 The maximum number of MAC addresses to
246                learn. The default is currently 2048. The value, if
247                specified, is forced into a reasonable range, currently 10
248                to 1,000,000.
249
250             other_config : datapath-id: optional string
251                Exactly 16 hex digits to set the OpenFlow datapath ID to a
252                specific value. May not be all-zero.
253
254             other_config : dp-desc: optional string
255                Human readable description of datapath. It it a maximum
256                256 byte-long free-form string to describe the datapath for
257                debugging purposes.
258
259             other_config : disable-in-band: optional string
260                either true or false
261                If set to true, disable in-band control on the bridge
262                regardless of controller and manager settings.
263
264             other_config : in-band-queue: optional string
265                containing an integer, in range 0 to 4,294,967,295 A queue ID as a
266                nonnegative integer.
267
268              other_config : stp-system-id: optional string
269                 The bridge’s STP identifier (the lower 48 bits of the
270                 bridge-id) in the form xx:xx:xx:xx:xx:xx. By default, the
271                 identifier is the MAC address of the bridge.
272
273              other_config : stp-priority: optional string
274                 containing an integer, in range 0 to 65,535 The bridge’s relative priority
275                 value for determining the root bridge (the upper 16 bits of
276                 the bridgeid).  A bridge with the lowest bridge-id is elected
277                 the root. By default, the priority is 0x8000.
278
279              other_config : stp-hello-time: optional string
280                 containing an integer, in range 1 to 10 The interval between transmissions
281                 of hello messages by designated ports, in seconds. By default
282                 the hello interval is 2 seconds.
283
284              other_config : stp-max-age: optional string
285                 containing an integer, in range 6 to 40 The maximum age of the information
286                 transmitted by the bridge when it is the root bridge, in
287                 seconds.  By default, the maximum age is 20 seconds.
288
289              other_config : stp-forward-delay: optional string
290                 containing an integer, in range 4 to 30 The delay to wait between
291                 transitioning root and designated ports to forwarding, in
292                 seconds. By default, the forwarding delay is 15 seconds.
293
294              other_config : mcast-snooping-aging-time: optional string,
295                 containing an integer, at least 1 The maximum number of
296                 seconds to retain a multicast snooping entry for which no
297                 packets have been seen. The default is currently 300
298                 seconds (5 minutes). The value, if specified, is forced into
299                 a reasonable range, currently 15 to 3600 seconds.
300
301              other_config : mcast-snooping-table-size: optional string,
302                 containing an integer, at least 1 The maximum number of
303                 multicast snooping addresses to learn. The default is
304                 currently 2048.  The value, if specified, is forced into a
305                 reasonable range, currently 10 to 1,000,000.
306
307              other_config : mcast-snooping-disable-flood-unregistered:
308                 optional string, either true or false If set to false,
309                 unregistered multicast packets are forwarded to all ports.
310                 If set to true, unregistered multicast packets are forwarded
311                 to ports connected to multicast routers.";
312
313             key "bridge-other-config-key";
314             leaf bridge-other-config-key {
315                 description "bridge-other-config name/key";
316                 type string;
317             }
318             leaf bridge-other-config-value {
319                 description "bridge-other-config value";
320                 type string;
321             }
322         }
323
324     }
325
326     grouping ovsdb-connection-info-attributes {
327           leaf remote-ip {
328             type inet:ip-address;
329             description "Ovsdb Connection Remote IP";
330           }
331           leaf remote-port {
332             type inet:port-number;
333             description "Ovsdb Connection Remote Port Number";
334           }
335           leaf local-ip {
336             type inet:ip-address;
337             description "Ovsdb Connection Local IP";
338           }
339           leaf local-port {
340             type inet:port-number;
341             description "Ovsdb Connection Local Port Number IP";
342           }
343     }
344
345     grouping ovsdb-node-attributes {
346         description "Plugin will not allow multiple connections to the same device.
347         If an application attempts to make more than one connection to the device by
348         putting multiple entries in the config data store, then it is the responsibility
349         of the application to clean the config data store";
350         container connection-info{
351             uses ovsdb-connection-info-attributes;
352         }
353
354         leaf db-version {
355             description "The database schema version";
356             type string;
357         }
358
359         leaf ovs-version {
360             description "The Open_vSwitch version number";
361             type string;
362         }
363
364         list managed-node-entry {
365             key "bridge-ref";
366             leaf bridge-ref {
367                 type ovsdb-bridge-ref;
368             }
369         }
370
371         list datapath-type-entry {
372             key "datapath-type";
373             leaf datapath-type {
374                 description "Datapath types supported by OVSDB node";
375                 type identityref {
376                     base datapath-type-base;
377                 }
378             }
379         }
380
381         list interface-type-entry {
382             key "interface-type";
383             leaf interface-type {
384                 description "Interface types supported by OVSDB node";
385                 type identityref {
386                     base interface-type-base;
387                 }
388             }
389         }
390
391         list openvswitch-external-ids {
392             description "Key-value pairs for use by external frameworks that integrate
393                   with Open vSwitch.
394
395             external_ids : system-id: optional string
396                A unique identifier for the Open vSwitch’s physical host.
397                The form of the identifier depends on the type of the host.
398                On a Citrix XenServer, this will likely be the same as
399                external_ids:xs-system-uuid.
400
401            external_ids : xs-system-uuid: optional string
402                The Citrix XenServer universally unique identifier for the
403                 physical host as displayed by xe-host−list.";
404
405             key "external-id-key";
406             leaf external-id-key {
407                 description "external-id name/key";
408                 type string;
409                 mandatory true;
410             }
411             leaf external-id-value {
412                 description "external-id value";
413                 type string;
414                 mandatory true;
415             }
416         }
417
418         list openvswitch-other-configs {
419             description "Key-value pairs for configuring rarely used features.
420
421             other_config : stats-update-interval: optional string
422                This option will affect the update of the statistics column
423                in the following tables: Port, Interface , Mirror.
424
425             other_config : flow-restore-wait: optional string
426                either true or false When ovs−vswitchd starts up, it has an empty flow
427                table and therefore it handles all arriving packets in its
428                default fashion according to its configuration, by
429                dropping them or sending them to an OpenFlow controller or
430                switching them as a standalone switch.
431
432             other_config : flow-limit: optional string
433                containing an integer, at least 0. The maximum number of flows allowed in
434                the datapath flow table.
435
436             other_config : n-dpdk-rxqs: optional string
437                containing an integer, at least 1 Specifies the number of rx queues to be
438                created for each dpdk interface. If not specified or
439                specified to 0, one rx queue will be created for each dpdk
440                interface by default.
441
442             other_config : pmd-cpu-mask: optional string
443                Specifies CPU mask for setting the cpu affinity of
444                PMD (Poll Mode Driver) threads. Value should be in the form
445                of hex string, similar to the dpdk EAL ’-c COREMASK’ option
446                input or the ’taskset’ mask input.
447
448             other_config : n-handler-threads: optional string
449                containing an integer, at least 1 Specifies the number of threads for
450                software datapaths to use for handling new flows. The default
451                the number of online CPU cores minus the number of
452                revalidators.
453
454             other_config : n-revalidator-threads: optional string,
455                containing an integer, at least 1 Specifies the number of
456                threads for software datapaths to use for revalidating flows
457                in the datapath.
458
459              other_config : enable-statistics: optional string
460                 either ture or false. Set this value to true to enable populating the
461                 statistics column or to false to explicitly disable it.";
462
463             key "other-config-key";
464             leaf other-config-key {
465                 description "other-config name/key";
466                 type string;
467             }
468             leaf other-config-value {
469                 description "other-config value";
470                 type string;
471             }
472          }
473
474          list manager-entry {
475             description "Node managers info";
476             config false;
477             key "target";
478             leaf target {
479                 description "Uri that user set to connect to the controller";
480                 type inet:uri;
481             }
482             leaf connected {
483                 type boolean;
484             }
485             leaf number_of_connections {
486                 type uint32;
487             }
488         }
489
490         list qos-entries {
491             key "qos-uuid";
492             leaf qos-uuid {
493                 description "The unique identifier of the QoS.";
494                 type yang:uuid;
495             }
496             leaf qos-type {
497                 type identityref {
498                     base qos-type-base;
499                 }
500             }
501             list queue-list {
502                 description "The list of queues used by the QoS";
503                 key "queue-uuid";
504                 leaf queue-uuid {
505                     description "The unique identifier of the queue.";
506                     type yang:uuid;
507                 }
508             }
509             list qos-external-ids {
510                 key "qos-external-id-key";
511                 leaf qos-external-id-key {
512                     description "qos external-id name/key";
513                     type string;
514                     mandatory true;
515                 }
516                 leaf qos-external-id-value {
517                     description "qos-external-id value";
518                     type string;
519                     mandatory true;
520                 }
521             }
522             list qos-other-config {
523                 description "
524                     other_config : max-rate
525                         optional string, containing an integer.";
526
527                 key "other-config-key";
528                 leaf other-config-key {
529                     description "qos-other-config name/key";
530                     type string;
531                 }
532                 leaf other-config-value {
533                     description "qos-other-config value";
534                     type string;
535                 }
536             }
537         }
538
539         list queues {
540             key "queue-uuid";
541             leaf queue-uuid {
542                 description "The unique identifier of the queue.";
543                 type yang:uuid;
544             }
545             leaf dscp {
546                 type uint8;
547             }
548             list queues-other-config {
549                 description "
550                 Configuration for linux-htb QoS:
551
552                 other_config : min-rate optional string
553                     containing an integer, at least 1.
554                     Minimum guaranteed bandwidth, in bit/s.
555
556                 other_config : max-rate optional string
557                     containing an integer, at least 1.
558                     Maximum allowed bandwidth, in bit/s. Optional. If specified, the queue’s rate will not be allowed
559                     to exceed the specified value, even if excess bandwidth is available. If unspecified, defaults to no
560                     limit.
561
562                 other_config : burst optional string
563                     containing an integer, at least 1.
564                     Burst size, in bits. This is the maximum amount of ‘‘credits’’ that a queue can accumulate while it
565                     is idle. Optional. Details of the linux−htb implementation require a minimum burst size, so a
566                     too-small burst will be silently ignored.
567
568                 other_config : priority optional string.
569                     containing an integer, in range 0 to 4,294,967,295.
570                     A queue with a smaller priority will receive all the excess bandwidth that it can use before a
571                     queue with a larger value receives any. Specific priority values are unimportant; only relative
572                     ordering matters. Defaults to 0 if unspecified.
573
574                 Configuration for linux-htb QoS:
575
576                 other_config : min-rate optional string
577                     containing an integer, at least 1.
578                     Minimum guaranteed bandwidth, in bit/s.
579
580                 other_config : max-rate optional string
581                     containing an integer, at least 1.
582                     Maximum allowed bandwidth, in bit/s. Optional. If specified, the queue’s rate will not be allowed
583                     to exceed the specified value, even if excess bandwidth is available. If unspecified, defaults to no
584                     limit..";
585
586                 key "queue-other-config-key";
587                 leaf queue-other-config-key {
588                     type string;
589                 }
590                 leaf queue-other-config-value {
591                     type string;
592                 }
593             }
594         }
595      }
596
597     identity interface-type-base {
598         description "Base identity for all OVSDB interface types";
599     }
600
601     identity interface-type-system {
602         description "Interface type for system interfaces";
603         base interface-type-base;
604     }
605
606     identity interface-type-internal {
607         description "Interface type for internal interfaces";
608         base interface-type-base;
609     }
610
611     identity interface-type-vxlan {
612         description "Interface type for vxlan interfaces";
613         base interface-type-base;
614     }
615
616     identity interface-type-patch {
617         description "Interface type for patch interfaces";
618         base interface-type-base;
619     }
620
621     identity interface-type-tap {
622         description "Interface type for tun/tap interfaces";
623         base interface-type-base;
624     }
625
626     identity interface-type-geneve {
627         description "Interface type for geneve interfaces";
628         base interface-type-base;
629     }
630
631     identity interface-type-gre {
632         description "Interface type for gre interfaces";
633         base interface-type-base;
634     }
635
636     identity interface-type-ipsec-gre {
637         description "Interface type for ipsec-gre interfaces";
638         base interface-type-base;
639     }
640
641     identity interface-type-gre64 {
642         description "Interface type for gre64 interfaces";
643         base interface-type-base;
644     }
645
646     identity interface-type-ipsec-gre64 {
647         description "Interface type for ipsec-gre64 interfaces";
648         base interface-type-base;
649     }
650
651     identity interface-type-lisp {
652         description "Interface type for lisp interfaces";
653         base interface-type-base;
654     }
655
656     identity interface-type-dpdk {
657         description "Interface type for dpdk interfaces";
658         base interface-type-base;
659     }
660
661     identity interface-type-dpdkr {
662         description "Interface type for dpdk ring interfaces";
663         base interface-type-base;
664     }
665
666     identity interface-type-dpdkvhost {
667         description "Interface type for dpdkvhost interfaces";
668         base interface-type-base;
669     }
670
671     identity interface-type-dpdkvhostuser {
672         description "Interface type for dpdkvhostuser interfaces";
673         base interface-type-base;
674     }
675
676     identity interface-type-stt {
677         description "Interface type for stt interfaces";
678         base interface-type-base;
679     }
680
681     identity qos-type-base {
682         description "the base identity for qos";
683     }
684
685     identity qos-type-linux-htb {
686         description "linux hierarchy token bucket classifier";
687         base qos-type-base;
688     }
689
690     identity qos-type-linux-hfsc {
691         description "linux hierarchical fair service curve classifier";
692         base qos-type-base;
693     }
694
695     grouping ovsdb-port-interface-attributes {
696         leaf port-uuid {
697             description "The unique identifier of the OVSDB port";
698             type yang:uuid;
699         }
700
701         leaf interface-uuid {
702             description "The unique identifier of the OVSDB interface";
703             type yang:uuid;
704         }
705
706         leaf name {
707             description "The name of the OVSDB port/interface";
708             type string;
709         }
710
711         leaf interface-type {
712             description "The type of the OVSDB interface";
713             type identityref {
714                 base interface-type-base;
715             }
716         }
717
718         list options {
719             description "Port/Interface related optional input values";
720             key "option";
721             leaf option {
722                 description "Option name";
723                 type string;
724             }
725             leaf value {
726                 description "Option value";
727                 type string;
728             }
729         }
730
731         leaf ofport {
732             description "Port/Interface related optional ofport";
733             type uint32;
734         }
735
736         leaf ofport_request {
737             description "Port/Interface related optional ofport_request, in range 1 to 65279";
738             type uint16 {
739                 range "1..65279";
740             }
741         }
742
743         leaf vlan-tag {
744             description "The VLAN tag of the termination point.";
745             type ethertype:vlan-id;
746         }
747
748         list trunks {
749             description "Represents the trunks of a termination point.";
750             leaf trunk {
751                 type ethertype:vlan-id;
752             }
753         }
754
755         leaf vlan-mode {
756             description "The VLAN mode of the termination point.";
757             type enumeration {
758                 enum "access" {
759                     value 1;
760                     description
761                         "The VLAN mode access.";
762                 }
763                 enum "native-tagged" {
764                     value 2;
765                     description
766                         "The VLAN mode native-tagged.";
767                 }
768                 enum "native-untagged" {
769                     value 3;
770                     description
771                         "The VLAN mode native-untagged.";
772                 }
773                 enum "trunk" {
774                     value 4;
775                     description
776                         "The VLAN mode trunk.";
777                 }
778             }
779         }
780
781         list port-other-configs {
782             description "Other config attributes for Ports
783
784             other_config : priority-tags: optional string
785                either true or false An 802.1Q header contains two important pieces of
786                information: a VLAN ID and a priority.
787
788             other_config : bond-hash-basis: optional string
789                containing an integer An integer hashed along with flows when choosing output
790                slaves in load balanced bonds. When changed, all flows will be
791                assigned different hash values possibly causing slave selection
792                decisions to change.
793
794             other_config : bond-detect-mode: optional string
795                either miimon or carrier The means used to detect link failures. Defaults to
796                carrier which uses each interface’s carrier to detect failures.
797                When set to miimon, will check for failures by polling each
798                interface’s MII.
799
800             other_config : bond-miimon-interval: optional string
801                containing an integer The interval, in milliseconds, between successive
802                attempts to poll each interface’s MII. Relevant only when
803                other_config:bond-detect-mode is miimon
804
805             other_config : lacp-system-id: optional string
806                The LACP system ID of this Port. The system ID of a LACP bond
807                is used to identify itself to its partners. Must be a nonzero
808                MAC address. Defaults to the bridge Ethernet address if unset.
809
810             other_config : lacp-system-priority: optional string
811                containing an integer, in range 1 to 65,535 The LACP system priority of this
812                Port. In LACP negotiations, link status decisions are made by
813                the system with the numerically lower priority.
814
815             other_config : lacp-time: optional string
816                 either slow or fast. The LACP timing which should be used on this Port. By default
817                 slow is used. When configured to be fast LACP heartbeats are
818                 requested at a rate of once per second causing connectivity
819                 problems to be detected more quickly. In slow mode, heartbeats
820                 are requested at a rate of once every 30 seconds.
821
822             other_config : lacp-fallback-ab: optional string
823                 either true or false Determines the behavior of openvswitch bond in LACP mode.
824                 If the partner switch does not support LACP, setting this
825                 option to true allows openvswitch to fallback to active-backup.
826                 If the option is set to false, the bond will be disabled.
827                 In both the cases, once the partner switch is configured
828                 to LACP mode, the bond will use LACP.
829
830             other_config : bond-rebalance-interval: optional string,
831                 containing an integer, in range 0 to 10,000 For a load
832                 balanced bonded port, the number of milliseconds between
833                 successive attempts to rebalance the bond, that is, to move
834                 flows from one interface on the bond to another in an attempt
835                 to keep usage of each interface roughly equal. If zero, load
836                 balancing is disabled on the bond (link failure still cause
837                 flows to move). If less than 1000ms, the rebalance interval
838                 will be 1000ms.
839
840             other_config : stp-enable: optional string
841                either true or false. If spanning tree is enabled on the bridge, member ports are
842                enabled by default (with the exception of bond, internal, and
843                mirror ports which do not work with STP). If this column’s
844                value is false spanning tree is disabled on the port.
845
846             other_config : stp-port-num: optional string
847                containing an integer, in range 1 to 255 The port number used for the lower 8
848                bits of the port-id. By default, the numbers will be assigned
849                automatically. If any port’s number is manually configured on
850                a bridge, then they must all be.
851
852             other_config : stp-port-priority: optional string
853                containing an integer, in range 0 to 255 The port’s relative priority value
854                for determining the root port (the upper 8 bits of the port-id).
855
856             other_config : stp-path-cost: optional string
857                 containing an integer, in range 0 to 65,535 Spanning tree path cost for the
858                 port. A lower number indicates a faster link. By default, the
859                 cost is based on the maximum speed of the link.
860
861              other_config : rstp-enable: optional string
862                  either true or false
863                  If rapid spanning tree is enabled on the bridge, member ports
864                  are enabled by default (with the exception of bond, internal,
865                  and mirror ports which do not work with RSTP). If this
866                  column’s value is false rapid spanning tree is disabled on
867                  the port.
868
869              other_config : rstp-port-priority: optional string
870                  containing an integer, in range 0 to 240 The port’s relative priority value
871                  for determining the root port, in multiples of 16. By default,
872                  the port priority is 0x80 (128).
873
874              other_config : rstp-port-num: optional string
875                  containing an integer, in range 1 to 4,095 The local RSTP port number, used
876                  as the lower 12 bits of the port-id.
877
878              other_config : rstp-port-path-cost: optional string
879                  containing an integer The port path cost. The Port’s contribution, when it
880                  is the Root Port, to the Root Path Cost for the Bridge.
881
882              other_config : rstp-port-admin-edge: optional string
883                  either true or false
884
885              other_config : rstp-port-auto-edge: optional string
886                  either true or false The auto edge port parameter for the Port. Default
887                  is true.
888
889              other_config : rstp-port-mcheck: optional string
890                  either true or false The mcheck port parameter for the Port. Default is false.
891
892               other_config : mcast-snooping-flood: optional string
893                   either true or false If set to true, multicast packets are
894                   unconditionally forwarded to the specific port";
895
896             key "other-config-key";
897             leaf other-config-key {
898                 description "port-other-config name/key";
899                 type string;
900             }
901             leaf other-config-value {
902                 description "port-other-config value";
903                 type string;
904             }
905         }
906
907         list interface-other-configs {
908             description "Other config attributes for Interfaces
909
910             other_config : enable-vlan-splinters: optional string
911                either true or false. Set to true to enable VLAN splinters on this
912                interface. Defaults to false.";
913
914             key "other-config-key";
915             leaf other-config-key {
916                 description "interface-other-config name/key";
917                 type string;
918             }
919             leaf other-config-value {
920                 description "interface-other-config value";
921                 type string;
922             }
923         }
924
925         list port-external-ids {
926             description "Port external ids
927
928             external_ids : fake-bridge-id-*: optional string
929                External IDs for a fake bridge (see the fake_bridge column) are defined by
930                prefixing a Bridge external_ids key with
931                fake−bridge−, e.g. fake−bridge−xs−network−uuids.";
932
933             key "external-id-key";
934             leaf external-id-key {
935                 description "external-id name/key";
936                 type string;
937                 mandatory true;
938             }
939             leaf external-id-value {
940                 description "external-id value";
941                 type string;
942                 mandatory true;
943             }
944         }
945
946         list interface-external-ids {
947             description "Interface external ids
948
949             external_ids : attached-mac: optional string.
950                The MAC address programmed into the ‘‘virtual hardware’’ for this interface, in
951                the form xx:xx:xx:xx:xx:xx. For Citrix XenServer, this is the
952                value of the MAC field in the VIF record for this interface.
953
954             external_ids : iface-id: optional string.
955                A system-unique identifier for the interface. On XenServer, this will commonly
956                be the same as external_ids:xs-vif-uuid.
957
958             external_ids : iface-status: optional string
959                either active or inactive Hypervisors may sometimes have more than one interface
960                associated with a given external_ids:iface-id, only one of
961                which is actually in use at a given time.
962
963             external_ids : xs-vif-uuid: optional string.
964                The virtual interface associated with this interface.
965
966             external_ids : xs-network-uuid: optional string.
967                The virtual network to which this interface is attached.
968
969             external_ids : vm-id: optional string.
970                The VM to which this interface belongs. On XenServer, this will be the same as
971                external_ids:xsvm-uuid.
972
973             external_ids : xs-vm-uuid: optional string.
974                The VM to which this interface belongs";
975
976             key "external-id-key";
977             leaf external-id-key {
978                 description "external-id name/key";
979                 type string;
980                 mandatory true;
981             }
982             leaf external-id-value {
983                 description "external-id value";
984                 type string;
985                 mandatory true;
986             }
987         }
988
989         leaf qos {
990             description "The unique identifier of the QoS entry for this port.";
991             type yang:uuid;
992         }
993     }
994
995     augment "/topo:network-topology/topo:topology/topo:node" {
996         description "Augmentation for bridge nodes managed by ovsdb";
997         ext:augment-identifier "ovsdb-bridge-augmentation";
998         uses ovsdb-bridge-attributes;
999     }
1000
1001     augment "/topo:network-topology/topo:topology/topo:node" {
1002         description "Augment topology node for an ovsdb node";
1003         ext:augment-identifier "ovsdb-node-augmentation";
1004         uses ovsdb-node-attributes;
1005     }
1006
1007     augment "/topo:network-topology/topo:topology/topo:node/topo:termination-point" {
1008         description "Augment topology node termination-point for an ovsdb port/interface";
1009         ext:augment-identifier "ovsdb-termination-point-augmentation";
1010         uses ovsdb-port-interface-attributes;
1011     }
1012 }