icmphdr
nhoff += sizeof(struct icmphdr);
struct icmphdr *icmp;
static inline struct icmphdr *icmp_hdr(const struct sk_buff *skb)
return (struct icmphdr *)skb_transport_header(skb);
bool icmp_build_probe(struct sk_buff *skb, struct icmphdr *icmphdr);
struct icmphdr icmph;
} icmphdr;
pptr->icmphdr.type < info->icmp_type[0] ||
pptr->icmphdr.type > info->icmp_type[1] ||
pptr->icmphdr.code < info->icmp_code[0] ||
pptr->icmphdr.code > info->icmp_code[1]))
pptr->icmphdr.code > info->icmpv6_code[1]))
} icmphdr;
pptr->icmphdr.type < info->icmpv6_type[0] ||
pptr->icmphdr.type > info->icmpv6_type[1] ||
pptr->icmphdr.code < info->icmpv6_code[0] ||
struct icmphdr *ih, _ih;
poff += sizeof(struct icmphdr);
skb_set_transport_header(skb, -(int)sizeof(struct icmphdr));
skb_set_transport_header(skb, -(int)sizeof(struct icmphdr));
struct icmphdr *icmph;
struct icmphdr icmph;
icmp_param->head_len = sizeof(struct icmphdr);
bool icmp_build_probe(struct sk_buff *skb, struct icmphdr *icmphdr)
if (!(ntohs(icmphdr->un.echo.sequence) & 1))
icmphdr->un.echo.sequence &= htons(0xFF00);
if (icmphdr->type == ICMP_EXT_ECHO)
icmphdr->type = ICMP_EXT_ECHOREPLY;
icmphdr->type = ICMPV6_EXT_ECHO_REPLY;
icmphdr->code = ICMP_EXT_CODE_NO_IF;
icmphdr->un.echo.sequence |= htons(status);
icmphdr->code = ICMP_EXT_CODE_MAL_QUERY;
icmp_param->head_len = sizeof(struct icmphdr) + 12;
struct icmphdr *icmph;
struct icmphdr *icmph = (struct icmphdr *)(skb->data + offset);
struct icmphdr *icmph = icmp_hdr(skb);
icmp_ext_append(struct net *net, struct sk_buff *skb_in, struct icmphdr *icmph,
offsetof(struct icmphdr,
room -= sizeof(struct icmphdr);
icmp_param->head_len = sizeof(struct icmphdr);
ip_icmp_error_rfc4884(skb, out, sizeof(struct icmphdr),
struct icmphdr *icmph;
*icmph = (struct icmphdr) {
const struct icmphdr *icmph = icmp_hdr(skb);
struct icmphdr *icmph;
nskb = alloc_skb(sizeof(struct iphdr) + sizeof(struct icmphdr) +
icmph = skb_put_zero(nskb, sizeof(struct icmphdr));
csum = csum_partial((void *)icmph, len + sizeof(struct icmphdr), 0);
thoff + offsetof(struct icmphdr, type),
struct icmphdr *icmph, _icmph;
sizeof(struct icmphdr),
sizeof(struct icmphdr) +
struct icmphdr *icmph;
icmph = (struct icmphdr *)(skb->data + offset);
icmph = (struct icmphdr *) (skb->data + offset);
sizeof(struct icmphdr), pfh->wcheck);
memcpy(icmp_hdr(skb), &pfh->icmph, sizeof(struct icmphdr));
type = ((struct icmphdr *) user_icmph)->type;
code = ((struct icmphdr *) user_icmph)->code;
struct icmphdr user_icmph;
sizeof(struct icmphdr), &ipc, &rt,
struct icmphdr *icmph = icmp_hdr(skb);
struct icmphdr _hdr;
const struct icmphdr *hdr;
length >= iphlen + sizeof(struct icmphdr))
icmp_out_count(net, ((struct icmphdr *)
struct icmphdr icmph;
const struct icmphdr *icmph;
struct icmphdr _icmph;
struct icmphdr *icmph;
icmph = skb_put_zero(skb, sizeof(struct icmphdr));
if (!icmp_build_probe(skb, (struct icmphdr *)&tmp_hdr))
struct icmphdr _ich;
const struct icmphdr *ic;
struct icmphdr _icmph, *ic;
struct icmphdr *icmph = (struct icmphdr *)(skb_network_header(skb) +
struct icmphdr _icmph, *ic;
const struct icmphdr *icmph;
struct icmphdr _ih;
const struct icmphdr *hp;
struct icmphdr _hdr;
const struct icmphdr *ich;
struct icmphdr _icmph;
struct icmphdr *hdr;
hdr = (struct icmphdr *)(skb->data + hdroff);
struct icmphdr icmp;
const struct icmphdr *icmph;
struct icmphdr _ih;
const struct icmphdr *ic;
struct icmphdr _icmph;
sizeof(struct icmphdr));
struct icmphdr *icmp = icmp_hdr(skb);
struct icmphdr *icmph;
struct icmphdr *icmph;
struct icmphdr *hdr;
hdr = (struct icmphdr *)(skb_network_header(skb) - sizeof(struct icmphdr));
return ntohs(((struct icmphdr *)nexthdr)->un.echo.sequence);
int hl = family == AF_INET ? (sizeof(struct iphdr) + sizeof(struct icmphdr)) :
int headroom = (int)sizeof(struct iphdr) + (int)sizeof(struct icmphdr);
struct icmphdr *icmp_hdr;
off += sizeof(struct icmphdr);
struct icmphdr *icmp = (struct icmphdr *)(ip + 1);
struct icmphdr icmp;
struct icmphdr *icmp, _icmp;
struct icmphdr icmp;
struct icmphdr icmp;
struct icmphdr *icmp_hdr;
off += sizeof(struct icmphdr);
struct icmphdr *icmp_hdr;
off += sizeof(struct icmphdr);
struct icmphdr *icmp_hdr;
off += sizeof(struct icmphdr);
off += sizeof(struct icmphdr) + sizeof(struct iphdr);
struct icmphdr *icmp_hdr;
+ sizeof(struct iphdr) + sizeof(struct icmphdr) > data_end)
struct icmphdr *icmp_hdr;
off += sizeof(struct icmphdr);
struct icmphdr *icmph;
struct icmphdr *icmph;
struct icmphdr *icmph;
struct icmphdr *icmph;
icmph = (struct icmphdr *)buf;
struct icmphdr icmph;
struct icmphdr icmph;