Lines Matching defs:tuple

511 static uint64_t fill_tuple(struct bpf_sock_tuple *tuple, void *iph,
517 tuple->ipv4.daddr = ipv4->daddr;
518 tuple->ipv4.saddr = ipv4->saddr;
519 tuple->ipv4.sport = sport;
520 tuple->ipv4.dport = dport;
521 return sizeof(tuple->ipv4);
526 memcpy(&tuple->ipv6.daddr, &ipv6->daddr,
527 sizeof(tuple->ipv6.daddr));
528 memcpy(&tuple->ipv6.saddr, &ipv6->saddr,
529 sizeof(tuple->ipv6.saddr));
530 tuple->ipv6.sport = sport;
531 tuple->ipv6.dport = dport;
532 return sizeof(tuple->ipv6);
540 static verdict_t classify_tcp(struct __sk_buff *skb, struct bpf_sock_tuple *tuple,
544 bpf_skc_lookup_tcp(skb, tuple, tuplen, BPF_F_CURRENT_NETNS, 0);
558 if (tuplen == sizeof(tuple->ipv6))
572 static verdict_t classify_udp(struct __sk_buff *skb, struct bpf_sock_tuple *tuple, uint64_t tuplen)
575 bpf_sk_lookup_udp(skb, tuple, tuplen, BPF_F_CURRENT_NETNS, 0);
589 static verdict_t classify_icmp(struct __sk_buff *skb, uint8_t proto, struct bpf_sock_tuple *tuple,
594 return classify_tcp(skb, tuple, tuplen, NULL, NULL);
597 return classify_udp(skb, tuple, tuplen);
639 * the correct flow tuple.
641 struct bpf_sock_tuple tuple;
642 tuple.ipv4.saddr = ipv4.daddr;
643 tuple.ipv4.daddr = ipv4.saddr;
645 if (!pkt_parse_icmp_l4_ports(dynptr, offset, (flow_ports_t *)&tuple.ipv4.sport)) {
650 return classify_icmp(skb, ipv4.protocol, &tuple,
651 sizeof(tuple.ipv4), metrics);
657 struct bpf_sock_tuple tuple;
694 memcpy(&tuple.ipv6.saddr, &ipv6.daddr, sizeof(tuple.ipv6.saddr));
695 memcpy(&tuple.ipv6.daddr, &ipv6.saddr, sizeof(tuple.ipv6.daddr));
697 if (!pkt_parse_icmp_l4_ports(dynptr, offset, (flow_ports_t *)&tuple.ipv6.sport)) {
702 return classify_icmp(skb, l4_proto, &tuple, sizeof(tuple.ipv6),
709 struct bpf_sock_tuple tuple;
725 tuplen = fill_tuple(&tuple, info->hdr, info->len, tcp.source, tcp.dest);
726 return classify_tcp(skb, &tuple, tuplen, info->hdr, &tcp);
732 struct bpf_sock_tuple tuple;
744 tuplen = fill_tuple(&tuple, info->hdr, info->len, udph.source, udph.dest);
745 return classify_udp(skb, &tuple, tuplen);