Commit | Line | Data |
---|---|---|
86393e52 AD |
1 | #ifndef _NET_DST_OPS_H |
2 | #define _NET_DST_OPS_H | |
3 | #include <linux/types.h> | |
4 | ||
5 | struct dst_entry; | |
6 | struct kmem_cachep; | |
7 | struct net_device; | |
8 | struct sk_buff; | |
9 | ||
10 | struct dst_ops { | |
11 | unsigned short family; | |
12 | __be16 protocol; | |
13 | unsigned gc_thresh; | |
14 | ||
15 | int (*gc)(struct dst_ops *ops); | |
16 | struct dst_entry * (*check)(struct dst_entry *, __u32 cookie); | |
17 | void (*destroy)(struct dst_entry *); | |
18 | void (*ifdown)(struct dst_entry *, | |
19 | struct net_device *dev, int how); | |
20 | struct dst_entry * (*negative_advice)(struct dst_entry *); | |
21 | void (*link_failure)(struct sk_buff *); | |
22 | void (*update_pmtu)(struct dst_entry *dst, u32 mtu); | |
23 | int (*local_out)(struct sk_buff *skb); | |
24 | ||
25 | atomic_t entries; | |
26 | struct kmem_cache *kmem_cachep; | |
27 | }; | |
28 | #endif |