From 7e42aa7a3730bca5c3eb013a38d7ed3d0058f04f Mon Sep 17 00:00:00 2001 From: Inga Stotland Date: Tue, 7 Jul 2020 09:44:38 -0700 Subject: [PATCH] mesh: Get rid of "unreliable opcodes" in config server This removes an old notion of unreliable opcodes in config server model , i.e., a correctly formatted acknowledged message always gets a response. --- mesh/cfgmod-server.c | 31 +++++++++++-------------------- mesh/model.h | 2 -- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/mesh/cfgmod-server.c b/mesh/cfgmod-server.c index 6194fc7d4..14b4a980e 100644 --- a/mesh/cfgmod-server.c +++ b/mesh/cfgmod-server.c @@ -104,9 +104,8 @@ static void config_pub_get(struct mesh_node *node, uint16_t net_idx, } static void config_pub_set(struct mesh_node *node, uint16_t net_idx, - uint16_t src, uint16_t dst, - const uint8_t *pkt, bool virt, - bool vendor, bool unreliable) + uint16_t src, uint16_t dst, + const uint8_t *pkt, bool virt, bool vendor) { uint32_t mod_id; uint16_t ele_addr, idx, ota = UNASSIGNED_ADDRESS; @@ -149,9 +148,8 @@ static void config_pub_set(struct mesh_node *node, uint16_t net_idx, status, ele_addr, ota, mod_id, idx); if (status != MESH_STATUS_SUCCESS) { - if (!unreliable) - send_pub_status(node, net_idx, src, dst, status, - ele_addr, mod_id, 0, 0, 0, 0, 0, 0); + send_pub_status(node, net_idx, src, dst, status, ele_addr, + mod_id, 0, 0, 0, 0, 0, 0); return; } @@ -186,10 +184,8 @@ static void config_pub_set(struct mesh_node *node, uint16_t net_idx, status = MESH_STATUS_STORAGE_FAIL; } - if (!unreliable) - send_pub_status(node, net_idx, src, dst, status, ele_addr, - mod_id, ota, idx, cred_flag, ttl, - period, retransmit); + send_pub_status(node, net_idx, src, dst, status, ele_addr, mod_id, ota, + idx, cred_flag, ttl, period, retransmit); } static void send_sub_status(struct mesh_node *node, uint16_t net_idx, @@ -317,7 +313,6 @@ static void config_sub_set(struct mesh_node *node, uint16_t net_idx, bool virt, uint32_t opcode) { uint16_t grp, ele_addr; - bool unreliable = !!(opcode & OP_UNRELIABLE); uint32_t mod_id; const uint8_t *addr = NULL; int status = MESH_STATUS_SUCCESS; @@ -375,7 +370,7 @@ static void config_sub_set(struct mesh_node *node, uint16_t net_idx, } else grp = UNASSIGNED_ADDRESS; - switch (opcode & ~OP_UNRELIABLE) { + switch (opcode) { default: l_debug("Bad opcode: %x", opcode); return; @@ -417,8 +412,8 @@ static void config_sub_set(struct mesh_node *node, uint16_t net_idx, grp = UNASSIGNED_ADDRESS; /* Fall Through */ case OP_CONFIG_MODEL_SUB_DELETE: - status = mesh_model_sub_del(node, ele_addr, mod_id, - addr, virt, &grp); + status = mesh_model_sub_del(node, ele_addr, mod_id, addr, virt, + &grp); if (status == MESH_STATUS_SUCCESS) save_config_sub(node, ele_addr, mod_id, vendor, addr, @@ -427,10 +422,7 @@ static void config_sub_set(struct mesh_node *node, uint16_t net_idx, break; } - if (!unreliable) - send_sub_status(node, net_idx, src, dst, status, ele_addr, - grp, mod_id); - + send_sub_status(node, net_idx, src, dst, status, ele_addr, grp, mod_id); } static void send_model_app_status(struct mesh_node *node, uint16_t net_idx, @@ -812,8 +804,7 @@ static bool cfg_srv_pkt(uint16_t src, uint16_t dst, uint16_t app_idx, return true; config_pub_set(node, net_idx, src, dst, pkt, virt, - size == 13 || size == 27, - !!(opcode & OP_UNRELIABLE)); + size == 13 || size == 27); break; case OP_CONFIG_MODEL_PUB_GET: diff --git a/mesh/model.h b/mesh/model.h index f717fb00c..0377d3fdd 100644 --- a/mesh/model.h +++ b/mesh/model.h @@ -19,8 +19,6 @@ struct mesh_model; -#define OP_UNRELIABLE 0x0100 - #define MAX_BINDINGS 10 #define MAX_GRP_PER_MOD 10 -- 2.47.3