From 5a0d085451eb687607bef144cdafc4cd4a0411b2 Mon Sep 17 00:00:00 2001 From: Wojciech Nizinski Date: Tue, 21 Mar 2017 13:12:39 +0100 Subject: [PATCH] native-border-router: fix for disappearing timer 'uip_ds6_timer_periodic' When UIP_ND6_SEND_NS is enabled, I've noticed that unreachable neighbours still remains in REACHABLE state even if lifetime (nbr->reachable) expired. During network init 'tcpip_process' is scheduling 'uip_ds6_timer_periodic' is to tick every 100ms and make necessary expirations. When MAC addres is received from slip-radio (from 'etimer_process' context), network is "reinitialized" and timer 'uip_ds6_timer_periodic' is set again with wrong process. --- examples/ipv6/native-border-router/border-router.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/examples/ipv6/native-border-router/border-router.c b/examples/ipv6/native-border-router/border-router.c index fe8d7fbf5..63674db50 100644 --- a/examples/ipv6/native-border-router/border-router.c +++ b/examples/ipv6/native-border-router/border-router.c @@ -247,8 +247,10 @@ border_router_set_mac(const uint8_t *data) /* is this ok - should instead remove all addresses and add them back again - a bit messy... ?*/ + PROCESS_CONTEXT_BEGIN(&tcpip_process); uip_ds6_init(); rpl_init(); + PROCESS_CONTEXT_END(&tcpip_process); mac_set = 1; }