return cd->valid;
}
- if (p->level4_comp_csum == -1) {
+ if (!p->l4.csum_set) {
const IPV4Hdr *ip4h = PacketGetIPv4(p);
- p->level4_comp_csum = TCPChecksum(ip4h->s_ip_addrs, (uint16_t *)p->tcph,
+ p->l4.csum = TCPChecksum(ip4h->s_ip_addrs, (uint16_t *)p->tcph,
(p->payload_len + TCP_GET_HLEN(p)), p->tcph->th_sum);
+ p->l4.csum_set = true;
}
- if (p->level4_comp_csum == 0 && cd->valid == 1)
+ if (p->l4.csum == 0 && cd->valid == 1)
return 1;
- else if (p->level4_comp_csum != 0 && cd->valid == 0)
+ else if (p->l4.csum != 0 && cd->valid == 0)
return 1;
else
return 0;
return cd->valid;
}
- if (p->level4_comp_csum == -1) {
+ if (!p->l4.csum_set) {
const IPV6Hdr *ip6h = PacketGetIPv6(p);
- p->level4_comp_csum = TCPV6Checksum(ip6h->s_ip6_addrs, (uint16_t *)p->tcph,
+ p->l4.csum = TCPV6Checksum(ip6h->s_ip6_addrs, (uint16_t *)p->tcph,
(p->payload_len + TCP_GET_HLEN(p)), p->tcph->th_sum);
+ p->l4.csum_set = true;
}
- if (p->level4_comp_csum == 0 && cd->valid == 1)
+ if (p->l4.csum == 0 && cd->valid == 1)
return 1;
- else if (p->level4_comp_csum != 0 && cd->valid == 0)
+ else if (p->l4.csum != 0 && cd->valid == 0)
return 1;
else
return 0;
return cd->valid;
}
- if (p->level4_comp_csum == -1) {
+ if (!p->l4.csum_set) {
const IPV4Hdr *ip4h = PacketGetIPv4(p);
- p->level4_comp_csum = UDPV4Checksum(ip4h->s_ip_addrs, (uint16_t *)p->udph,
+ p->l4.csum = UDPV4Checksum(ip4h->s_ip_addrs, (uint16_t *)p->udph,
(p->payload_len + UDP_HEADER_LEN), p->udph->uh_sum);
+ p->l4.csum_set = true;
}
- if (p->level4_comp_csum == 0 && cd->valid == 1)
+ if (p->l4.csum == 0 && cd->valid == 1)
return 1;
- else if (p->level4_comp_csum != 0 && cd->valid == 0)
+ else if (p->l4.csum != 0 && cd->valid == 0)
return 1;
else
return 0;
return cd->valid;
}
- if (p->level4_comp_csum == -1) {
+ if (!p->l4.csum_set) {
const IPV6Hdr *ip6h = PacketGetIPv6(p);
- p->level4_comp_csum = UDPV6Checksum(ip6h->s_ip6_addrs, (uint16_t *)p->udph,
+ p->l4.csum = UDPV6Checksum(ip6h->s_ip6_addrs, (uint16_t *)p->udph,
(p->payload_len + UDP_HEADER_LEN), p->udph->uh_sum);
+ p->l4.csum_set = true;
}
- if (p->level4_comp_csum == 0 && cd->valid == 1)
+ if (p->l4.csum == 0 && cd->valid == 1)
return 1;
- else if (p->level4_comp_csum != 0 && cd->valid == 0)
+ else if (p->l4.csum != 0 && cd->valid == 0)
return 1;
else
return 0;
return cd->valid;
}
- if (p->level4_comp_csum == -1) {
+ if (!p->l4.csum_set) {
const IPV4Hdr *ip4h = PacketGetIPv4(p);
- p->level4_comp_csum = ICMPV4CalculateChecksum(
+ p->l4.csum = ICMPV4CalculateChecksum(
(uint16_t *)p->icmpv4h, IPV4_GET_RAW_IPLEN(ip4h) - IPV4_GET_RAW_HLEN(ip4h));
+ p->l4.csum_set = true;
}
- if (p->level4_comp_csum == p->icmpv4h->checksum && cd->valid == 1)
+ if (p->l4.csum == p->icmpv4h->checksum && cd->valid == 1)
return 1;
- else if (p->level4_comp_csum != p->icmpv4h->checksum && cd->valid == 0)
+ else if (p->l4.csum != p->icmpv4h->checksum && cd->valid == 0)
return 1;
else
return 0;
return cd->valid;
}
- if (p->level4_comp_csum == -1) {
+ if (!p->l4.csum_set) {
const IPV6Hdr *ip6h = PacketGetIPv6(p);
uint16_t len = IPV6_GET_RAW_PLEN(ip6h) -
(uint16_t)((uint8_t *)p->icmpv6h - (uint8_t *)ip6h - IPV6_HEADER_LEN);
- p->level4_comp_csum =
- ICMPV6CalculateChecksum(ip6h->s_ip6_addrs, (uint16_t *)p->icmpv6h, len);
+ p->l4.csum = ICMPV6CalculateChecksum(ip6h->s_ip6_addrs, (uint16_t *)p->icmpv6h, len);
+ p->l4.csum_set = true;
}
- if (p->level4_comp_csum == p->icmpv6h->csum && cd->valid == 1)
+ if (p->l4.csum == p->icmpv6h->csum && cd->valid == 1)
return 1;
- else if (p->level4_comp_csum != p->icmpv6h->csum && cd->valid == 0)
+ else if (p->l4.csum != p->icmpv6h->csum && cd->valid == 0)
return 1;
else
return 0;
uint16_t buflen = strlen((char *)buf);
memset(&th_v, 0, sizeof(ThreadVars));
- PACKET_RESET_CHECKSUMS(p1);
- PACKET_RESET_CHECKSUMS(p2);
PacketSetIPV4(p1, valid_raw_ipv4);
p1->src.family = AF_INET;
uint16_t buflen = strlen((char *)buf);
memset(&th_v, 0, sizeof(ThreadVars));
- PACKET_RESET_CHECKSUMS(p1);
- PACKET_RESET_CHECKSUMS(p2);
PacketSetIPV4(p1, valid_raw_ipv4);
p1->src.family = AF_INET;
PacketCopyData(p2, raw_ipv4, sizeof(raw_ipv4));
PacketCopyDataOffset(p2, GET_PKT_LEN(p2), invalid_raw_tcp, sizeof(invalid_raw_tcp));
- PACKET_RESET_CHECKSUMS(p1);
PacketSetIPV4(p1, GET_PKT_DATA(p1));
p1->tcph = (TCPHdr *)(GET_PKT_DATA(p1) + sizeof(raw_ipv4));
p1->src.family = AF_INET;
p1->payload_len = 20;
p1->proto = IPPROTO_TCP;
- PACKET_RESET_CHECKSUMS(p2);
PacketSetIPV4(p2, GET_PKT_DATA(p2));
p2->tcph = (TCPHdr *)(GET_PKT_DATA(p2) + sizeof(raw_ipv4));
p2->src.family = AF_INET;
PacketCopyData(p2, raw_ipv4, sizeof(raw_ipv4));
PacketCopyDataOffset(p2, GET_PKT_LEN(p2), invalid_raw_tcp, sizeof(invalid_raw_tcp));
- PACKET_RESET_CHECKSUMS(p1);
PacketSetIPV4(p1, GET_PKT_DATA(p1));
p1->tcph = (TCPHdr *)(GET_PKT_DATA(p1) + sizeof(raw_ipv4));
p1->src.family = AF_INET;
p1->payload_len = 20;
p1->proto = IPPROTO_TCP;
- PACKET_RESET_CHECKSUMS(p2);
PacketSetIPV4(p2, GET_PKT_DATA(p2));
p2->tcph = (TCPHdr *)(GET_PKT_DATA(p2) + sizeof(raw_ipv4));
p2->src.family = AF_INET;
PacketCopyData(p2, raw_ipv4, sizeof(raw_ipv4));
PacketCopyDataOffset(p2, GET_PKT_LEN(p2), invalid_raw_tcp, sizeof(invalid_raw_tcp));
- PACKET_RESET_CHECKSUMS(p1);
PacketSetIPV4(p1, GET_PKT_DATA(p1));
p1->tcph = (TCPHdr *)(GET_PKT_DATA(p1) + sizeof(raw_ipv4));
p1->src.family = AF_INET;
p1->payload_len = 0;
p1->proto = IPPROTO_TCP;
- PACKET_RESET_CHECKSUMS(p2);
PacketSetIPV4(p2, GET_PKT_DATA(p2));
p2->tcph = (TCPHdr *)(GET_PKT_DATA(p2) + sizeof(raw_ipv4));
p2->src.family = AF_INET;
PacketCopyData(p2, raw_ipv4, sizeof(raw_ipv4));
PacketCopyDataOffset(p2, GET_PKT_LEN(p2), invalid_raw_tcp, sizeof(invalid_raw_tcp));
- PACKET_RESET_CHECKSUMS(p1);
PacketSetIPV4(p1, GET_PKT_DATA(p1));
p1->tcph = (TCPHdr *)(GET_PKT_DATA(p1) + sizeof(raw_ipv4));
p1->src.family = AF_INET;
p1->payload_len = 20;
p1->proto = IPPROTO_TCP;
- PACKET_RESET_CHECKSUMS(p2);
PacketSetIPV4(p2, GET_PKT_DATA(p2));
p2->tcph = (TCPHdr *)(GET_PKT_DATA(p2) + sizeof(raw_ipv4));
p2->src.family = AF_INET;
memset(&th_v, 0, sizeof(ThreadVars));
- PACKET_RESET_CHECKSUMS(p1);
PacketSetIPV6(p1, valid_raw_ipv6 + 14);
p1->tcph = (TCPHdr *) (valid_raw_ipv6 + 54);
p1->src.family = AF_INET;
BUG_ON(1);
}
- PACKET_RESET_CHECKSUMS(p2);
PacketSetIPV6(p2, invalid_raw_ipv6 + 14);
p2->tcph = (TCPHdr *) (invalid_raw_ipv6 + 54);
p2->src.family = AF_INET;
memset(&th_v, 0, sizeof(ThreadVars));
- PACKET_RESET_CHECKSUMS(p1);
PacketSetIPV6(p1, valid_raw_ipv6 + 14);
p1->tcph = (TCPHdr *) (valid_raw_ipv6 + 54);
p1->src.family = AF_INET;
BUG_ON(1);
}
- PACKET_RESET_CHECKSUMS(p2);
PacketSetIPV6(p2, invalid_raw_ipv6 + 14);
p2->tcph = (TCPHdr *) (invalid_raw_ipv6 + 54);
p2->src.family = AF_INET;
memset(&th_v, 0, sizeof(ThreadVars));
- PACKET_RESET_CHECKSUMS(p1);
PacketSetIPV4(p1, raw_ipv4);
p1->udph = (UDPHdr *)valid_raw_udp;
p1->src.family = AF_INET;
p1->payload_len = sizeof(valid_raw_udp) - UDP_HEADER_LEN;
p1->proto = IPPROTO_UDP;
- PACKET_RESET_CHECKSUMS(p2);
PacketSetIPV4(p2, raw_ipv4);
p2->udph = (UDPHdr *)invalid_raw_udp;
p2->src.family = AF_INET;
memset(&th_v, 0, sizeof(ThreadVars));
- PACKET_RESET_CHECKSUMS(p1);
PacketSetIPV4(p1, raw_ipv4);
p1->udph = (UDPHdr *)valid_raw_udp;
p1->src.family = AF_INET;
p1->payload_len = sizeof(valid_raw_udp) - UDP_HEADER_LEN;
p1->proto = IPPROTO_UDP;
- PACKET_RESET_CHECKSUMS(p2);
PacketSetIPV4(p2, raw_ipv4);
p2->udph = (UDPHdr *)invalid_raw_udp;
p2->src.family = AF_INET;
memset(&th_v, 0, sizeof(ThreadVars));
- PACKET_RESET_CHECKSUMS(p1);
PacketSetIPV6(p1, valid_raw_ipv6 + 14);
p1->udph = (UDPHdr *) (valid_raw_ipv6 + 54);
p1->src.family = AF_INET;
p1->payload_len = IPV6_GET_RAW_PLEN(PacketGetIPv6(p1)) - UDP_HEADER_LEN;
p1->proto = IPPROTO_UDP;
- PACKET_RESET_CHECKSUMS(p2);
PacketSetIPV6(p2, invalid_raw_ipv6 + 14);
p2->udph = (UDPHdr *) (invalid_raw_ipv6 + 54);
p2->src.family = AF_INET;
memset(&th_v, 0, sizeof(ThreadVars));
- PACKET_RESET_CHECKSUMS(p1);
PacketSetIPV6(p1, valid_raw_ipv6 + 14);
p1->udph = (UDPHdr *) (valid_raw_ipv6 + 54);
p1->src.family = AF_INET;
p1->payload_len = IPV6_GET_RAW_PLEN(PacketGetIPv6(p1)) - UDP_HEADER_LEN;
p1->proto = IPPROTO_UDP;
- PACKET_RESET_CHECKSUMS(p2);
PacketSetIPV6(p2, invalid_raw_ipv6 + 14);
p2->udph = (UDPHdr *) (invalid_raw_ipv6 + 54);
p2->src.family = AF_INET;
memset(&th_v, 0, sizeof(ThreadVars));
- PACKET_RESET_CHECKSUMS(p1);
IPV4Hdr *ip4h = PacketSetIPV4(p1, valid_raw_ipv4);
ip4h->ip_verhl = 69;
p1->icmpv4h = (ICMPV4Hdr *)(valid_raw_ipv4 + IPV4_GET_RAW_HLEN(ip4h));
p1->payload_len = buflen;
p1->proto = IPPROTO_ICMP;
- PACKET_RESET_CHECKSUMS(p2);
ip4h = PacketSetIPV4(p2, invalid_raw_ipv4);
ip4h->ip_verhl = 69;
p2->icmpv4h = (ICMPV4Hdr *)(invalid_raw_ipv4 + IPV4_GET_RAW_HLEN(ip4h));
memset(&th_v, 0, sizeof(ThreadVars));
- PACKET_RESET_CHECKSUMS(p1);
IPV4Hdr *ip4h = PacketSetIPV4(p1, valid_raw_ipv4);
ip4h->ip_verhl = 69;
p1->icmpv4h = (ICMPV4Hdr *)(valid_raw_ipv4 + IPV4_GET_RAW_HLEN(ip4h));
p1->payload_len = buflen;
p1->proto = IPPROTO_ICMP;
- PACKET_RESET_CHECKSUMS(p2);
ip4h = PacketSetIPV4(p2, invalid_raw_ipv4);
ip4h->ip_verhl = 69;
p2->icmpv4h = (ICMPV4Hdr *)(invalid_raw_ipv4 + IPV4_GET_RAW_HLEN(ip4h));
}
SET_PKT_LEN(p1, ethlen + ipv4len + tcplen + buflen);
- PACKET_RESET_CHECKSUMS(p1);
p1->ethh = (EthernetHdr *)raw_eth;
PacketSetIPV4(p1, raw_ipv4);
p1->tcph = (TCPHdr *)raw_tcp;
FAIL_IF(PacketCopyDataOffset(p1, ethlen + ipv4len + tcplen, buf, buflen) == -1);
SET_PKT_LEN(p1, ethlen + ipv4len + tcplen + buflen);
- PACKET_RESET_CHECKSUMS(p1);
p1->ethh = (EthernetHdr *)raw_eth;
PacketSetIPV4(p1, raw_ipv4);
p1->tcph = (TCPHdr *)raw_tcp;