linux/net/netfilter/ipvs
Marco Angaroni 698e2a8dca ipvs: make drop_entry protection effective for SIP-pe
DoS protection policy that deletes connections to avoid out of memory is
currently not effective for SIP-pe plus OPS-mode for two reasons:
  1) connection templates (holding SIP call-id) are always skipped in
     ip_vs_random_dropentry()
  2) in_pkts counter (used by drop_entry algorithm) is not incremented
     for connection templates

This patch addresses such problems with the following changes:
  a) connection templates associated (via their dest) to virtual-services
     configured in OPS mode are included in ip_vs_random_dropentry()
     monitoring. This applies to SIP-pe over UDP (which requires OPS mode),
     but is more general principle: when OPS is controlled by templates
     memory can be used only by templates themselves, since OPS conns are
     deleted after packet is forwarded.
  b) OPS connections, if controlled by a template, cause increment of
     in_pkts counter of their template. This is already happening but only
     in case director is in master-slave mode (see ip_vs_sync_conn()).

Signed-off-by: Marco Angaroni <marcoangaroni@gmail.com>
Acked-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: Simon Horman <horms@verge.net.au>
2016-05-06 16:26:23 +09:00
..
ip_vs_app.c netfilter: ipvs: avoid unused variable warnings 2016-02-18 09:17:58 +09:00
ip_vs_conn.c ipvs: make drop_entry protection effective for SIP-pe 2016-05-06 16:26:23 +09:00
ip_vs_core.c ipvs: make drop_entry protection effective for SIP-pe 2016-05-06 16:26:23 +09:00
ip_vs_ctl.c ipvs: handle connections started by real-servers 2016-04-20 12:34:17 +10:00
ip_vs_dh.c ipvs: use correct address family in scheduler logs 2014-09-18 08:59:23 +09:00
ip_vs_est.c ipvs: Pass ipvs not net to ip_vs_estimator_net_init and ip_vs_estimator_cleanup 2015-09-24 09:34:39 +09:00
ip_vs_fo.c ipvs: use correct address family in scheduler logs 2014-09-18 08:59:23 +09:00
ip_vs_ftp.c ipvs: Remove net argument from ip_vs_tcp_conn_listen 2015-09-24 09:34:43 +09:00
ip_vs_lblc.c ipvs: Store ipvs not net in struct ip_vs_service 2015-09-24 09:34:33 +09:00
ip_vs_lblcr.c ipvs: Store ipvs not net in struct ip_vs_service 2015-09-24 09:34:33 +09:00
ip_vs_lc.c ipvs: use correct address family in scheduler logs 2014-09-18 08:59:23 +09:00
ip_vs_nfct.c ipvs: don't alter conntrack in OPS mode 2016-04-20 12:34:17 +10:00
ip_vs_nq.c ipvs: use correct address family in scheduler logs 2014-09-18 08:59:23 +09:00
ip_vs_ovf.c ipvs: Add ovf scheduler 2015-08-21 09:08:39 -07:00
ip_vs_pe_sip.c ipvs: handle connections started by real-servers 2016-04-20 12:34:17 +10:00
ip_vs_pe.c netfilter: Deletion of unnecessary checks before two function calls 2014-11-20 13:08:43 +01:00
ip_vs_proto_ah_esp.c ipvs: Pass ipvs into .conn_schedule and ip_vs_try_to_schedule 2015-09-24 09:34:41 +09:00
ip_vs_proto_sctp.c sctp: Rename NETIF_F_SCTP_CSUM to NETIF_F_SCTP_CRC 2015-12-15 16:49:58 -05:00
ip_vs_proto_tcp.c ipvs: Remove net argument from ip_vs_tcp_conn_listen 2015-09-24 09:34:43 +09:00
ip_vs_proto_udp.c ipvs: Pass ipvs into .conn_schedule and ip_vs_try_to_schedule 2015-09-24 09:34:41 +09:00
ip_vs_proto.c ipvs: Pass ipvs not net to ip_vs_protocol_net_(init|cleanup) 2015-09-24 09:34:43 +09:00
ip_vs_rr.c ipvs: use correct address family in scheduler logs 2014-09-18 08:59:23 +09:00
ip_vs_sched.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next 2015-08-04 23:57:45 -07:00
ip_vs_sed.c ipvs: use correct address family in scheduler logs 2014-09-18 08:59:23 +09:00
ip_vs_sh.c ipvs: sh: support scheduling icmp/inverse packets consistently 2015-09-01 10:33:52 +09:00
ip_vs_sync.c ipvs: Pass ipvs not net to ip_vs_sync_net_cleanup 2015-09-24 09:34:38 +09:00
ip_vs_wlc.c ipvs: use correct address family in scheduler logs 2014-09-18 08:59:23 +09:00
ip_vs_wrr.c ipvs: use correct address family in scheduler logs 2014-09-18 08:59:23 +09:00
ip_vs_xmit.c ip_tunnel_core: iptunnel_handle_offloads returns int and doesn't free skb 2016-04-16 19:09:13 -04:00
Kconfig ipvs: Add ovf scheduler 2015-08-21 09:08:39 -07:00
Makefile ipvs: Add ovf scheduler 2015-08-21 09:08:39 -07:00