/kernel/linux/linux-5.10/tools/testing/selftests/bpf/progs/ |
H A D | xdping_kern.c | 64 struct icmphdr *icmph; in icmp_check() local 81 icmph = data + sizeof(*eth) + sizeof(*iph); in icmp_check() 83 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 in xdping_client() 159 struct icmphdr *icmph; xdping_server() local [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/progs/ |
H A D | xdping_kern.c | 64 struct icmphdr *icmph; in icmp_check() local 81 icmph = data + sizeof(*eth) + sizeof(*iph); in icmp_check() 83 if (icmph->type != type) in icmp_check() 95 struct icmphdr *icmph; in xdping_client() local 109 icmph = data + sizeof(*eth) + sizeof(*iph); in xdping_client() 115 if (!pinginfo || pinginfo->seq != icmph->un.echo.sequence) in xdping_client() 140 icmph->type = ICMP_ECHO; in xdping_client() 141 seq = bpf_htons(bpf_ntohs(icmph->un.echo.sequence) + 1); in xdping_client() 142 icmph->un.echo.sequence = seq; in xdping_client() 143 icmph in xdping_client() 157 struct icmphdr *icmph; xdping_server() local [all...] |
/kernel/linux/linux-6.6/net/ipv4/ |
H A D | icmp.c | 106 struct icmphdr icmph; member 358 if (icmp_pointers[icmp_param->data.icmph.type].error) in icmp_glue_bits() 377 struct icmphdr *icmph = icmp_hdr(skb); in icmp_push_reply() local 382 (char *)icmph, in icmp_push_reply() 387 icmph->checksum = csum_fold(csum); in icmp_push_reply() 407 int type = icmp_param->data.icmph.type; in icmp_reply() 408 int code = icmp_param->data.icmph.code; in icmp_reply() 425 icmp_param->data.icmph.checksum = 0; in icmp_reply() 724 icmp_param.data.icmph.type = type; in __icmp_send() 725 icmp_param.data.icmph in __icmp_send() 856 struct icmphdr *icmph; icmp_unreach() local 1184 struct icmphdr *icmph; icmp_rcv() local 1355 struct icmphdr *icmph = (struct icmphdr *)(skb->data + offset); icmp_err() local [all...] |
H A D | ping.c | 492 struct icmphdr *icmph; in ping_err() local 505 icmph = (struct icmphdr *)(skb->data + offset); in ping_err() 510 icmph = (struct icmphdr *) (skb->data + offset); in ping_err() 517 if (!ping_supported(family, icmph->type, icmph->code)) in ping_err() 521 skb->protocol, type, code, ntohs(icmph->un.echo.id), in ping_err() 522 ntohs(icmph->un.echo.sequence)); in ping_err() 524 sk = ping_lookup(net, skb, ntohs(icmph->un.echo.id)); in ping_err() 590 info, (u8 *)icmph); in ping_err() 594 info, (u8 *)icmph); in ping_err() 973 struct icmphdr *icmph = icmp_hdr(skb); ping_rcv() local [all...] |
/kernel/linux/linux-5.10/net/ipv4/ |
H A D | icmp.c | 106 struct icmphdr icmph; member 363 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() 431 icmp_param->data.icmph.checksum = 0; in icmp_reply() 730 icmp_param.data.icmph.type = type; in __icmp_send() 731 icmp_param.data.icmph in __icmp_send() 861 struct icmphdr *icmph; icmp_unreach() local 1069 struct icmphdr *icmph; icmp_rcv() local 1219 struct icmphdr *icmph = (struct icmphdr *)(skb->data + offset); icmp_err() local [all...] |
H A D | ping.c | 485 struct icmphdr *icmph; in ping_err() local 498 icmph = (struct icmphdr *)(skb->data + offset); in ping_err() 503 icmph = (struct icmphdr *) (skb->data + offset); in ping_err() 510 if (!ping_supported(family, icmph->type, icmph->code)) in ping_err() 514 skb->protocol, type, code, ntohs(icmph->un.echo.id), in ping_err() 515 ntohs(icmph->un.echo.sequence)); in ping_err() 517 sk = ping_lookup(net, skb, ntohs(icmph->un.echo.id)); in ping_err() 583 info, (u8 *)icmph); in ping_err() 587 info, (u8 *)icmph); in ping_err() 972 struct icmphdr *icmph = icmp_hdr(skb); ping_rcv() local [all...] |
/kernel/linux/linux-5.10/net/batman-adv/ |
H A D | routing.c | 224 struct batadv_icmp_header *icmph; in batadv_recv_my_icmp_packet() local 227 icmph = (struct batadv_icmp_header *)skb->data; in batadv_recv_my_icmp_packet() 229 switch (icmph->msg_type) { in batadv_recv_my_icmp_packet() 237 batadv_socket_receive_packet(icmph, skb->len); in batadv_recv_my_icmp_packet() 246 orig_node = batadv_orig_hash_find(bat_priv, icmph->orig); in batadv_recv_my_icmp_packet() 254 icmph = (struct batadv_icmp_header *)skb->data; in batadv_recv_my_icmp_packet() 256 ether_addr_copy(icmph->dst, icmph->orig); in batadv_recv_my_icmp_packet() 257 ether_addr_copy(icmph->orig, primary_if->net_dev->dev_addr); in batadv_recv_my_icmp_packet() 258 icmph in batadv_recv_my_icmp_packet() 358 struct batadv_icmp_header *icmph; batadv_recv_icmp_packet() local [all...] |
H A D | icmp_socket.c | 47 struct batadv_icmp_header *icmph, 325 * @icmph: pointer to the header of the icmp packet 329 struct batadv_icmp_header *icmph, in batadv_socket_add_packet() 346 memcpy(&socket_packet->icmp_packet, icmph, len); in batadv_socket_add_packet() 354 if (!batadv_socket_client_hash[icmph->uid]) { in batadv_socket_add_packet() 381 * @icmph: pointer to the header of the icmp packet 384 void batadv_socket_receive_packet(struct batadv_icmp_header *icmph, in batadv_socket_receive_packet() argument 389 hash = batadv_socket_client_hash[icmph->uid]; in batadv_socket_receive_packet() 391 batadv_socket_add_packet(hash, icmph, icmp_len); in batadv_socket_receive_packet() 328 batadv_socket_add_packet(struct batadv_socket_client *socket_client, struct batadv_icmp_header *icmph, size_t icmp_len) batadv_socket_add_packet() argument
|
H A D | icmp_socket.h | 22 void batadv_socket_receive_packet(struct batadv_icmp_header *icmph, 32 batadv_socket_receive_packet(struct batadv_icmp_header *icmph, size_t icmp_len) in batadv_socket_receive_packet() argument
|
/kernel/linux/linux-6.6/net/batman-adv/ |
H A D | routing.c | 221 struct batadv_icmp_header *icmph; in batadv_recv_my_icmp_packet() local 224 icmph = (struct batadv_icmp_header *)skb->data; in batadv_recv_my_icmp_packet() 226 switch (icmph->msg_type) { in batadv_recv_my_icmp_packet() 234 orig_node = batadv_orig_hash_find(bat_priv, icmph->orig); in batadv_recv_my_icmp_packet() 242 icmph = (struct batadv_icmp_header *)skb->data; in batadv_recv_my_icmp_packet() 244 ether_addr_copy(icmph->dst, icmph->orig); in batadv_recv_my_icmp_packet() 245 ether_addr_copy(icmph->orig, primary_if->net_dev->dev_addr); in batadv_recv_my_icmp_packet() 246 icmph->msg_type = BATADV_ECHO_REPLY; in batadv_recv_my_icmp_packet() 247 icmph in batadv_recv_my_icmp_packet() 342 struct batadv_icmp_header *icmph; batadv_recv_icmp_packet() local [all...] |
/kernel/linux/linux-5.10/net/sched/ |
H A D | act_nat.c | 199 struct icmphdr *icmph; in tcf_nat_act() local 201 if (!pskb_may_pull(skb, ihl + sizeof(*icmph) + noff)) in tcf_nat_act() 204 icmph = (void *)(skb_network_header(skb) + ihl); in tcf_nat_act() 206 if (!icmp_is_err(icmph->type)) in tcf_nat_act() 209 if (!pskb_may_pull(skb, ihl + sizeof(*icmph) + sizeof(*iph) + in tcf_nat_act() 213 icmph = (void *)(skb_network_header(skb) + ihl); in tcf_nat_act() 214 iph = (void *)(icmph + 1); in tcf_nat_act() 223 if (skb_try_make_writable(skb, ihl + sizeof(*icmph) + in tcf_nat_act() 227 icmph = (void *)(skb_network_header(skb) + ihl); in tcf_nat_act() 228 iph = (void *)(icmph in tcf_nat_act() [all...] |
/kernel/linux/linux-5.10/net/bridge/ |
H A D | br_arp_nd_proxy.c | 241 if (m->icmph.icmp6_code != 0 || in br_is_nd_neigh_msg() 242 (m->icmph.icmp6_type != NDISC_NEIGHBOUR_SOLICITATION && in br_is_nd_neigh_msg() 243 m->icmph.icmp6_type != NDISC_NEIGHBOUR_ADVERTISEMENT)) in br_is_nd_neigh_msg() 323 na->icmph.icmp6_type = NDISC_NEIGHBOUR_ADVERTISEMENT; in br_nd_send() 324 na->icmph.icmp6_router = (n->flags & NTF_ROUTER) ? 1 : 0; in br_nd_send() 325 na->icmph.icmp6_override = 1; in br_nd_send() 326 na->icmph.icmp6_solicited = 1; in br_nd_send() 332 na->icmph.icmp6_cksum = csum_ipv6_magic(&pip6->saddr, in br_nd_send() 413 if (msg->icmph.icmp6_type == NDISC_NEIGHBOUR_ADVERTISEMENT && in br_do_suppress_nd() 414 !msg->icmph in br_do_suppress_nd() [all...] |
/kernel/linux/linux-6.6/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 in tcf_nat_act() [all...] |
/kernel/linux/linux-6.6/net/bridge/ |
H A D | br_arp_nd_proxy.c | 241 if (m->icmph.icmp6_code != 0 || in br_is_nd_neigh_msg() 242 (m->icmph.icmp6_type != NDISC_NEIGHBOUR_SOLICITATION && in br_is_nd_neigh_msg() 243 m->icmph.icmp6_type != NDISC_NEIGHBOUR_ADVERTISEMENT)) in br_is_nd_neigh_msg() 323 na->icmph.icmp6_type = NDISC_NEIGHBOUR_ADVERTISEMENT; in br_nd_send() 324 na->icmph.icmp6_router = (n->flags & NTF_ROUTER) ? 1 : 0; in br_nd_send() 325 na->icmph.icmp6_override = 1; in br_nd_send() 326 na->icmph.icmp6_solicited = 1; in br_nd_send() 332 na->icmph.icmp6_cksum = csum_ipv6_magic(&pip6->saddr, in br_nd_send() 413 if (msg->icmph.icmp6_type == NDISC_NEIGHBOUR_ADVERTISEMENT && in br_do_suppress_nd() 414 !msg->icmph in br_do_suppress_nd() [all...] |
/kernel/linux/linux-5.10/net/ipv4/netfilter/ |
H A D | nf_socket_ipv4.c | 26 struct icmphdr *icmph, _icmph; in extract_icmp4_fields() local 29 icmph = skb_header_pointer(skb, outside_hdrlen, in extract_icmp4_fields() 31 if (icmph == NULL) in extract_icmp4_fields() 34 if (!icmp_is_err(icmph->type)) in extract_icmp4_fields()
|
/kernel/linux/linux-5.10/net/ipv6/netfilter/ |
H A D | nf_socket_ipv6.c | 31 struct icmp6hdr *icmph, _icmph; in extract_icmp6_fields() local 37 icmph = skb_header_pointer(skb, outside_hdrlen, in extract_icmp6_fields() 39 if (icmph == NULL) in extract_icmp6_fields() 42 if (icmph->icmp6_type & ICMPV6_INFOMSG_MASK) in extract_icmp6_fields()
|
/kernel/linux/linux-6.6/net/ipv4/netfilter/ |
H A D | nf_socket_ipv4.c | 26 struct icmphdr *icmph, _icmph; in extract_icmp4_fields() local 29 icmph = skb_header_pointer(skb, outside_hdrlen, in extract_icmp4_fields() 31 if (icmph == NULL) in extract_icmp4_fields() 34 if (!icmp_is_err(icmph->type)) in extract_icmp4_fields()
|
H A D | nf_reject_ipv4.c | 81 struct icmphdr *icmph; in nf_reject_skb_v4_unreach() local 123 icmph = skb_put_zero(nskb, sizeof(struct icmphdr)); in nf_reject_skb_v4_unreach() 124 icmph->type = ICMP_DEST_UNREACH; in nf_reject_skb_v4_unreach() 125 icmph->code = code; in nf_reject_skb_v4_unreach() 129 csum = csum_partial((void *)icmph, len + sizeof(struct icmphdr), 0); in nf_reject_skb_v4_unreach() 130 icmph->checksum = csum_fold(csum); in nf_reject_skb_v4_unreach()
|
/kernel/linux/linux-6.6/net/ipv6/netfilter/ |
H A D | nf_socket_ipv6.c | 31 struct icmp6hdr *icmph, _icmph; in extract_icmp6_fields() local 37 icmph = skb_header_pointer(skb, outside_hdrlen, in extract_icmp6_fields() 39 if (icmph == NULL) in extract_icmp6_fields() 42 if (icmph->icmp6_type & ICMPV6_INFOMSG_MASK) in extract_icmp6_fields()
|
/kernel/linux/linux-5.10/net/ipv6/ |
H A D | ping.c | 131 pfh.icmph.type = user_icmph.icmp6_type; in ping_v6_sendmsg() 132 pfh.icmph.code = user_icmph.icmp6_code; in ping_v6_sendmsg() 133 pfh.icmph.checksum = 0; in ping_v6_sendmsg() 134 pfh.icmph.un.echo.id = inet->inet_sport; in ping_v6_sendmsg() 135 pfh.icmph.un.echo.sequence = user_icmph.icmp6_sequence; in ping_v6_sendmsg() 153 (struct icmp6hdr *)&pfh.icmph, len); in ping_v6_sendmsg()
|
/kernel/linux/linux-5.10/net/netfilter/ |
H A D | nf_conntrack_proto_icmp.c | 210 const struct icmphdr *icmph; in nf_conntrack_icmpv4_error() local 214 icmph = skb_header_pointer(skb, dataoff, sizeof(_ih), &_ih); in nf_conntrack_icmpv4_error() 215 if (icmph == NULL) { in nf_conntrack_icmpv4_error() 234 if (icmph->type > NR_ICMP_TYPES) { in nf_conntrack_icmpv4_error() 240 if (!icmp_is_err(icmph->type)) in nf_conntrack_icmpv4_error() 246 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()
|
/kernel/linux/linux-6.6/net/ipv6/ |
H A D | ping.c | 164 pfh.icmph.type = user_icmph.icmp6_type; in ping_v6_sendmsg() 165 pfh.icmph.code = user_icmph.icmp6_code; in ping_v6_sendmsg() 166 pfh.icmph.checksum = 0; in ping_v6_sendmsg() 167 pfh.icmph.un.echo.id = inet->inet_sport; in ping_v6_sendmsg() 168 pfh.icmph.un.echo.sequence = user_icmph.icmp6_sequence; in ping_v6_sendmsg() 187 (struct icmp6hdr *)&pfh.icmph, len); in ping_v6_sendmsg()
|
/kernel/linux/linux-6.6/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()
|