Created attachment 26729 [details]
Patch to fix sch_teql
The sch_teql module, which can be used to load balance over a set of underlying interfaces, stopped working after 2.6.30 and has been broken in all kernels since then.
The problem is that the transmit routine relies on being able to access the destination address in the skb in order to do ARP resolution once it has decided which underlying interface it is going to transmit through.
In 2.6.31 the IFF_XMIT_DST_RELEASE flag was introduced, and set by default for all interfaces, which causes the destination address to be release before the transmit routine for the interface is called.
The solution (implemented in the attached patch) is to clear that flag for teql interfaces.
Please don't send patches via bugzilla - it causes lots of problems with
our usual patch management and review processes.
Please send this patch via email as per Documentation/SubmittingPatches.
Suitable recipients may be found via scripts/get_maintainer.pl. Please
also cc myself on the email.
Email sent as requested.