|
@@ -913,6 +913,7 @@ static void neigh_timer_handler(unsigned long arg)
|
|
|
neigh->nud_state = NUD_PROBE;
|
|
|
neigh->updated = jiffies;
|
|
|
atomic_set(&neigh->probes, 0);
|
|
|
+ notify = 1;
|
|
|
next = now + NEIGH_VAR(neigh->parms, RETRANS_TIME);
|
|
|
}
|
|
|
} else {
|
|
@@ -1144,6 +1145,8 @@ int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new,
|
|
|
|
|
|
if (new != old) {
|
|
|
neigh_del_timer(neigh);
|
|
|
+ if (new & NUD_PROBE)
|
|
|
+ atomic_set(&neigh->probes, 0);
|
|
|
if (new & NUD_IN_TIMER)
|
|
|
neigh_add_timer(neigh, (jiffies +
|
|
|
((new & NUD_REACHABLE) ?
|