diff options
author | Patrick McHardy <kaber@trash.net> | 2009-11-10 07:14:24 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-13 23:07:33 +0100 |
commit | cbbef5e183079455763fc470ccf69008f92ab4b6 (patch) | |
tree | 04063bfe9498e622623ed3e46155bcbd9b18c9c0 /net/8021q | |
parent | net: allow to propagate errors through ->ndo_hard_start_xmit() (diff) | |
download | linux-cbbef5e183079455763fc470ccf69008f92ab4b6.tar.xz linux-cbbef5e183079455763fc470ccf69008f92ab4b6.zip |
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, } else txq->tx_dropped++; - return NETDEV_TX_OK; + return ret; } 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, } else txq->tx_dropped++; - return NETDEV_TX_OK; + return ret; } static int vlan_dev_change_mtu(struct net_device *dev, int new_mtu) |