forked from luck/tmp_suning_uos_patched
neighbour: force neigh_invalidate when NUD_FAILED update is from admin
In systems where neigh gc thresh holds are set to high values, admin deleted neigh entries (eg ip neigh flush or ip neigh del) can linger around in NUD_FAILED state for a long time until periodic gc kicks in. This patch forces neigh_invalidate when NUD_FAILED neigh_update is from an admin. Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b1a5046b24
commit
8e326289e3
|
@ -1148,7 +1148,8 @@ int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new,
|
|||
neigh->nud_state = new;
|
||||
err = 0;
|
||||
notify = old & NUD_VALID;
|
||||
if ((old & (NUD_INCOMPLETE | NUD_PROBE)) &&
|
||||
if (((old & (NUD_INCOMPLETE | NUD_PROBE)) ||
|
||||
(flags & NEIGH_UPDATE_F_ADMIN)) &&
|
||||
(new & NUD_FAILED)) {
|
||||
neigh_invalidate(neigh);
|
||||
notify = 1;
|
||||
|
|
Loading…
Reference in New Issue
Block a user