diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2017-08-01 20:28:05 +0200 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2017-10-11 11:52:19 +0200 |
commit | 3d1f51841c6c10ecfd7130a16daca3cf8f09fc77 (patch) | |
tree | 0e3a2ac214dbbab5c88f406c5f3a971d73ec6431 | |
parent | 616a697f5eaf2d81ebd282ff3678703e6b80a8c5 (diff) | |
download | NetworkManager-3d1f51841c6c10ecfd7130a16daca3cf8f09fc77.tar.gz |
clients: add support for ovs-bridge setting
-rw-r--r-- | clients/cli/connections.c | 1 | ||||
-rw-r--r-- | clients/common/nm-meta-setting-desc.c | 41 | ||||
-rw-r--r-- | libnm/NetworkManager.h | 1 | ||||
-rw-r--r-- | shared/nm-meta-setting.c | 6 | ||||
-rw-r--r-- | shared/nm-meta-setting.h | 1 |
5 files changed, 50 insertions, 0 deletions
diff --git a/clients/cli/connections.c b/clients/cli/connections.c index 6085f09782..0690dcda0c 100644 --- a/clients/cli/connections.c +++ b/clients/cli/connections.c @@ -134,6 +134,7 @@ const NmcMetaGenericInfo *const nmc_fields_con_active_details_general[] = { NM_SETTING_BRIDGE_PORT_SETTING_NAME","\ NM_SETTING_TEAM_SETTING_NAME","\ NM_SETTING_TEAM_PORT_SETTING_NAME"," \ + NM_SETTING_OVS_BRIDGE_SETTING_NAME","\ NM_SETTING_OVS_INTERFACE_SETTING_NAME","\ NM_SETTING_OVS_PORT_SETTING_NAME","\ NM_SETTING_DCB_SETTING_NAME"," \ diff --git a/clients/common/nm-meta-setting-desc.c b/clients/common/nm-meta-setting-desc.c index 27dccc868a..7553eaa8d3 100644 --- a/clients/common/nm-meta-setting-desc.c +++ b/clients/common/nm-meta-setting-desc.c @@ -5008,6 +5008,7 @@ static const NMMetaPropertyInfo *const property_infos_CONNECTION[] = { .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( .values_static = VALUES_STATIC (NM_SETTING_BOND_SETTING_NAME, NM_SETTING_BRIDGE_SETTING_NAME, + NM_SETTING_OVS_BRIDGE_SETTING_NAME, NM_SETTING_OVS_PORT_SETTING_NAME, NM_SETTING_TEAM_SETTING_NAME), ), @@ -5804,6 +5805,27 @@ static const NMMetaPropertyInfo *const property_infos_PPPOE[] = { }; #undef _CURRENT_NM_META_SETTING_TYPE +#define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_OVS_BRIDGE +static const NMMetaPropertyInfo *const property_infos_OVS_BRIDGE[] = { + PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_BRIDGE_FAIL_MODE, + .property_type = &_pt_gobject_string, + .property_typ_data = DEFINE_PROPERTY_TYP_DATA ( + .values_static = VALUES_STATIC ("secure", "standalone"), + ), + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_BRIDGE_MCAST_SNOOPING_ENABLE, + .property_type = &_pt_gobject_bool, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_BRIDGE_RSTP_ENABLE, + .property_type = &_pt_gobject_bool, + ), + PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_BRIDGE_STP_ENABLE, + .property_type = &_pt_gobject_bool, + ), + NULL +}; + +#undef _CURRENT_NM_META_SETTING_TYPE #define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_OVS_INTERFACE static const NMMetaPropertyInfo *const property_infos_OVS_INTERFACE[] = { PROPERTY_INFO_WITH_DESC (NM_SETTING_OVS_INTERFACE_TYPE, @@ -6767,6 +6789,7 @@ _setting_init_fcn_wireless (ARGS_SETTING_INIT_FCN) #define SETTING_PRETTY_NAME_MACSEC N_("MACsec connection") #define SETTING_PRETTY_NAME_MACVLAN N_("macvlan connection") #define SETTING_PRETTY_NAME_OLPC_MESH N_("OLPC Mesh connection") +#define SETTING_PRETTY_NAME_OVS_BRIDGE N_("OpenVSwitch bridge settings") #define SETTING_PRETTY_NAME_OVS_INTERFACE N_("OpenVSwitch interface settings") #define SETTING_PRETTY_NAME_OVS_PORT N_("OpenVSwitch port settings") #define SETTING_PRETTY_NAME_PPP N_("PPP settings") @@ -6918,6 +6941,14 @@ const NMMetaSettingInfoEditor nm_meta_setting_infos_editor[] = { ), .setting_init_fcn = _setting_init_fcn_olpc_mesh, ), + SETTING_INFO (OVS_BRIDGE, + .valid_parts = NM_META_SETTING_VALID_PARTS ( + NM_META_SETTING_VALID_PART_ITEM (CONNECTION, TRUE), + NM_META_SETTING_VALID_PART_ITEM (OVS_BRIDGE, TRUE), + NM_META_SETTING_VALID_PART_ITEM (OVS_PORT, FALSE), + NM_META_SETTING_VALID_PART_ITEM (WIRED, FALSE), + ), + ), SETTING_INFO (OVS_INTERFACE, .valid_parts = NM_META_SETTING_VALID_PARTS ( NM_META_SETTING_VALID_PART_ITEM (CONNECTION, TRUE), @@ -7041,6 +7072,12 @@ static const NMMetaSettingValidPartItem *const valid_settings_slave_bridge[] = { NULL, }; +static const NMMetaSettingValidPartItem *const valid_settings_slave_ovs_bridge[] = { + NM_META_SETTING_VALID_PART_ITEM (OVS_PORT, FALSE), + NM_META_SETTING_VALID_PART_ITEM (OVS_INTERFACE, FALSE), + NULL, +}; + static const NMMetaSettingValidPartItem *const valid_settings_slave_ovs_port[] = { NM_META_SETTING_VALID_PART_ITEM (OVS_INTERFACE, FALSE), NULL, @@ -7066,6 +7103,10 @@ nm_meta_setting_info_valid_parts_for_slave_type (const char *slave_type, const c NM_SET_OUT (out_slave_name, "bridge-slave"); return valid_settings_slave_bridge; } + if (nm_streq (slave_type, NM_SETTING_OVS_BRIDGE_SETTING_NAME)) { + NM_SET_OUT (out_slave_name, "ovs-slave"); + return valid_settings_slave_ovs_bridge; + } if (nm_streq (slave_type, NM_SETTING_OVS_PORT_SETTING_NAME)) { NM_SET_OUT (out_slave_name, "ovs-slave"); return valid_settings_slave_ovs_port; diff --git a/libnm/NetworkManager.h b/libnm/NetworkManager.h index 4f871e2cc8..dfb75edb83 100644 --- a/libnm/NetworkManager.h +++ b/libnm/NetworkManager.h @@ -76,6 +76,7 @@ #include "nm-setting-macsec.h" #include "nm-setting-macvlan.h" #include "nm-setting-olpc-mesh.h" +#include "nm-setting-ovs-bridge.h" #include "nm-setting-ovs-interface.h" #include "nm-setting-ovs-port.h" #include "nm-setting-ppp.h" diff --git a/shared/nm-meta-setting.c b/shared/nm-meta-setting.c index c5f6ff9ae3..702467b839 100644 --- a/shared/nm-meta-setting.c +++ b/shared/nm-meta-setting.c @@ -43,6 +43,7 @@ #include "nm-setting-macsec.h" #include "nm-setting-macvlan.h" #include "nm-setting-olpc-mesh.h" +#include "nm-setting-ovs-bridge.h" #include "nm-setting-ovs-interface.h" #include "nm-setting-ovs-port.h" #include "nm-setting-ppp.h" @@ -237,6 +238,11 @@ const NMMetaSettingInfo nm_meta_setting_infos[] = { .setting_name = NM_SETTING_OLPC_MESH_SETTING_NAME, .get_setting_gtype = nm_setting_olpc_mesh_get_type, }, + [NM_META_SETTING_TYPE_OVS_BRIDGE] = { + .meta_type = NM_META_SETTING_TYPE_OVS_BRIDGE, + .setting_name = NM_SETTING_OVS_BRIDGE_SETTING_NAME, + .get_setting_gtype = nm_setting_ovs_bridge_get_type, + }, [NM_META_SETTING_TYPE_OVS_INTERFACE] = { .meta_type = NM_META_SETTING_TYPE_OVS_INTERFACE, .setting_name = NM_SETTING_OVS_INTERFACE_SETTING_NAME, diff --git a/shared/nm-meta-setting.h b/shared/nm-meta-setting.h index b07bcfbdeb..8b57d358b7 100644 --- a/shared/nm-meta-setting.h +++ b/shared/nm-meta-setting.h @@ -75,6 +75,7 @@ typedef enum { NM_META_SETTING_TYPE_MACSEC, NM_META_SETTING_TYPE_MACVLAN, NM_META_SETTING_TYPE_OLPC_MESH, + NM_META_SETTING_TYPE_OVS_BRIDGE, NM_META_SETTING_TYPE_OVS_INTERFACE, NM_META_SETTING_TYPE_OVS_PORT, NM_META_SETTING_TYPE_PPP, |