|
|
|
@ -65,11 +65,10 @@ uint8_t srh_send_buffer[BUFFER_SIZE];
|
|
|
|
|
ipv6_addr_t *down_next_hop;
|
|
|
|
|
ipv6_srh_t *srh_header;
|
|
|
|
|
msg_t srh_m_send, srh_m_recv;
|
|
|
|
|
rpl_routing_entry_t rpl_routing_table[RPL_MAX_ROUTING_ENTRIES_NON_STORING];
|
|
|
|
|
#else
|
|
|
|
|
rpl_routing_entry_t rpl_routing_table[RPL_MAX_ROUTING_ENTRIES_STORING];
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
rpl_routing_entry_t rpl_routing_table[RPL_MAX_ROUTING_ENTRIES];
|
|
|
|
|
|
|
|
|
|
uint8_t rpl_max_routing_entries;
|
|
|
|
|
ipv6_addr_t my_address;
|
|
|
|
|
|
|
|
|
@ -82,17 +81,9 @@ uint8_t rpl_init(int if_id)
|
|
|
|
|
rpl_instances_init();
|
|
|
|
|
|
|
|
|
|
/* initialize routing table */
|
|
|
|
|
rpl_max_routing_entries = RPL_MAX_ROUTING_ENTRIES;
|
|
|
|
|
rpl_clear_routing_table();
|
|
|
|
|
|
|
|
|
|
if (RPL_DEFAULT_MOP == RPL_STORING_MODE_NO_MC) {
|
|
|
|
|
rpl_max_routing_entries = RPL_MAX_ROUTING_ENTRIES_STORING;
|
|
|
|
|
rpl_clear_routing_table();
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
rpl_max_routing_entries = RPL_MAX_ROUTING_ENTRIES_NON_STORING;
|
|
|
|
|
rpl_clear_routing_table();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (rpl_routing_table == NULL) {
|
|
|
|
|
DEBUGF("Routing table init failed!\n");
|
|
|
|
|
return SIXLOWERROR_NULLPTR;
|
|
|
|
@ -124,6 +115,17 @@ uint8_t rpl_init(int if_id)
|
|
|
|
|
|
|
|
|
|
void rpl_init_root(void)
|
|
|
|
|
{
|
|
|
|
|
#if (RPL_DEFAULT_MOP == RPL_NON_STORING_MODE)
|
|
|
|
|
#ifndef RPL_NODE_IS_ROOT
|
|
|
|
|
puts("\n############################## ERROR ###############################");
|
|
|
|
|
puts("This configuration has NO ROUTING TABLE available for the root node!");
|
|
|
|
|
puts("The root will NOT be INITIALIZED.");
|
|
|
|
|
puts("Please build the binary for root in non-storing MOP with:");
|
|
|
|
|
puts("\t\t'make RPL_NODE_IS_ROOT=1'");
|
|
|
|
|
puts("############################## ERROR ###############################\n");
|
|
|
|
|
return;
|
|
|
|
|
#endif
|
|
|
|
|
#endif
|
|
|
|
|
rpl_init_root_mode();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|