Lines Matching defs:neigh
347 void neigh_destroy(struct neighbour *neigh);
348 int __neigh_event_send(struct neighbour *neigh, struct sk_buff *skb,
350 int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new, u32 flags,
352 void __neigh_set_probe_once(struct neighbour *neigh);
357 int neigh_resolve_output(struct neighbour *neigh, struct sk_buff *skb);
358 int neigh_connected_output(struct neighbour *neigh, struct sk_buff *skb);
359 int neigh_direct_output(struct neighbour *neigh, struct sk_buff *skb);
442 static inline void neigh_release(struct neighbour *neigh)
444 if (refcount_dec_and_test(&neigh->refcnt))
445 neigh_destroy(neigh);
448 static inline struct neighbour * neigh_clone(struct neighbour *neigh)
450 if (neigh)
451 refcount_inc(&neigh->refcnt);
452 return neigh;
457 static __always_inline int neigh_event_send_probe(struct neighbour *neigh,
463 if (READ_ONCE(neigh->used) != now)
464 WRITE_ONCE(neigh->used, now);
465 if (!(READ_ONCE(neigh->nud_state) & (NUD_CONNECTED | NUD_DELAY | NUD_PROBE)))
466 return __neigh_event_send(neigh, skb, immediate_ok);
470 static inline int neigh_event_send(struct neighbour *neigh, struct sk_buff *skb)
472 return neigh_event_send_probe(neigh, skb, true);
589 static inline void neigh_update_is_router(struct neighbour *neigh, u32 flags,
595 if ((neigh->flags ^ ndm_flags) & NTF_ROUTER) {
597 neigh->flags |= NTF_ROUTER;
599 neigh->flags &= ~NTF_ROUTER;