diff options
author | Roopa Prabhu <roopa@cumulusnetworks.com> | 2018-10-20 18:09:31 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-10-20 22:25:01 -0700 |
commit | d2fb4fb8ee91c1b8a1dbba6afda6f5ed2eb28bdc (patch) | |
tree | 00bf7fa3f42b152b022f0e997c3f6179d4429ada /net/core/neighbour.c | |
parent | 4ba4c566ba8448a05e6257e0b98a21f1a0d55315 (diff) | |
download | op-kernel-dev-d2fb4fb8ee91c1b8a1dbba6afda6f5ed2eb28bdc.zip op-kernel-dev-d2fb4fb8ee91c1b8a1dbba6afda6f5ed2eb28bdc.tar.gz |
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>
Diffstat (limited to 'net/core/neighbour.c')
-rw-r--r-- | net/core/neighbour.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/core/neighbour.c b/net/core/neighbour.c index 91592fc..4e07824 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; |