icmp_hdr
u32 icmp_hdr;
icmp_hdr = (*icmp_type << ICMP_TYPE_OFFSET_FIRST_DW) |
*(__be32 *)parser_ptr = cpu_to_be32(icmp_hdr);
icmp = icmp_hdr(skb);
struct ctl_table_header *icmp_hdr;
switch (icmp_hdr(skb)->type) {
if (icmp_hdr(skb)->code != ICMP_FRAG_NEEDED)
if (icmp_hdr(skb)->type == ICMP_DEST_UNREACH)
switch (icmp_hdr(skb)->type) {
if (icmp_hdr(skb)->code != ICMP_FRAG_NEEDED)
if (icmp_hdr(skb)->type == ICMP_DEST_UNREACH)
icmph = icmp_hdr(skb);
icmp_socket_deliver(skb, ntohl(icmp_hdr(skb)->un.gateway));
icmp_param->data.icmph = *icmp_hdr(skb);
icmp_param->data.icmph = *icmp_hdr(skb);
icmph = icmp_hdr(skb);
int type = icmp_hdr(skb)->type;
int code = icmp_hdr(skb)->code;
struct icmphdr *icmph = icmp_hdr(skb);
const int type = icmp_hdr(skb)->type;
const int code = icmp_hdr(skb)->code;
iph = (const struct iphdr *)(icmp_hdr(skb) + 1);
data_len = icmp_hdr(skb)->un.reserved[1] * 4; /* RFC 4884 4.1 */
const int type = icmp_hdr(skb)->type;
const int code = icmp_hdr(skb)->code;
icmp_type = icmp_hdr(skb)->type;
switch (icmp_hdr(skb)->type) {
icmp_hdr(skb)->un.reserved[1] * 4);
serr->ee.ee_type = icmp_hdr(skb)->type;
serr->ee.ee_code = icmp_hdr(skb)->code;
serr->addr_offset = (u8 *)&(((struct iphdr *)(icmp_hdr(skb) + 1))->daddr) -
const struct icmphdr *icmph = icmp_hdr(skb);
switch (icmp_hdr(skb)->type) {
if (icmp_hdr(skb)->code != ICMP_FRAG_NEEDED)
if (icmp_hdr(skb)->type == ICMP_DEST_UNREACH)
switch (icmp_hdr(skb)->type) {
if (icmp_hdr(skb)->code != ICMP_FRAG_NEEDED)
if (icmp_hdr(skb)->type == ICMP_DEST_UNREACH)
const int type = icmp_hdr(skb)->type;
const int code = icmp_hdr(skb)->code;
type = icmp_hdr(skb)->type;
code = icmp_hdr(skb)->code;
memcpy(icmp_hdr(skb), &pfh->icmph, sizeof(struct icmphdr));
struct icmphdr *icmph = icmp_hdr(skb);
const int type = icmp_hdr(skb)->type;
const int code = icmp_hdr(skb)->code;
__be32 new_gw = icmp_hdr(skb)->un.gateway;
switch (icmp_hdr(skb)->code & 7) {
const int type = icmp_hdr(skb)->type;
const int code = icmp_hdr(skb)->code;
const int type = icmp_hdr(skb)->type;
const int code = icmp_hdr(skb)->code;
const int type = icmp_hdr(skb)->type;
const int code = icmp_hdr(skb)->code;
data_len = icmp_hdr(skb)->un.reserved[1] * 4; /* RFC 4884 4.1 */
net->ipv6.sysctl.icmp_hdr = register_net_sysctl_sz(net,
if (!net->ipv6.sysctl.icmp_hdr)
ipv6_icmp_table = net->ipv6.sysctl.icmp_hdr->ctl_table_arg;
unregister_net_sysctl_table(net->ipv6.sysctl.icmp_hdr);
struct icmphdr *icmp = icmp_hdr(skb);
const int type = icmp_hdr(skb)->type;
const int code = icmp_hdr(skb)->code;
switch (icmp_hdr(skb)->type) {
if (icmp_hdr(skb)->code != ICMP_FRAG_NEEDED)
if (icmp_hdr(skb)->type == ICMP_DEST_UNREACH)
icmp_hdr->checksum = 0;
ipv4_csum(icmp_hdr, ICMP_TOOBIG_PAYLOAD_SIZE, &csum);
icmp_hdr->checksum = csum;
struct icmphdr *icmp_hdr;
icmp_hdr = data + off;
icmp_hdr->type = ICMP_DEST_UNREACH;
icmp_hdr->code = ICMP_FRAG_NEEDED;
icmp_hdr->un.frag.mtu = htons(max_pcktsz - sizeof(struct ethhdr));
struct icmp6hdr *icmp_hdr;
icmp_hdr = data + off;
if (icmp_hdr + 1 > data_end)
if (icmp_hdr->icmp6_type != ICMPV6_PKT_TOOBIG)
struct icmphdr *icmp_hdr;
icmp_hdr = data + off;
if (icmp_hdr + 1 > data_end)
if (icmp_hdr->type != ICMP_DEST_UNREACH ||
icmp_hdr->code != ICMP_FRAG_NEEDED)
struct icmp6hdr *icmp_hdr;
icmp_hdr = data + off;
if (icmp_hdr + 1 > data_end)
if (icmp_hdr->icmp6_type != ICMPV6_PKT_TOOBIG)
struct icmphdr *icmp_hdr;
icmp_hdr = data + off;
if (icmp_hdr + 1 > data_end)
if (icmp_hdr->type != ICMP_DEST_UNREACH ||
icmp_hdr->code != ICMP_FRAG_NEEDED)
struct icmp6hdr *icmp_hdr;
icmp_hdr = bpf_dynptr_slice(skb_ptr, off, buffer, sizeof(buffer));
if (!icmp_hdr)
if (icmp_hdr->icmp6_type != ICMPV6_PKT_TOOBIG)
struct icmphdr *icmp_hdr;
icmp_hdr = bpf_dynptr_slice(skb_ptr, off, buffer_icmp, sizeof(buffer_icmp));
if (!icmp_hdr)
if (icmp_hdr->type != ICMP_DEST_UNREACH ||
icmp_hdr->code != ICMP_FRAG_NEEDED)
struct icmphdr *icmp_hdr;
icmp_hdr = data + off;
icmp_hdr->type = 0;
icmp_hdr->checksum += 0x0007;
struct icmp6hdr *icmp_hdr;
icmp_hdr = data + off;
icmp_hdr->icmp6_type = 129;
icmp_hdr->icmp6_cksum -= 0x0001;
struct icmp6hdr *icmp_hdr;
icmp_hdr = data + off;
if (icmp_hdr + 1 > data_end)
if (icmp_hdr->icmp6_type == 128)
if (icmp_hdr->icmp6_type != 3)
struct icmphdr *icmp_hdr;
icmp_hdr = data + off;
if (icmp_hdr + 1 > data_end)
if (icmp_hdr->type == 8)
if ((icmp_hdr->type != 3) || (icmp_hdr->code != 4))