Rev 4711 | Rev 4743 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4711 | Rev 4722 | ||
---|---|---|---|
Line 126... | Line 126... | ||
126 | while( sum >> 16 ) sum = ( sum & 0xFFFF ) + ( sum >> 16 ); |
126 | while( sum >> 16 ) sum = ( sum & 0xFFFF ) + ( sum >> 16 ); |
127 | 127 | ||
128 | return ( uint16_t ) sum; |
128 | return ( uint16_t ) sum; |
129 | } |
129 | } |
130 | 130 | ||
131 | uint16_t ip_checksum( uint8_t * data, size_t length ){ |
131 | uint16_t flip_checksum( uint16_t checksum ){ |
132 | uint16_t checksum; |
- | |
133 | - | ||
134 | checksum = compact_checksum(compute_checksum( 0, data, length )); |
- | |
135 | - | ||
136 | // flip, zero is returned as 0xFFFF (not flipped) |
132 | // flip, zero is returned as 0xFFFF (not flipped) |
137 | return ( ~ checksum ) ? ( uint16_t ) ( ~ checksum ) : IP_CHECKSUM_ZERO; |
133 | return ( ~ checksum ) ? ( uint16_t ) ( ~ checksum ) : IP_CHECKSUM_ZERO; |
138 | } |
134 | } |
139 | 135 | ||
- | 136 | uint16_t ip_checksum( uint8_t * data, size_t length ){ |
|
- | 137 | return flip_checksum( compact_checksum( compute_checksum( 0, data, length ))); |
|
- | 138 | } |
|
- | 139 | ||
140 | /** @} |
140 | /** @} |
141 | */ |
141 | */ |