Lines Matching refs:dst
2 * net/dst.h Protocol independent destination cache definitions.
91 static inline void dst_hold(struct dst_entry * dst)
93 atomic_inc(&dst->__refcnt);
97 struct dst_entry * dst_clone(struct dst_entry * dst)
99 if (dst)
100 atomic_inc(&dst->__refcnt);
101 return dst;
105 void dst_release(struct dst_entry * dst)
107 if (dst)
108 atomic_dec(&dst->__refcnt);
112 extern void __dst_free(struct dst_entry * dst);
113 extern void dst_destroy(struct dst_entry * dst);
116 void dst_free(struct dst_entry * dst)
118 if (dst->obsolete > 1)
120 if (!atomic_read(&dst->__refcnt)) {
121 dst_destroy(dst);
124 __dst_free(dst);
127 static inline void dst_confirm(struct dst_entry *dst)
129 if (dst)
130 neigh_confirm(dst->neighbour);
135 struct dst_entry * dst = *dst_p;
136 if (dst && dst->ops->negative_advice)
137 *dst_p = dst->ops->negative_advice(dst);
142 struct dst_entry * dst = skb->dst;
143 if (dst && dst->ops && dst->ops->link_failure)
144 dst->ops->link_failure(skb);
147 static inline void dst_set_expires(struct dst_entry *dst, int timeout)
154 if (dst->expires == 0 || (long)(dst->expires - expires) > 0)
155 dst->expires = expires;