Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - TCP_QUICKACK Equivalent?: (6 Items)
   
TCP_QUICKACK Equivalent?  
Does io-pkt have a TCP_QUICKACK equivalent to force ACKs to be sent immediately rather than delayed in normal TCP 
operation? I'm seeing delayed ACKs from a QNX box's communication with a small peripheral connected to our system. 
Thanks.

Attachment: HTML sf-attachment-mime22793 1.82 KB
Re: TCP_QUICKACK Equivalent?  
By default io-pkt does TCP delayed ACKs.

If you are running 6.5.0 SP1 with networking PSP 119 or later then there is a new sysctl:
qnx.net.inet.tcp.qnx_delack = 1
Clearing this to 0 will disable all delayed ACK behaviour.

Alternatively if the data being sent has the PUSH flag set then you can enable the following sysctl:
net.inet.tcp.ack_on_push = 0
Setting this to 1 will result in an ACK on every packet received with PUSH set.
Re: TCP_QUICKACK Equivalent?  
Thanks. As tempted as I am to set net.inet.tcp.ack_on_push or clear qnx.net.inet.tcp.qnx_delack, I really only need this
 behavior on a couple of sockets connected to one particular device. I'd don't know what we'd be the "friendliest" 
device if I enabled this behavior system wide.
Re: TCP_QUICKACK Equivalent?  
Unfortunately we don't currently have anything on a per-socket basis, just those system wide sysctls.

Setting either of these shouldn't really affect the far end, the delayed ACK is more an optimisation for the data 
receiver. I've seen some transfers perform significantly better with ack on push - Windows XP sending over a lossy 
wireless link in particular.
Re: TCP_QUICKACK Equivalent?  
Where would I find networking PSP 119. I've looked through the downloads and Googled it without success. Also, is it an 
official patch release? Thanks.
Re: TCP_QUICKACK Equivalent?  
If you get in touch with your QNX sales or support people they should be able to provide you with the PSP.