summaryrefslogtreecommitdiffhomepage
path: root/test/packetimpact/proto
diff options
context:
space:
mode:
authorMithun Iyer <iyerm@google.com>2020-09-01 17:40:28 -0700
committergVisor bot <gvisor-bot@google.com>2020-09-01 17:45:04 -0700
commit40faeaa180a30906da4822a105c43fcdb996750d (patch)
tree3f82e1f27216de4504560168a2dfe352ce11815b /test/packetimpact/proto
parentc67d8ece09f44900951c5e20d9c551b9759c7aba (diff)
Fix handling of unacceptable ACKs during close.
On receiving an ACK with unacceptable ACK number, in a closing state, TCP, needs to reply back with an ACK with correct seq and ack numbers and remain in same state. This change is as per RFC793 page 37, but with a difference that it does not apply to ESTABLISHED state, just as in Linux. Also add more tests to check for OTW sequence number and unacceptable ack numbers in these states. Fixes #3785 PiperOrigin-RevId: 329616283
Diffstat (limited to 'test/packetimpact/proto')
-rw-r--r--test/packetimpact/proto/posix_server.proto11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/packetimpact/proto/posix_server.proto b/test/packetimpact/proto/posix_server.proto
index ccd20b10d..f32ed54ef 100644
--- a/test/packetimpact/proto/posix_server.proto
+++ b/test/packetimpact/proto/posix_server.proto
@@ -188,6 +188,15 @@ message SocketResponse {
int32 errno_ = 2; // "errno" may fail to compile in c++.
}
+message ShutdownRequest {
+ int32 fd = 1;
+ int32 how = 2;
+}
+
+message ShutdownResponse {
+ int32 errno_ = 1; // "errno" may fail to compile in c++.
+}
+
message RecvRequest {
int32 sockfd = 1;
int32 len = 2;
@@ -225,6 +234,8 @@ service Posix {
rpc SetSockOpt(SetSockOptRequest) returns (SetSockOptResponse);
// Call socket() on the DUT.
rpc Socket(SocketRequest) returns (SocketResponse);
+ // Call shutdown() on the DUT.
+ rpc Shutdown(ShutdownRequest) returns (ShutdownResponse);
// Call recv() on the DUT.
rpc Recv(RecvRequest) returns (RecvResponse);
}