skb_dst_set_noref(9) sets skb dst, hopefully, without taking reference

SYNOPSIS

void skb_dst_set_noref(struct sk_buff * skb, struct dst_entry * dst);

ARGUMENTS

skb

buffer

dst

dst entry

DESCRIPTION

Sets skb dst, assuming a reference was not taken on dst. If dst entry is cached, we do not take reference and dst_release will be avoided by refdst_drop. If dst entry is not cached, we take reference, so that last dst_release can destroy the dst immediately.

COPYRIGHT