/Linux-v4.19/net/ipv4/ |
D | icmp.c | 111 struct icmphdr icmph; member 362 if (icmp_pointers[icmp_param->data.icmph.type].error) in icmp_glue_bits() 382 struct icmphdr *icmph = icmp_hdr(skb); in icmp_push_reply() local 390 (char *)icmph, in icmp_push_reply() 392 icmph->checksum = csum_fold(csum); in icmp_push_reply() 412 int type = icmp_param->data.icmph.type; in icmp_reply() 413 int code = icmp_param->data.icmph.code; in icmp_reply() 430 icmp_param->data.icmph.checksum = 0; in icmp_reply() 702 icmp_param.data.icmph.type = type; in icmp_send() 703 icmp_param.data.icmph.code = code; in icmp_send() [all …]
|
D | ping.c | 484 struct icmphdr *icmph; in ping_err() local 497 icmph = (struct icmphdr *)(skb->data + offset); in ping_err() 502 icmph = (struct icmphdr *) (skb->data + offset); in ping_err() 509 if (!ping_supported(family, icmph->type, icmph->code)) in ping_err() 513 skb->protocol, type, code, ntohs(icmph->un.echo.id), in ping_err() 514 ntohs(icmph->un.echo.sequence)); in ping_err() 516 sk = ping_lookup(net, skb, ntohs(icmph->un.echo.id)); in ping_err() 582 info, (u8 *)icmph); in ping_err() 586 info, (u8 *)icmph); in ping_err() 646 pfh->wcheck = csum_partial((char *)&pfh->icmph, in ping_v4_push_pending_frames() [all …]
|
D | route.c | 1793 const struct icmphdr *icmph; in ip_multipath_l3_keys() local 1803 icmph = skb_header_pointer(skb, outer_iph->ihl * 4, sizeof(_icmph), in ip_multipath_l3_keys() 1805 if (!icmph) in ip_multipath_l3_keys() 1808 if (icmph->type != ICMP_DEST_UNREACH && in ip_multipath_l3_keys() 1809 icmph->type != ICMP_REDIRECT && in ip_multipath_l3_keys() 1810 icmph->type != ICMP_TIME_EXCEEDED && in ip_multipath_l3_keys() 1811 icmph->type != ICMP_PARAMETERPROB) in ip_multipath_l3_keys() 2766 struct icmphdr *icmph; in inet_rtm_getroute_build_skb() local 2768 icmph = skb_put_zero(skb, sizeof(struct icmphdr)); in inet_rtm_getroute_build_skb() 2769 icmph->type = ICMP_ECHO; in inet_rtm_getroute_build_skb() [all …]
|
D | raw.c | 86 struct icmphdr icmph; member 466 fl4->fl4_icmp_type = rfv->hdr.icmph.type; in raw_probe_proto_opt() 467 fl4->fl4_icmp_code = rfv->hdr.icmph.code; in raw_probe_proto_opt()
|
/Linux-v4.19/net/sched/ |
D | act_nat.c | 193 struct icmphdr *icmph; in tcf_nat_act() local 195 if (!pskb_may_pull(skb, ihl + sizeof(*icmph) + noff)) in tcf_nat_act() 198 icmph = (void *)(skb_network_header(skb) + ihl); in tcf_nat_act() 200 if ((icmph->type != ICMP_DEST_UNREACH) && in tcf_nat_act() 201 (icmph->type != ICMP_TIME_EXCEEDED) && in tcf_nat_act() 202 (icmph->type != ICMP_PARAMETERPROB)) in tcf_nat_act() 205 if (!pskb_may_pull(skb, ihl + sizeof(*icmph) + sizeof(*iph) + in tcf_nat_act() 209 icmph = (void *)(skb_network_header(skb) + ihl); in tcf_nat_act() 210 iph = (void *)(icmph + 1); in tcf_nat_act() 219 if (skb_try_make_writable(skb, ihl + sizeof(*icmph) + in tcf_nat_act() [all …]
|
D | act_csum.c | 141 struct icmphdr *icmph; in tcf_csum_ipv4_icmp() local 143 icmph = tcf_csum_skb_nextlayer(skb, ihl, ipl, sizeof(*icmph)); in tcf_csum_ipv4_icmp() 144 if (icmph == NULL) in tcf_csum_ipv4_icmp() 147 icmph->checksum = 0; in tcf_csum_ipv4_icmp() 148 skb->csum = csum_partial(icmph, ipl - ihl, 0); in tcf_csum_ipv4_icmp() 149 icmph->checksum = csum_fold(skb->csum); in tcf_csum_ipv4_icmp()
|
/Linux-v4.19/net/batman-adv/ |
D | routing.c | 236 struct batadv_icmp_header *icmph; in batadv_recv_my_icmp_packet() local 239 icmph = (struct batadv_icmp_header *)skb->data; in batadv_recv_my_icmp_packet() 241 switch (icmph->msg_type) { in batadv_recv_my_icmp_packet() 249 batadv_socket_receive_packet(icmph, skb->len); in batadv_recv_my_icmp_packet() 258 orig_node = batadv_orig_hash_find(bat_priv, icmph->orig); in batadv_recv_my_icmp_packet() 266 icmph = (struct batadv_icmp_header *)skb->data; in batadv_recv_my_icmp_packet() 268 ether_addr_copy(icmph->dst, icmph->orig); in batadv_recv_my_icmp_packet() 269 ether_addr_copy(icmph->orig, primary_if->net_dev->dev_addr); in batadv_recv_my_icmp_packet() 270 icmph->msg_type = BATADV_ECHO_REPLY; in batadv_recv_my_icmp_packet() 271 icmph->ttl = BATADV_TTL; in batadv_recv_my_icmp_packet() [all …]
|
D | icmp_socket.c | 58 struct batadv_icmp_header *icmph, 355 struct batadv_icmp_header *icmph, in batadv_socket_add_packet() argument 372 memcpy(&socket_packet->icmp_packet, icmph, len); in batadv_socket_add_packet() 380 if (!batadv_socket_client_hash[icmph->uid]) { in batadv_socket_add_packet() 410 void batadv_socket_receive_packet(struct batadv_icmp_header *icmph, in batadv_socket_receive_packet() argument 415 hash = batadv_socket_client_hash[icmph->uid]; in batadv_socket_receive_packet() 417 batadv_socket_add_packet(hash, icmph, icmp_len); in batadv_socket_receive_packet()
|
D | icmp_socket.h | 35 void batadv_socket_receive_packet(struct batadv_icmp_header *icmph, 45 batadv_socket_receive_packet(struct batadv_icmp_header *icmph, size_t icmp_len) in batadv_socket_receive_packet() argument
|
/Linux-v4.19/net/bridge/ |
D | br_arp_nd_proxy.c | 235 if (m->icmph.icmp6_code != 0 || in br_is_nd_neigh_msg() 236 (m->icmph.icmp6_type != NDISC_NEIGHBOUR_SOLICITATION && in br_is_nd_neigh_msg() 237 m->icmph.icmp6_type != NDISC_NEIGHBOUR_ADVERTISEMENT)) in br_is_nd_neigh_msg() 313 na->icmph.icmp6_type = NDISC_NEIGHBOUR_ADVERTISEMENT; in br_nd_send() 314 na->icmph.icmp6_router = 0; /* XXX: should be 1 ? */ in br_nd_send() 315 na->icmph.icmp6_override = 1; in br_nd_send() 316 na->icmph.icmp6_solicited = 1; in br_nd_send() 322 na->icmph.icmp6_cksum = csum_ipv6_magic(&pip6->saddr, in br_nd_send() 398 if (msg->icmph.icmp6_type == NDISC_NEIGHBOUR_ADVERTISEMENT && in br_do_suppress_nd() 399 !msg->icmph.icmp6_solicited) { in br_do_suppress_nd() [all …]
|
/Linux-v4.19/net/netfilter/ |
D | nf_conntrack_proto_icmp.c | 183 const struct icmphdr *icmph; in icmp_error() local 187 icmph = skb_header_pointer(skb, ip_hdrlen(skb), sizeof(_ih), &_ih); in icmp_error() 188 if (icmph == NULL) { in icmp_error() 206 if (icmph->type > NR_ICMP_TYPES) { in icmp_error() 212 if (icmph->type != ICMP_DEST_UNREACH && in icmp_error() 213 icmph->type != ICMP_SOURCE_QUENCH && in icmp_error() 214 icmph->type != ICMP_TIME_EXCEEDED && in icmp_error() 215 icmph->type != ICMP_PARAMETERPROB && in icmp_error() 216 icmph->type != ICMP_REDIRECT) in icmp_error()
|
D | xt_HMARK.c | 236 const struct icmphdr *icmph; in get_inner_hdr() local 240 icmph = skb_header_pointer(skb, *nhoff + iphsz, sizeof(_ih), &_ih); in get_inner_hdr() 241 if (icmph == NULL || icmph->type > NR_ICMP_TYPES) in get_inner_hdr() 245 if (icmph->type != ICMP_DEST_UNREACH && in get_inner_hdr() 246 icmph->type != ICMP_SOURCE_QUENCH && in get_inner_hdr() 247 icmph->type != ICMP_TIME_EXCEEDED && in get_inner_hdr() 248 icmph->type != ICMP_PARAMETERPROB && in get_inner_hdr() 249 icmph->type != ICMP_REDIRECT) in get_inner_hdr()
|
/Linux-v4.19/net/ipv6/netfilter/ |
D | nf_socket_ipv6.c | 36 struct icmp6hdr *icmph, _icmph; in extract_icmp6_fields() local 42 icmph = skb_header_pointer(skb, outside_hdrlen, in extract_icmp6_fields() 44 if (icmph == NULL) in extract_icmp6_fields() 47 if (icmph->icmp6_type & ICMPV6_INFOMSG_MASK) in extract_icmp6_fields()
|
/Linux-v4.19/net/ipv6/ |
D | ping.c | 134 pfh.icmph.type = user_icmph.icmp6_type; in ping_v6_sendmsg() 135 pfh.icmph.code = user_icmph.icmp6_code; in ping_v6_sendmsg() 136 pfh.icmph.checksum = 0; in ping_v6_sendmsg() 137 pfh.icmph.un.echo.id = inet->inet_sport; in ping_v6_sendmsg() 138 pfh.icmph.un.echo.sequence = user_icmph.icmp6_sequence; in ping_v6_sendmsg() 156 (struct icmp6hdr *)&pfh.icmph, len); in ping_v6_sendmsg()
|
D | ndisc.c | 541 .icmph = { in ndisc_send_na() 615 .icmph = { in ndisc_send_ns() 675 .icmph = { in ndisc_send_rs() 962 msg->icmph.icmp6_solicited) { in ndisc_recv_na() 971 if (!msg->icmph.icmp6_solicited && idev && in ndisc_recv_na() 1032 msg->icmph.icmp6_solicited ? NUD_REACHABLE : NUD_STALE, in ndisc_recv_na() 1034 (msg->icmph.icmp6_override ? NEIGH_UPDATE_F_OVERRIDE : 0)| in ndisc_recv_na() 1036 (msg->icmph.icmp6_router ? NEIGH_UPDATE_F_ISROUTER : 0), in ndisc_recv_na() 1239 (ra_msg->icmph.icmp6_addrconf_managed ? in ndisc_router_discovery() 1241 (ra_msg->icmph.icmp6_addrconf_other ? in ndisc_router_discovery() [all …]
|
D | datagram.c | 293 struct icmp6hdr *icmph = icmp6_hdr(skb); in ipv6_icmp_error() local 308 serr->ee.ee_type = icmph->icmp6_type; in ipv6_icmp_error() 309 serr->ee.ee_code = icmph->icmp6_code; in ipv6_icmp_error() 313 serr->addr_offset = (u8 *)&(((struct ipv6hdr *)(icmph + 1))->daddr) - in ipv6_icmp_error()
|
D | icmp.c | 673 struct icmp6hdr *icmph = icmp6_hdr(skb); in icmpv6_echo_reply() local 688 memcpy(&tmp_hdr, icmph, sizeof(tmp_hdr)); in icmpv6_echo_reply()
|
/Linux-v4.19/net/ipv4/netfilter/ |
D | nf_socket_ipv4.c | 30 struct icmphdr *icmph, _icmph; in extract_icmp4_fields() local 33 icmph = skb_header_pointer(skb, outside_hdrlen, in extract_icmp4_fields() 35 if (icmph == NULL) in extract_icmp4_fields() 38 switch (icmph->type) { in extract_icmp4_fields()
|
/Linux-v4.19/net/bridge/netfilter/ |
D | nft_reject_bridge.c | 107 struct icmphdr *icmph; in nft_reject_br_send_v4_unreach() local 148 icmph = skb_put_zero(nskb, sizeof(struct icmphdr)); in nft_reject_br_send_v4_unreach() 149 icmph->type = ICMP_DEST_UNREACH; in nft_reject_br_send_v4_unreach() 150 icmph->code = code; in nft_reject_br_send_v4_unreach() 154 csum = csum_partial((void *)icmph, len + sizeof(struct icmphdr), 0); in nft_reject_br_send_v4_unreach() 155 icmph->checksum = csum_fold(csum); in nft_reject_br_send_v4_unreach()
|
/Linux-v4.19/drivers/net/ipvlan/ |
D | ipvlan_core.c | 191 struct icmp6hdr *icmph; in ipvlan_get_L3_hdr() local 193 if (unlikely(!pskb_may_pull(skb, sizeof(*ip6h) + sizeof(*icmph)))) in ipvlan_get_L3_hdr() 197 icmph = (struct icmp6hdr *)(ip6h + 1); in ipvlan_get_L3_hdr() 199 if (icmph->icmp6_type == NDISC_NEIGHBOUR_SOLICITATION) { in ipvlan_get_L3_hdr() 201 if (unlikely(!pskb_may_pull(skb, sizeof(*ip6h) + sizeof(*icmph) in ipvlan_get_L3_hdr() 206 icmph = (struct icmp6hdr *)(ip6h + 1); in ipvlan_get_L3_hdr() 210 lyr3h = icmph; in ipvlan_get_L3_hdr() 383 if (ndmh->icmph.icmp6_type == NDISC_NEIGHBOUR_SOLICITATION) { in ipvlan_addr_lookup()
|
/Linux-v4.19/include/net/ |
D | ndisc.h | 78 struct icmp6hdr icmph; member 84 struct icmp6hdr icmph; member 89 struct icmp6hdr icmph; member 95 struct icmp6hdr icmph; member
|
D | ping.h | 61 struct icmphdr icmph; member
|
/Linux-v4.19/net/netfilter/ipvs/ |
D | ip_vs_core.c | 78 #define icmp_id(icmph) (((icmph)->un).echo.id) argument 79 #define icmpv6_id(icmph) (icmph->icmp6_dataun.u_echo.identifier) argument 748 struct icmphdr *icmph = (struct icmphdr *)(skb_network_header(skb) + in ip_vs_nat_icmp() local 750 struct iphdr *ciph = (struct iphdr *)(icmph + 1); in ip_vs_nat_icmp() 776 icmph->checksum = 0; in ip_vs_nat_icmp() 777 icmph->checksum = ip_vs_checksum_complete(skb, icmp_offset); in ip_vs_nat_icmp() 796 struct icmp6hdr *icmph; in ip_vs_nat_icmp_v6() local 801 icmph = (struct icmp6hdr *)(skb_network_header(skb) + icmp_offset); in ip_vs_nat_icmp_v6() 830 icmph->icmp6_cksum = ~csum_ipv6_magic(&iph->saddr, &iph->daddr, in ip_vs_nat_icmp_v6()
|
/Linux-v4.19/drivers/net/usb/ |
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-v4.19/drivers/net/ |
D | vrf.c | 919 const struct icmp6hdr *icmph; in ipv6_ndisc_frame() local 922 icmph = skb_header_pointer(skb, sizeof(*iph), in ipv6_ndisc_frame() 924 if (!icmph) in ipv6_ndisc_frame() 927 switch (icmph->icmp6_type) { in ipv6_ndisc_frame()
|