forked from Minki/linux
neigh: fix ARP retransmit timer guard
In commit19e16d220f
("neigh: support smaller retrans_time settting") we add more accurate control for ARP and NS. But for ARP I forgot to update the latest guard in neigh_timer_handler(), then the next retransmit would be reset to jiffies + HZ/2 if we set the retrans_time less than 500ms. Fix it by setting the time_before() check to HZ/100. IPv6 does not have this issue. Reported-by: Jianwen Ji <jiji@redhat.com> Fixes:19e16d220f
("neigh: support smaller retrans_time settting") Signed-off-by: Hangbin Liu <liuhangbin@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
f2b122d3d6
commit
96d10d5b19
@ -1082,8 +1082,8 @@ static void neigh_timer_handler(struct timer_list *t)
|
||||
}
|
||||
|
||||
if (neigh->nud_state & NUD_IN_TIMER) {
|
||||
if (time_before(next, jiffies + HZ/2))
|
||||
next = jiffies + HZ/2;
|
||||
if (time_before(next, jiffies + HZ/100))
|
||||
next = jiffies + HZ/100;
|
||||
if (!mod_timer(&neigh->timer, next))
|
||||
neigh_hold(neigh);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user