Skip to content

nstcpparam

Configuration for tcp parameters resource.

Properties

(click to see Operations)

NameData TypePermissionsDescription
ws<String>Read-writeEnable or disable window scaling.
Default value: ENABLED
Possible values = ENABLED, DISABLED
wsval<Double>Read-writeFactor used to calculate the new window size.
This argument is needed only when the window scaling is enabled.
Default value: 8
Minimum value = 0
Maximum value = 14
sack<String>Read-writeEnable or disable Selective ACKnowledgement (SACK).
Default value: ENABLED
Possible values = ENABLED, DISABLED
learnvsvrmss<String>Read-writeEnable or disable maximum segment size (MSS) learning for virtual servers.
Default value: DISABLED
Possible values = ENABLED, DISABLED
maxburst<Double>Read-writeMaximum number of TCP segments allowed in a burst.
Default value: 6
Minimum value = 1
Maximum value = 255
initialcwnd<Double>Read-writeInitial maximum upper limit on the number of TCP packets that can be outstanding on the TCP link to the server.
Default value: 10
Minimum value = 1
Maximum value = 44
recvbuffsize<Double>Read-writeTCP Receive buffer size.
Default value: 8190
Minimum value = 8190
Maximum value = 20971520
delayedack<Double>Read-writeTimeout for TCP delayed ACK, in milliseconds.
Default value: 100
Minimum value = 10
Maximum value = 300
downstaterst<String>Read-writeFlag to switch on RST on down services.
Default value: DISABLED
Possible values = ENABLED, DISABLED
nagle<String>Read-writeEnable or disable the Nagle algorithm on TCP connections.
Default value: DISABLED
Possible values = ENABLED, DISABLED
limitedpersist<String>Read-writeLimit the number of persist (zero window) probes.
Default value: ENABLED
Possible values = ENABLED, DISABLED
oooqsize<Double>Read-writeMaximum size of out-of-order packets queue. A value of 0 means no limit.
Default value: 300
Minimum value = 0
Maximum value = 65535
ackonpush<String>Read-writeSend immediate positive acknowledgement (ACK) on receipt of TCP packets with PUSH flag.
Default value: ENABLED
Possible values = ENABLED, DISABLED
maxpktpermss<Double>Read-writeMaximum number of TCP packets allowed per maximum segment size (MSS).
Minimum value = 0
Maximum value = 1460
pktperretx<Integer>Read-writeMaximum limit on the number of packets that should be retransmitted on receiving a partial ACK.
Default value: 1
Minimum value = 1
Maximum value = 100
minrto<Integer>Read-writeMinimum retransmission timeout, in milliseconds, specified in 10-millisecond increments (value must yield a whole number if divided by 10).
Default value: 1000
Minimum value = 10
Maximum value = 64000
slowstartincr<Integer>Read-writeMultiplier that determines the rate at which slow start increases the size of the TCP transmission window after each acknowledgement of successful transmission.
Default value: 2
Minimum value = 1
Maximum value = 100
maxdynserverprobes<Double>Read-writeMaximum number of probes that Citrix ADC can send out in 10 milliseconds, to dynamically learn a service. Citrix ADC probes for the existence of the origin in case of wildcard virtual server or services.
Default value: 7
Minimum value = 1
Maximum value = 65535
synholdfastgiveup<Double>Read-writeMaximum threshold. After crossing this threshold number of outstanding probes for origin, the Citrix ADC reduces the number of connection retries for probe connections.
Default value: 1024
Minimum value = 256
Maximum value = 65535
maxsynholdperprobe<Double>Read-writeLimit the number of client connections (SYN) waiting for status of single probe. Any new SYN packets will be dropped.
Default value: 128
Minimum value = 1
Maximum value = 255
maxsynhold<Double>Read-writeLimit the number of client connections (SYN) waiting for status of probe system wide. Any new SYN packets will be dropped.
Default value: 16384
Minimum value = 256
Maximum value = 65535
msslearninterval<Double>Read-writeDuration, in seconds, to sample the Maximum Segment Size (MSS) of the services. The Citrix ADC determines the best MSS to set for the virtual server based on this sampling. The argument to enable maximum segment size (MSS) for virtual servers must be enabled.
Default value: 180
Minimum value = 1
Maximum value = 1048576
msslearndelay<Double>Read-writeFrequency, in seconds, at which the virtual servers learn the Maximum segment size (MSS) from the services. The argument to enable maximum segment size (MSS) for virtual servers must be enabled.
Default value: 3600
Minimum value = 1
Maximum value = 1048576
maxtimewaitconn<Double>Read-writeMaximum number of connections to hold in the TCP TIME_WAIT state on a packet engine. New connections entering TIME_WAIT state are proactively cleaned up.
Default value: 7000
Minimum value = 1
kaprobeupdatelastactivity<String>Read-writeUpdate last activity for KA probes.
Default value: ENABLED
Possible values = ENABLED, DISABLED
maxsynackretx<Double>Read-writeWhen 'syncookie' is disabled in the TCP profile that is bound to the virtual server or service, and the number of TCP SYN+ACK retransmission by Citrix ADC for that virtual server or service crosses this threshold, the Citrix ADC responds by using the TCP SYN-Cookie mechanism.
Default value: 100
Minimum value = 100
Maximum value = 1048576
synattackdetection<String>Read-writeDetect TCP SYN packet flood and send an SNMP trap.
Default value: ENABLED
Possible values = ENABLED, DISABLED
connflushifnomem<String>Read-writeFlush an existing connection if no memory can be obtained for new connection.

