linux-bluetooth.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH BlueZ]mesh: meshctl add Node Identity option to connect command
@ 2017-12-04 16:28 Steve Brown
  2017-12-04 19:20 ` Stotland, Inga
  2017-12-04 19:47 ` Johan Hedberg
  0 siblings, 2 replies; 3+ messages in thread
From: Steve Brown @ 2017-12-04 16:28 UTC (permalink / raw)
  To: linux-bluetooth@vger.kernel.org

This adds the option to connect via either Node Identity or Network ID
advertisements. Adding the node unicast address selects Node Identity.

See Mesh Profile Specification 7.2.2.2 for further details.

---

diff --git a/mesh/main.c b/mesh/main.c
index d7e45e56b..e19b7f413 100644
--- a/mesh/main.c
+++ b/mesh/main.c
@@ -1773,6 +1774,8 @@ static void cmd_connect(const char *arg)
 			rl_printf("Invalid network index %s\n", arg);
 			return;
 		}
+
+		connection.unicast = strtol(end, NULL, 16);
 	}
 
 	if (discovering)
@@ -1782,11 +1785,17 @@ static void cmd_connect(const char *arg)
 	set_scan_filter_uuids(MESH_PROXY_SVC_UUID);
 	discover_mesh = true;
 
-	connection.type = CONN_TYPE_NETWORK;
-
+	if (connection.unicast == UNASSIGNED_ADDRESS) {
+		connection.type = CONN_TYPE_NETWORK;
+		rl_printf("Looking for mesh network with net index %4.4x\n",
+				connection.net_idx);
+	} else {
+		connection.type = CONN_TYPE_IDENTITY;
+		rl_printf("Looking for node id %4.4x"
+				" on network with net index %4.4x\n",
+				connection.unicast, connection.net_idx);
+	}
 
-	rl_printf("Looking for mesh network with net index %4.4x\n",
-							connection.net_idx);
 
 	if (g_dbus_proxy_method_call(default_ctrl->proxy,
 			"StartDiscovery", NULL, start_discovery_reply,
@@ -2005,7 +2014,8 @@ static const struct menu_entry meshctl_cmd_table[] = {
 	{ "security",     "[0(low)/1(medium)/2(high)]", cmd_security,
 				"Display or change provision security level"},
 	{ "info",         "[dev]",    cmd_info, "Device information"},
-	{ "connect",      "[net_idx]",cmd_connect, "Connect to mesh network"},
+	{ "connect",      "[net_idx] [dst]",cmd_connect,
+				"Connect to mesh network or node on network"},
 	{ "discover-unprovisioned", "<on/off>", cmd_scan_unprovisioned_devices,
 					"Look for devices to provision" },
 	{ "provision",    "<uuid>",   cmd_start_prov, "Initiate provisioning"},

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH BlueZ]mesh: meshctl add Node Identity option to connect command
  2017-12-04 16:28 [PATCH BlueZ]mesh: meshctl add Node Identity option to connect command Steve Brown
@ 2017-12-04 19:20 ` Stotland, Inga
  2017-12-04 19:47 ` Johan Hedberg
  1 sibling, 0 replies; 3+ messages in thread
From: Stotland, Inga @ 2017-12-04 19:20 UTC (permalink / raw)
  To: sbrown@cortland.com, linux-bluetooth@vger.kernel.org
  Cc: johan.hedberg@gmail.com

[-- Attachment #1: Type: text/plain, Size: 2448 bytes --]

Hi Steve,

On Mon, 2017-12-04 at 09:28 -0700, Steve Brown wrote:
> This adds the option to connect via either Node Identity or Network
> ID
> advertisements. Adding the node unicast address selects Node
> Identity.
> 
> See Mesh Profile Specification 7.2.2.2 for further details.
> 
> ---
> 
> diff --git a/mesh/main.c b/mesh/main.c
> index d7e45e56b..e19b7f413 100644
> --- a/mesh/main.c
> +++ b/mesh/main.c
> @@ -1773,6 +1774,8 @@ static void cmd_connect(const char *arg)
>  			rl_printf("Invalid network index %s\n",
> arg);
>  			return;
>  		}
> +
> +		connection.unicast = strtol(end, NULL, 16);
>  	}
>  
>  	if (discovering)
> @@ -1782,11 +1785,17 @@ static void cmd_connect(const char *arg)
>  	set_scan_filter_uuids(MESH_PROXY_SVC_UUID);
>  	discover_mesh = true;
>  
> -	connection.type = CONN_TYPE_NETWORK;
> -
> +	if (connection.unicast == UNASSIGNED_ADDRESS) {
> +		connection.type = CONN_TYPE_NETWORK;
> +		rl_printf("Looking for mesh network with net index
> %4.4x\n",
> +				connection.net_idx);
> +	} else {
> +		connection.type = CONN_TYPE_IDENTITY;
> +		rl_printf("Looking for node id %4.4x"
> +				" on network with net index
> %4.4x\n",
> +				connection.unicast,
> connection.net_idx);
> +	}
>  
> -	rl_printf("Looking for mesh network with net index %4.4x\n",
> -							connection.n
> et_idx);
>  
>  	if (g_dbus_proxy_method_call(default_ctrl->proxy,
>  			"StartDiscovery", NULL,
> start_discovery_reply,
> @@ -2005,7 +2014,8 @@ static const struct menu_entry
> meshctl_cmd_table[] = {
>  	{ "security",     "[0(low)/1(medium)/2(high)]",
> cmd_security,
>  				"Display or change provision
> security level"},
>  	{ "info",         "[dev]",    cmd_info, "Device
> information"},
> -	{ "connect",      "[net_idx]",cmd_connect, "Connect to mesh
> network"},
> +	{ "connect",      "[net_idx] [dst]",cmd_connect,
> +				"Connect to mesh network or node on
> network"},
>  	{ "discover-unprovisioned", "<on/off>",
> cmd_scan_unprovisioned_devices,
>  					"Look for devices to
> provision" },
>  	{ "provision",    "<uuid>",   cmd_start_prov, "Initiate
> provisioning"},
> --
> To unsubscribe from this list: send the line "unsubscribe linux-
> bluetooth" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

This is a valid extension. The patch looks good.

Thanks,

Inga

[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 3266 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH BlueZ]mesh: meshctl add Node Identity option to connect command
  2017-12-04 16:28 [PATCH BlueZ]mesh: meshctl add Node Identity option to connect command Steve Brown
  2017-12-04 19:20 ` Stotland, Inga
@ 2017-12-04 19:47 ` Johan Hedberg
  1 sibling, 0 replies; 3+ messages in thread
From: Johan Hedberg @ 2017-12-04 19:47 UTC (permalink / raw)
  To: Steve Brown; +Cc: linux-bluetooth@vger.kernel.org

Hi Steve,

On Mon, Dec 04, 2017, Steve Brown wrote:
> This adds the option to connect via either Node Identity or Network ID
> advertisements. Adding the node unicast address selects Node Identity.
> 
> See Mesh Profile Specification 7.2.2.2 for further details.

Applied. Thanks.

Johan

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-12-04 19:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-04 16:28 [PATCH BlueZ]mesh: meshctl add Node Identity option to connect command Steve Brown
2017-12-04 19:20 ` Stotland, Inga
2017-12-04 19:47 ` Johan Hedberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).