mirror of
https://github.com/smoltcp-rs/smoltcp.git
synced 2025-10-01 14:50:58 +00:00
test(tcp): add coverage for remote_has_sack in SYN-SENT state
This commit is contained in:
parent
805eed8447
commit
ffcb62e119
@ -3725,6 +3725,63 @@ mod test {
|
||||
assert_eq!(s.state, State::Closed);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_syn_sent_sack_option() {
|
||||
let mut s = socket_syn_sent();
|
||||
recv!(
|
||||
s,
|
||||
[TcpRepr {
|
||||
control: TcpControl::Syn,
|
||||
seq_number: LOCAL_SEQ,
|
||||
ack_number: None,
|
||||
max_seg_size: Some(BASE_MSS),
|
||||
window_scale: Some(0),
|
||||
sack_permitted: true,
|
||||
..RECV_TEMPL
|
||||
}]
|
||||
);
|
||||
send!(
|
||||
s,
|
||||
TcpRepr {
|
||||
control: TcpControl::Syn,
|
||||
seq_number: REMOTE_SEQ,
|
||||
ack_number: Some(LOCAL_SEQ + 1),
|
||||
max_seg_size: Some(BASE_MSS - 80),
|
||||
window_scale: Some(0),
|
||||
sack_permitted: true,
|
||||
..SEND_TEMPL
|
||||
}
|
||||
);
|
||||
assert!(s.remote_has_sack);
|
||||
|
||||
let mut s = socket_syn_sent();
|
||||
recv!(
|
||||
s,
|
||||
[TcpRepr {
|
||||
control: TcpControl::Syn,
|
||||
seq_number: LOCAL_SEQ,
|
||||
ack_number: None,
|
||||
max_seg_size: Some(BASE_MSS),
|
||||
window_scale: Some(0),
|
||||
sack_permitted: true,
|
||||
..RECV_TEMPL
|
||||
}]
|
||||
);
|
||||
send!(
|
||||
s,
|
||||
TcpRepr {
|
||||
control: TcpControl::Syn,
|
||||
seq_number: REMOTE_SEQ,
|
||||
ack_number: Some(LOCAL_SEQ + 1),
|
||||
max_seg_size: Some(BASE_MSS - 80),
|
||||
window_scale: Some(0),
|
||||
sack_permitted: false,
|
||||
..SEND_TEMPL
|
||||
}
|
||||
);
|
||||
assert!(!s.remote_has_sack);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn test_syn_sent_win_scale_buffers() {
|
||||
for (buffer_size, shift_amt) in &[
|
||||
|
Loading…
x
Reference in New Issue
Block a user