Lines Matching refs:neigh
349 void neigh_destroy(struct neighbour *neigh);
350 int __neigh_event_send(struct neighbour *neigh, struct sk_buff *skb,
352 int neigh_update(struct neighbour *neigh, const u8 *lladdr, u8 new, u32 flags,
354 void __neigh_set_probe_once(struct neighbour *neigh);
359 int neigh_resolve_output(struct neighbour *neigh, struct sk_buff *skb);
360 int neigh_connected_output(struct neighbour *neigh, struct sk_buff *skb);
361 int neigh_direct_output(struct neighbour *neigh, struct sk_buff *skb);
446 static inline void neigh_release(struct neighbour *neigh) in neigh_release() argument
448 if (refcount_dec_and_test(&neigh->refcnt)) in neigh_release()
449 neigh_destroy(neigh); in neigh_release()
452 static inline struct neighbour * neigh_clone(struct neighbour *neigh) in neigh_clone() argument
454 if (neigh) in neigh_clone()
455 refcount_inc(&neigh->refcnt); in neigh_clone()
456 return neigh; in neigh_clone()
461 static __always_inline int neigh_event_send_probe(struct neighbour *neigh, in neigh_event_send_probe() argument
467 if (READ_ONCE(neigh->used) != now) in neigh_event_send_probe()
468 WRITE_ONCE(neigh->used, now); in neigh_event_send_probe()
469 if (!(neigh->nud_state & (NUD_CONNECTED | NUD_DELAY | NUD_PROBE))) in neigh_event_send_probe()
470 return __neigh_event_send(neigh, skb, immediate_ok); in neigh_event_send_probe()
474 static inline int neigh_event_send(struct neighbour *neigh, struct sk_buff *skb) in neigh_event_send() argument
476 return neigh_event_send_probe(neigh, skb, true); in neigh_event_send()
593 static inline void neigh_update_is_router(struct neighbour *neigh, u32 flags, in neigh_update_is_router() argument
599 if ((neigh->flags ^ ndm_flags) & NTF_ROUTER) { in neigh_update_is_router()
601 neigh->flags |= NTF_ROUTER; in neigh_update_is_router()
603 neigh->flags &= ~NTF_ROUTER; in neigh_update_is_router()