summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoopa Prabhu <roopa@cumulusnetworks.com>2018-10-20 18:09:31 -0700
committerDavid S. Miller <davem@davemloft.net>2018-10-20 22:25:01 -0700
commitd2fb4fb8ee91c1b8a1dbba6afda6f5ed2eb28bdc (patch)
tree00bf7fa3f42b152b022f0e997c3f6179d4429ada
parent4ba4c566ba8448a05e6257e0b98a21f1a0d55315 (diff)
downloadlinux-d2fb4fb8ee91c1b8a1dbba6afda6f5ed2eb28bdc.tar.gz
linux-d2fb4fb8ee91c1b8a1dbba6afda6f5ed2eb28bdc.tar.bz2
linux-d2fb4fb8ee91c1b8a1dbba6afda6f5ed2eb28bdc.zip
Revert "neighbour: force neigh_invalidate when NUD_FAILED update is from admin"
This reverts commit 8e326289e3069dfc9fa9c209924668dd031ab8ef. This patch results in unnecessary netlink notification when one tries to delete a neigh entry already in NUD_FAILED state. Found this with a buggy app that tries to delete a NUD_FAILED entry repeatedly. While the notification issue can be fixed with more checks, adding more complexity here seems unnecessary. Also, recent tests with other changes in the neighbour code have shown that the INCOMPLETE and PROBE checks are good enough for the original issue. Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/core/neighbour.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/net/core/neighbour.c b/net/core/neighbour.c
index 91592fceeaad..4e07824eec5e 100644
--- a/net/core/neighbour.c
+++ b/net/core/neighbour.c
@@ -1148,8 +1148,7 @@ 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)) ||
- (flags & NEIGH_UPDATE_F_ADMIN)) &&
+ if ((old & (NUD_INCOMPLETE | NUD_PROBE)) &&
(new & NUD_FAILED)) {
neigh_invalidate(neigh);
notify = 1;