Lines Matching refs:icmph

106 		struct icmphdr icmph;
358 if (icmp_pointers[icmp_param->data.icmph.type].error)
377 struct icmphdr *icmph = icmp_hdr(skb);
382 (char *)icmph,
387 icmph->checksum = csum_fold(csum);
407 int type = icmp_param->data.icmph.type;
408 int code = icmp_param->data.icmph.code;
425 icmp_param->data.icmph.checksum = 0;
724 icmp_param.data.icmph.type = type;
725 icmp_param.data.icmph.code = code;
726 icmp_param.data.icmph.un.gateway = info;
727 icmp_param.data.icmph.checksum = 0;
856 struct icmphdr *icmph;
871 icmph = icmp_hdr(skb);
879 switch (icmph->type) {
881 switch (icmph->code & 15) {
904 info = ntohs(icmph->un.frag.mtu);
914 if (icmph->code > NR_ICMP_UNREACH)
918 info = ntohl(icmph->un.gateway) >> 24;
922 if (icmph->code == ICMP_EXC_FRAGTIME)
949 icmph->type, icmph->code,
1008 icmp_param.data.icmph = *icmp_hdr(skb);
1014 if (icmp_param.data.icmph.type == ICMP_ECHO)
1015 icmp_param.data.icmph.type = ICMP_ECHOREPLY;
1016 else if (!icmp_build_probe(skb, &icmp_param.data.icmph))
1155 icmp_param.data.icmph = *icmp_hdr(skb);
1156 icmp_param.data.icmph.type = ICMP_TIMESTAMPREPLY;
1157 icmp_param.data.icmph.code = 0;
1184 struct icmphdr *icmph;
1196 if (!pskb_may_pull(skb, sizeof(*icmph) + sizeof(struct iphdr)))
1200 skb_set_network_header(skb, sizeof(*icmph));
1216 if (!pskb_pull(skb, sizeof(*icmph)))
1219 icmph = icmp_hdr(skb);
1221 ICMPMSGIN_INC_STATS(net, icmph->type);
1224 if (icmph->type == ICMP_EXT_ECHO) {
1232 if (icmph->type == ICMP_EXT_ECHOREPLY) {
1243 if (icmph->type > NR_ICMP_TYPES) {
1259 if ((icmph->type == ICMP_ECHO ||
1260 icmph->type == ICMP_TIMESTAMP) &&
1265 if (icmph->type != ICMP_ECHO &&
1266 icmph->type != ICMP_TIMESTAMP &&
1267 icmph->type != ICMP_ADDRESS &&
1268 icmph->type != ICMP_ADDRESSREPLY) {
1274 reason = icmp_pointers[icmph->type].handler(skb);
1332 /* original datagram headers: end of icmph to payload (skb->data) */
1355 struct icmphdr *icmph = (struct icmphdr *)(skb->data + offset);
1364 if (icmph->type != ICMP_ECHOREPLY) {