On Fri, Oct 21, 2005 at 05:10:47PM -0400, Ashish Jain wrote:
> 1. The load balancer works fine the way I expected for one one thing:
>
> Sometimes after heavy load surge (500 UDP packets per sec. on the same
> connection) , the output of ipvsadm -l -c shows active UDP connections
> even if there is no traffic and I stop sending any UDP packets.
>
> In ipvsadm, the default UDP connection timout is set to 300 sec (I did
> not change that. I did not even use persistant flag). I expect these
> connections to go away after 300 seconds. But after the 300 sec timer
> expires, it gets reset to 60 sec and these active UDP connectiosn stay
> forever. What could be the reason?
>
> I have noticed from the ip_vs code (ip_vs_conn.c) that there are 2
> functions implemented to expire a connection:
> ip_vs_conn_expire (This one resets the timer to 60*Hz if the reference
> count for this connection is greater than 1 or these is error deleting
> connection from hash tab)
> ip_vs_conn_expire_now (Deletes the connection immediately)
>
> The function called after timer expires is ip_vs_conn_expire and not the
> second one. Why is this so?
This is a bug, I believe it was fixed in 2.6.13.4
> 2. There is no option in ipvsadm to flush these connections as well. how
> can I flush these connections?
>
> There is already a function implemented in ip_vs code to flush all
> connections but there is no socket option provided there do the same.
> The only socket option to flush is to flush the rules and not the
> connections. Why is it so?
To be honest, the connections shouldn't be there in the first place,
and they are only there because its a bug.
I'm not sure what flush funtionality you are refering to that is there
for sockets, there may be room for a new feature, and you are certainly
welcome to cook up a patch. But, again, your troubles are caused by a
a bug.
> 3. I tried to enable the debug flag for ipvs in sysctl but doesn't seem
> like ipvs was build with debug flags on. How can I turn on debugging for
> ip_vs?
You need to enable IP_VS_DEBUG at compile time, and then
fiddle the debug proc value in /proc/sys/net/ipv4/vs at run time.
--
Horms
|