linux/net/netfilter/ipvs
Jesper Dangaard Brouer 2f74713d14 ipvs: Complete IPv6 fragment handling for IPVS
IPVS now supports fragmented packets, with support from nf_conntrack_reasm.c

Based on patch from: Hans Schillstrom.

IPVS do like conntrack i.e. use the skb->nfct_reasm
(i.e. when all fragments is collected, nf_ct_frag6_output()
starts a "re-play" of all fragments into the interrupted
PREROUTING chain at prio -399 (NF_IP6_PRI_CONNTRACK_DEFRAG+1)
with nfct_reasm pointing to the assembled packet.)

Notice, module nf_defrag_ipv6 must be loaded for this to work.
Report unhandled fragments, and recommend user to load nf_defrag_ipv6.

To handle fw-mark for fragments.  Add a new IPVS hook into prerouting
chain at prio -99 (NF_IP6_PRI_NAT_DST+1) to catch fragments, and copy
fw-mark info from the first packet with an upper layer header.

IPv6 fragment handling should be the last thing on the IPVS IPv6
missing support list.

Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: Hans Schillstrom <hans@schillstrom.com>
Acked-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
2012-09-28 11:34:24 +09:00
..
Kconfig ipvs: Complete IPv6 fragment handling for IPVS 2012-09-28 11:34:24 +09:00
Makefile IPVS: sip persistence engine 2010-10-04 22:45:24 +09:00
ip_vs_app.c ipvs: generalize app registration in netns 2012-08-10 10:34:51 +09:00
ip_vs_conn.c ipvs: Complete IPv6 fragment handling for IPVS 2012-09-28 11:34:24 +09:00
ip_vs_core.c ipvs: Complete IPv6 fragment handling for IPVS 2012-09-28 11:34:24 +09:00
ip_vs_ctl.c Merge branch 'master' of git://1984.lsi.us.es/nf-next 2012-09-13 14:24:31 -04:00
ip_vs_dh.c ipvs: Fix faulty IPv6 extension header handling in IPVS 2012-09-28 11:34:15 +09:00
ip_vs_est.c IPVS: remove unused init and cleanup functions. 2011-06-14 09:07:32 +09:00
ip_vs_ftp.c netfilter: nf_nat: add protoff argument to packet mangling functions 2012-08-30 03:00:13 +02:00
ip_vs_lblc.c ipvs: Fix faulty IPv6 extension header handling in IPVS 2012-09-28 11:34:15 +09:00
ip_vs_lblcr.c ipvs: Fix faulty IPv6 extension header handling in IPVS 2012-09-28 11:34:15 +09:00
ip_vs_lc.c ipvs: unify the formula to estimate the overhead of processing connections 2011-02-25 11:35:41 +09:00
ip_vs_nfct.c ipvs: Remove unused parameter from ip_vs_confirm_conntrack() 2011-11-01 09:19:29 +01:00
ip_vs_nq.c ipvs: make "no destination available" message more informative 2011-02-16 14:53:33 +09:00
ip_vs_pe.c IPVS: Backup, Adding Version 1 receive capability 2010-11-25 10:42:59 +09:00
ip_vs_pe_sip.c ipvs: Fix faulty IPv6 extension header handling in IPVS 2012-09-28 11:34:15 +09:00
ip_vs_proto.c ipvs: Trivial changes, use compressed IPv6 address in output 2012-09-28 11:33:52 +09:00
ip_vs_proto_ah_esp.c IPVS: netns, connection hash got net as param. 2011-01-13 10:30:28 +09:00
ip_vs_proto_sctp.c ipvs: Fix faulty IPv6 extension header handling in IPVS 2012-09-28 11:34:15 +09:00
ip_vs_proto_tcp.c ipvs: Fix faulty IPv6 extension header handling in IPVS 2012-09-28 11:34:15 +09:00
ip_vs_proto_udp.c ipvs: Fix faulty IPv6 extension header handling in IPVS 2012-09-28 11:34:15 +09:00
ip_vs_rr.c ipvs: make "no destination available" message more informative 2011-02-16 14:53:33 +09:00
ip_vs_sched.c ipvs: Trivial changes, use compressed IPv6 address in output 2012-09-28 11:33:52 +09:00
ip_vs_sed.c ipvs: make "no destination available" message more informative 2011-02-16 14:53:33 +09:00
ip_vs_sh.c ipvs: Fix faulty IPv6 extension header handling in IPVS 2012-09-28 11:34:15 +09:00
ip_vs_sync.c ipvs: add support for sync threads 2012-05-08 19:40:33 +02:00
ip_vs_wlc.c ipvs: unify the formula to estimate the overhead of processing connections 2011-02-25 11:35:41 +09:00
ip_vs_wrr.c ipvs: WRR scheduler does not need GFP_ATOMIC allocation 2012-05-08 19:37:22 +02:00
ip_vs_xmit.c ipvs: Complete IPv6 fragment handling for IPVS 2012-09-28 11:34:24 +09:00