The following two patches add support for error propagation through ->ndo_hard_start_xmit() and use it to propagate qdisc submission state through VLAN and macvlan devices. I'm also experimenting with returning errno codes from tunnel devices to the originating socket, but those patches still need some work. The only change relative to the patch posted yesterday is removal of an unnecessary initialization in dev_hard_start_xmit().