diff --git a/sys/net/gnrc/routing/rpl/gnrc_rpl_control_messages.c b/sys/net/gnrc/routing/rpl/gnrc_rpl_control_messages.c index 47fad77e5b9e295a03626df57fb70219dfbec486..0bee108ac34a2b18ef7efc2a29a7dfcd183f6759 100644 --- a/sys/net/gnrc/routing/rpl/gnrc_rpl_control_messages.c +++ b/sys/net/gnrc/routing/rpl/gnrc_rpl_control_messages.c @@ -467,6 +467,7 @@ bool _parse_options(int msg_type, gnrc_rpl_instance_t *inst, gnrc_rpl_opt_t *opt ipv6_addr_to_str(addr_str, &(target->target), (unsigned)sizeof(addr_str)), target->prefix_length); + gnrc_ipv6_nib_ft_del(&(target->target), target->prefix_length); gnrc_ipv6_nib_ft_add(&(target->target), target->prefix_length, src, dodag->iface, dodag->default_lifetime * dodag->lifetime_unit); @@ -487,6 +488,8 @@ bool _parse_options(int msg_type, gnrc_rpl_instance_t *inst, gnrc_rpl_opt_t *opt ipv6_addr_to_str(addr_str, &(first_target->target), sizeof(addr_str)), first_target->prefix_length); + gnrc_ipv6_nib_ft_del(&(first_target->target), + first_target->prefix_length); gnrc_ipv6_nib_ft_add(&(first_target->target), first_target->prefix_length, src, dodag->iface, diff --git a/sys/net/gnrc/routing/rpl/gnrc_rpl_dodag.c b/sys/net/gnrc/routing/rpl/gnrc_rpl_dodag.c index 87d055a4fed700235ffe47550cf77a9ffd26fced..6a5ead9f2da33506b27e9bb59fd70def6462d2aa 100644 --- a/sys/net/gnrc/routing/rpl/gnrc_rpl_dodag.c +++ b/sys/net/gnrc/routing/rpl/gnrc_rpl_dodag.c @@ -258,6 +258,7 @@ void gnrc_rpl_parent_update(gnrc_rpl_dodag_t *dodag, gnrc_rpl_parent_t *parent) if (dodag->instance->mop != GNRC_RPL_P2P_MOP) { #endif if (parent == dodag->parents) { + gnrc_ipv6_nib_ft_del(NULL, 0); gnrc_ipv6_nib_ft_add(NULL, 0, &parent->addr, dodag->iface, dodag->default_lifetime * dodag->lifetime_unit); } @@ -308,6 +309,7 @@ static gnrc_rpl_parent_t *_gnrc_rpl_find_preferred_parent(gnrc_rpl_dodag_t *doda #ifdef MODULE_GNRC_RPL_P2P if (dodag->instance->mop != GNRC_RPL_P2P_MOP) { #endif + gnrc_ipv6_nib_ft_del(NULL, 0); gnrc_ipv6_nib_ft_add(NULL, 0, &dodag->parents->addr, dodag->iface, dodag->default_lifetime * dodag->lifetime_unit); #ifdef MODULE_GNRC_RPL_P2P