Citrix ADC

Policy based TCP profile selection

You can configure the Citrix ADC appliance to perform TCP optimization based on subscriber attributes. For example, the appliance can select different TCP profiles at run time, based on the network to which the user equipment (UE) is connected. As a result, you can improve a mobile user’s experience by setting some parameters in the TCP profiles and then using a policy to select the appropriate profile.

Create separate TCP profiles for subscribers connecting through a 4G network and for users connecting through any other network. Define a policy rule that is selected based on a subscriber parameter, such as Radio Access Technolog type (RAT-Type). In the following examples, if RAT-Type is EUTRAN, a TCP profile that supports a faster connection is selected (Example 1). For all other RAT-Type values, a different TCP profile is selected (Example 2).

For more information about radio access technology and its policy configuration, see RFC 29.212.


The RAT-Type AVP (AVP code 1032) is of type “Enumerated” and is used to identify the radio access technology serving the UE.

The value “1004” indicates that the RAT is EUTRAN.

Example 1:

add ns tcpProfile tcp2 -WS ENABLED -SACK ENABLED -WSVal 8 -initialCwnd 16 - oooQSize 15000 -slowStartIncr 1 -bufferSize 1000000 -flavor BIC - dynamicReceiveBuffering DISABLED -sendBuffsize 1000000 -dsack DISABLED -maxcwnd 4000000 -fack ENABLED -minRTO 500 -maxburst 15

add appqoe action appact2 -priority HIGH -tcpprofile tcp2

add appqoe policy apppol2 -rule "SUBSCRIBER.AVP(1032).VALUE.GET_UNSIGNED32(0, BIG_ENDIAN).EQ(1004)" -action appact2

bind cs vserver <name>  -policyname apppol2 -priority 20 -type request

Example 2:

add ns tcpProfile tcp1 -WS ENABLED -SACK ENABLED -WSVal 8 -initialCwnd 16 - oooQSize 15000 -slowStartIncr 1 -bufferSize 150000 -flavor BIC - dynamicReceiveBuffering DISABLED -sendBuffsize 150000 -dsack DISABLED -maxcwnd 4000000 -fack ENABLED -minRTO 200 -maxburst 15

add appqoe action appact1 -priority HIGH -tcpprofile tcp1

add appqoe policy apppol1 -rule "SUBSCRIBER.AVP(1032).VALUE.GET_UNSIGNED32(0, BIG_ENDIAN).NE(1004)" -action appact1

bind cs vserver <name>  -policyname apppol1 -priority 10 -type request
Policy based TCP profile selection