Lines Matching refs:data_end

233 bool parse_udp(void *data, void *data_end,  in parse_udp()  argument
242 if (udp + 1 > data_end) in parse_udp()
255 bool parse_tcp(void *data, void *data_end, in parse_tcp() argument
264 if (tcp + 1 > data_end) in parse_tcp()
287 void *data_end; in encap_v6() local
293 data_end = (void *)(long)xdp->data_end; in encap_v6()
297 if (new_eth + 1 > data_end || in encap_v6()
298 old_eth + 1 > data_end || ip6h + 1 > data_end) in encap_v6()
341 void *data_end; in encap_v4() local
349 data_end = (void *)(long)xdp->data_end; in encap_v4()
353 if (new_eth + 1 > data_end || in encap_v4()
354 old_eth + 1 > data_end || iph + 1 > data_end) in encap_v4()
388 int swap_mac_and_send(void *data, void *data_end) in swap_mac_and_send() argument
401 int send_icmp_reply(void *data, void *data_end) in send_icmp_reply() argument
411 + sizeof(struct iphdr) + sizeof(struct icmphdr) > data_end) in send_icmp_reply()
429 return swap_mac_and_send(data, data_end); in send_icmp_reply()
433 int send_icmp6_reply(void *data, void *data_end) in send_icmp6_reply() argument
441 + sizeof(struct ipv6hdr) + sizeof(struct icmp6hdr) > data_end) in send_icmp6_reply()
453 return swap_mac_and_send(data, data_end); in send_icmp6_reply()
457 int parse_icmpv6(void *data, void *data_end, __u64 off, in parse_icmpv6() argument
464 if (icmp_hdr + 1 > data_end) in parse_icmpv6()
467 return send_icmp6_reply(data, data_end); in parse_icmpv6()
472 if (ip6h + 1 > data_end) in parse_icmpv6()
482 int parse_icmp(void *data, void *data_end, __u64 off, in parse_icmp() argument
489 if (icmp_hdr + 1 > data_end) in parse_icmp()
492 return send_icmp_reply(data, data_end); in parse_icmp()
497 if (iph + 1 > data_end) in parse_icmp()
609 void *data_end = extra_args[1]; in process_l3_headers_v6() local
612 if (ip6h + 1 > data_end) in process_l3_headers_v6()
622 action = parse_icmpv6(data, data_end, off, pckt); in process_l3_headers_v6()
640 void *data_end = extra_args[1]; in process_l3_headers_v4() local
643 if (iph + 1 > data_end) in process_l3_headers_v4()
654 action = parse_icmp(data, data_end, off, pckt); in process_l3_headers_v4()
665 static int process_packet(void *data, __u64 off, void *data_end, in process_packet() argument
683 void *extra_args[2] = { data, data_end }; in process_packet()
695 if (!parse_tcp(data, data_end, is_ipv6, &pckt)) in process_packet()
698 if (!parse_udp(data, data_end, is_ipv6, &pckt)) in process_packet()
719 if (data_end - data > 1400) in process_packet()
766 data_end = (void *)(long)xdp->data_end; in process_packet()
767 if (data + 4 > data_end) in process_packet()
777 void *data_end = (void *)(long)ctx->data_end; in balancer_ingress_v4() local
783 if (data + nh_off > data_end) in balancer_ingress_v4()
787 return process_packet(data, nh_off, data_end, 0, ctx); in balancer_ingress_v4()
796 void *data_end = (void *)(long)ctx->data_end; in balancer_ingress_v6() local
802 if (data + nh_off > data_end) in balancer_ingress_v6()
806 return process_packet(data, nh_off, data_end, 1, ctx); in balancer_ingress_v6()