linux/net/core
Patrick McHardy 572a9d7b6f net: allow to propagate errors through ->ndo_hard_start_xmit()
Currently the ->ndo_hard_start_xmit() callbacks are only permitted to return
one of the NETDEV_TX codes. This prevents any kind of error propagation for
virtual devices, like queue congestion of the underlying device in case of
layered devices, or unreachability in case of tunnels.

This patches changes the NET_XMIT codes to avoid clashes with the NETDEV_TX
codes and changes the two callers of dev_hard_start_xmit() to expect either
errno codes, NET_XMIT codes or NETDEV_TX codes as return value.

In case of qdisc_restart(), all non NETDEV_TX codes are mapped to NETDEV_TX_OK
since no error propagation is possible when using qdiscs. In case of
dev_queue_xmit(), the error is propagated upwards.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
2009-11-13 14:07:32 -08:00
..
datagram.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2009-11-06 00:55:55 -08:00
dev.c net: allow to propagate errors through ->ndo_hard_start_xmit() 2009-11-13 14:07:32 -08:00
dev_mcast.c
drop_monitor.c net: Replace old style lock initializer 2009-11-07 00:46:34 -08:00
dst.c
ethtool.c
fib_rules.c
filter.c filter: Add SKF_AD_QUEUE instruction 2009-10-20 01:06:22 -07:00
flow.c
gen_estimator.c
gen_stats.c
iovec.c
kmap_skb.h
link_watch.c
Makefile
neighbour.c
net-sysfs.c net: Allow devices to specify a device specific sysfs group. 2009-10-30 12:41:18 -07:00
net-sysfs.h
net-traces.c
net_namespace.c
netevent.c
netpoll.c
pktgen.c pktgen: tx_bytes might be slightly wrong 2009-11-05 22:34:27 -08:00
request_sock.c
rtnetlink.c net: Support specifying the network namespace upon device creation. 2009-11-08 00:53:51 -08:00
scm.c
skb_dma_map.c
skbuff.c skbuff: Do not allow skb recycling with disabled IRQs 2009-11-11 19:03:28 -08:00
sock.c net: Fix build warning in sock_bindtodevice(). 2009-11-05 22:37:11 -08:00
stream.c
sysctl_net_core.c
user_dma.c
utils.c