> It seems we forgot to fix one place where ip_vs_conn_expire_now
> is used. Callers should hold write lock or cp->refcnt (and not to
> forget it). Please, try the appended patch, on success resend it to
> Marcelo. Such problem exists in 2.6.13 too, for all expire_nodest_conn
> users. The same patch applies to 2.6.14, so we should send it for 2.6
> inclusion.
>
> Signed-off-by: Julian Anastasov <ja@xxxxxx>
>
> diff -ur v2.4.32-rc2/linux/net/ipv4/ipvs/ip_vs_core.c
> linux/net/ipv4/ipvs/ip_vs_core.c
> --- v2.4.32-rc2/linux/net/ipv4/ipvs/ip_vs_core.c 2005-11-03
> 01:20:02.000000000 +0200
> +++ linux/net/ipv4/ipvs/ip_vs_core.c 2005-11-03 01:22:36.347895544 +0200
> @@ -1111,11 +1111,10 @@
> if (sysctl_ip_vs_expire_nodest_conn) {
> /* try to expire the connection immediately */
> ip_vs_conn_expire_now(cp);
> - } else {
> - /* don't restart its timer, and silently
> - drop the packet. */
> - __ip_vs_conn_put(cp);
> }
> + /* don't restart its timer, and silently
> + drop the packet. */
> + __ip_vs_conn_put(cp);
> return NF_DROP;
I am not able to reproduce the abberant behaviour anymore with this
patch. I will continue to stress test it and send it off tomorrow noon
(GMT+1).
Thanks,
Roberto Nibali, ratz
--
-------------------------------------------------------------
addr://Kasinostrasse 30, CH-5001 Aarau tel://++41 62 823 9355
http://www.terreactive.com fax://++41 62 823 9356
-------------------------------------------------------------
terreActive AG Wir sichern Ihren Erfolg
-------------------------------------------------------------
|