From: Jefferson Zhai Date: Fri, 5 Nov 2021 16:57:35 +0000 (-0700) Subject: tools/mesh: Add option to sub-add cmd X-Git-Tag: submit/tizen/20220313.220938~40 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1d125a1c55a743740c4d19bc33e271d6ccb25ffd;p=platform%2Fupstream%2Fbluez.git tools/mesh: Add option to sub-add cmd If the Subscription being added is a Vendor Model, there needs to be a 4th parameter. Fixes oversight of not supporting vendor model in Meshctl. Signed-off-by: Anuj Jain Signed-off-by: Ayush Garg --- diff --git a/tools/mesh-gatt/config-client.c b/tools/mesh-gatt/config-client.c index 3ec42d9..7bdd028 100644 --- a/tools/mesh-gatt/config-client.c +++ b/tools/mesh-gatt/config-client.c @@ -972,7 +972,7 @@ static void cmd_sub_add(int argc, char *argv[]) n = mesh_opcode_set(OP_CONFIG_MODEL_SUB_ADD, msg); parm_cnt = read_input_parameters(argc, argv); - if (parm_cnt != 3) { + if (parm_cnt != 3 && parm_cnt != 4) { bt_shell_printf("Bad arguments: %s\n", argv[1]); return bt_shell_noninteractive_quit(EXIT_FAILURE); } @@ -984,9 +984,15 @@ static void cmd_sub_add(int argc, char *argv[]) /* Subscription Address */ put_le16(parms[1], msg + n); n += 2; - /* SIG Model ID */ - put_le16(parms[2], msg + n); - n += 2; + /* Model ID */ + if (parm_cnt == 4) { + put_le16(parms[3], msg + n); + put_le16(parms[2], msg + n + 2); + n += 4; + } else { + put_le16(parms[2], msg + n); + n += 2; + } if (!config_send(msg, n)) { bt_shell_printf("Failed to send \"ADD SUBSCRIPTION\"\n"); @@ -1222,7 +1228,7 @@ static const struct bt_shell_menu cfg_menu = { cmd_hb_sub_set, "Set heartbeat subscribe"}, {"hb-sub-get", NULL, cmd_hb_sub_get, "Get heartbeat subscribe"}, - {"sub-add", " ", + {"sub-add", " [cid]", cmd_sub_add, "Add subscription"}, {"sub-get", " ", cmd_sub_get, "Get subscription"},