diff --git a/clients/cli/connections.c b/clients/cli/connections.c index f4964b3983..a38ad3c406 100644 --- a/clients/cli/connections.c +++ b/clients/cli/connections.c @@ -661,6 +661,7 @@ const NmcMetaGenericInfo *const metagen_con_active_general[_NMC_GENERIC_INFO_TYP NM_SETTING_MACVLAN_SETTING_NAME"," \ NM_SETTING_VXLAN_SETTING_NAME"," \ NM_SETTING_WPAN_SETTING_NAME","\ + NM_SETTING_6LOWPAN_SETTING_NAME","\ NM_SETTING_PROXY_SETTING_NAME"," \ NM_SETTING_TC_CONFIG_SETTING_NAME // NM_SETTING_DUMMY_SETTING_NAME @@ -894,6 +895,7 @@ usage_connection_add (void) " wpan: [short-addr <0x0000-0xffff>]\n\n" " [pan-id <0x0000-0xffff>]\n\n" " [mac ]\n\n" + " 6lowpan: dev \n" " dummy:\n\n" " SLAVE_OPTIONS:\n" " bridge: [priority <0-63>]\n" diff --git a/clients/common/nm-meta-setting-desc.c b/clients/common/nm-meta-setting-desc.c index f6477e57cb..649cbf4ef5 100644 --- a/clients/common/nm-meta-setting-desc.c +++ b/clients/common/nm-meta-setting-desc.c @@ -7488,6 +7488,19 @@ static const NMMetaPropertyInfo *const property_infos_WPAN[] = { NULL }; +#undef _CURRENT_NM_META_SETTING_TYPE +#define _CURRENT_NM_META_SETTING_TYPE NM_META_SETTING_TYPE_6LOWPAN +static const NMMetaPropertyInfo *const property_infos_6LOWPAN[] = { + PROPERTY_INFO_WITH_DESC (NM_SETTING_6LOWPAN_PARENT, + .is_cli_option = TRUE, + .property_alias = "dev", + .inf_flags = NM_META_PROPERTY_INF_FLAG_REQD, + .prompt = N_("IEEE 802.15.4 (WPAN) parent device or connection UUID"), + .property_type = &_pt_gobject_string, + ), + NULL +}; + /*****************************************************************************/ static void @@ -7649,6 +7662,7 @@ _setting_init_fcn_wireless (ARGS_SETTING_INIT_FCN) #define SETTING_PRETTY_NAME_WIRELESS N_("Wi-Fi connection") #define SETTING_PRETTY_NAME_WIRELESS_SECURITY N_("Wi-Fi security settings") #define SETTING_PRETTY_NAME_WPAN N_("WPAN settings") +#define SETTING_PRETTY_NAME_6LOWPAN N_("6LOWPAN settings") #define NM_META_SETTING_VALID_PARTS(...) \ ((const NMMetaSettingValidPartItem *const[]) { __VA_ARGS__ NULL }) @@ -7676,6 +7690,12 @@ const NMMetaSettingInfoEditor nm_meta_setting_infos_editor[] = { .pretty_name = SETTING_PRETTY_NAME_##type, \ __VA_ARGS__ \ } + SETTING_INFO (6LOWPAN, + .valid_parts = NM_META_SETTING_VALID_PARTS ( + NM_META_SETTING_VALID_PART_ITEM (CONNECTION, TRUE), + NM_META_SETTING_VALID_PART_ITEM (6LOWPAN, TRUE), + ), + ), SETTING_INFO (802_1X), SETTING_INFO (ADSL, .valid_parts = NM_META_SETTING_VALID_PARTS ( diff --git a/man/nmcli.xml b/man/nmcli.xml index bb74557f02..79deffbc8b 100644 --- a/man/nmcli.xml +++ b/man/nmcli.xml @@ -2014,6 +2014,15 @@ It's equivalent to the +bond.options 'option=value' syntax. + 6LoWPAN options + + AliasProperty + + + dev6lowpan.parent + +
+ IPv4 options AliasPropertyNote diff --git a/shared/nm-meta-setting.c b/shared/nm-meta-setting.c index ef1daee580..b984a1ff52 100644 --- a/shared/nm-meta-setting.c +++ b/shared/nm-meta-setting.c @@ -23,6 +23,7 @@ #include "nm-meta-setting.h" +#include "nm-setting-6lowpan.h" #include "nm-setting-8021x.h" #include "nm-setting-adsl.h" #include "nm-setting-bluetooth.h" @@ -146,6 +147,11 @@ const NMSetting8021xSchemeVtable nm_setting_8021x_scheme_vtable[] = { /*****************************************************************************/ const NMMetaSettingInfo nm_meta_setting_infos[] = { + [NM_META_SETTING_TYPE_6LOWPAN] = { + .meta_type = NM_META_SETTING_TYPE_6LOWPAN, + .setting_name = NM_SETTING_6LOWPAN_SETTING_NAME, + .get_setting_gtype = nm_setting_6lowpan_get_type, + }, [NM_META_SETTING_TYPE_802_1X] = { .meta_type = NM_META_SETTING_TYPE_802_1X, .setting_name = NM_SETTING_802_1X_SETTING_NAME, diff --git a/shared/nm-meta-setting.h b/shared/nm-meta-setting.h index ca77cfdc23..e8d4db9c92 100644 --- a/shared/nm-meta-setting.h +++ b/shared/nm-meta-setting.h @@ -56,6 +56,7 @@ extern const NMSetting8021xSchemeVtable nm_setting_8021x_scheme_vtable[_NM_SETTI /*****************************************************************************/ typedef enum { + NM_META_SETTING_TYPE_6LOWPAN, NM_META_SETTING_TYPE_802_1X, NM_META_SETTING_TYPE_ADSL, NM_META_SETTING_TYPE_BLUETOOTH,