linux/net/sched
Grégoire Baron eb4d406545 net/sched: add ACT_CSUM action to update packets checksums
net/sched: add ACT_CSUM action to update packets checksums

ACT_CSUM can be called just after ACT_PEDIT in order to re-compute some
altered checksums in IPv4 and IPv6 packets. The following checksums are
supported by this patch:
 - IPv4: IPv4 header, ICMP, IGMP, TCP, UDP & UDPLite
 - IPv6: ICMPv6, TCP, UDP & UDPLite
It's possible to request in the same action to update different kind of
checksums, if the packets flow mix TCP, UDP and UDPLite, ...

An example of usage is done in the associated iproute2 patch.

Version 3 changes:
 - remove useless goto instructions
 - improve IPv6 hop options decoding

Version 2 changes:
 - coding style correction
 - remove useless arguments of some functions
 - use stack in tcf_csum_dump()
 - add tcf_csum_skb_nextlayer() to factor code

Signed-off-by: Gregoire Baron <baronchon@n7mm.org>
Acked-by: jamal <hadi@cyberus.ca>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-08-20 01:42:59 -07:00
..
Kconfig net/sched: add ACT_CSUM action to update packets checksums 2010-08-20 01:42:59 -07:00
Makefile net/sched: add ACT_CSUM action to update packets checksums 2010-08-20 01:42:59 -07:00
act_api.c pkt_sched: gen_kill_estimator() rcu fixes 2010-06-11 18:37:08 -07:00
act_csum.c net/sched: add ACT_CSUM action to update packets checksums 2010-08-20 01:42:59 -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 Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2010-07-27 21:01:35 -07:00
act_nat.c act_nat: fix on the TX path 2010-08-04 21:53:14 -07:00
act_pedit.c net sched: make pedit check for clones instead 2010-06-07 01:10:43 -07:00
act_police.c pkt_sched: gen_kill_estimator() rcu fixes 2010-06-11 18:37:08 -07:00
act_simple.c net/sched: potential data corruption 2010-07-14 17:56:37 -07:00
act_skbedit.c pkt_sched: skbedit add support for setting mark 2009-10-22 21:56:42 -07:00
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 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cls_cgroup.c cls_cgroup: Store classid in struct sock 2010-05-24 00:12:34 -07:00
cls_flow.c net_sched: cls_flow: use proto_ports_offset() to support AH message 2010-08-19 17:16:24 -07:00
cls_fw.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cls_route.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cls_rsvp.c [NET_SCHED]: Remove unnecessary includes 2007-07-10 22:16:41 -07:00
cls_rsvp.h cls_rsvp: add sanity check for the packet length 2010-08-04 21:53:15 -07:00
cls_rsvp6.c [NET_SCHED]: Remove unnecessary includes 2007-07-10 22:16:41 -07:00
cls_tcindex.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cls_u32.c u32: negative offset fix 2010-08-02 22:07:45 -07:00
em_cmp.c net: em_cmp.c use unaligned access helpers 2008-09-22 19:20:51 -07:00
em_meta.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
em_nbyte.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
em_text.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
em_u32.c [PKT_SCHED]: annotate cls_u32 2008-03-17 22:46:46 -07:00
ematch.c net sched: printk message severity 2010-05-17 23:23:12 -07:00
sch_api.c net/sched: remove unneeded NULL check 2010-08-18 14:24:51 -07:00
sch_atm.c net: Use NET_XMIT_SUCCESS where possible. 2010-08-10 02:51:11 -07:00
sch_blackhole.c pkt_sched: Add qdisc->ops->peek() implementation. 2008-10-31 00:45:55 -07:00
sch_cbq.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sch_drr.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sch_dsmark.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sch_fifo.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sch_generic.c net: this_cpu_xxx conversions 2010-07-19 15:12:51 -07:00
sch_gred.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sch_hfsc.c net: Remove unnecessary returns from void function()s 2010-05-17 23:23:14 -07:00
sch_htb.c htb: remove two unnecessary assignments 2010-06-07 01:08:11 -07:00
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 include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
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_sched: sch_sfq: use proto_ports_offset() to support AH message 2010-08-19 17:16:25 -07:00
sch_tbf.c net: Use NET_XMIT_SUCCESS where possible. 2010-08-10 02:51:11 -07:00
sch_teql.c net: Use NET_XMIT_SUCCESS where possible. 2010-08-10 02:51:11 -07:00