Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 09 Jun 2001 14:35:32 -0700
From:      Mike Smith <msmith@freebsd.org>
To:        tlambert2@mindspring.com
Cc:        Bsdguru@aol.com, freebsd-hackers@FreeBSD.ORG
Subject:   Re: How to disable software TCP checksumming? 
Message-ID:  <200106092135.f59LZW701229@mass.dis.org>
In-Reply-To: Your message of "Sat, 09 Jun 2001 10:22:06 PDT." <3B225B3E.5C3D0FC0@mindspring.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Tell me: at what point are you willing to trust the data?
> 
> Is "the card plus the motherboard" my machine, or is it
> just "the motherboard"?
> 
> The cards support offloading the checksum to hardware;
> you are saying that it is never reasonable to do this.

No, that's not what's being said.

> Fine.  That basically means that we need to checksum the
> contents of memory once they have been loaded into the
> L2 cache, to make sure they arrived safely from memory.

That's why you have an ECC memory datapath.

> Wait... now we need to checksum them in L1 cache, once
> they have arrived from L2.

And that's why you run ECC on the L2 cache as well.

> Wait... now we need to checksum them in the pipeline, as
> they have arrived from our untrustworthy L1 cache...

And... yes, you got it.  Some people will even ECC the L1 cache.

> At some point you have to draw the boundary between the
> "inside" and the "outside".  I am happy to draw this
> boundary at the etherenet cable; why are you insisting
> that I draw it at the PCI bus instead?

Well, if PCI parity worked, you could trust the PCI bus more, but the 
bottom line is simply that you can't trust *anything*, and the more that 
you do trust, the more you expose yourself to risk.

> Does your requirement apply to devices integrated on the
> motherboard, or is your concern solely with the mechanical
> PCI connectors between the boards and the motherboard?

PCI is typically implemented as a no-parity bus.  Anything from poor 
drive to coupled noise to a simple alpha-decay error in a pipeline FIFO 
somewhere will cause PCI bus data corruption.

-- 
... every activity meets with opposition, everyone who acts has his
rivals and unfortunately opponents also.  But not because people want
to be opponents, rather because the tasks and relationships force
people to take different points of view.  [Dr. Fritz Todt]
           V I C T O R Y   N O T   V E N G E A N C E



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200106092135.f59LZW701229>