mesh: Get rid of "unreliable opcodes" in config server
authorInga Stotland <inga.stotland@intel.com>
Tue, 7 Jul 2020 16:44:38 +0000 (09:44 -0700)
committerAbhay Agarwal <ay.agarwal@samsung.com>
Mon, 28 Dec 2020 06:20:04 +0000 (11:50 +0530)
This removes an old notion of unreliable opcodes in config server
model , i.e., a correctly formatted acknowledged message always
gets a response.

Change-Id: Ibf3597971c2392b2bbe9ab79feb8ed46019b93e1
Signed-off-by: anuj.bhumiya <anuj.bhumiya@samsung.com>
mesh/cfgmod-server.c
mesh/model.h

index a0588f3..69125b0 100644 (file)
@@ -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:
index f717fb0..0377d3f 100644 (file)
@@ -19,8 +19,6 @@
 
 struct mesh_model;
 
-#define OP_UNRELIABLE                  0x0100
-
 #define MAX_BINDINGS   10
 #define MAX_GRP_PER_MOD        10