| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | xdping_kern.c | 65 struct icmphdr *icmph; in icmp_check() local 82 icmph = data + sizeof(*eth) + sizeof(*iph); in icmp_check() 84 if (icmph->type != type) in icmp_check() 96 struct icmphdr *icmph; in xdping_client() local 110 icmph = data + sizeof(*eth) + sizeof(*iph); in xdping_client() 116 if (!pinginfo || pinginfo->seq != icmph->un.echo.sequence) in xdping_client() 141 icmph->type = ICMP_ECHO; in xdping_client() 142 seq = bpf_htons(bpf_ntohs(icmph->un.echo.sequence) + 1); in xdping_client() 143 icmph->un.echo.sequence = seq; in xdping_client() 144 icmph->checksum = 0; in xdping_client() [all …]
|
| /linux/net/ipv4/ |
| H A D | icmp.c | 111 struct icmphdr icmph; member 364 if (icmp_pointers[icmp_param->data.icmph.type].error) in icmp_glue_bits() 383 struct icmphdr *icmph = icmp_hdr(skb); in icmp_push_reply() local 388 (char *)icmph, in icmp_push_reply() 393 icmph->checksum = csum_fold(csum); in icmp_push_reply() 413 int type = icmp_param->data.icmph.type; in icmp_reply() 414 int code = icmp_param->data.icmph.code; in icmp_reply() 430 icmp_param->data.icmph.checksum = 0; in icmp_reply() 700 icmp_ext_append(struct net *net, struct sk_buff *skb_in, struct icmphdr *icmph, in __icmp_send() 709 switch (icmph in __icmp_send() 877 struct icmphdr *icmph; icmp_unreach() local 1212 struct icmphdr *icmph; icmp_rcv() local 1384 struct icmphdr *icmph = (struct icmphdr *)(skb->data + offset); icmp_err() local [all...] |
| H A D | ip_tunnel_core.c | 201 struct icmphdr *icmph; in iptunnel_pmtud_build_icmp() local 216 err = pskb_trim(skb, 576 - sizeof(*niph) - sizeof(*icmph)); in iptunnel_pmtud_build_icmp() 220 len = skb->len + sizeof(*icmph); in iptunnel_pmtud_build_icmp() 221 err = skb_cow(skb, sizeof(*niph) + sizeof(*icmph) + ETH_HLEN); in iptunnel_pmtud_build_icmp() 225 icmph = skb_push(skb, sizeof(*icmph)); in iptunnel_pmtud_build_icmp() 226 *icmph = (struct icmphdr) { in iptunnel_pmtud_build_icmp() 233 icmph->checksum = csum_fold(skb_checksum(skb, 0, len, 0)); in iptunnel_pmtud_build_icmp() 269 const struct icmphdr *icmph = icmp_hdr(skb); in iptunnel_pmtud_check_icmp() local 280 if (iph->protocol == IPPROTO_ICMP && icmp_is_err(icmph->type)) in iptunnel_pmtud_check_icmp()
|
| H A D | route.c | 1916 const struct icmphdr *icmph; in ip_multipath_l3_keys() local 1926 icmph = skb_header_pointer(skb, outer_iph->ihl * 4, sizeof(_icmph), in ip_multipath_l3_keys() 1928 if (!icmph) in ip_multipath_l3_keys() 1931 if (!icmp_is_err(icmph->type)) in ip_multipath_l3_keys() 3210 struct icmphdr *icmph; in inet_rtm_getroute_build_skb() local 3212 icmph = skb_put_zero(skb, sizeof(struct icmphdr)); in inet_rtm_getroute_build_skb() 3213 icmph->type = ICMP_ECHO; in inet_rtm_getroute_build_skb() 3214 icmph->code = 0; in inet_rtm_getroute_build_skb()
|
| /linux/net/sched/ |
| H A D | act_nat.c | 211 struct icmphdr *icmph; in tcf_nat_act() local 213 if (!pskb_may_pull(skb, ihl + sizeof(*icmph) + noff)) in tcf_nat_act() 216 icmph = (void *)(skb_network_header(skb) + ihl); in tcf_nat_act() 218 if (!icmp_is_err(icmph->type)) in tcf_nat_act() 221 if (!pskb_may_pull(skb, ihl + sizeof(*icmph) + sizeof(*iph) + in tcf_nat_act() 225 icmph = (void *)(skb_network_header(skb) + ihl); in tcf_nat_act() 226 iph = (void *)(icmph + 1); in tcf_nat_act() 235 if (skb_try_make_writable(skb, ihl + sizeof(*icmph) + in tcf_nat_act() 239 icmph = (void *)(skb_network_header(skb) + ihl); in tcf_nat_act() 240 iph = (void *)(icmph + 1); in tcf_nat_act() [all …]
|
| H A D | act_csum.c | 151 struct icmphdr *icmph; in tcf_csum_ipv4_icmp() local 153 icmph = tcf_csum_skb_nextlayer(skb, ihl, ipl, sizeof(*icmph)); in tcf_csum_ipv4_icmp() 154 if (icmph == NULL) in tcf_csum_ipv4_icmp() 157 icmph->checksum = 0; in tcf_csum_ipv4_icmp() 158 skb->csum = csum_partial(icmph, ipl - ihl, 0); in tcf_csum_ipv4_icmp() 159 icmph->checksum = csum_fold(skb->csum); in tcf_csum_ipv4_icmp()
|
| /linux/tools/testing/selftests/net/tcp_ao/ |
| H A D | icmps-accept.c | 185 struct icmphdr icmph; in icmp_interfere4() member 202 packet.icmph.type = type; in icmp_interfere4() 203 packet.icmph.code = code; in icmp_interfere4() 205 randomize_buffer(&packet.icmph.un.frag.mtu, in icmp_interfere4() 206 sizeof(packet.icmph.un.frag.mtu)); in icmp_interfere4() 217 packet.icmph.checksum = checksum4_fold((void *)&packet.icmph, in icmp_interfere4() 300 struct icmp6hdr icmph; in icmp6_interfere() member 318 packet.icmph.icmp6_type = type; in icmp6_interfere() 319 packet.icmph in icmp6_interfere() [all...] |
| H A D | icmps-discard.c | 185 struct icmphdr icmph; in icmp_interfere4() member 202 packet.icmph.type = type; in icmp_interfere4() 203 packet.icmph.code = code; in icmp_interfere4() 205 randomize_buffer(&packet.icmph.un.frag.mtu, in icmp_interfere4() 206 sizeof(packet.icmph.un.frag.mtu)); in icmp_interfere4() 217 packet.icmph.checksum = checksum4_fold((void *)&packet.icmph, in icmp_interfere4() 300 struct icmp6hdr icmph; in icmp6_interfere() member 318 packet.icmph.icmp6_type = type; in icmp6_interfere() 319 packet.icmph.icmp6_code = code; in icmp6_interfere() 330 packet.icmph.icmp6_cksum = icmp6_checksum(src, dst, in icmp6_interfere() [all …]
|
| /linux/net/netfilter/ |
| H A D | nf_conntrack_proto_icmp.c | 209 const struct icmphdr *icmph; in nf_conntrack_icmpv4_error() local 213 icmph = skb_header_pointer(skb, dataoff, sizeof(_ih), &_ih); in nf_conntrack_icmpv4_error() 214 if (icmph == NULL) { in nf_conntrack_icmpv4_error() 233 if (icmph->type > NR_ICMP_TYPES) { in nf_conntrack_icmpv4_error() 239 if (!icmp_is_err(icmph->type)) in nf_conntrack_icmpv4_error() 245 dataoff += sizeof(*icmph); in nf_conntrack_icmpv4_error()
|
| H A D | xt_HMARK.c | 233 const struct icmphdr *icmph; in get_inner_hdr() local 237 icmph = skb_header_pointer(skb, *nhoff + iphsz, sizeof(_ih), &_ih); in get_inner_hdr() 238 if (icmph == NULL || icmph->type > NR_ICMP_TYPES) in get_inner_hdr() 242 if (!icmp_is_err(icmph->type)) in get_inner_hdr()
|
| H A D | nf_conntrack_proto_icmpv6.c | 154 if (rd_msg->icmph.icmp6_code != 0) in nf_conntrack_icmpv6_redirect()
|
| /linux/include/net/ |
| H A D | ndisc.h | 73 struct icmp6hdr icmph; member 79 struct icmp6hdr icmph; member 84 struct icmp6hdr icmph; member 90 struct icmp6hdr icmph; member
|
| /linux/drivers/net/usb/ |
| H A D | cdc_mbim.c | 362 msg->icmph.icmp6_code == 0 && in is_neigh_solicit() 363 msg->icmph.icmp6_type == NDISC_NEIGHBOUR_SOLICITATION); in is_neigh_solicit()
|
| /linux/net/ipv6/ |
| H A D | route.c | 2361 const struct icmp6hdr *icmph; in ip6_multipath_l3_keys() local 2368 icmph = skb_header_pointer(skb, skb_transport_offset(skb), in ip6_multipath_l3_keys() 2370 if (!icmph) in ip6_multipath_l3_keys() 2373 if (!icmpv6_is_err(icmph->icmp6_type)) in ip6_multipath_l3_keys() 2377 skb_transport_offset(skb) + sizeof(*icmph), in ip6_multipath_l3_keys()
|