LVS
lvs-devel
Google
 
Web LinuxVirtualServer.org

Re: Adapting LVS in order to allow Call-Id based persistence

To: "Joseph Mack NA3T" <jmack@xxxxxxxx>
Subject: Re: Adapting LVS in order to allow Call-Id based persistence
Cc: "Simon Horman" <horms@xxxxxxxxxxxx>, lvs-devel@xxxxxxxxxxxxxxx
From: "pierrick grasland" <pierrick.grasland@xxxxxxxxx>
Date: Thu, 3 Apr 2008 16:17:33 +0200
1) IMHO, we don't have to allow persistence for more than a call .

I'm hoping to detect a call Id, set a timer for this call Id,
corresponding to persistence. But a phone call as a very variable
time, from short call (less than 30s) to long call (more than 15
minutes, and my stats are only based on my bills ^^).

We can't allow a connexion logged as active for days, but if I'm in
the following case (basic call flow in SIP) :

Bob  = INVITE => proxy1 = INVITE =>LVS = INVITE => realserver (proxy2)
= INVITE ===> Alice
Bob <= 200 OK = proxy1 <= 200 ok = LVS <= 200 ok = realserver
(proxy2)<= 200 ok === Alice
Bob  = ACK => proxy1 = ACK =>LVS = ACK => realserver (proxy2) = ACK
=========> Alice

Bob <==========================RTP===============================> Alice

Bob <= BYE  = proxy1 <= BYE = LVS <= BYE = realserver <= BYE
=============== Alice
Bob  = 200 OK => proxy1 = 200 OK =>LVS = 200 OK => realserver (proxy2)
= 200 OK => Alice


Then, we don't have SIP messages exchanged during the length of the
communication, which use RTP. But, we must transfer the BYE in order
to close the call.

I think we have several options here :
- hash (seems practical, but I don't know how it's react in case of
addition / deletion of server)
- timers
- parsing sip headers in order to detect call terminaison, which seems
totally impractical with a DR setup (we don't see all messages
exchange from the 2 clients)

So, just for an example, I wish to know how do you implement
persistence for HTTP.

2) I'm actually browsing sources from kernel 2.6.24 (just for a better
idea on the architecture). I found IPVS in
linux-2.6.24.4/net/ipv4/ipvs.
Does all sources are located in this folder ? Nothing with netfilter ?

PS : I have time to make something valuable (ie 4 months). I'm in
internship, and this is my subject.
-- 
Grasland Pierrick
NEXCOM Systems
LANNION
FRANCE
--
To unsubscribe from this list: send the line "unsubscribe lvs-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

<Prev in Thread] Current Thread [Next in Thread>