HALF_CLOSED_AND_IDLE: Flush a connection that is closed by us but not by peer, or failing that, a connection that is past configured idle time. New connection fails if no such connection can be found.

FIFO: If no half-closed or idle connection can be found, flush the oldest non-management connection, even if it is active. New connection fails if the oldest few connections are management connections.

Note: If you enable this setting, you should also consider lowering the zombie timeout and half-close timeout, while setting the Citrix ADC timeout.

See Also: connFlushThres argument below.

Default value: NSA_CONNFLUSH_NONE
Possible values = NONE , HALFCLOSED_AND_IDLE, FIFO
connflushthres<Double>Read-writeFlush an existing connection (as configured through -connFlushIfNoMem FIFO) if the system has more than specified number of connections, and a new connection is to be established. Note: This value may be rounded down to be a whole multiple of the number of packet engines running.
Minimum value = 1
mptcpconcloseonpassivesf<String>Read-writeAccept DATA_FIN/FAST_CLOSE on passive subflow.
Default value: ENABLED
Possible values = ENABLED, DISABLED
mptcpchecksum<String>Read-writeUse MPTCP DSS checksum.
Default value: ENABLED
Possible values = ENABLED, DISABLED
mptcpsftimeout<Double>Read-writeThe timeout value in seconds for idle mptcp subflows. If this timeout is not set, idle subflows are cleared after cltTimeout of vserver.
Default value: 0
Minimum value = 0
Maximum value = 31536000
mptcpsfreplacetimeout<Double>Read-writeThe minimum idle time value in seconds for idle mptcp subflows after which the sublow is replaced by new incoming subflow if maximum subflow limit is reached. The priority for replacement is given to those subflow without any transaction.
Default value: 10
Minimum value = 0
Maximum value = 31536000
mptcpmaxsf<Double>Read-writeMaximum number of subflow connections supported in established state per mptcp connection.
Default value: 4
Minimum value = 2
Maximum value = 6
mptcpmaxpendingsf<Double>Read-writeMaximum number of subflow connections supported in pending join state per mptcp connection.
Default value: 4
Minimum value = 0
Maximum value = 4
mptcppendingjointhreshold<Double>Read-writeMaximum system level pending join connections allowed.
Default value: 0
Minimum value = 0
Maximum value = 4294967294
mptcprtostoswitchsf<Double>Read-writeNumber of RTO's at subflow level, after which MPCTP should start using other subflow.
Default value: 2
Minimum value = 1
Maximum value = 6
mptcpusebackupondss<String>Read-writeWhen enabled, if NS receives a DSS on a backup subflow, NS will start using that subflow to send data. And if disabled, NS will continue to transmit on current chosen subflow. In case there is some error on a subflow (like RTO's/RST etc.) then NS can choose a backup subflow irrespective of this tunable.
Default value: ENABLED
Possible values = ENABLED, DISABLED
tcpmaxretries<Double>Read-writeNumber of RTO's after which a connection should be freed.
Default value: 7
Minimum value = 1
Maximum value = 7
mptcpimmediatesfcloseonfin<String>Read-writeAllow subflows to close immediately on FIN before the DATA_FIN exchange is completed at mptcp level.
Default value: DISABLED
Possible values = ENABLED, DISABLED
mptcpclosemptcpsessiononlastsfclose<String>Read-writeAllow to send DATA FIN or FAST CLOSE on mptcp connection while sending FIN or RST on the last subflow.
Default value: DISABLED
Possible values = ENABLED, DISABLED
tcpfastopencookietimeout<Double>Read-writeTimeout in seconds after which a new TFO Key is computed for generating TFO Cookie. If zero, the same key is used always. If timeout is less than 120seconds, NS defaults to 120seconds timeout.
Default value: 0
Minimum value = 0
Maximum value = 31536000
autosyncookietimeout<Double>Read-writeTimeout for the server to function in syncookie mode after the synattack. This is valid if TCP syncookie is disabled on the profile and server acts in non syncookie mode by default.
Default value: 30
Minimum value = 7
Maximum value = 65535

Operations

(click to see Properties)

UPDATE| UNSET| GET (ALL)

Some options that you can use for each operations:

  • Getting warnings in response:NITRO allows you to get warnings in an operation by specifying the "warning" query parameter as "yes". For example, to get warnings while connecting to the Citrix ADC appliance, the URL is as follows:

    http://<Citrix-ADC-IP-address(NSIP)>/nitro/v1/config/login?warning=yes

    If any, the warnings are displayed in the response payload with the HTTP code "209 X-NITRO-WARNING".

  • Authenticated access for individual NITRO operations:NITRO allows you to logon to the Citrix ADC appliance to perform individual operations. You can use this option instead of creating a NITRO session (using the login object) and then using that session to perform all operations,

    To do this, you must specify the username and password in the request header of the NITRO request as follows:

    X-NITRO-USER:<username>

    X-NITRO-PASS:<password>

    Note:In such cases, make sure that the request header DOES not include the following:

    Cookie:NITRO_AUTH_TOKEN=<tokenvalue>

Note:

Mandatory parameters are marked in redand placeholder content is marked in <green>.

update

URL:http://<Citrix-ADC-IP-address(NSIP)>/nitro/v1/config/nstcpparam

HTTP Method:PUT

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue> Content-Type:application/json

Request Payload:

{"nstcpparam":{
"ws":<String_value>,
"wsval":<Double_value>,
"sack":<String_value>,
"learnvsvrmss":<String_value>,
"maxburst":<Double_value>,
"initialcwnd":<Double_value>,
"recvbuffsize":<Double_value>,
"delayedack":<Double_value>,
"downstaterst":<String_value>,
"nagle":<String_value>,
"limitedpersist":<String_value>,
"oooqsize":<Double_value>,
"ackonpush":<String_value>,
"maxpktpermss":<Double_value>,
"pktperretx":<Integer_value>,
"minrto":<Integer_value>,
"slowstartincr":<Integer_value>,
"maxdynserverprobes":<Double_value>,
"synholdfastgiveup":<Double_value>,
"maxsynholdperprobe":<Double_value>,
"maxsynhold":<Double_value>,
"msslearninterval":<Double_value>,
"msslearndelay":<Double_value>,
"maxtimewaitconn":<Double_value>,
"kaprobeupdatelastactivity":<String_value>,
"maxsynackretx":<Double_value>,
"synattackdetection":<String_value>,
"connflushifnomem":<String_value>,
"connflushthres":<Double_value>,
"mptcpconcloseonpassivesf":<String_value>,
"mptcpchecksum":<String_value>,
"mptcpsftimeout":<Double_value>,
"mptcpsfreplacetimeout":<Double_value>,
"mptcpmaxsf":<Double_value>,
"mptcpmaxpendingsf":<Double_value>,
"mptcppendingjointhreshold":<Double_value>,
"mptcprtostoswitchsf":<Double_value>,
"mptcpusebackupondss":<String_value>,
"tcpmaxretries":<Double_value>,
"mptcpimmediatesfcloseonfin":<String_value>,
"mptcpclosemptcpsessiononlastsfclose":<String_value>,
"tcpfastopencookietimeout":<Double_value>,
"autosyncookietimeout":<Double_value>
}}

Response:

HTTP Status Code on Success: 200 OK HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for Citrix ADC specific errors). The response payload provides details of the error

