#define _NET_DST_H
#include <linux/config.h>
+#include <linux/netdevice.h>
#include <linux/rtnetlink.h>
#include <linux/rcupdate.h>
#include <linux/jiffies.h>
int __use;
struct dst_entry *child;
struct net_device *dev;
- int obsolete;
+ short error;
+ short obsolete;
int flags;
#define DST_HOST 1
#define DST_NOXFRM 2
unsigned long rate_last; /* rate limiting for ICMP */
unsigned long rate_tokens;
- int error;
-
struct neighbour *neighbour;
struct hh_cache *hh;
struct xfrm_state *xfrm;
struct dst_entry * (*negative_advice)(struct dst_entry *);
void (*link_failure)(struct sk_buff *);
void (*update_pmtu)(struct dst_entry *dst, u32 mtu);
- int (*get_mss)(struct dst_entry *dst, u32 mtu);
int entry_size;
atomic_t entries;
/* Output packet to network from transport. */
static inline int dst_output(struct sk_buff *skb)
{
- int err;
-
- for (;;) {
- err = skb->dst->output(skb);
-
- if (likely(err == 0))
- return err;
- if (unlikely(err != NET_XMIT_BYPASS))
- return err;
- }
+ return skb->dst->output(skb);
}
/* Input packet from network to transport. */