[ovs-dev] [external_ids 2/2] vswitch: Add external_ids column to every table.

Ben Pfaff blp at nicira.com
Wed Jul 28 14:11:34 PDT 2010


It seems potentially useful for system integrators to have this available,
and doesn't cost much.
---
 tests/ovs-vsctl.at         |    1 +
 vswitchd/vswitch.ovsschema |   36 ++++++++++++++++++++++----
 vswitchd/vswitch.xml       |   60 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 91 insertions(+), 6 deletions(-)

diff --git a/tests/ovs-vsctl.at b/tests/ovs-vsctl.at
index 061a4f4..d866c3b 100644
--- a/tests/ovs-vsctl.at
+++ b/tests/ovs-vsctl.at
@@ -638,6 +638,7 @@ active_timeout      : 0
 add_id_to_interface : false
 engine_id           : []
 engine_type         : []
+external_ids        : {}
 targets             : ["1.2.3.4:567"]
 ]], [ignore], [test ! -e pid || kill `cat pid`])
 AT_CHECK([RUN_OVS_VSCTL([list interx x])], 
diff --git a/vswitchd/vswitch.ovsschema b/vswitchd/vswitch.ovsschema
index b38463b..a6595ce 100644
--- a/vswitchd/vswitch.ovsschema
+++ b/vswitchd/vswitch.ovsschema
@@ -136,7 +136,10 @@
          "ephemeral": true},
        "statistics": {
          "type": {"key": "string", "value": "integer", "min": 0, "max": "unlimited"},
-         "ephemeral": true}}},
+         "ephemeral": true},
+       "external_ids": {
+         "type": {"key": "string", "value": "string",
+                  "min": 0, "max": "unlimited"}}}},
    "QoS": {
      "columns": {
        "type": {
@@ -150,11 +153,17 @@
                   "min": 0, "max": "unlimited"}},
        "other_config": {
          "type": {"key": "string", "value": "string", 
+                  "min": 0, "max": "unlimited"}},
+       "external_ids": {
+         "type": {"key": "string", "value": "string",
                   "min": 0, "max": "unlimited"}}}},
    "Queue": {
      "columns": {
        "other_config": {
          "type": {"key": "string", "value": "string", 
+                  "min": 0, "max": "unlimited"}},
+       "external_ids": {
+         "type": {"key": "string", "value": "string",
                   "min": 0, "max": "unlimited"}}}},
    "Mirror": {
      "columns": {
@@ -187,7 +196,10 @@
          "type": {"key": {"type": "integer",
                           "minInteger": 1,
                           "maxInteger": 4095},
-                  "min": 0, "max": 1}}}},
+                  "min": 0, "max": 1}},
+       "external_ids": {
+         "type": {"key": "string", "value": "string",
+                  "min": 0, "max": "unlimited"}}}},
    "NetFlow": {
      "columns": {
        "targets": {
@@ -207,7 +219,10 @@
          "type": "boolean"},
        "active_timeout": {
          "type": {"key": {"type": "integer",
-                          "minInteger": -1}}}}},
+                          "minInteger": -1}}},
+       "external_ids": {
+         "type": {"key": "string", "value": "string",
+                  "min": 0, "max": "unlimited"}}}},
    "sFlow": {
      "columns": {
        "targets": {
@@ -219,7 +234,10 @@
        "header": {
          "type": {"key": "integer", "min": 0, "max": 1}},
        "agent": {
-         "type": {"key": "string", "min": 0, "max": 1}}}},
+         "type": {"key": "string", "min": 0, "max": 1}},
+       "external_ids": {
+         "type": {"key": "string", "value": "string",
+                  "min": 0, "max": "unlimited"}}}},
    "Controller": {
      "columns": {
        "target": {
@@ -258,7 +276,10 @@
        "controller_burst_limit": {
          "type": {"key": {"type": "integer", 
                           "minInteger": 25},
-                  "min": 0, "max": 1}}}},
+                  "min": 0, "max": 1}},
+       "external_ids": {
+         "type": {"key": "string", "value": "string",
+                  "min": 0, "max": "unlimited"}}}},
    "SSL": {
      "columns": {
        "private_key": {
@@ -268,5 +289,8 @@
        "ca_cert": {
          "type": "string"},
        "bootstrap_ca_cert": {
-         "type": "boolean"}},
+         "type": "boolean"},
+       "external_ids": {
+         "type": {"key": "string", "value": "string",
+                  "min": 0, "max": "unlimited"}}},
      "maxRows": 1}}}
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index aec2d8a..07849ee 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -677,6 +677,14 @@
           Mbps.</dd>
       </dl>
     </column>
