diff options
Diffstat (limited to 'include/net/dst.h')
| -rw-r--r-- | include/net/dst.h | 12 | 
1 files changed, 2 insertions, 10 deletions
| diff --git a/include/net/dst.h b/include/net/dst.h index 6c196a5baf24..5161e89017f9 100644 --- a/include/net/dst.h +++ b/include/net/dst.h | |||
| @@ -9,6 +9,7 @@ | |||
| 9 | #define _NET_DST_H | 9 | #define _NET_DST_H | 
| 10 | 10 | ||
| 11 | #include <linux/config.h> | 11 | #include <linux/config.h> | 
| 12 | #include <linux/netdevice.h> | ||
| 12 | #include <linux/rtnetlink.h> | 13 | #include <linux/rtnetlink.h> | 
| 13 | #include <linux/rcupdate.h> | 14 | #include <linux/rcupdate.h> | 
| 14 | #include <linux/jiffies.h> | 15 | #include <linux/jiffies.h> | 
| @@ -224,16 +225,7 @@ static inline void dst_set_expires(struct dst_entry *dst, int timeout) | |||
| 224 | /* Output packet to network from transport. */ | 225 | /* Output packet to network from transport. */ | 
| 225 | static inline int dst_output(struct sk_buff *skb) | 226 | static inline int dst_output(struct sk_buff *skb) | 
| 226 | { | 227 | { | 
| 227 | int err; | 228 | return skb->dst->output(skb); | 
| 228 | |||
| 229 | for (;;) { | ||
| 230 | err = skb->dst->output(skb); | ||
| 231 | |||
| 232 | if (likely(err == 0)) | ||
| 233 | return err; | ||
| 234 | if (unlikely(err != NET_XMIT_BYPASS)) | ||
| 235 | return err; | ||
| 236 | } | ||
| 237 | } | 229 | } | 
| 238 | 230 | ||
| 239 | /* Input packet from network to transport. */ | 231 | /* Input packet from network to transport. */ | 
