Skip to content

Commit ff27c9d

Browse files
benpiccoMrKevinWeiss
authored andcommitted
nib/_nib-6ln: don't check twice if address is assigned
(cherry picked from commit 8779b5e)
1 parent 9de8ed8 commit ff27c9d

File tree

1 file changed

+8
-14
lines changed

1 file changed

+8
-14
lines changed

sys/net/gnrc/network_layer/ipv6/nib/_nib-6ln.c

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,6 @@ void _handle_rereg_address(const ipv6_addr_t *addr)
196196
_nib_dr_entry_t *router = _nib_drl_get(NULL, netif->pid);
197197
const bool router_reachable = (router != NULL) &&
198198
_is_reachable(router->next_hop);
199-
200199
if (router_reachable) {
201200
assert((unsigned)netif->pid == _nib_onl_get_if(router->next_hop));
202201
DEBUG("nib: Re-registering %s",
@@ -209,18 +208,16 @@ void _handle_rereg_address(const ipv6_addr_t *addr)
209208
else {
210209
DEBUG("nib: Couldn't re-register %s, no current router found.\n",
211210
ipv6_addr_to_str(addr_str, addr, sizeof(addr_str)));
211+
netif->ipv6.rs_sent = 0;
212+
_handle_search_rtr(netif);
213+
goto out;
212214
}
213215

214216
int idx = gnrc_netif_ipv6_addr_idx(netif, addr);
215-
if (idx < 0) {
216-
DEBUG("nib: %s is not assigned to interface %d anymore.\n",
217-
ipv6_addr_to_str(addr_str, addr, sizeof(addr_str)),
218-
netif->pid);
219-
}
220-
else if (router_reachable &&
221-
(_is_valid(netif, idx) || (_is_tentative(netif, idx) &&
222-
(gnrc_netif_ipv6_addr_dad_trans(netif, idx) <
223-
SIXLOWPAN_ND_REG_TRANSMIT_NUMOF)))) {
217+
assert(idx >= 0);
218+
219+
if (_is_valid(netif, idx) || (_is_tentative(netif, idx) &&
220+
(gnrc_netif_ipv6_addr_dad_trans(netif, idx) < SIXLOWPAN_ND_REG_TRANSMIT_NUMOF))) {
224221
uint32_t retrans_time;
225222

226223
if (_is_valid(netif, idx)) {
@@ -234,10 +231,7 @@ void _handle_rereg_address(const ipv6_addr_t *addr)
234231
_evtimer_add(&netif->ipv6.addrs[idx], GNRC_IPV6_NIB_REREG_ADDRESS,
235232
&netif->ipv6.addrs_timers[idx], retrans_time);
236233
}
237-
else {
238-
netif->ipv6.rs_sent = 0;
239-
_handle_search_rtr(netif);
240-
}
234+
out:
241235
gnrc_netif_release(netif);
242236
}
243237

0 commit comments

Comments
 (0)