Lines Matching refs:icmph
106 struct icmphdr icmph;
363 if (icmp_pointers[icmp_param->data.icmph.type].error)
383 struct icmphdr *icmph = icmp_hdr(skb);
388 (char *)icmph,
393 icmph->checksum = csum_fold(csum);
413 int type = icmp_param->data.icmph.type;
414 int code = icmp_param->data.icmph.code;
431 icmp_param->data.icmph.checksum = 0;
730 icmp_param.data.icmph.type = type;
731 icmp_param.data.icmph.code = code;
732 icmp_param.data.icmph.un.gateway = info;
733 icmp_param.data.icmph.checksum = 0;
861 struct icmphdr *icmph;
876 icmph = icmp_hdr(skb);
882 switch (icmph->type) {
884 switch (icmph->code & 15) {
907 info = ntohs(icmph->un.frag.mtu);
917 if (icmph->code > NR_ICMP_UNREACH)
921 info = ntohl(icmph->un.gateway) >> 24;
925 if (icmph->code == ICMP_EXC_FRAGTIME)
952 icmph->type, icmph->code,
1007 icmp_param.data.icmph = *icmp_hdr(skb);
1008 icmp_param.data.icmph.type = ICMP_ECHOREPLY;
1043 icmp_param.data.icmph = *icmp_hdr(skb);
1044 icmp_param.data.icmph.type = ICMP_TIMESTAMPREPLY;
1045 icmp_param.data.icmph.code = 0;
1069 struct icmphdr *icmph;
1082 if (!pskb_may_pull(skb, sizeof(*icmph) + sizeof(struct iphdr)))
1086 skb_set_network_header(skb, sizeof(*icmph));
1099 if (!pskb_pull(skb, sizeof(*icmph)))
1102 icmph = icmp_hdr(skb);
1104 ICMPMSGIN_INC_STATS(net, icmph->type);
1111 if (icmph->type > NR_ICMP_TYPES)
1126 if ((icmph->type == ICMP_ECHO ||
1127 icmph->type == ICMP_TIMESTAMP) &&
1131 if (icmph->type != ICMP_ECHO &&
1132 icmph->type != ICMP_TIMESTAMP &&
1133 icmph->type != ICMP_ADDRESS &&
1134 icmph->type != ICMP_ADDRESSREPLY) {
1139 success = icmp_pointers[icmph->type].handler(skb);
1196 /* original datagram headers: end of icmph to payload (skb->data) */
1219 struct icmphdr *icmph = (struct icmphdr *)(skb->data + offset);
1228 if (icmph->type != ICMP_ECHOREPLY) {