diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/netdevice.h | 4 | ||||
-rw-r--r-- | include/net/ipip.h | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 4e967b2e22cc..caa3c2593719 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
@@ -66,6 +66,10 @@ struct netpoll_info; | |||
66 | #define NET_RX_CN_HIGH 4 /* The storm is here */ | 66 | #define NET_RX_CN_HIGH 4 /* The storm is here */ |
67 | #define NET_RX_BAD 5 /* packet dropped due to kernel error */ | 67 | #define NET_RX_BAD 5 /* packet dropped due to kernel error */ |
68 | 68 | ||
69 | /* NET_XMIT_CN is special. It does not guarantee that this packet is lost. It | ||
70 | * indicates that the device will soon be dropping packets, or already drops | ||
71 | * some packets of the same priority; prompting us to send less aggressively. */ | ||
72 | #define net_xmit_eval(e) ((e) == NET_XMIT_CN? 0 : (e)) | ||
69 | #define net_xmit_errno(e) ((e) != NET_XMIT_CN ? -ENOBUFS : 0) | 73 | #define net_xmit_errno(e) ((e) != NET_XMIT_CN ? -ENOBUFS : 0) |
70 | 74 | ||
71 | #endif | 75 | #endif |
diff --git a/include/net/ipip.h b/include/net/ipip.h index f490c3cbe377..84058858eea7 100644 --- a/include/net/ipip.h +++ b/include/net/ipip.h | |||
@@ -35,7 +35,7 @@ struct ip_tunnel | |||
35 | ip_send_check(iph); \ | 35 | ip_send_check(iph); \ |
36 | \ | 36 | \ |
37 | err = NF_HOOK(PF_INET, NF_IP_LOCAL_OUT, skb, NULL, rt->u.dst.dev, dst_output);\ | 37 | err = NF_HOOK(PF_INET, NF_IP_LOCAL_OUT, skb, NULL, rt->u.dst.dev, dst_output);\ |
38 | if (err == NET_XMIT_SUCCESS || err == NET_XMIT_CN) { \ | 38 | if (net_xmit_eval(err) == 0) { \ |
39 | stats->tx_bytes += pkt_len; \ | 39 | stats->tx_bytes += pkt_len; \ |
40 | stats->tx_packets++; \ | 40 | stats->tx_packets++; \ |
41 | } else { \ | 41 | } else { \ |