Mailing List Archive

help,question
Hi,
I am a Linux Learner.

I am learing the virtual server now.I have a question that I want ask.I
hope I may receive your help.:)
The question is :As we using Hash Table to record an established network
connection,how do we know the data transmission by one conection is over
and when should we delete it from the Hash Table? Can you talk about it
in detail?
Thanks a lot!

Best regards

ypHu
Re: help,question [ In reply to ]
yphu wrote:
>
> Hi,
> I am a Linux Learner.
>
> I am learing the virtual server now.I have a question that I want ask.I
> hope I may receive your help.:)
> The question is :As we using Hash Table to record an established network
> connection,how do we know the data transmission by one conection is over
> and when should we delete it from the Hash Table? Can you talk about it
> in detail?
> Thanks a lot!
>
> Best regards
>
> ypHu

A little late but since noone replied I try and give a it shot:

It depends on the load balancing method you're using, eg VS-DR, VS-NAT.
Basically you have IMHO two events to consider: template timeout and
TCP state transition change of template. So, for the first, this is to
loose the entry for a template in case no connection have been established
for a certain time (#define IP_VS_TEMPLATE_TIMEOUT 6*60*HZ). The second
is tricky and I don't know if I understood it correctly myself. But simplyfied
it's some kind of connection tracking (see ip_masq.c) that decrements the
refcnt atomically in case of a FIN belonging to the initial template. The
state transitions had been redefined to serve the special TCP-state changes
for LVS-DR method. Have a look at ip_vs_set_state(struct ip_masq *ms, int
new_state)
in ip_vs.c. But maybe Wensong, Julian or Horms can help you further or even
tell the whole truth :)

HTH a little bit. Best regards,
Roberto Nibali, ratz

--
mailto: `echo NrOatSz@tPacA.cMh | sed 's/[NOSPAM]//g'`