Skip to main content

tcp_retransmit_real

Function tcp_retransmit_real 

Source
pub fn tcp_retransmit_real(
    local_port: u16,
    data: &[u8],
    seq: u32,
) -> Result<(), &'static str>
Expand description

【2026-07-24追加】tcp_send_realが呼ばれる度に無条件でsnd_nxtを進めて しまうため、同一データを“再送“する目的でtcp_send_realを再度呼ぶと、 実際には既に進んだ(誤った)シーケンス番号で送信してしまい、相手側の TCP/TLSストリームを破壊するバグを発見した(kernel/tls.rsTcpIoWrapper書き込み再送機構で使用)。この関数はsnd_nxtを一切 変更せず、呼び出し元が明示的に指定したseqのみで再送パケットを 組み立てて送出する(正しいTCP再送のセマンティクス)。