android_kernel_google_msm/net/sched
Tom Hughes fa68a78227 Clear IFF_XMIT_DST_RELEASE for teql interfaces
https://bugzilla.kernel.org/show_bug.cgi?id=16183

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 for any underlying interface which
requires the addition of link level headers.

The problem is that the transmit routine relies on being able to
access the destination address in the skb in order to do address
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
released before the transmit routine for the interface is called.

The solution is to clear that flag for teql interfaces.

Signed-off-by: Tom Hughes <tom@compton.nu>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-06-16 14:47:30 -07:00
..
act_api.c net sched: printk message severity 2010-05-17 23:23:12 -07:00
act_gact.c net sched: printk message severity 2010-05-17 23:23:12 -07:00
act_ipt.c net sched: printk message severity 2010-05-17 23:23:12 -07:00
act_mirred.c net sched: printk message severity 2010-05-17 23:23:12 -07:00
act_nat.c act_nat: fix the wrong checksum when addr isn't in old_addr/mask 2010-06-02 06:51:34 -07:00
act_pedit.c act_pedit: access skb->data safely 2010-06-03 03:28:27 -07:00
act_police.c
act_simple.c net sched: printk message severity 2010-05-17 23:23:12 -07:00
act_skbedit.c
cls_api.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-04-11 14:53:53 -07:00
cls_basic.c
cls_cgroup.c cls_cgroup: Store classid in struct sock 2010-05-24 00:12:34 -07:00
cls_flow.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
cls_fw.c
cls_route.c
cls_rsvp.c
cls_rsvp.h
cls_rsvp6.c
cls_tcindex.c
cls_u32.c cls_u32: use skb_header_pointer() to dereference data safely 2010-06-02 07:32:42 -07:00
em_cmp.c
em_meta.c
em_nbyte.c
em_text.c
em_u32.c
ematch.c net sched: printk message severity 2010-05-17 23:23:12 -07:00
Kconfig
Makefile
sch_api.c net_sched: Fix qdisc_notify() 2010-05-23 23:11:07 -07:00
sch_atm.c
sch_blackhole.c
sch_cbq.c
sch_drr.c
sch_dsmark.c
sch_fifo.c
sch_generic.c net: add a noref bit on skb dst 2010-05-17 17:18:50 -07:00
sch_gred.c
sch_hfsc.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_htb.c
sch_ingress.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_mq.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_multiq.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_netem.c
sch_prio.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_red.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_sfq.c net: Fix various endianness glitches 2010-04-20 19:06:52 -07:00
sch_tbf.c tbf: stop wanton destruction of children (v2) 2010-05-17 17:44:35 -07:00
sch_teql.c Clear IFF_XMIT_DST_RELEASE for teql interfaces 2010-06-16 14:47:30 -07:00