Using a 1024 byte input string, the resulting checksum is incorrect.  I suspect the problem has to do with the sum exceeding 16 bits, and the return statement from ::crc::SumSysV is using a "%" operator rather than "&" to mask the output.

Command being used:
  set ckSum [crc::sum -sysv -- $data]

  where data is a 1024 byte string.

The correct checksum is returned if the data string is 128 bytes.