dst_ops.h 714 B

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