All of lore.kernel.org
 help / color / mirror / Atom feed
* unit test for messaging crc32c
@ 2015-06-18  7:36 Dan van der Ster
  2015-06-18  7:53 ` Dałek, Piotr
  0 siblings, 1 reply; 3+ messages in thread
From: Dan van der Ster @ 2015-06-18  7:36 UTC (permalink / raw)
  To: ceph-devel

Hi all,

We've recently experienced a broken router than was corrupting packets
in way that the tcp checksums were still valid. There has been some
resulting data corruption -- thus far the confirmed corruptions were
outside of Ceph communications -- but it has made us want to double
check the Ceph messenger crc32c code.

We have crc32c enabled (as default), and I expected to find some "bad
crc" messages logged on the clients and/or osds, but thus far we
haven't found any.

Is there a unit test which validates this mechanism, e.g. one which
intentionally corrupts a Message then confirms that the crc code drops
it? I didn't find anything relevant in src/test/, but I'm not too
familiar with the framework.

Thanks in advance, Dan

^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: unit test for messaging crc32c
  2015-06-18  7:36 unit test for messaging crc32c Dan van der Ster
@ 2015-06-18  7:53 ` Dałek, Piotr
  2015-06-18  9:15   ` Dan van der Ster
  0 siblings, 1 reply; 3+ messages in thread
From: Dałek, Piotr @ 2015-06-18  7:53 UTC (permalink / raw)
  To: ceph-devel

> -----Original Message-----
> From: ceph-devel-owner@vger.kernel.org [mailto:ceph-devel-
> owner@vger.kernel.org] On Behalf Of Dan van der Ster
> 
> Hi all,
> 
> We've recently experienced a broken router than was corrupting packets in
> way that the tcp checksums were still valid. There has been some resulting
> data corruption -- thus far the confirmed corruptions were outside of Ceph
> communications -- but it has made us want to double check the Ceph
> messenger crc32c code.
> 
> We have crc32c enabled (as default), and I expected to find some "bad crc"
> messages logged on the clients and/or osds, but thus far we haven't found
> any.
> 
> Is there a unit test which validates this mechanism, e.g. one which
> intentionally corrupts a Message then confirms that the crc code drops it? I
> didn't find anything relevant in src/test/, but I'm not too familiar with the
> framework.

Actually, all it takes is just to disable CRC in configuration on one node (or even 
daemon). It'll cause to put zeros in CRC fields in all messages sent, triggering
CRC check failures cluster-wide (on remaining, unaffected nodes/daemons).

There's also internal CRC32 calculator test in src/test/common/test_crc32c.cc.

With best regards / Pozdrawiam
Piotr Dałek


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: unit test for messaging crc32c
  2015-06-18  7:53 ` Dałek, Piotr
@ 2015-06-18  9:15   ` Dan van der Ster
  0 siblings, 0 replies; 3+ messages in thread
From: Dan van der Ster @ 2015-06-18  9:15 UTC (permalink / raw)
  To: Dałek, Piotr; +Cc: ceph-devel

On Thu, Jun 18, 2015 at 9:53 AM, Dałek, Piotr
<Piotr.Dalek@ts.fujitsu.com> wrote:
> Actually, all it takes is just to disable CRC in configuration on one node (or even
> daemon). It'll cause to put zeros in CRC fields in all messages sent, triggering
> CRC check failures cluster-wide (on remaining, unaffected nodes/daemons).

Thanks for the hint. I will try that!

--
Dan
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-06-18  9:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-06-18  7:36 unit test for messaging crc32c Dan van der Ster
2015-06-18  7:53 ` Dałek, Piotr
2015-06-18  9:15   ` Dan van der Ster

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.