android_kernel_google_msm/net/sched
Jason Wang 7c8a60a9e3 act_mirred: do not drop packets when fails to mirror it
[ Upstream commit 16c0b164bd ]

We drop packet unconditionally when we fail to mirror it. This is not intended
in some cases. Consdier for kvm guest, we may mirror the traffic of the bridge
to a tap device used by a VM. When kernel fails to mirror the packet in
conditions such as when qemu crashes or stop polling the tap, it's hard for the
management software to detect such condition and clean the the mirroring
before. This would lead all packets to the bridge to be dropped and break the
netowrk of other virtual machines.

To solve the issue, the patch does not drop packets when kernel fails to mirror
it, and only drop the redirected packets.

Signed-off-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-06-07 16:02:00 -07:00
..
act_api.c net: Fix files explicitly needing to include module.h 2011-10-31 19:30:28 -04:00
act_csum.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
act_gact.c net_sched: gact: Fix potential panic in tcf_gact(). 2012-10-02 10:29:34 -07:00
act_ipt.c net_sched: act_ipt forward compat with xtables 2013-05-19 10:54:45 -07:00
act_mirred.c act_mirred: do not drop packets when fails to mirror it 2014-06-07 16:02:00 -07:00
act_nat.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
act_pedit.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
act_police.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
act_simple.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
act_skbedit.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_api.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_basic.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_cgroup.c cgroup: remove cgroup_subsys argument from callbacks 2012-02-02 09:20:22 -08:00
cls_flow.c cls_flow: remove one dynamic array 2011-12-14 13:34:55 -05:00
cls_fw.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_route.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_rsvp.c
cls_rsvp.h pkt_sched: cls_rsvp.h was outdated 2011-09-15 14:49:43 -04:00
cls_rsvp6.c
cls_tcindex.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
cls_u32.c net: sched: constify tcf_proto and tc_action 2011-07-06 02:52:16 -07:00
em_cmp.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
em_meta.c net: remove SK_ROUTE_CAPS from meta ematch 2011-07-14 14:45:59 -07:00
em_nbyte.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
em_text.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
em_u32.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
ematch.c net_sched: cleanups 2011-01-19 23:31:12 -08:00
Kconfig net/sched: sch_plug - Queue traffic until an explicit release command 2012-02-07 12:54:56 -05:00
Makefile net/sched: sch_plug - Queue traffic until an explicit release command 2012-02-07 12:54:56 -05:00
sch_api.c net_sched: qdisc_alloc_handle() can be too slow 2012-01-03 13:03:20 -05:00
sch_atm.c net_sched: info leak in atm_tc_dump_class() 2013-08-11 15:38:45 -07:00
sch_blackhole.c
sch_cbq.c net_sched: Fix stack info leak in cbq_dump_wrr(). 2013-08-11 15:38:44 -07:00
sch_choke.c net: Make qdisc_skb_cb upper size bound explicit. 2012-02-09 13:50:34 -05:00
sch_drr.c net_sched: accurate bytes/packets stats/rates 2011-01-20 23:31:33 -08:00
sch_dsmark.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2011-01-24 14:09:35 -08:00
sch_fifo.c net_sched: reduce fifo qdisc size 2011-03-03 11:10:02 -08:00
sch_generic.c net: Add queue state xoff flag for stack 2011-11-29 12:46:19 -05:00
sch_gred.c net_sched: gred: Fix oops in gred_dump() in WRED mode 2012-04-16 23:51:07 -04:00
sch_hfsc.c sch_hfsc: report backlog information 2011-12-23 16:51:18 -05:00
sch_htb.c htb: fix sign extension bug 2013-09-14 06:02:08 -07:00
sch_ingress.c net_sched: factorize qdisc stats handling 2011-01-10 16:07:54 -08:00
sch_mq.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
sch_mqprio.c mqprio: Avoid panic if no options are provided 2011-12-22 22:34:56 -05:00
sch_multiq.c net: Add queue state xoff flag for stack 2011-11-29 12:46:19 -05:00
sch_netem.c netem: add limitation to reordered packets 2012-08-09 08:31:41 -07:00
sch_plug.c net_sched: sch_plug: plug_qdisc_ops is static 2012-02-13 16:04:40 -05:00
sch_prio.c net_sched: prio: use qdisc_dequeue_peeked 2011-08-09 21:52:11 -07:00
sch_qfq.c pkt_sched: fix virtual-start-time update in QFQ 2012-10-13 05:38:42 +09:00
sch_red.c net_sched: red: split red_parms into parms and vars 2012-01-05 14:01:21 -05:00
sch_sfb.c sch_sfb: Fix missing NULL check 2012-08-09 08:31:42 -07:00
sch_sfq.c sch_sfq: revert dont put new flow at the end of flows 2012-03-16 01:55:25 -07:00
sch_tbf.c sch_tbf: report backlog information 2011-12-29 15:07:21 -05:00
sch_teql.c net: Rename dst_get_neighbour{, _raw} to dst_get_neighbour_noref{, _raw}. 2011-12-05 15:20:19 -05:00