Download full document:

nstcpprofile

Configuration for TCP profile resource.

Properties

(click to see Operations)

NameData TypePermissionsDescription
name<String>Read-writeName for a TCP profile. Must begin with a letter, number, or the underscore \(_\) character. Other characters allowed, after the first character, are the hyphen \(-\), period \(.\), hash \(\#\), space \( \), at \(@\), colon \(:\), and equal \(=\) characters. The name of a TCP profile cannot be changed after it is created.

CLI Users: If the name includes one or more spaces, enclose the name in double or single quotation marks \(for example, "my tcp profile" or 'my tcp profile'\).
Minimum length = 1
Maximum length = 127
ws<String>Read-writeEnable or disable window scaling.
Default value: DISABLED
Possible values = ENABLED, DISABLED
sack<String>Read-writeEnable or disable Selective ACKnowledgement (SACK).
Default value: DISABLED
Possible values = ENABLED, DISABLED
wsval<Double>Read-writeFactor used to calculate the new window size.
This argument is needed only when window scaling is enabled.
Default value: 4
Minimum value = 0
Maximum value = 14
nagle<String>Read-writeEnable or disable the Nagle algorithm on TCP connections.
Default value: DISABLED
Possible values = ENABLED, DISABLED
ackonpush<String>Read-writeSend immediate positive acknowledgement (ACK) on receipt of TCP packets with PUSH flag.
Default value: ENABLED
Possible values = ENABLED, DISABLED
mss<Double>Read-writeMaximum number of octets to allow in a TCP data segment.
Minimum value = 0
Maximum value = 9176
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: 4
Minimum value = 1
Maximum value = 44
delayedack<Double>Read-writeTimeout for TCP delayed ACK, in milliseconds.
Default value: 100
Minimum value = 10
Maximum value = 300
oooqsize<Double>Read-writeMaximum size of out-of-order packets queue. A value of 0 means no limit.
Default value: 64
Minimum value = 0
Maximum value = 65535
maxpktpermss<Double>Read-writeMaximum number of TCP packets allowed per maximum segment size (MSS).
Minimum value = 0
Maximum value = 1460
pktperretx<Double>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 = 512
minrto<Double>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<Double>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
buffersize<Double>Read-writeTCP buffering size, in bytes.
Default value: 8190
Minimum value = 8190
Maximum value = 20971520
syncookie<String>Read-writeEnable or disable the SYNCOOKIE mechanism for TCP handshake with clients. Disabling SYNCOOKIE prevents SYN attack protection on the Citrix ADC.
Default value: ENABLED
Possible values = ENABLED, DISABLED
kaprobeupdatelastactivity<String>Read-writeUpdate last activity for the connection after receiving keep-alive (KA) probes.
Default value: ENABLED
Possible values = ENABLED, DISABLED
flavor<String>Read-writeSet TCP congestion control algorithm.
Default value: Default
Possible values = Default, Westwood, BIC, CUBIC, Nile
dynamicreceivebuffering<String>Read-writeEnable or disable dynamic receive buffering. When enabled, allows the receive buffer to be adjusted dynamically based on memory and network conditions.
Note: The buffer size argument must be set for dynamic adjustments to take place.
Default value: DISABLED
Possible values = ENABLED, DISABLED
ka<String>Read-writeSend periodic TCP keep-alive (KA) probes to check if peer is still up.
Default value: DISABLED
Possible values = ENABLED, DISABLED
kaconnidletime<Double>Read-writeDuration, in seconds, for the connection to be idle, before sending a keep-alive (KA) probe.
Minimum value = 1
Maximum value = 4095
kamaxprobes<Double>Read-writeNumber of keep-alive (KA) probes to be sent when not acknowledged, before assuming the peer to be down.
Minimum value = 1
Maximum value = 254
kaprobeinterval<Double>Read-writeTime interval, in seconds, before the next keep-alive (KA) probe, if the peer does not respond.
Minimum value = 1
Maximum value = 4095
sendbuffsize<Double>Read-writeTCP Send Buffer Size.
Default value: 8190
Minimum value = 8190
Maximum value = 20971520
mptcp<String>Read-writeEnable or disable Multipath TCP.
Default value: DISABLED
Possible values = ENABLED, DISABLED
establishclientconn<String>Read-writeEstablishing Client Client connection on First data/ Final-ACK / Automatic.
Default value: AUTOMATIC
Possible values = AUTOMATIC, CONN_ESTABLISHED, ON_FIRST_DATA
tcpsegoffload<String>Read-writeOffload TCP segmentation to the NIC. If set to AUTOMATIC, TCP segmentation will be offloaded to the NIC, if the NIC supports it.
Default value: AUTOMATIC
Possible values = AUTOMATIC, DISABLED
rstwindowattenuate<String>Read-writeEnable or disable RST window attenuation to protect against spoofing. When enabled, will reply with corrective ACK when a sequence number is invalid.
Default value: DISABLED
Possible values = ENABLED, DISABLED
rstmaxack<String>Read-writeEnable or disable acceptance of RST that is out of window yet echoes highest ACK sequence number. Useful only in proxy mode.
Default value: DISABLED
Possible values = ENABLED, DISABLED
spoofsyndrop<String>Read-writeEnable or disable drop of invalid SYN packets to protect against spoofing. When disabled, established connections will be reset when a SYN packet is received.
Default value: ENABLED
Possible values = ENABLED, DISABLED
ecn<String>Read-writeEnable or disable TCP Explicit Congestion Notification.
Default value: DISABLED
Possible values = ENABLED, DISABLED
mptcpdropdataonpreestsf<String>Read-writeEnable or disable silently dropping the data on Pre-Established subflow. When enabled, DSS data packets are dropped silently instead of dropping the connection when data is received on pre established subflow.
Default value: DISABLED
Possible values = ENABLED, DISABLED
mptcpfastopen<String>Read-writeEnable or disable Multipath TCP fastopen. When enabled, DSS data packets are accepted before receiving the third ack of SYN handshake.
Default value: DISABLED
Possible values = ENABLED, DISABLED
mptcpsessiontimeout<Double>Read-writeMPTCP session timeout in seconds. If this value is not set, idle MPTCP sessions are flushed after vserver's client idle timeout.
Default value: 0
Minimum value = 0
Maximum value = 86400
timestamp<String>Read-writeEnable or Disable TCP Timestamp option (RFC 1323).
Default value: DISABLED
Possible values = ENABLED, DISABLED
dsack<String>Read-writeEnable or disable DSACK.
Default value: ENABLED
Possible values = ENABLED, DISABLED
ackaggregation<String>Read-writeEnable or disable ACK Aggregation.
Default value: DISABLED
Possible values = ENABLED, DISABLED
frto<String>Read-writeEnable or disable FRTO (Forward RTO-Recovery).
Default value: DISABLED
Possible values = ENABLED, DISABLED
maxcwnd<Double>Read-writeTCP Maximum Congestion Window.
Default value: 524288
Minimum value = 8190
Maximum value = 20971520
fack<String>Read-writeEnable or disable FACK (Forward ACK).
Default value: DISABLED
Possible values = ENABLED, DISABLED
tcpmode<String>Read-writeTCP Optimization modes TRANSPARENT / ENDPOINT.
Default value: TRANSPARENT
Possible values = TRANSPARENT, ENDPOINT
tcpfastopen<String>Read-writeEnable or disable TCP Fastopen. When enabled, NS can receive or send Data in SYN or SYN-ACK packets.
Default value: DISABLED
Possible values = ENABLED, DISABLED
hystart<String>Read-writeEnable or disable CUBIC Hystart.
Default value: DISABLED
Possible values = ENABLED, DISABLED
dupackthresh<Double>Read-writeTCP dupack threshold.
Default value: 3
Minimum value = 1
Maximum value = 15
burstratecontrol<String>Read-writeTCP Burst Rate Control DISABLED/FIXED/DYNAMIC. FIXED requires a TCP rate to be set.
Default value: DISABLED
Possible values = DISABLED, FIXED, DYNAMIC
tcprate<Double>Read-writeTCP connection payload send rate in Kb/s.
Default value: 0
Minimum value = 0
Maximum value = 10000000
rateqmax<Double>Read-writeMaximum connection queue size in bytes, when BurstRateControl is used.
Default value: 0
Minimum value = 0
Maximum value = 1000000000
drophalfclosedconnontimeout<String>Read-writeSilently drop tcp half closed connections on idle timeout.
Default value: DISABLED
Possible values = ENABLED, DISABLED
dropestconnontimeout<String>Read-writeSilently drop tcp established connections on idle timeout.
Default value: DISABLED
Possible values = ENABLED, DISABLED
applyadaptivetcp<String>Read-writeApply Adaptive TCP optimizations.
Default value: DISABLED
Possible values = ENABLED, DISABLED
tcpfastopencookiesize<Double>Read-writeTCP FastOpen Cookie size. This accepts only even numbers. Odd number is trimmed down to nearest even number.
Default value: 8
Minimum value = 4
Maximum value = 16
refcnt<Double>Read-onlyNumber of entities using this profile.
builtin<String[]>Read-onlyFlag to determine if tcp profile is built-in or not.
Possible values = MODIFIABLE, DELETABLE, IMMUTABLE, PARTITION_ALL
__count<Double>Read-onlycount parameter

Operations

(click to see Properties)

ADD| DELETE| UPDATE| UNSET| GET (ALL)| GET| COUNT

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 NetScaler appliance, the URL is as follows:

    http://<netscaler-ip-address>/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 NetScaler 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>.

add

URL:http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile

HTTP Method:POST

Request Headers:

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

Request Payload:

{"nstcpprofile":{
<b>"name":<String_value>,
</b>"ws":<String_value>,
"sack":<String_value>,
"wsval":<Double_value>,
"nagle":<String_value>,
"ackonpush":<String_value>,
"mss":<Double_value>,
"maxburst":<Double_value>,
"initialcwnd":<Double_value>,
"delayedack":<Double_value>,
"oooqsize":<Double_value>,
"maxpktpermss":<Double_value>,
"pktperretx":<Double_value>,
"minrto":<Double_value>,
"slowstartincr":<Double_value>,
"buffersize":<Double_value>,
"syncookie":<String_value>,
"kaprobeupdatelastactivity":<String_value>,
"flavor":<String_value>,
"dynamicreceivebuffering":<String_value>,
"ka":<String_value>,
"kaconnidletime":<Double_value>,
"kamaxprobes":<Double_value>,
"kaprobeinterval":<Double_value>,
"sendbuffsize":<Double_value>,
"mptcp":<String_value>,
"establishclientconn":<String_value>,
"tcpsegoffload":<String_value>,
"rstwindowattenuate":<String_value>,
"rstmaxack":<String_value>,
"spoofsyndrop":<String_value>,
"ecn":<String_value>,
"mptcpdropdataonpreestsf":<String_value>,
"mptcpfastopen":<String_value>,
"mptcpsessiontimeout":<Double_value>,
"timestamp":<String_value>,
"dsack":<String_value>,
"ackaggregation":<String_value>,
"frto":<String_value>,
"maxcwnd":<Double_value>,
"fack":<String_value>,
"tcpmode":<String_value>,
"tcpfastopen":<String_value>,
"hystart":<String_value>,
"dupackthresh":<Double_value>,
"burstratecontrol":<String_value>,
"tcprate":<Double_value>,
"rateqmax":<Double_value>,
"drophalfclosedconnontimeout":<String_value>,
"dropestconnontimeout":<String_value>,
"applyadaptivetcp":<String_value>,
"tcpfastopencookiesize":<Double_value>
}}

Response:

HTTP Status Code on Success: 201 Created HTTP Status Code on Failure: 4xx <string> (for general HTTP errors) or 5xx <string> (for NetScaler-specific errors). The response payload provides details of the error

delete

URL:http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile/name_value<String>

HTTP Method:DELETE

Request Headers:

Cookie:NITRO_AUTH_TOKEN=<tokenvalue>

Response:

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

update

URL:http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile

HTTP Method:PUT

Request Headers:

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

Request Payload:

{"nstcpprofile":{
<b>"name":<String_value>,
</b>"ws":<String_value>,
"sack":<String_value>,
"wsval":<Double_value>,
"nagle":<String_value>,
"ackonpush":<String_value>,
"mss":<Double_value>,
"maxburst":<Double_value>,
"initialcwnd":<Double_value>,
"delayedack":<Double_value>,
"oooqsize":<Double_value>,
"maxpktpermss":<Double_value>,
"pktperretx":<Double_value>,
"minrto":<Double_value>,
"slowstartincr":<Double_value>,
"buffersize":<Double_value>,
"syncookie":<String_value>,
"kaprobeupdatelastactivity":<String_value>,
"flavor":<String_value>,
"dynamicreceivebuffering":<String_value>,
"ka":<String_value>,
"kaconnidletime":<Double_value>,
"kamaxprobes":<Double_value>,
"kaprobeinterval":<Double_value>,
"sendbuffsize":<Double_value>,
"mptcp":<String_value>,
"establishclientconn":<String_value>,
"tcpsegoffload":<String_value>,
"rstwindowattenuate":<String_value>,
"rstmaxack":<String_value>,
"spoofsyndrop":<String_value>,
"ecn":<String_value>,
"mptcpdropdataonpreestsf":<String_value>,
"mptcpfastopen":<String_value>,
"mptcpsessiontimeout":<Double_value>,
"timestamp":<String_value>,
"dsack":<String_value>,
"ackaggregation":<String_value>,
"frto":<String_value>,
"maxcwnd":<Double_value>,
"fack":<String_value>,
"tcpmode":<String_value>,
"tcpfastopen":<String_value>,
"hystart":<String_value>,
"dupackthresh":<Double_value>,
"burstratecontrol":<String_value>,
"tcprate":<Double_value>,
"rateqmax":<Double_value>,
"drophalfclosedconnontimeout":<String_value>,
"dropestconnontimeout":<String_value>,
"applyadaptivetcp":<String_value>,
"tcpfastopencookiesize":<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 NetScaler-specific errors). The response payload provides details of the error

unset

URL:http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile?action=unset

HTTP Method:POST

Request Headers:

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

Request Payload:

{"nstcpprofile":{
<b>"name":<String_value>,
</b>"ws":true,
"sack":true,
"wsval":true,
"nagle":true,
"ackonpush":true,
"mss":true,
"maxburst":true,
"initialcwnd":true,
"delayedack":true,
"oooqsize":true,
"maxpktpermss":true,
"pktperretx":true,
"minrto":true,
"slowstartincr":true,
"buffersize":true,
"syncookie":true,
"kaprobeupdatelastactivity":true,
"flavor":true,
"dynamicreceivebuffering":true,
"ka":true,
"kamaxprobes":true,
"kaconnidletime":true,
"kaprobeinterval":true,
"sendbuffsize":true,
"mptcp":true,
"establishclientconn":true,
"tcpsegoffload":true,
"rstwindowattenuate":true,
"rstmaxack":true,
"spoofsyndrop":true,
"ecn":true,
"mptcpdropdataonpreestsf":true,
"mptcpfastopen":true,
"mptcpsessiontimeout":true,
"timestamp":true,
"dsack":true,
"ackaggregation":true,
"frto":true,
"maxcwnd":true,
"fack":true,
"tcpmode":true,
"tcpfastopen":true,
"hystart":true,
"dupackthresh":true,
"burstratecontrol":true,
"tcprate":true,
"rateqmax":true,
"drophalfclosedconnontimeout":true,
"dropestconnontimeout":true,
"applyadaptivetcp":true,
"tcpfastopencookiesize":true
}}

Response:

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

get (all)

URL:http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile

Query-parameters:

attrs

http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile?attrs=property-name1,property-name2

Use this query parameter to specify the resource details that you want to retrieve.

filter

http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile?filter=property-name1:property-val1,property-name2:property-val2

Use this query-parameter to get the filtered set of nstcpprofile resources configured on NetScaler.Filtering can be done on any of the properties of the resource.

view

http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile?view=summary

Note:By default, the retrieved results are displayed in detail view (?view=detail).

pagination

http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile?pagesize=#no;pageno=#no

Use this query-parameter to get the nstcpprofile resources in chunks.

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 NetScaler-specific errors). The response payload provides details of the errorResponse Headers:

Content-Type:application/json

Response Payload:

{ "nstcpprofile": [ {
"name":<String_value>,
"ws":<String_value>,
"sack":<String_value>,
"wsval":<Double_value>,
"nagle":<String_value>,
"ackonpush":<String_value>,
"mss":<Double_value>,
"maxburst":<Double_value>,
"initialcwnd":<Double_value>,
"delayedack":<Double_value>,
"oooqsize":<Double_value>,
"maxpktpermss":<Double_value>,
"pktperretx":<Double_value>,
"minrto":<Double_value>,
"slowstartincr":<Double_value>,
"buffersize":<Double_value>,
"flavor":<String_value>,
"refcnt":<Double_value>,
"syncookie":<String_value>,
"kaprobeupdatelastactivity":<String_value>,
"dynamicreceivebuffering":<String_value>,
"ka":<String_value>,
"kaconnidletime":<Double_value>,
"kamaxprobes":<Double_value>,
"kaprobeinterval":<Double_value>,
"sendbuffsize":<Double_value>,
"mptcp":<String_value>,
"establishclientconn":<String_value>,
"tcpsegoffload":<String_value>,
"rstwindowattenuate":<String_value>,
"rstmaxack":<String_value>,
"timestamp":<String_value>,
"spoofsyndrop":<String_value>,
"ecn":<String_value>,
"mptcpdropdataonpreestsf":<String_value>,
"mptcpfastopen":<String_value>,
"mptcpsessiontimeout":<Double_value>,
"dsack":<String_value>,
"ackaggregation":<String_value>,
"frto":<String_value>,
"maxcwnd":<Double_value>,
"fack":<String_value>,
"tcpmode":<String_value>,
"tcpfastopen":<String_value>,
"hystart":<String_value>,
"dupackthresh":<Double_value>,
"burstratecontrol":<String_value>,
"tcprate":<Double_value>,
"rateqmax":<Double_value>,
"drophalfclosedconnontimeout":<String_value>,
"dropestconnontimeout":<String_value>,
"applyadaptivetcp":<String_value>,
"builtin":<String[]_value>,
"tcpfastopencookiesize":<Double_value>
}]}

get

URL:http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile/name_value<String>

Query-parameters:

attrs

http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile/name_value<String>?attrs=property-name1,property-name2

Use this query parameter to specify the resource details that you want to retrieve.

view

http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile/name_value<String>?view=summary

Note:By default, the retrieved results are displayed in detail view (?view=detail).

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 NetScaler-specific errors). The response payload provides details of the errorResponse Headers:

Content-Type:application/json

Response Payload:

{ "nstcpprofile": [ {
"name":<String_value>,
"ws":<String_value>,
"sack":<String_value>,
"wsval":<Double_value>,
"nagle":<String_value>,
"ackonpush":<String_value>,
"mss":<Double_value>,
"maxburst":<Double_value>,
"initialcwnd":<Double_value>,
"delayedack":<Double_value>,
"oooqsize":<Double_value>,
"maxpktpermss":<Double_value>,
"pktperretx":<Double_value>,
"minrto":<Double_value>,
"slowstartincr":<Double_value>,
"buffersize":<Double_value>,
"flavor":<String_value>,
"refcnt":<Double_value>,
"syncookie":<String_value>,
"kaprobeupdatelastactivity":<String_value>,
"dynamicreceivebuffering":<String_value>,
"ka":<String_value>,
"kaconnidletime":<Double_value>,
"kamaxprobes":<Double_value>,
"kaprobeinterval":<Double_value>,
"sendbuffsize":<Double_value>,
"mptcp":<String_value>,
"establishclientconn":<String_value>,
"tcpsegoffload":<String_value>,
"rstwindowattenuate":<String_value>,
"rstmaxack":<String_value>,
"timestamp":<String_value>,
"spoofsyndrop":<String_value>,
"ecn":<String_value>,
"mptcpdropdataonpreestsf":<String_value>,
"mptcpfastopen":<String_value>,
"mptcpsessiontimeout":<Double_value>,
"dsack":<String_value>,
"ackaggregation":<String_value>,
"frto":<String_value>,
"maxcwnd":<Double_value>,
"fack":<String_value>,
"tcpmode":<String_value>,
"tcpfastopen":<String_value>,
"hystart":<String_value>,
"dupackthresh":<Double_value>,
"burstratecontrol":<String_value>,
"tcprate":<Double_value>,
"rateqmax":<Double_value>,
"drophalfclosedconnontimeout":<String_value>,
"dropestconnontimeout":<String_value>,
"applyadaptivetcp":<String_value>,
"builtin":<String[]_value>,
"tcpfastopencookiesize":<Double_value>
}]}

count

URL:http://<netscaler-ip-address>/nitro/v1/config/nstcpprofile?count=yes

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 NetScaler-specific errors). The response payload provides details of the errorResponse Headers:

Content-Type:application/json

Response Payload:

{ "nstcpprofile": [ { "__count": "#no"} ] }