Forum Discussion

rahtoll_74678's avatar
rahtoll_74678
Icon for Nimbostratus rankNimbostratus
Nov 03, 2012

Collect and process new payload from same TCP session

Hi Guys,

 

 

Another noob question. Is there any way for LTM to process subsequent TCP payload after processing the original? Below is the irule related on my first post - load balance by deciding from data on specific position. Say this rule has already been processed or completed, but the remote app sends in another data payload to be processed just the same but maintaining the TCP session, is it possible? A couple of attempts including tcp::collect again after the release, added priorites and others but none worked. Any inputs?

 

 

 

when CLIENT_ACCEPTED {

 

TCP::collect

 

}

 

 

when CLIENT_DATA {

 

 

use pool2 by default

 

pool Pool1

 

 

set mero [TCP::payload]

 

log local0. $mero

 

Start reading at the 5th byte and save 6 characters to $match

 

if {[binary scan $mero x5a6 match] == 1}{

 

log local0. "Matched $match"

 

if { $match eq "000001" } {

 

log local0. "For Pool 1"

 

pool Pool1

 

} else {

 

log local0. "For Pool 2"

 

pool Pool2

 

}

 

 

}

 

TCP::release

 

}

 

 

 

Thanks again.

 

Lez

 

 

13 Replies

  • Hello Guys, testing the iRule with traffic, I'm detecting a delay response on the LTM from the CLIENT side. I cached the Server response and it was on mili-seconds, but the LTM release the response to the client with a delay larger than one second. I´m testing with version 10.2.1 HF 511.

     

     

    Does any one experience any similar situation?, Any advice?.

     

     

    Regards.

     

     

    Calvillo.
  • I'm not absolutely suggesting this is a cause, but since you're not using the USER_REQUEST event I don't believe you need the TCP::notify command. What happens if you comment it out?
  • Hi Kevin, thank you for your response. I´m not using the TCP::notify command no more, and the delay response from the LTM is still happening.

     

     

    CALVILLO.