summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2019-06-11 16:03:08 +0200
committerLubomir Rintel <lkundrak@v3.sk>2019-06-14 12:10:20 +0200
commitae4152120a0df717992a77b0700abc1a4a2e31a3 (patch)
treeb8547313607a3648410ffe927c428be5c538546c
parentb93643ed858e8283f62840f69f9c4200163aee70 (diff)
downloadNetworkManager-ae4152120a0df717992a77b0700abc1a4a2e31a3.tar.gz
ovs/ovsdb: add support for setting dpdk devargs option
-rw-r--r--src/devices/ovs/nm-ovsdb.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/devices/ovs/nm-ovsdb.c b/src/devices/ovs/nm-ovsdb.c
index bdfcc46155..cf83085ee5 100644
--- a/src/devices/ovs/nm-ovsdb.c
+++ b/src/devices/ovs/nm-ovsdb.c
@@ -340,6 +340,7 @@ _insert_interface (json_t *params, NMConnection *interface)
{
const char *type = NULL;
NMSettingOvsInterface *s_ovs_iface;
+ NMSettingOvsDpdk *s_ovs_dpdk;
NMSettingOvsPatch *s_ovs_patch;
json_t *options = json_array ();
@@ -348,11 +349,20 @@ _insert_interface (json_t *params, NMConnection *interface)
type = nm_setting_ovs_interface_get_interface_type (s_ovs_iface);
json_array_append_new (options, json_string ("map"));
- s_ovs_patch = nm_connection_get_setting_ovs_patch (interface);
- if (s_ovs_patch) {
+
+ s_ovs_dpdk = (NMSettingOvsDpdk *) nm_connection_get_setting (interface,
+ NM_TYPE_SETTING_OVS_DPDK);
+ if (!s_ovs_dpdk)
+ s_ovs_patch = nm_connection_get_setting_ovs_patch (interface);
+
+ if (s_ovs_dpdk) {
+ json_array_append_new (options, json_pack ("[[s, s]]",
+ "devargs",
+ nm_setting_ovs_dpdk_get_devargs (s_ovs_dpdk)));
+ } else if (s_ovs_patch) {
json_array_append_new (options, json_pack ("[[s, s]]",
- "peer",
- nm_setting_ovs_patch_get_peer (s_ovs_patch)));
+ "peer",
+ nm_setting_ovs_patch_get_peer (s_ovs_patch)));
} else {
json_array_append_new (options, json_array ());
}