unset

URL:http://<Citrix-ADC-IP-address(NSIP)>/nitro/v1/config/nstcpparam?action=unset

HTTP Method:POST

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue> Content-Type:application/json

Request Payload:

{"nstcpparam":{
"ws":true,
"wsval":true,
"sack":true,
"learnvsvrmss":true,
"maxburst":true,
"initialcwnd":true,
"recvbuffsize":true,
"delayedack":true,
"downstaterst":true,
"nagle":true,
"limitedpersist":true,
"oooqsize":true,
"ackonpush":true,
"maxpktpermss":true,
"pktperretx":true,
"minrto":true,
"slowstartincr":true,
"maxdynserverprobes":true,
"synholdfastgiveup":true,
"maxsynholdperprobe":true,
"maxsynhold":true,
"msslearninterval":true,
"msslearndelay":true,
"maxtimewaitconn":true,
"kaprobeupdatelastactivity":true,
"maxsynackretx":true,
"synattackdetection":true,
"connflushifnomem":true,
"connflushthres":true,
"mptcpconcloseonpassivesf":true,
"mptcpchecksum":true,
"mptcpsftimeout":true,
"mptcpsfreplacetimeout":true,
"mptcpmaxsf":true,
"mptcpmaxpendingsf":true,
"mptcppendingjointhreshold":true,
"mptcprtostoswitchsf":true,
"mptcpusebackupondss":true,
"tcpmaxretries":true,
"mptcpimmediatesfcloseonfin":true,
"mptcpclosemptcpsessiononlastsfclose":true,
"tcpfastopencookietimeout":true,
"autosyncookietimeout":true
}}