+
+    <column name="external_ids">
+      Key-value pairs for use by external frameworks that integrate with Open
+      vSwitch, rather than by Open vSwitch itself.  System integrators should
+      either use the Open vSwitch development mailing list to coordinate on
+      common key-value definitions, or choose key names that are likely to be
+      unique.  No common key-value pairs are currently defined.
+    </column>
   </table>
 
   <table name="Queue" title="QoS output queue.">
@@ -718,6 +726,14 @@
           values are unimportant; only relative ordering matters.</dd>
       </dl>
     </column>
+
+    <column name="external_ids">
+      Key-value pairs for use by external frameworks that integrate with Open
+      vSwitch, rather than by Open vSwitch itself.  System integrators should
+      either use the Open vSwitch development mailing list to coordinate on
+      common key-value definitions, or choose key names that are likely to be
+      unique.  No common key-value pairs are currently defined.
+    </column>
   </table>
 
   <table name="Mirror" title="Port mirroring (SPAN/RSPAN).">
@@ -799,6 +815,16 @@
           in the appropriate <ref table="Bridge"/> table or tables.</p>
       </column>
     </group>
+
+    <group title="Other Features">
+      <column name="external_ids">
+        Key-value pairs for use by external frameworks that integrate with Open
+        vSwitch, rather than by Open vSwitch itself.  System integrators should
+        either use the Open vSwitch development mailing list to coordinate on
+        common key-value definitions, or choose key names that are likely to be
+        unique.  No common key-value pairs are currently defined.
+      </column>
+    </group>
   </table>
 
   <table name="Controller" title="OpenFlow controller configuration.">
@@ -1023,6 +1049,16 @@
         this network has no gateway.
       </column>
     </group>
+
+    <group title="Other Features">
+      <column name="external_ids">
+        Key-value pairs for use by external frameworks that integrate with Open
+        vSwitch, rather than by Open vSwitch itself.  System integrators should
+        either use the Open vSwitch development mailing list to coordinate on
+        common key-value definitions, or choose key names that are likely to be
+        unique.  No common key-value pairs are currently defined.
+      </column>
+    </group>
   </table>
 
   <table name="NetFlow">
@@ -1064,6 +1100,14 @@
         disambiguate the traffic.</p>
       <p>When this option is enabled, a maximum of 508 ports are supported.</p>
     </column>
+
+    <column name="external_ids">
+      Key-value pairs for use by external frameworks that integrate with Open
+      vSwitch, rather than by Open vSwitch itself.  System integrators should
+      either use the Open vSwitch development mailing list to coordinate on
+      common key-value definitions, or choose key names that are likely to be
+      unique.  No common key-value pairs are currently defined.
+    </column>
   </table>
 
   <table name="SSL">
@@ -1096,6 +1140,14 @@
         SSL connection to a man-in-the-middle attack obtaining the initial
         CA certificate.</em>  It may still be useful for bootstrapping.
     </column>
+
+    <column name="external_ids">
+      Key-value pairs for use by external frameworks that integrate with Open
+      vSwitch, rather than by Open vSwitch itself.  System integrators should
+      either use the Open vSwitch development mailing list to coordinate on
+      common key-value definitions, or choose key names that are likely to be
+      unique.  No common key-value pairs are currently defined.
+    </column>
   </table>
 
   <table name="sFlow">
@@ -1130,6 +1182,14 @@
       sFlow targets in the form
       <code><var>ip</var>:<var>port</var></code>.
     </column>
+
+    <column name="external_ids">
+      Key-value pairs for use by external frameworks that integrate with Open
+      vSwitch, rather than by Open vSwitch itself.  System integrators should
+      either use the Open vSwitch development mailing list to coordinate on
+      common key-value definitions, or choose key names that are likely to be
+      unique.  No common key-value pairs are currently defined.
+    </column>
   </table>
 
   <table name="Capability">
-- 
1.7.1





More information about the dev mailing list