From 36fe07802a6d946715e190e0ce7e647fa94908c6 Mon Sep 17 00:00:00 2001 From: Ricardo Salveti Date: Fri, 28 Jul 2017 13:29:06 -0300 Subject: [PATCH] net: lwm2m: create common wrapper for net_context_sendto Simplifly net_context_sendto calls and also allows to easily debug every send/receive lwm2m call. Signed-off-by: Ricardo Salveti --- subsys/net/lib/lwm2m/lwm2m_engine.c | 18 +++++++++--------- subsys/net/lib/lwm2m/lwm2m_engine.h | 1 + subsys/net/lib/lwm2m/lwm2m_obj_firmware_pull.c | 7 ++----- subsys/net/lib/lwm2m/lwm2m_rd_client.c | 12 +++--------- 4 files changed, 15 insertions(+), 23 deletions(-) diff --git a/subsys/net/lib/lwm2m/lwm2m_engine.c b/subsys/net/lib/lwm2m/lwm2m_engine.c index 36545d5cd16..07146085328 100644 --- a/subsys/net/lib/lwm2m/lwm2m_engine.c +++ b/subsys/net/lib/lwm2m/lwm2m_engine.c @@ -2145,6 +2145,12 @@ static int handle_request(struct zoap_packet *request, return r; } +int lwm2m_udp_sendto(struct net_pkt *pkt, const struct sockaddr *dst_addr) +{ + return net_context_sendto(pkt, dst_addr, NET_SOCKADDR_MAX_SIZE, + NULL, K_NO_WAIT, NULL, NULL); +} + void lwm2m_udp_receive(struct net_context *ctx, struct net_pkt *pkt, struct zoap_pending *zpendings, int num_zpendings, struct zoap_reply *zreplies, int num_zreplies, @@ -2240,10 +2246,7 @@ void lwm2m_udp_receive(struct net_context *ctx, struct net_pkt *pkt, if (r < 0) { SYS_LOG_ERR("Request handler error: %d", r); } else { - r = net_context_sendto(pkt2, &from_addr, - NET_SOCKADDR_MAX_SIZE, - NULL, K_NO_WAIT, NULL, - NULL); + r = lwm2m_udp_sendto(pkt2, &from_addr); if (r < 0) { SYS_LOG_ERR("Err sending response: %d", r); @@ -2280,9 +2283,7 @@ static void retransmit_request(struct k_work *work) return; } - r = net_context_sendto(pending->pkt, &pending->addr, - NET_SOCKADDR_MAX_SIZE, - NULL, K_NO_WAIT, NULL, NULL); + r = lwm2m_udp_sendto(pending->pkt, &pending->addr); if (r < 0) { return; } @@ -2427,8 +2428,7 @@ static int generate_notify_message(struct observe_node *obs, zoap_reply_init(reply, &request); reply->reply = notify_message_reply_cb; - ret = net_context_sendto(pkt, &obs->addr, NET_SOCKADDR_MAX_SIZE, - NULL, 0, NULL, NULL); + ret = lwm2m_udp_sendto(pkt, &obs->addr); if (ret < 0) { SYS_LOG_ERR("Error sending LWM2M packet (err:%d).", ret); goto cleanup; diff --git a/subsys/net/lib/lwm2m/lwm2m_engine.h b/subsys/net/lib/lwm2m/lwm2m_engine.h index 2d46e38add0..c3a7fc7f1f9 100644 --- a/subsys/net/lib/lwm2m/lwm2m_engine.h +++ b/subsys/net/lib/lwm2m/lwm2m_engine.h @@ -50,6 +50,7 @@ int lwm2m_write_handler(struct lwm2m_engine_obj_inst *obj_inst, struct lwm2m_engine_obj_field *obj_field, struct lwm2m_engine_context *context); +int lwm2m_udp_sendto(struct net_pkt *pkt, const struct sockaddr *dst_addr); void lwm2m_udp_receive(struct net_context *ctx, struct net_pkt *pkt, struct zoap_pending *zpendings, int num_zpendings, struct zoap_reply *zreplies, int num_zreplies, diff --git a/subsys/net/lib/lwm2m/lwm2m_obj_firmware_pull.c b/subsys/net/lib/lwm2m/lwm2m_obj_firmware_pull.c index 3220a025878..4d1d3f559ae 100644 --- a/subsys/net/lib/lwm2m/lwm2m_obj_firmware_pull.c +++ b/subsys/net/lib/lwm2m/lwm2m_obj_firmware_pull.c @@ -60,9 +60,7 @@ static void retransmit_request(struct k_work *work) return; } - r = net_context_sendto(pending->pkt, &pending->addr, - NET_SOCKADDR_MAX_SIZE, - NULL, K_NO_WAIT, NULL, NULL); + r = lwm2m_udp_sendto(pending->pkt, &pending->addr); if (r < 0) { return; } @@ -129,8 +127,7 @@ static int transfer_request(struct zoap_block_context *ctx, } /* send request */ - ret = net_context_sendto(pkt, &firmware_addr, NET_SOCKADDR_MAX_SIZE, - NULL, 0, NULL, NULL); + ret = lwm2m_udp_sendto(pkt, &firmware_addr); if (ret < 0) { SYS_LOG_ERR("Error sending LWM2M packet (err:%d).", ret); diff --git a/subsys/net/lib/lwm2m/lwm2m_rd_client.c b/subsys/net/lib/lwm2m/lwm2m_rd_client.c index bb3184c32c6..ede59bbe887 100644 --- a/subsys/net/lib/lwm2m/lwm2m_rd_client.c +++ b/subsys/net/lib/lwm2m/lwm2m_rd_client.c @@ -440,9 +440,7 @@ static int sm_do_bootstrap(int index) lwm2m_sprint_ip_addr(&clients[index].bs_server), query_buffer); - ret = net_context_sendto(pkt, &clients[index].bs_server, - NET_SOCKADDR_MAX_SIZE, - NULL, 0, NULL, NULL); + ret = lwm2m_udp_sendto(pkt, &clients[index].bs_server); if (ret < 0) { SYS_LOG_ERR("Error sending LWM2M packet (err:%d).", ret); @@ -587,9 +585,7 @@ static int sm_send_registration(int index, bool send_obj_support_data, SYS_LOG_DBG("registration sent [%s]", lwm2m_sprint_ip_addr(&clients[index].reg_server)); - ret = net_context_sendto(pkt, &clients[index].reg_server, - NET_SOCKADDR_MAX_SIZE, - NULL, 0, NULL, NULL); + ret = lwm2m_udp_sendto(pkt, &clients[index].reg_server); if (ret < 0) { SYS_LOG_ERR("Error sending LWM2M packet (err:%d).", ret); @@ -687,9 +683,7 @@ static int sm_do_deregister(int index) SYS_LOG_INF("Deregister from '%s'", clients[index].server_ep); - ret = net_context_sendto(pkt, &clients[index].reg_server, - NET_SOCKADDR_MAX_SIZE, - NULL, 0, NULL, NULL); + ret = lwm2m_udp_sendto(pkt, &clients[index].reg_server); if (ret < 0) { SYS_LOG_ERR("Error sending LWM2M packet (err:%d).", ret);