Response:

HTTP Status Code on Success: 200 OK HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for Citrix ADC specific errors). The response payload provides details of the error

get (all)

URL:http://<Citrix-ADC-IP-address(NSIP)>/nitro/v1/config/nstcpparam

HTTP Method:GET

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue> Accept:application/json

Response:

HTTP Status Code on Success: 200 OK HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for Citrix ADC specific errors). The response payload provides details of the errorResponse Headers:

Content-Type:application/json

Response Payload:

{ "nstcpparam": [ {
"ws":<String_value>,
"wsval":<Double_value>,
"sack":<String_value>,
"learnvsvrmss":<String_value>,
"maxburst":<Double_value>,
"initialcwnd":<Double_value>,
"recvbuffsize":<Double_value>,
"delayedack":<Double_value>,
"downstaterst":<String_value>,
"nagle":<String_value>,
"limitedpersist":<String_value>,
"oooqsize":<Double_value>,
"ackonpush":<String_value>,
"maxpktpermss":<Double_value>,
"pktperretx":<Integer_value>,
"minrto":<Integer_value>,
"slowstartincr":<Integer_value>,
"maxdynserverprobes":<Double_value>,
"synholdfastgiveup":<Double_value>,
"maxsynholdperprobe":<Double_value>,
"maxsynhold":<Double_value>,
"msslearninterval":<Double_value>,
"msslearndelay":<Double_value>,
"maxtimewaitconn":<Double_value>,
"kaprobeupdatelastactivity":<String_value>,
"maxsynackretx":<Double_value>,
"synattackdetection":<String_value>,
"connflushifnomem":<String_value>,
"connflushthres":<Double_value>,
"mptcpconcloseonpassivesf":<String_value>,
"mptcpchecksum":<String_value>,
"mptcpsftimeout":<Double_value>,
"mptcpsfreplacetimeout":<Double_value>,
"mptcpmaxsf":<Double_value>,
"mptcpmaxpendingsf":<Double_value>,
"mptcppendingjointhreshold":<Double_value>,
"mptcprtostoswitchsf":<Double_value>,
"mptcpusebackupondss":<String_value>,
"tcpmaxretries":<Double_value>,
"mptcpimmediatesfcloseonfin":<String_value>,
"mptcpclosemptcpsessiononlastsfclose":<String_value>,
"tcpfastopencookietimeout":<Double_value>,
"autosyncookietimeout":<Double_value>
}]}