Lines Matching full:neighbour

11  *	Harald Welte		Add neighbour cache statistics like rtstat
28 #include <net/neighbour.h>
53 static void __neigh_notify(struct neighbour *n, int type, int flags,
55 static void neigh_update_notify(struct neighbour *neigh, u32 nlmsg_pid);
83 Neighbour hash table buckets are protected with rwlock tbl->lock.
88 It will result in deadlocks, if backend/driver wants to use neighbour
93 Neighbour entries are protected:
107 not make callbacks to neighbour tables.
110 static int neigh_blackhole(struct neighbour *neigh, struct sk_buff *skb) in neigh_blackhole()
116 static void neigh_cleanup_and_release(struct neighbour *neigh) in neigh_cleanup_and_release()
136 static void neigh_mark_dead(struct neighbour *n) in neigh_mark_dead()
147 static void neigh_update_gc_list(struct neighbour *n) in neigh_update_gc_list()
176 static void neigh_update_managed_list(struct neighbour *n) in neigh_update_managed_list()
197 static void neigh_update_flags(struct neighbour *neigh, u32 flags, int *notify, in neigh_update_flags()
226 bool neigh_remove_one(struct neighbour *n) in neigh_remove_one()
249 struct neighbour *n, *tmp; in neigh_forced_gc()
289 static void neigh_add_timer(struct neighbour *n, unsigned long when) in neigh_add_timer()
309 static int neigh_del_timer(struct neighbour *n) in neigh_del_timer()
376 struct neighbour *n; in neigh_flush_dev()
391 * We must destroy neighbour entry, in neigh_flush_dev()
448 static struct neighbour *neigh_alloc(struct neigh_table *tbl, in neigh_alloc()
452 struct neighbour *n = NULL; in neigh_alloc()
559 struct neighbour *n; in neigh_hash_grow()
577 struct neighbour *neigh_lookup(struct neigh_table *tbl, const void *pkey, in neigh_lookup()
580 struct neighbour *n; in neigh_lookup()
597 static struct neighbour *
603 struct neighbour *n1, *rc, *n; in ___neigh_create()
690 struct neighbour *__neigh_create(struct neigh_table *tbl, const void *pkey, in __neigh_create()
844 * neighbour must already be out of the table;
847 void neigh_destroy(struct neighbour *neigh) in neigh_destroy()
854 pr_warn("Destroying alive neighbour %p\n", neigh); in neigh_destroy()
880 /* Neighbour state is suspicious;
885 static void neigh_suspect(struct neighbour *neigh) in neigh_suspect()
892 /* Neighbour state is OK;
897 static void neigh_connect(struct neighbour *neigh) in neigh_connect()
909 struct neighbour *n; in neigh_periodic_work()
984 static __inline__ int neigh_max_probes(struct neighbour *n) in neigh_max_probes()
992 static void neigh_invalidate(struct neighbour *neigh) in neigh_invalidate()
1003 routine. Particularly, it can hit the same neighbour entry! in neigh_invalidate()
1017 static void neigh_probe(struct neighbour *neigh) in neigh_probe()
1031 /* Called when a timer expires for a neighbour entry. */
1036 struct neighbour *neigh = from_timer(neigh, t, timer); in neigh_timer_handler()
1122 int __neigh_event_send(struct neighbour *neigh, struct sk_buff *skb, in __neigh_event_send()
1210 static void neigh_update_hhs(struct neighbour *neigh) in neigh_update_hhs()
1243 NEIGH_UPDATE_F_ISROUTER indicates if the neighbour is known as
1248 static int __neigh_update(struct neighbour *neigh, const u8 *lladdr, in __neigh_update()
1323 /* Update confirmed timestamp for neighbour entry after we in __neigh_update()
1351 * neighbour entry. Otherwise we risk to move the locktime window with in __neigh_update()
1394 struct neighbour *n2, *n1 = neigh; in __neigh_update()
1436 int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new, in neigh_update()
1446 void __neigh_set_probe_once(struct neighbour *neigh) in __neigh_set_probe_once()
1461 struct neighbour *neigh_event_ns(struct neigh_table *tbl, in neigh_event_ns()
1465 struct neighbour *neigh = __neigh_lookup(tbl, saddr, dev, in neigh_event_ns()
1475 static void neigh_hh_init(struct neighbour *n) in neigh_hh_init()
1494 int neigh_resolve_output(struct neighbour *neigh, struct sk_buff *skb) in neigh_resolve_output()
1529 int neigh_connected_output(struct neighbour *neigh, struct sk_buff *skb) in neigh_connected_output()
1552 int neigh_direct_output(struct neighbour *neigh, struct sk_buff *skb) in neigh_direct_output()
1562 struct neighbour *neigh; in neigh_managed_work()
1743 panic("cannot create neighbour cache statistics"); in neigh_table_init()
1748 panic("cannot create neighbour proc dir entry"); in neigh_table_init()
1757 panic("cannot allocate neighbour cache hashes"); in neigh_table_init()
1760 tbl->entry_size = ALIGN(offsetof(struct neighbour, primary_key) + in neigh_table_init()
1800 pr_crit("neighbour leakage\n"); in neigh_table_clear()
1858 struct neighbour *neigh; in neigh_delete()
1926 struct neighbour *neigh; in neigh_add()
2520 static int neigh_fill_info(struct sk_buff *skb, struct neighbour *neigh, in neigh_fill_info()
2622 static void neigh_update_notify(struct neighbour *neigh, u32 nlmsg_pid) in neigh_update_notify()
2667 struct neighbour *n; in neigh_dump_table()
2927 static int neigh_get_reply(struct net *net, struct neighbour *neigh, in neigh_get_reply()
2983 struct neighbour *neigh; in neigh_get()
3012 NL_SET_ERR_MSG(extack, "Proxy neighbour entry not found"); in neigh_get()
3026 NL_SET_ERR_MSG(extack, "Neighbour entry not found"); in neigh_get()
3038 void neigh_for_each(struct neigh_table *tbl, void (*cb)(struct neighbour *, void *), void *cookie) in neigh_for_each() argument
3048 struct neighbour *n; in neigh_for_each()
3060 int (*cb)(struct neighbour *)) in __neigh_for_each_release() argument
3069 struct neighbour *n; in __neigh_for_each_release()
3096 struct neighbour *neigh; in neigh_xmit()
3137 static struct neighbour *neigh_get_valid(struct seq_file *seq, in neigh_get_valid()
3138 struct neighbour *n, in neigh_get_valid()
3167 static struct neighbour *neigh_get_first(struct seq_file *seq) in neigh_get_first()
3171 struct neighbour *n, *tmp; in neigh_get_first()
3186 static struct neighbour *neigh_get_next(struct seq_file *seq, in neigh_get_next()
3187 struct neighbour *n, in neigh_get_next()
3191 struct neighbour *tmp; in neigh_get_next()
3216 static struct neighbour *neigh_get_idx(struct seq_file *seq, loff_t *pos) in neigh_get_idx()
3218 struct neighbour *n = neigh_get_first(seq); in neigh_get_idx()
3448 static void __neigh_notify(struct neighbour *n, int type, int flags, in __neigh_notify()
3476 void neigh_app_ns(struct neighbour *n) in neigh_app_ns()
3775 * applied after the next neighbour update instead of waiting for in neigh_sysctl_register()