diff options
Diffstat (limited to 'net')
-rw-r--r-- | net/core/dev.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 42344d903692..7bd4cd4502c4 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -1214,6 +1214,19 @@ int __skb_linearize(struct sk_buff *skb, int gfp_mask) | |||
1214 | * A negative errno code is returned on a failure. A success does not | 1214 | * A negative errno code is returned on a failure. A success does not |
1215 | * guarantee the frame will be transmitted as it may be dropped due | 1215 | * guarantee the frame will be transmitted as it may be dropped due |
1216 | * to congestion or traffic shaping. | 1216 | * to congestion or traffic shaping. |
1217 | * | ||
1218 | * ----------------------------------------------------------------------------------- | ||
1219 | * I notice this method can also return errors from the queue disciplines, | ||
1220 | * including NET_XMIT_DROP, which is a positive value. So, errors can also | ||
1221 | * be positive. | ||
1222 | * | ||
1223 | * Regardless of the return value, the skb is consumed, so it is currently | ||
1224 | * difficult to retry a send to this method. (You can bump the ref count | ||
1225 | * before sending to hold a reference for retry if you are careful.) | ||
1226 | * | ||
1227 | * When calling this method, interrupts MUST be enabled. This is because | ||
1228 | * the BH enable code must have IRQs enabled so that it will not deadlock. | ||
1229 | * --BLG | ||
1217 | */ | 1230 | */ |
1218 | 1231 | ||
1219 | int dev_queue_xmit(struct sk_buff *skb) | 1232 | int dev_queue_xmit(struct sk_buff *skb) |