smoltcp issue #2

Closed
opened 2020-09-17 07:26:15 +08:00 by astro · 2 comments

Still have to figure out why TCP only works with this (apparently useless) smoltcp patch:

diff --git src/socket/tcp.rs src/socket/tcp.rs
index 09c47fe..ba0a32a 100644
--- src/socket/tcp.rs
+++ src/socket/tcp.rs
@@ -1072,6 +1072,10 @@ impl<'a> TcpSocket<'a> {
         // Disregard control flags we don't care about or shouldn't act on yet.
         let mut control = repr.control;
         control = control.quash_psh();
+        if control == TcpControl::Psh {
+            // log::warn!("PSH not quashed");
+            control = TcpControl::None;
+        }
 
         // If a FIN is received at the end of the current segment but the start of the segment
         // is not at the start of the receive window, disregard this FIN.

Still have to figure out why TCP only works with this (apparently useless) smoltcp patch: ```patch diff --git src/socket/tcp.rs src/socket/tcp.rs index 09c47fe..ba0a32a 100644 --- src/socket/tcp.rs +++ src/socket/tcp.rs @@ -1072,6 +1072,10 @@ impl<'a> TcpSocket<'a> { // Disregard control flags we don't care about or shouldn't act on yet. let mut control = repr.control; control = control.quash_psh(); + if control == TcpControl::Psh { + // log::warn!("PSH not quashed"); + control = TcpControl::None; + } // If a FIN is received at the end of the current segment but the start of the segment // is not at the start of the receive window, disregard this FIN. ```

Fixed by upgrading to latest Rust nightly. 62f7610087

Fixed by upgrading to latest Rust nightly. https://git.m-labs.hk/M-Labs/nix-scripts/commit/62f7610087378b2fe371e38d6c9012f23a21882a

OK so can we close this?

OK so can we close this?
astro closed this issue 2020-09-23 23:24:33 +08:00
Sign in to join this conversation.
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: M-Labs/thermostat#2
There is no content yet.