tcp-acceleration-service / tas

TAS is a drop-in highly CPU efficient and scalable TCP acceleration service.
https://tcp-acceleration-service.github.io/
Other
82 stars 43 forks source link

TAS not sending a SYN-ACK back to client #12

Closed ash995 closed 3 years ago

ash995 commented 3 years ago

We have a client connecting to a TAS server. The application send a bunch of SYN packets to the TAS server, but TAS never responds with a SYN-ACK, and hence the connection never succeeds.

FreakyPenguin commented 3 years ago

Again, I will need a bit more detail to help at all here. Including:

Connection setup is done in the slowpath in TAS. I would start debugging by enabling the debug prints here: https://github.com/tcp-acceleration-service/tas/blob/master/tas/slow/tcp.c#L58-L59

ash995 commented 3 years ago

Only the server runs on TAS and the client run on top of Linux.

We are running a custom application on top of TAS. The benchmarking (echoserver_linux) application runs fine.

Ok, thanks. I'll enable the debugging prints and get back with more info.

ash995 commented 3 years ago

This was a mistake on our end. We were creating a listening socket on one thread and waiting for connections on that listening socket on another thread, and I guess TAS was kicking the first thread with new connections (the thread which is not waiting for connections), and hence a SYN-ACK packet was never returned.

LearnerHyl commented 6 months ago

Hello, I also encountered the same problem as you. Could you please let me know how you solved it?

This was a mistake on our end. We were creating a listening socket on one thread and waiting for connections on that listening socket on another thread, and I guess TAS was kicking the first thread with new connections (the thread which is not waiting for connections), and hence a SYN-ACK packet was never returned.