How to turn off [PSH]

hello world

I’m Trying to window TCP communication
But [PSH] is in the way

Is there a way to turn this [PSH] off?

Why do you want that? What problem are you trying to solve?

Which TCP stack are you using? Which of and is your device?

thank you for your reply

My device is

Commercially available devices add [PSH] only to the last data when sending data of 1460bytes or more, but my device adds [PSH] to all data.

In other words, it cannot be said that it is normal for all data to have [PSH] attached.

I don’t know if it’s because of this [PSH], but my device sometimes returns [ACK] between split data.

Because of this [ACK], the communication time is unstable and I’m in trouble.
Therefore, I would like to remove [PSH] so that [ACK] is not returned in the middle of the data.


Can you please let us know which TCP stack you are using to check it further?

This may be related to the peer’s advertised small window size (513).

thank you for contacting

I am using [FreeRTOS + TCP]
The stack size when creating a socket is set to (100)*5=(500) in the config.

Please let me know if you need any other information !

Thank you for your comment.

I’m concerned about the window size (513).
This is because the end of the 3-way handshake as seen in Wireshark is the window size (513).

However, the same (513) was displayed during the 3way handshake even with a ready-made digital multimeter.
It is strange that [PSH] disappears in off-the-shelf products.

Is there a way to increase this (513)?

From what I can tell, the 513 are advertised from the peer, so that is something you can not influence. What network software does the peer execute?

Can you share the full 3 way handshake when the connection is established? In partcular, what are the MTU Options negotiated?

The peer will be Windows 10 64-bit. Connected via Ethernet.

I wanted to share some Wireshark data, but it seems that new users cannot upload files. sorry
(´; ω ;`)

I don’t know what MTU option is negotiated
The capacity remains at 1500. I am not consciously touching

Please show us the three full wireshark packets that contain the TCP connection establishment (SYN/ACK/SYN-ACK)

I can’t attach data, so I will send it as an image.
I can’t send the image without dividing it, so I will send it 3 times


(3/3)thank you for being so kind

Almost there. Please unfold the “option bytes” in the first two packets. It is almost at the end of each packet.

You should now be able to upload data.

thank you. very helpful!!

3 way (702 Bytes)

Sorry, from this location I can not open pcap files, please add the screenshots as requested (too tedious to decode the bit stream manually), thanks. if need be use pm

It’s okay no problem
How about this?

This looks unsuspicious to me. The thing that puzzles me is the shrinking of the peer’s window. Normally that happens when the peer APPLICATION does not flush its input buffer in time. What is the application running on your Windows peer? I believe we had a similar issue a few weeks ago where replacing a Phyton based client with another one on the peer solved the issue. From superficial glance it looks as if the problem is on the peer’s side, not FreeRTOS.