diff options
| author | David S. Miller <davem@davemloft.net> | 2018-12-15 02:44:47 +0300 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2018-12-15 02:44:47 +0300 |
| commit | 384aee46ca942db05195c32b03e856ceceb1127c (patch) | |
| tree | 22697a175d893241bb7c8c3133f4af98649c3257 /include | |
| parent | aeb3fecde811d5392ed481d8558f5751ac542e77 (diff) | |
| parent | e997f8a20a57cae16ed0c7a2bff6d3ab75f58123 (diff) | |
| download | linux-384aee46ca942db05195c32b03e856ceceb1127c.tar.xz | |
Merge branch 'neighbor-More-gc_list-changes'
David Ahern says:
====================
neighbor: More gc_list changes
More gc_list changes and cleanups.
The first 2 patches are bug fixes from the first gc_list change.
Specifically, fix the locking order to be consistent - table lock
followed by neighbor lock, and then entries in the FAILED state
should always be candidates for forced_gc without waiting for any
time span (return to the eviction logic prior to the separate gc_list).
Patch 3 removes 2 now unnecessary arguments to neigh_del.
Patch 4 moves a helper from a header file to core code in preparation
for Patch 5 which removes NTF_EXT_LEARNED entries from the gc_list.
These entries are already exempt from forced_gc; patch 5 removes them
from consideration and makes them on par with PERMANENT entries given
that they are also managed by userspace.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/net/neighbour.h | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/include/net/neighbour.h b/include/net/neighbour.h index f886b58956a6..ef0a60448a96 100644 --- a/include/net/neighbour.h +++ b/include/net/neighbour.h @@ -549,24 +549,6 @@ static inline void neigh_ha_snapshot(char *dst, const struct neighbour *n, } while (read_seqretry(&n->ha_lock, seq)); } -static inline void neigh_update_ext_learned(struct neighbour *neigh, u32 flags, - int *notify) -{ - u8 ndm_flags = 0; - - if (!(flags & NEIGH_UPDATE_F_ADMIN)) - return; - - ndm_flags |= (flags & NEIGH_UPDATE_F_EXT_LEARNED) ? NTF_EXT_LEARNED : 0; - if ((neigh->flags ^ ndm_flags) & NTF_EXT_LEARNED) { - if (ndm_flags & NTF_EXT_LEARNED) - neigh->flags |= NTF_EXT_LEARNED; - else - neigh->flags &= ~NTF_EXT_LEARNED; - *notify = 1; - } -} - static inline void neigh_update_is_router(struct neighbour *neigh, u32 flags, int *notify) { |
