Home | History | Annotate | Download | only in bpf

Lines Matching refs:data_end

243 bool parse_udp(void *data, void *data_end,
252 if (udp + 1 > data_end)
265 bool parse_tcp(void *data, void *data_end,
274 if (tcp + 1 > data_end)
297 void *data_end;
303 data_end = (void *)(long)xdp->data_end;
307 if (new_eth + 1 > data_end ||
308 old_eth + 1 > data_end || ip6h + 1 > data_end)
343 void *data_end;
351 data_end = (void *)(long)xdp->data_end;
355 if (new_eth + 1 > data_end ||
356 old_eth + 1 > data_end || iph + 1 > data_end)
386 bool decap_v6(struct xdp_md *xdp, void **data, void **data_end, bool inner_v4)
402 *data_end = (void *)(long)xdp->data_end;
407 bool decap_v4(struct xdp_md *xdp, void **data, void **data_end)
420 *data_end = (void *)(long)xdp->data_end;
425 int swap_mac_and_send(void *data, void *data_end)
438 int send_icmp_reply(void *data, void *data_end)
449 + sizeof(struct iphdr) + sizeof(struct icmphdr) > data_end)
467 return swap_mac_and_send(data, data_end);
471 int send_icmp6_reply(void *data, void *data_end)
479 + sizeof(struct ipv6hdr) + sizeof(struct icmp6hdr) > data_end)
491 return swap_mac_and_send(data, data_end);
495 int parse_icmpv6(void *data, void *data_end, __u64 off,
502 if (icmp_hdr + 1 > data_end)
505 return send_icmp6_reply(data, data_end);
510 if (ip6h + 1 > data_end)
520 int parse_icmp(void *data, void *data_end, __u64 off,
527 if (icmp_hdr + 1 > data_end)
530 return send_icmp_reply(data, data_end);
535 if (iph + 1 > data_end)
642 void *data_end)
649 if (ip6h + 1 > data_end)
659 action = parse_icmpv6(data, data_end, off, pckt);
673 void *data_end)
680 if (iph + 1 > data_end)
691 action = parse_icmp(data, data_end, off, pckt);
702 static int process_packet(void *data, __u64 off, void *data_end,
725 &pkt_bytes, data, data_end);
728 &pkt_bytes, data, data_end);
733 if (!parse_tcp(data, data_end, is_ipv6, &pckt))
736 if (!parse_udp(data, data_end, is_ipv6, &pckt))
757 if (data_end - data > 1400)
804 data_end = (void *)(long)xdp->data_end;
805 if (data + 4 > data_end)
815 void *data_end = (void *)(long)ctx->data_end;
821 if (data + nh_off > data_end)
825 return process_packet(data, nh_off, data_end, 0, ctx);
827 return process_packet(data, nh_off, data_end, 1, ctx);