Hi, Haven't checked uip code yet, but it sounds like what you are talking about is the checksum check done at the recevier, in general...
Sending : (for IP chksum) : Put zero in the checksum field. The sum of two-byte fields of the header is calculated using end-around carry, resulting in a two-byte value. The complement of this is stored as checksum. Recevier : (for IP checksum ) : A similar sum is calculated at the receiver side, considering the value of the chksum field as zero. The sum is the then added to the actual value in the chksum field of the received pkt. If there were no errors in transmission, the result will be 0xFFFF. If not, then packets are usually dropped. Hope this helps. Regards, Dhruva Kulkarni. Rajesh N R <[EMAIL PROTECTED]> wrote: Hi, I am going through the uIP code. In the uip.c file the IP header checksum is compared with 0xFFFF. if(uip_ipchksum() != 0xffff) { /* Compute and check the IP header checksum. */ UIP_STAT(++uip_stat.ip.drop); UIP_STAT(++uip_stat.ip.chkerr); UIP_LOG("ip: bad checksum."); goto drop; } Here if the checksum is not equal to 0xffff, the packet is dropped. That means the IP header checksum value is always 0xffff. Please comment. I am not able to understand the concept. Thanks a lot. with regards, Rajesh NR CDAC-T ______________________________________ Scanned and protected by Email scanner --------------------------------- Check out the all-new Yahoo! Mail beta - Fire up a more powerful email and get things done faster.