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 | |
| 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>
| -rw-r--r-- | drivers/net/macvlan.c | 2 | ||||
| -rw-r--r-- | net/8021q/vlan_dev.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index d7dba3f6f763..271aa7e1d033 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c | |||
| @@ -202,7 +202,7 @@ static netdev_tx_t macvlan_start_xmit(struct sk_buff *skb, | |||
| 202 | } else | 202 | } else |
| 203 | txq->tx_dropped++; | 203 | txq->tx_dropped++; |
| 204 | 204 | ||
| 205 | return NETDEV_TX_OK; | 205 | return ret; |
| 206 | } | 206 | } |
| 207 | 207 | ||
| 208 | static int macvlan_hard_header(struct sk_buff *skb, struct net_device *dev, | 208 | static int macvlan_hard_header(struct sk_buff *skb, struct net_device *dev, |
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) |
