- TCPWindow added - Checksum bug fixed (again) - CBD introduced - ConnBlock modified - PackSieve report funtionality modified to decrease memory consumption
14 lines
440 B
C
14 lines
440 B
C
#include <stdbool.h>
|
|
|
|
#include "tcp_udp_common.h"
|
|
#include "../../utils.h"
|
|
|
|
uint16_t tcp_udp_checksum(const IPv4PseudoHeader *pseudoHeader, const uint8_t * hdr, uint32_t size) {
|
|
uint32_t sum = chksum((const uint8_t *) pseudoHeader, sizeof(IPv4PseudoHeader), true) + chksum(hdr, size, true);
|
|
while (sum >> 16) {
|
|
sum = (sum & 0xFFFF) + (sum >> 16);
|
|
}
|
|
uint16_t sum16 = sum;
|
|
sum16 = htons(sum16);
|
|
return sum16;
|
|
} |