Technical Forum
Ask questions. Discover Answers.
cancel
Showing results for 
Search instead for 
Did you mean: 

Change tcp client profile based on iRule

Mohanad
Cirrostratus
Cirrostratus

Hi everyone

 

can i change tcp client profile based on iRule

 

Thank you

4 REPLIES 4

boneyard
MVP
MVP

been a while since the question was asked but i believe the answer is still no.

 

is there specific setting you want to modify, there are options for that: https://clouddocs.f5.com/api/irules/TCP.html

Thank you boneyard, i wan to change the mss value to be 1300 for specific client IP and other client use the assigned tcp profile with it settings

 

 

0691T00000BSUKkQAP.png 

so i searched for irule and applied it, i got +100 Executions but the client is not trying to connect yet, i dont know why i have hits on this irule, maybe because i didnt use (else)

 

when FLOW_INIT {

       if { [IP::addr [IP::client_addr] equals 10.239.50.50] } {

           TCP::setmss 1300

       }

    }

 

did this work out for you? had planned to give it a go myself, but didnt get around to it.

ok so using it in FLOW_INIT is not allowed (on a standard VS)

<FLOW_INIT> - Operation not supported (line 1)     invoked from within "TCP::setmss 1200"

it is allowed in CLIENT_ACCEPTED which doesnt seem to do a whole lot, which i can sort of understand as the TCP handshake already happened.

it is also allowed in SERVER_CONNECTED and there it works! which i dont quite understand because also here the TCP handshake should have occurred already with a standard virtual server.

still this

when SERVER_CONNECTED {
  TCP::setmss 1200
}

results in a changed MSS value towards the pool member (notice the mss 1200)

14:38:57.661721 IP 10.3.24.8.53013 > 10.3.24.51.80: Flags [S], seq 2095867038, win 12000, options [mss 1200,nop,wscale 0,sackOK,TS val 2092406512 ecr 0], length 0 out slot1/tmm1 lis=/Common/vs-ltm-test-01