Lines Matching refs:header
573 static uint16_t checksum_ip(const void *header, size_t headersize) { in checksum_ip() argument
574 const uint16_t *p = header; in checksum_ip()
606 struct header_ip header = { in send_packet_ip_base() local
629 if (ipsettings & si_opt_badpad) memset(header.opt, -1, sizeof(header.opt)); in send_packet_ip_base()
630 if (ipsettings & si_opt_nop) header.opt[optlen++] = 0x01; in send_packet_ip_base()
632 header.opt[optlen++] = 0x82; in send_packet_ip_base()
633 header.opt[optlen++] = 0x0b; in send_packet_ip_base()
634 header.opt[optlen++] = 0x6b; /* S: top secret */ in send_packet_ip_base()
635 header.opt[optlen++] = 0xc5; /* S: top secret */ in send_packet_ip_base()
636 header.opt[optlen++] = 0x00; /* C */ in send_packet_ip_base()
637 header.opt[optlen++] = 0x00; /* C */ in send_packet_ip_base()
638 header.opt[optlen++] = 'A'; /* H */ in send_packet_ip_base()
639 header.opt[optlen++] = 'B'; /* H */ in send_packet_ip_base()
640 header.opt[optlen++] = 'C'; /* TCC */ in send_packet_ip_base()
641 header.opt[optlen++] = 'D'; /* TCC */ in send_packet_ip_base()
642 header.opt[optlen++] = 'E'; /* TCC */ in send_packet_ip_base()
644 if (ipsettings & si_opt_badopt) header.opt[optlen++] = 0xff; in send_packet_ip_base()
645 if (ipsettings & si_opt_end) header.opt[optlen++] = 0x00; in send_packet_ip_base()
646 assert(optlen <= sizeof(header.opt)); in send_packet_ip_base()
651 header.ver_ihl = (ver << 4) | ihl_fuzzed; in send_packet_ip_base()
657 header.len = len; /* no htons(), lwip swaps this */ in send_packet_ip_base()
665 header.cs = checksum_ip(&header, ihl * 4); in send_packet_ip_base()
666 if (ipsettings & si_zero_cs) header.cs = 0; in send_packet_ip_base()
667 if (ipsettings & si_bad_cs) header.cs += 1; in send_packet_ip_base()
670 memcpy(packet, &header, ihl * 4); in send_packet_ip_base()
791 struct header_udp_pseudo header = { in checksum_udp() local
799 sum = checksum_udp_sum(&header, sizeof(header)) + in checksum_udp()
821 struct header_udp header = { in send_packet_udp() local
836 header.len = htons(len); in send_packet_udp()
838 packetsize = sizeof(header) + payloadsize; in send_packet_udp()
841 memcpy(packet, &header, sizeof(header)); in send_packet_udp()
842 memcpy(packet + sizeof(header), payload, payloadsize); in send_packet_udp()
845 header.cs = checksum_udp(srcip, dstip, prot, packet, packetsize); in send_packet_udp()
846 if (udpsettings & su_zero_cs) header.cs = 0; in send_packet_udp()
847 if (udpsettings & su_bad_cs) header.cs += 1; in send_packet_udp()
849 memcpy(packet, &header, sizeof(header)); in send_packet_udp()
1114 struct header_tcp header = { in send_packet_tcp() local
1138 if (tcpsettings & st_opt_badpad) memset(header.opt, -1, sizeof(header.opt)); in send_packet_tcp()
1139 if (tcpsettings & st_opt_nop) header.opt[optlen++] = 0x01; in send_packet_tcp()
1141 header.opt[optlen++] = 0x02; in send_packet_tcp()
1142 header.opt[optlen++] = 0x04; in send_packet_tcp()
1143 header.opt[optlen++] = 0x00; in send_packet_tcp()
1144 header.opt[optlen++] = 0x00; in send_packet_tcp()
1147 header.opt[optlen++] = 0x02; in send_packet_tcp()
1148 header.opt[optlen++] = 0x04; in send_packet_tcp()
1149 header.opt[optlen++] = 0x10; in send_packet_tcp()
1150 header.opt[optlen++] = 0x00; in send_packet_tcp()
1153 header.opt[optlen++] = 0x02; in send_packet_tcp()
1154 header.opt[optlen++] = 0x04; in send_packet_tcp()
1155 header.opt[optlen++] = 0xff; in send_packet_tcp()
1156 header.opt[optlen++] = 0xff; in send_packet_tcp()
1158 if (tcpsettings & st_opt_end) header.opt[optlen++] = 0x00; in send_packet_tcp()
1164 header.doff = doff_fuzzed << 4; in send_packet_tcp()
1169 memcpy(packet, &header, sizeof(header)); in send_packet_tcp()
1170 memcpy(packet + sizeof(header), payload, payloadsize); in send_packet_tcp()
1173 header.cs = checksum_udp(srcip, dstip, prot, packet, packetsize); in send_packet_tcp()
1174 if (tcpsettings & su_zero_cs) header.cs = 0; in send_packet_tcp()
1175 if (tcpsettings & su_bad_cs) header.cs += 1; in send_packet_tcp()
1177 memcpy(packet, &header, sizeof(header)); in send_packet_tcp()