[Bug 845] Received disconnect from ???: 2: Corrupted MAC on input.

bugzilla-daemon at bugzilla.mindrot.org bugzilla-daemon at bugzilla.mindrot.org
Tue Jan 18 01:34:19 EST 2011


https://bugzilla.mindrot.org/show_bug.cgi?id=845

Bogdan <bogdanb+bugzilla.mindrot.org at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bogdanb+bugzilla.mindrot.or
                   |                            |g at gmail.com

--- Comment #11 from Bogdan <bogdanb+bugzilla.mindrot.org at gmail.com> 2011-01-18 01:34:19 EST ---
I apologize if this is a silly question, but why is the connection
killed when this happens instead of the affected message being
retransmitted?

IIRC when a TCP checksum fails the TCP stack will retry sending that
packet. As long as SSH has, for all intents and purposes, a better
checksum (the MAC), why doesn’t it do the same when for some reason the
TCP one fails? It doesn’t seem that it would be that hard, since it
doesn’t have to do everything else TCP does, only retry packets with
failed MACs.

If I understand correctly the situation, the main source of these bugs
are bad network stacks—in my case, I suspect the impossible-to-disable
rx/tx checksum offloading function of my network adapter is to blame—  
 but this can happen, albeit rarely, even when the entire TCP stack
functions as designed: the TCP checksum can fail to detect a
transmission error, and on a noisy transmission medium it can happen
often enough. As far as I know occasionally corrupted packages are
considered “normal” in TCP, not grounds for terminating the connection.

-- 
Configure bugmail: https://bugzilla.mindrot.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
You are watching someone on the CC list of the bug.


More information about the openssh-bugs mailing list