patch-2.1.89 linux/include/net/dst.h

Next file: linux/include/net/if_inet6.h
Previous file: linux/include/net/arp.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.88/linux/include/net/dst.h linux/include/net/dst.h
@@ -36,6 +36,7 @@
 	int			obsolete;
 	__u32			priority;
 	unsigned long		lastuse;
+	unsigned		mxlock;
 	unsigned		window;
 	unsigned		pmtu;
 	unsigned		rtt;
@@ -60,11 +61,17 @@
 {
 	unsigned short		family;
 	unsigned short		protocol;
+	unsigned		gc_thresh;
+
+	int			(*gc)(void);
 	struct dst_entry *	(*check)(struct dst_entry *, __u32 cookie);
 	struct dst_entry *	(*reroute)(struct dst_entry *,
 					   struct sk_buff *);
 	void			(*destroy)(struct dst_entry *);
 	struct dst_entry *	(*negative_advice)(struct dst_entry *);
+	void			(*link_failure)(struct sk_buff *);
+
+	atomic_t		entries;
 };
 
 #ifdef __KERNEL__
@@ -131,6 +138,13 @@
 	struct dst_entry * dst = *dst_p;
 	if (dst && dst->ops->negative_advice)
 		*dst_p = dst->ops->negative_advice(dst);
+}
+
+extern __inline__ void dst_link_failure(struct sk_buff *skb)
+{
+	struct dst_entry * dst = skb->dst;
+	if (dst && dst->ops && dst->ops->link_failure)
+		dst->ops->link_failure(skb);
 }
 #endif
 

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov