(vlan cc: bounces)
Ben Greear <greearb@xxxxxxxxxxxxxxx> :
[...]
> @@ -1253,6 +1272,17 @@
> * A negative errno code is returned on a failure. A success does not
> * guarantee the frame will be transmitted as it may be dropped due
> * to congestion or traffic shaping.
> + *
> + *
> -----------------------------------------------------------------------------------
> + * I notice this method can also return errors from the queue
> disciplines,
> + * including NET_XMIT_DROP, which is a positive value. So, errors can
> also
> + * be positive.
> + *
> + * Regardless of the return value, the skb is consumed, so it is
> currently
> + * impossible to retry a send to this method. This implies that
> virtual devices,
> + * such as VLANs, can ONLY return 0 from their hard_start_xmit method,
> making
> + * it difficult to apply pressure back up the stack.
> + * --Ben
> */
Afaikr it is not true anymore with the previous code as the congestion/error
status is propagated and the extra skb_get() balances the kfree_skb() on error
in dev_queue_xmit. So I'd say that vlan_dev_hard_start_xmit() seems to behave
like a normal start_xmit() instead.
--
Ueimor
|