]> git.baikalelectronics.ru Git - kernel.git/commitdiff
Revert "neighbour: force neigh_invalidate when NUD_FAILED update is from admin"
authorRoopa Prabhu <roopa@cumulusnetworks.com>
Sun, 21 Oct 2018 01:09:31 +0000 (18:09 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 21 Oct 2018 05:25:01 +0000 (22:25 -0700)
This reverts commit ff6dd797d4718631f1fa9c9e0cbe3d200b056b6d.

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>
net/core/neighbour.c

index 91592fceeaad7225ed695aebef01fbc1fa4e284b..4e07824eec5e001912d8f97a43ef7edd8546f927 100644 (file)
@@ -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;