Skip to content

Commit

Permalink
Fix data for 6lowpan when mle is disabled.
Browse files Browse the repository at this point in the history
Change-Id: I13d7af968f3bc88d5d338688449e1da60f1a5f8d
  • Loading branch information
Juha Heiskanen authored and juhhei01 committed Jun 26, 2018
1 parent 501a612 commit 7990fa9
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 5 deletions.
17 changes: 12 additions & 5 deletions source/6LoWPAN/adaptation_interface.c
Expand Up @@ -45,6 +45,8 @@
#endif
#include "6LoWPAN/ws/ws_common.h"
#include "Service_Libs/mac_neighbor_table/mac_neighbor_table.h"
#include "6LoWPAN/Thread/thread_common.h"
#include "6LoWPAN/ws/ws_common.h"

#define TRACE_GROUP "6lAd"

Expand Down Expand Up @@ -1160,14 +1162,19 @@ static bool mac_data_is_broadcast_addr(const sockaddr_t *addr)

static bool mcps_data_indication_neighbor_validate(protocol_interface_info_entry_t *cur, const sockaddr_t *addr)
{
mac_neighbor_table_entry_t * neighbor = mac_neighbor_table_address_discover(mac_neighbor_info(cur), addr->address + 2, addr->addr_type);
if (neighbor && (neighbor->connected_device || neighbor->trusted_device)) {
if (thread_info(cur) || ws_info(cur) || (cur->lowpan_info & INTERFACE_NWK_BOOTSRAP_MLE)) {
mac_neighbor_table_entry_t * neighbor = mac_neighbor_table_address_discover(mac_neighbor_info(cur), addr->address + 2, addr->addr_type);
if (neighbor && (neighbor->connected_device || neighbor->trusted_device)) {
return true;
}

/* Otherwise, we don't know them */
return false;
} else {
//6lowpan without MLE don't can't do validation
return true;
}

/* Otherwise, we don't know them */
return false;

}

void lowpan_adaptation_interface_data_ind(protocol_interface_info_entry_t *cur, const mcps_data_ind_t *data_ind)
Expand Down
8 changes: 8 additions & 0 deletions test/nanostack/unittest/stub/ws_common_stub.c
Expand Up @@ -37,6 +37,14 @@ void ws_common_seconds_timer(protocol_interface_info_entry_t *cur, uint32_t seco
return;
}

void ws_common_fast_timer(protocol_interface_info_entry_t *cur, uint16_t ticks)
{
(void) cur;
(void) ticks;

return;
}

int8_t ws_common_regulatory_domain_config(protocol_interface_info_entry_t *cur)
{
return ws_common_stub.int8_value;
Expand Down

0 comments on commit 7990fa9

Please sign in to comment.