LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: [lvs-users] request/receive issue using simpletcp

To: lvs-users@xxxxxxxxxxxxxxxxxxxxxx, nilesi@xxxxxxxxxxxxxxxxxxxx
Subject: Re: [lvs-users] request/receive issue using simpletcp
Cc: rickd@xxxxxxxxxxxxxxxxxxxx, MRPeters@xxxxxxxxxxxxxx
From: Sohgo Takeuchi <sohgo@xxxxxxxxxxxxxxxx>
Date: Tue, 12 Oct 2010 18:52:28 +0900 (JST)
From: Sohgo Takeuchi <sohgo@xxxxxxxxxxxxxxxx>
|
> From: Niles Ingalls <nilesi@xxxxxxxxxxxxxxxxxxxx>
> |
>> On Oct 7, 2010, at 11:37 PM, Sohgo Takeuchi wrote:
>> 
>>> From: Niles Ingalls <nilesi@xxxxxxxxxxxxxxxxxxxx>
>>> |
>>>> Hello lvs-users,
>>>> 
>>>> I'm having a problem doing request receive authentication that I'm unable 
>>>> to resolve on my own.
>>>> 
>>>> I'm using the ldirectord version that comes with debian 5 supplied with 
>>>> Linux-HA (2.1.3-6lenny4)
>>>> I've also tested this with dowload/ldirectord-latest from the ldirectord 
>>>> download page. 
>>>> (http://horms.net/projects/ldirectord/download/ldirectord-latest).
>>>> 
>>>> I'm using ldirectord for load balancing 3M Standard Interchange Protocol 
>>>> (also known as SIP, not to be confused for Session Initiation Protocol)
>>>> 
>>>> Here's what the config looks like.
>>>> 
>>>> virtual=192.168.80.2:6001
>>>>        real=192.168.80.25:6001 masq
>>>>        request="9300CNredacted|redacted|AY0AZF63B"
>>>>        receive="^941AY0AZFDFD"
>>>>        service=simpletcp
>>> 
>>> 
>>> Hi,
>>> 
>>> How about specifying like this as a workaround.
>>> 
>>> virtual=192.168.80.2:6001
>>>        real=192.168.80.25:6001 masq "9300CNredacted|redacted|AY0AZF63B" 
>>> "^941AY0AZFDFD"
>>>        service=simpletcp
>>> 
>> 
>> Hello Sohgo,
>> 
>> Your workaround fixed my problem, and the SIP server is
>> authenticating properly.
> 
> Hello Niles,
> 
> That's good.
> 
> When I checked the
> http://horms.net/projects/ldirectord/download/ldirectord-latest,
> I found that it was not latest. The real latest version does not
> need this workaround.
> 
> If you want to get a latest code, please follow a below
> instruction written at
> http://horms.net/projects/ldirectord/download.shtml
> 
> "The Latest Un-Released Version" -> "Download linux-ha tree
> using Mercurial"
> 
>> Oct  8 08:25:52 xenb2sip acs-server: INPUT MSG: 
>> '9300CNredacted|CO_redacted|AY0AZF63B '
>> Oct  8 08:25:52 xenb2sip acs-server: Sip::MsgType::new('Sip::MsgType', 
>> '9300CNredacted', '93'): msgtag '0'
>> Oct  8 08:25:52 xenb2sip acs-server: Sip::MsgType:_initialize('Login', 
>> '00CNredacted|CO_re...')
>> Oct  8 08:25:52 xenb2sip acs-server: Sip::MsgType::_initialize('Login', 
>> '00CNHredacted|CO_redacted|', 'A1A1', '2', ...
>> Oct  8 08:25:52 xenb2sip acs-server: Successful login for 'redacted' of 
>> 'indiana'
>> 
>> As you can see, the SIP server is happy.
>> New problem, the negotiation between ldirectord and my SIP server timeout, 
>> as if the response is never received.
>> 
>> DEBUG2: Checking negotiate: real 
>> server=negotiate:simpletcp:tcp:192.168.80.25:6001:::1:masq:9300CNredacted\|COredacted\|AY0AZF63B\\n:\^941AY0AZFDFD
>>  (virtual=tcp:192.168.80.2:6001)
>> DEBUG2: Checking simpletcp server=192.168.80.25 port=6001
>> DEBUG3: Connected from 192.168.80.2:41853 to 192.168.80.25:6001
>> DEBUG2: Checking simpletcp server=192.168.80.25 port=6001 request:
>> 9300CNredacted|COredacted|AY0AZF63B
>> DEBUG2: Disabled real 
>> server=negotiate:simpletcp:tcp:192.168.80.25:6001:::1:masq:9300CNredacted\|COredacted\|AY0AZF63B\\n:\^941AY0AZFDFD
>>  (virtual=tcp:192.168.80.2:6001)
>> DEBUG3: Deactivated service 192.168.80.25:6001: Timeout Alarm at 
>> /usr/sbin/ldirectord line 3022.
>> 
>> I've tried this with and without adding \n at the end of the request without 
>> success.
>> When using telnet, I have to hit return after sending the request 
>> 9300CNredacted|COredacted|AY0AZF63B , and after receiving the response 
>> 941AY0AZFDFD before the connection is closed.
>> I assume that since the SIP server isn't closing the connection, this is why 
>> I'm timing out.
> 
> The ldirectord assumes that the response has a \n. Do you find
> the SIP server returns response which contains a \n like
> "941AY0AZFDFD\n" ?

Could you try following patch? This patch can be applied to
http://horms.net/projects/ldirectord/download/ldirectord-latest

--- ldirectord-latest.orig      2009-09-15 14:59:34.000000000 +0900
+++ ldirectord-latest   2010-10-12 18:50:12.270363918 +0900
@@ -3355,6 +3355,7 @@
 
                &ld_debug(2, "Checking simpletcp server=$$r{server} 
port=$d_port request:\n$request");
                print $sock $request;
+               shutdown($sock, SHUT_WR);
 
                my $ok;
                my $reply;

_______________________________________________
Please read the documentation before posting - it's available at:
http://www.linuxvirtualserver.org/

LinuxVirtualServer.org mailing list - lvs-users@xxxxxxxxxxxxxxxxxxxxxx
Send requests to lvs-users-request@xxxxxxxxxxxxxxxxxxxxxx
or go to http://lists.graemef.net/mailman/listinfo/lvs-users

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