File tree Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Expand file tree Collapse file tree 1 file changed +31
-0
lines changed Original file line number Diff line number Diff line change @@ -3354,6 +3354,37 @@ mod test {
3354
3354
sanity ! ( s, socket_established( ) ) ;
3355
3355
}
3356
3356
3357
+ #[ cfg( feature = "socket-tcp-pause-synack" ) ]
3358
+ #[ test]
3359
+ fn test_syn_paused_ack ( ) {
3360
+ let mut s = socket_syn_received ( ) ;
3361
+
3362
+ s. pause_synack ( true ) ;
3363
+ recv_nothing ! ( s) ;
3364
+ assert_eq ! ( s. state, State :: SynReceived ) ;
3365
+
3366
+ s. pause_synack ( false ) ;
3367
+ recv ! (
3368
+ s,
3369
+ [ TcpRepr {
3370
+ control: TcpControl :: Syn ,
3371
+ seq_number: LOCAL_SEQ ,
3372
+ ack_number: Some ( REMOTE_SEQ + 1 ) ,
3373
+ max_seg_size: Some ( BASE_MSS ) ,
3374
+ ..RECV_TEMPL
3375
+ } ]
3376
+ ) ;
3377
+ send ! (
3378
+ s,
3379
+ TcpRepr {
3380
+ seq_number: REMOTE_SEQ + 1 ,
3381
+ ack_number: Some ( LOCAL_SEQ + 1 ) ,
3382
+ ..SEND_TEMPL
3383
+ }
3384
+ ) ;
3385
+ assert_eq ! ( s. state, State :: Established ) ;
3386
+ }
3387
+
3357
3388
#[ test]
3358
3389
fn test_syn_received_ack_too_low ( ) {
3359
3390
let mut s = socket_syn_received ( ) ;
You can’t perform that action at this time.
0 commit comments