Forum Discussion

Chris_Grabill_2's avatar
Chris_Grabill_2
Icon for Nimbostratus rankNimbostratus
Dec 19, 2016

Help setting the mss on the client side conenction with an irule

I am trying to set the mss on the client side connection to different sizes based on source ip. I have read that you cannot choose the TCP profile with an irule but with 11.6 you can use the TCP::setmss option but it doesn't seem to work. I have tried to explore changing things with TCP::option 2 as well with no luck either. Please help.

Here is what I have tried.

when CLIENT_ACCEPTED {
    if { [IP::addr [IP::client_addr] equals x.x.x.x] } {
        TCP::setmss 1000
    }
 }

I have also tried

2 Replies

  • I could not get the last irule I have tried in there

    when CLIENT_ACCEPTED {
        if { [IP::addr [IP::client_addr] equals 214.28.41.109] } {
            TCP::option set 2 1000 all   
        }
    }
    
  • CLIENT_ACCEPTED doesn't 'fire' until after the TCP connection has been established (the handshake completed). MSS is advertised as part of the SYN packet from each host - so set before that iRule would go into effect. I'm not sure what iRule event should be used for this - I'm doing a little digging as I'm curious also.