Fixes unused MTU settings at TcpSocket dispatch

This commit fixes a small bug, where the TcpSocket computed the maximum
size per payload in a tx_buffer without taking into account the MTU
defined by the underlying network device.
v0.7.x
mustermeiszer 2020-10-23 14:12:20 +02:00
parent d32c72aafd
commit d2aa3edbb7
1 changed files with 2 additions and 1 deletions

View File

@ -1558,7 +1558,8 @@ impl<'a> TcpSocket<'a> {
// Extract as much data as the remote side can receive in this packet
// from the transmit buffer.
let offset = self.remote_last_seq - self.local_seq_no;
let size = cmp::min(self.remote_win_len, self.remote_mss);
let size = cmp::min(cmp::min(self.remote_win_len, self.remote_mss),
caps.max_transmission_unit);
repr.payload = self.tx_buffer.get_allocated(offset, size);
// If we've sent everything we had in the buffer, follow it with the PSH or FIN
// flags, depending on whether the transmit half of the connection is open.