diff options
author | Patrick McHardy <kaber@trash.net> | 2009-11-10 01:14:24 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-13 17:07:33 -0500 |
commit | cbbef5e183079455763fc470ccf69008f92ab4b6 (patch) | |
tree | 04063bfe9498e622623ed3e46155bcbd9b18c9c0 /net/8021q | |
parent | 572a9d7b6fc7f20f573664063324c086be310c42 (diff) |
vlan/macvlan: propagate transmission state to upper layers
Both vlan and macvlan devices usually don't use a qdisc and immediately
queue packets to the underlying device. Propagate transmission state of
the underlying device to the upper layers so they can react on congestion
and/or inform the sending process.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/8021q')
-rw-r--r-- | net/8021q/vlan_dev.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/8021q/vlan_dev.c b/net/8021q/vlan_dev.c index 790fd55ec318..915965942139 100644 --- a/net/8021q/vlan_dev.c +++ b/net/8021q/vlan_dev.c | |||
@@ -332,7 +332,7 @@ static netdev_tx_t vlan_dev_hard_start_xmit(struct sk_buff *skb, | |||
332 | } else | 332 | } else |
333 | txq->tx_dropped++; | 333 | txq->tx_dropped++; |
334 | 334 | ||
335 | return NETDEV_TX_OK; | 335 | return ret; |
336 | } | 336 | } |
337 | 337 | ||
338 | static netdev_tx_t vlan_dev_hwaccel_hard_start_xmit(struct sk_buff *skb, | 338 | static netdev_tx_t vlan_dev_hwaccel_hard_start_xmit(struct sk_buff *skb, |
@@ -358,7 +358,7 @@ static netdev_tx_t vlan_dev_hwaccel_hard_start_xmit(struct sk_buff *skb, | |||
358 | } else | 358 | } else |
359 | txq->tx_dropped++; | 359 | txq->tx_dropped++; |
360 | 360 | ||
361 | return NETDEV_TX_OK; | 361 | return ret; |
362 | } | 362 | } |
363 | 363 | ||
364 | static int vlan_dev_change_mtu(struct net_device *dev, int new_mtu) | 364 | static int vlan_dev_change_mtu(struct net_device *dev, int new_mtu) |