Instead of dedicated dpdk properties in the schema (dpdk_initialized,
dpdk_version), introduce a generic 'libraries' table, for key-value
pairs, making it generic and expandable for future libraries.
DPDK fills it instead of the special properties.

Signed-off-by: Eli Britstein <[email protected]>
---
 lib/dpdk.c                 | 15 ++++++++++++---
 vswitchd/bridge.c          |  4 +---
 vswitchd/vswitch.ovsschema | 12 +++++-------
 vswitchd/vswitch.xml       | 15 ++++-----------
 4 files changed, 22 insertions(+), 24 deletions(-)

diff --git a/lib/dpdk.c b/lib/dpdk.c
index 19f147418..4509cc63d 100644
--- a/lib/dpdk.c
+++ b/lib/dpdk.c
@@ -592,8 +592,17 @@ print_dpdk_version(void)
 void
 dpdk_status(const struct ovsrec_open_vswitch *cfg)
 {
-    if (cfg) {
-        ovsrec_open_vswitch_set_dpdk_initialized(cfg, dpdk_available());
-        ovsrec_open_vswitch_set_dpdk_version(cfg, rte_version());
+    if (!cfg) {
+        return;
     }
+
+    struct smap new_libraries;
+
+    smap_init(&new_libraries);
+    smap_clone(&new_libraries, &cfg->libraries);
+    smap_replace(&new_libraries, "dpdk-initialized",
+                 dpdk_available() ? "true" : "false");
+    smap_replace(&new_libraries, "dpdk-version", rte_version());
+    ovsrec_open_vswitch_set_libraries(cfg, &new_libraries);
+    smap_destroy(&new_libraries);
 }
diff --git a/vswitchd/bridge.c b/vswitchd/bridge.c
index ac36f31ea..fcec6f633 100644
--- a/vswitchd/bridge.c
+++ b/vswitchd/bridge.c
@@ -28,7 +28,6 @@
 #include "daemon.h"
 #include "dirs.h"
 #include "dpif.h"
-#include "dpdk.h"
 #include "hash.h"
 #include "openvswitch/hmap.h"
 #include "hmapx.h"
@@ -449,8 +448,7 @@ bridge_init(const char *remote)
     ovsdb_idl_omit(idl, &ovsrec_open_vswitch_col_db_version);
     ovsdb_idl_omit(idl, &ovsrec_open_vswitch_col_system_type);
     ovsdb_idl_omit(idl, &ovsrec_open_vswitch_col_system_version);
-    ovsdb_idl_omit_alert(idl, &ovsrec_open_vswitch_col_dpdk_version);
-    ovsdb_idl_omit_alert(idl, &ovsrec_open_vswitch_col_dpdk_initialized);
+    ovsdb_idl_omit_alert(idl, &ovsrec_open_vswitch_col_libraries);
 
     ovsdb_idl_omit_alert(idl, &ovsrec_bridge_col_datapath_id);
     ovsdb_idl_omit_alert(idl, &ovsrec_bridge_col_datapath_version);
diff --git a/vswitchd/vswitch.ovsschema b/vswitchd/vswitch.ovsschema
index c658291c7..ce3079292 100644
--- a/vswitchd/vswitch.ovsschema
+++ b/vswitchd/vswitch.ovsschema
@@ -1,6 +1,6 @@
 {"name": "Open_vSwitch",
- "version": "8.8.0",
- "cksum": "2823623553 27869",
+ "version": "8.9.0",
+ "cksum": "3257907134 27827",
  "tables": {
    "Open_vSwitch": {
      "columns": {
@@ -53,11 +53,9 @@
        "iface_types": {
          "type": {"key": {"type": "string"},
                   "min": 0, "max": "unlimited"}},
-       "dpdk_initialized": {
-         "type": "boolean"},
-       "dpdk_version": {
-         "type": {"key": {"type": "string"},
-                  "min": 0, "max": 1}}},
+       "libraries": {
+         "type": {"key": "string", "value": "string",
+                  "min": 0, "max": "unlimited"}}},
      "isRoot": true,
      "maxRows": 1},
    "Bridge": {
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
index 3dcf74402..0c33d2521 100644
--- a/vswitchd/vswitch.xml
+++ b/vswitchd/vswitch.xml
@@ -902,6 +902,10 @@
         </p>
       </column>
 
+      <column name="libraries">
+        Key-value pairs for information about libraries.
+      </column>
+
     </group>
     <group title="Status">
       <column name="next_cfg">
@@ -917,11 +921,6 @@
         configuration changes.
       </column>
 
-      <column name="dpdk_initialized">
-        True if <ref column="other_config" key="dpdk-init"/> is set to
-        true and the DPDK library is successfully initialized.
-      </column>
-
       <group title="Statistics">
         <p>
           The <code>statistics</code> column contains key-value pairs that
@@ -1106,12 +1105,6 @@
         </p>
       </column>
 
-      <column name="dpdk_version">
-        <p>
-          The version of the linked DPDK library.
-        </p>
-      </column>
-
     </group>
 
     <group title="Capabilities">
-- 
2.34.1

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to