[En-Nut-Discussion] Checksum problem

NGB ngbmoreau at yahoo.com.au
Thu Mar 13 12:15:31 CET 2003


If it can help here is the packet:

 Flags:        0x00
  Status:       0x00
  Packet Length:95
  Timestamp:    20:10:17.675333 03/13/2003
Ethernet Header
  Destination:  FF:FF:FF:FF:FF:FF  Ethernet Broadcast
  Source:       10:20:30:40:50:60
  Protocol Type:0x0800  IP
IP Header - Internet Protocol Datagram
  Version:              4
  Header Length:        5  (20  bytes)
  Type of Service:      %00000000
  Precedence: Routine,   Normal Delay,   Normal Throughput,   Normal Reliability
  Total Length:         77
  Identifier:           469
  Fragmentation Flags:  %000  May Fragment   Last Fragment
  Fragment Offset:      0  (0  bytes)
  Time To Live:         64
  Protocol:             17  UDP
  Header Checksum:      0x64AE
  Source IP Address:    10.10.10.20
  Dest. IP Address:     255.255.255.255  IP Broadcast
  No IP Options
UDP - User Datagram Protocol
  Source Port:          3333
  Destination Port:     3333
  Length:               57
  Checksum:             0x4843  Checksum invalid. Should be:   0x3425
  UDP Data Area:
  ESWD.. 0 at P`.....  45 53 57 44 01 10 20 30 40 50 60 09 00 00 00 00
  @...............  40 FE FF FF FF FF FE FF FE FF 00 00 00 00 00 00
  ................  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  .                 00
Frame Check Sequence:  0x00000000

> There had been a problem with the original Liquorice checksum
> calculation using inline assembly. I assumed some kind of
> overflow, if too many bits in the data were set. I switched
> to the C version, which had been prepared during ICCAVR porting
> and the problem disappeared.
> 
> What's mysterious: The problem never seem to appear in TCP,
> even after gigabytes of transfers.
> 
> Harald

Quoting Harald Kipp <harald.kipp at egnite.de>:





-------------------------------------------------




More information about the En-Nut-Discussion mailing list