Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[cascardo/linux.git] / net / core / neighbour.c
index cf26e04..2ae929f 100644 (file)
@@ -1148,7 +1148,8 @@ int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new,
                        } else
                                goto out;
                } else {
-                       if (lladdr == neigh->ha && new == NUD_STALE)
+                       if (lladdr == neigh->ha && new == NUD_STALE &&
+                           !(flags & NEIGH_UPDATE_F_ADMIN))
                                new = old;
                }
        }