Fix an incorrect payload length when sending TCP MSS option.
This commit is contained in:
parent
be9699e814
commit
da4900a02b
|
@ -965,6 +965,12 @@ impl<'a> TcpSocket<'a> {
|
||||||
repr.ack_number = Some(ack_number);
|
repr.ack_number = Some(ack_number);
|
||||||
self.remote_last_ack = ack_number;
|
self.remote_last_ack = ack_number;
|
||||||
|
|
||||||
|
if repr.control == TcpControl::Syn {
|
||||||
|
// First enable the option, without assigning any value, to get a correct
|
||||||
|
// result for (ip_repr:Unspecified).payload_len below.
|
||||||
|
repr.max_seg_size = Some(0);
|
||||||
|
}
|
||||||
|
|
||||||
let ip_repr = IpRepr::Unspecified {
|
let ip_repr = IpRepr::Unspecified {
|
||||||
src_addr: self.local_endpoint.addr,
|
src_addr: self.local_endpoint.addr,
|
||||||
dst_addr: self.remote_endpoint.addr,
|
dst_addr: self.remote_endpoint.addr,
|
||||||
|
|
Loading…
Reference in New Issue