summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2018-05-22 17:11:30 +0200
committerLubomir Rintel <lkundrak@v3.sk>2018-06-10 11:59:00 +0200
commitc0ab39a6dfc66383aa8badd36f72a07371303146 (patch)
treef20971b13f27e871daae81c9917aa199eabb5fb2
parent5d79c9ce3ba06ec11f4d81cd452620c40b49cef4 (diff)
downloadNetworkManager-lr/6lowpan-wip.tar.gz
client: support 6lowpan settinglr/6lowpan-wip
-rw-r--r--clients/cli/connections.c2
-rw-r--r--clients/common/nm-meta-setting-desc.c20
-rw-r--r--man/nmcli.xml9
-rw-r--r--shared/nm-meta-setting.c6
-rw-r--r--shared/nm-meta-setting.h1
5 files changed, 38 insertions, 0 deletions
diff --git a/clients/cli/connections.c b/clients/cli/connections.c
index 502f082fa7..1a762930ee 100644
--- a/clients/cli/connections.c
+++ b/clients/cli/connections.c
@@ -656,6 +656,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
@@ -889,6 +890,7 @@ usage_connection_add (void)
" wpan: [short-addr <0x0000-0xffff>]\n\n"
" [pan-id <0x0000-0xffff>]\n\n"
" [mac <MAC address>]\n\n"
+ " 6lowpan: dev <parent device (connection UUID, ifname, or MAC)>\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 c8d4ed68ba..5edb0fa235 100644
--- a/clients/common/nm-meta-setting-desc.c
+++ b/clients/common/nm-meta-setting-desc.c
@@ -7468,6 +7468,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
@@ -7629,6 +7642,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 })
@@ -7656,6 +7670,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 b33258c846..62a91dee13 100644
--- a/man/nmcli.xml
+++ b/man/nmcli.xml
@@ -2004,6 +2004,15 @@ It's equivalent to the <literal>+bond.options 'option=value'</literal> syntax.</
</tbody>
</tgroup></table>
+ <table><title>6LoWPAN options</title><tgroup cols="2">
+ <thead>
+ <row><entry>Alias</entry><entry>Property</entry></row>
+ </thead>
+ <tbody>
+ <row><entry align="left">dev</entry><entry align="left"><link linkend="nm-settings.property.6lowpan.dev">6lowpan.parent</link></entry></row>
+ </tbody>
+ </tgroup></table>
+
<table><title>IPv4 options</title><tgroup cols="3">
<thead>
<row><entry>Alias</entry><entry>Property</entry><entry>Note</entry></row>
diff --git a/shared/nm-meta-setting.c b/shared/nm-meta-setting.c
index 32012597c8..8f23d38373 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 10d7707340..faa9c3d527 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,