Skip to content

Commit 1adb52b

Browse files
coap message type decided based on destination (ARMmbed#1702)
1 parent d1cf42d commit 1adb52b

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

source/6LoWPAN/Thread/thread_extension_bbr.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ static duplicate_dua_tr_t *thread_border_router_dup_tr_find(int8_t interface_id,
206206
static void thread_border_router_bb_ans_send(thread_pbbr_t *this, uint8_t *destination_addr_ptr, uint8_t *target_eid_ptr, uint8_t *ml_eid_ptr, uint32_t last_transaction_time, uint8_t *network_name_ptr, uint16_t *rloc_ptr)
207207
{
208208
uint8_t *payload_ptr, *ptr;
209+
sn_coap_msg_type_e coap_msg_type = COAP_MSG_TYPE_CONFIRMABLE;
209210

210211
tr_debug("Thread BBR BB_ANS.ntf send");
211212

@@ -223,9 +224,12 @@ static void thread_border_router_bb_ans_send(thread_pbbr_t *this, uint8_t *desti
223224
ptr = thread_meshcop_tlv_data_write_uint16(ptr, TMFCOP_TLV_RLOC16, *rloc_ptr);
224225
}
225226

226-
/* UDP Encapsulation TLV */
227+
if (addr_is_ipv6_multicast(destination_addr_ptr)) {
228+
coap_msg_type = COAP_MSG_TYPE_NON_CONFIRMABLE;
229+
}
230+
227231
coap_service_request_send(this->br_bb_service_id, COAP_REQUEST_OPTIONS_NONE, destination_addr_ptr, this->pbbr_port,
228-
COAP_MSG_TYPE_NON_CONFIRMABLE, COAP_MSG_CODE_REQUEST_POST, THREAD_URI_BBR_BB_ANS_NTF, COAP_CT_OCTET_STREAM, payload_ptr, ptr - payload_ptr, NULL);
232+
coap_msg_type, COAP_MSG_CODE_REQUEST_POST, THREAD_URI_BBR_BB_ANS_NTF, COAP_CT_OCTET_STREAM, payload_ptr, ptr - payload_ptr, NULL);
229233

230234
ns_dyn_mem_free(payload_ptr);
231235

0 commit comments

Comments
 (0)