| /linux-6.15/tools/testing/selftests/bpf/progs/ |
| H A D | test_sk_lookup_kern.c | 61 struct bpf_sock_tuple *tuple; in sk_lookup_success() local 70 if (!tuple || tuple + sizeof *tuple > data_end) in sk_lookup_success() 73 tuple_len = ipv4 ? sizeof(tuple->ipv4) : sizeof(tuple->ipv6); in sk_lookup_success() 87 sk = bpf_sk_lookup_tcp(skb, &tuple, sizeof(tuple), BPF_F_CURRENT_NETNS, 0); in sk_lookup_success_simple() 100 sk = bpf_sk_lookup_tcp(skb, &tuple, sizeof(tuple), BPF_F_CURRENT_NETNS, 0); in err_use_after_free() 114 sk = bpf_sk_lookup_tcp(skb, &tuple, sizeof(tuple), BPF_F_CURRENT_NETNS, 0); in err_modify_sk_pointer() 128 sk = bpf_sk_lookup_tcp(skb, &tuple, sizeof(tuple), BPF_F_CURRENT_NETNS, 0); in err_modify_sk_or_null_pointer() 140 bpf_sk_lookup_tcp(skb, &tuple, sizeof(tuple), BPF_F_CURRENT_NETNS, 0); in err_no_release() 150 sk = bpf_sk_lookup_tcp(skb, &tuple, sizeof(tuple), BPF_F_CURRENT_NETNS, 0); in err_release_twice() 162 sk = bpf_sk_lookup_tcp(skb, &tuple, sizeof(tuple), BPF_F_CURRENT_NETNS, 0); in err_release_unchecked() [all …]
|
| H A D | connect6_prog.c | 30 struct bpf_sock_tuple tuple = {}; in connect_v6_prog() local 35 memset(&tuple.ipv6.saddr, 0, sizeof(tuple.ipv6.saddr)); in connect_v6_prog() 36 memset(&tuple.ipv6.sport, 0, sizeof(tuple.ipv6.sport)); in connect_v6_prog() 38 tuple.ipv6.daddr[0] = bpf_htonl(DST_REWRITE_IP6_0); in connect_v6_prog() 43 tuple.ipv6.dport = bpf_htons(DST_REWRITE_PORT6); in connect_v6_prog() 48 sk = bpf_sk_lookup_tcp(ctx, &tuple, sizeof(tuple.ipv6), in connect_v6_prog() 51 sk = bpf_sk_lookup_udp(ctx, &tuple, sizeof(tuple.ipv6), in connect_v6_prog() 57 if (sk->src_ip6[0] != tuple.ipv6.daddr[0] || in connect_v6_prog() 58 sk->src_ip6[1] != tuple.ipv6.daddr[1] || in connect_v6_prog() 59 sk->src_ip6[2] != tuple.ipv6.daddr[2] || in connect_v6_prog() [all …]
|
| H A D | xdp_flowtable.c | 71 struct bpf_fib_lookup tuple = { in xdp_flowtable_do_lookup() local 98 tuple.family = AF_INET; in xdp_flowtable_do_lookup() 99 tuple.tos = iph->tos; in xdp_flowtable_do_lookup() 100 tuple.l4_protocol = iph->protocol; in xdp_flowtable_do_lookup() 102 tuple.ipv4_src = iph->saddr; in xdp_flowtable_do_lookup() 103 tuple.ipv4_dst = iph->daddr; in xdp_flowtable_do_lookup() 104 tuple.sport = ports->source; in xdp_flowtable_do_lookup() 105 tuple.dport = ports->dest; in xdp_flowtable_do_lookup() 124 tuple.family = AF_INET6; in xdp_flowtable_do_lookup() 129 tuple.sport = ports->source; in xdp_flowtable_do_lookup() [all …]
|
| H A D | test_sk_assign.c | 110 tuple_len = ipv4 ? sizeof(tuple->ipv4) : sizeof(tuple->ipv6); in handle_udp() 111 if ((void *)tuple + tuple_len > (void *)(long)skb->data_end) in handle_udp() 118 dport = ipv4 ? tuple->ipv4.dport : tuple->ipv6.dport; in handle_udp() 141 tuple_len = ipv4 ? sizeof(tuple->ipv4) : sizeof(tuple->ipv6); in handle_tcp() 142 if ((void *)tuple + tuple_len > (void *)(long)skb->data_end) in handle_tcp() 152 dport = ipv4 ? tuple->ipv4.dport : tuple->ipv6.dport; in handle_tcp() 174 struct bpf_sock_tuple *tuple; in bpf_sk_assign_test() local 179 tuple = get_tuple(skb, &ipv4, &tcp); in bpf_sk_assign_test() 180 if (!tuple) in bpf_sk_assign_test() 189 ret = handle_tcp(skb, tuple, ipv4); in bpf_sk_assign_test() [all …]
|
| H A D | cgroup_skb_sk_lookup_kern.c | 29 static inline void set_tuple(struct bpf_sock_tuple *tuple, in set_tuple() argument 33 set_ip(tuple->ipv6.saddr, &ip6h->daddr); in set_tuple() 34 set_ip(tuple->ipv6.daddr, &ip6h->saddr); in set_tuple() 35 tuple->ipv6.sport = tcph->dest; in set_tuple() 36 tuple->ipv6.dport = tcph->source; in set_tuple() 44 struct bpf_sock_tuple tuple; in is_allowed_peer_cg() local 45 size_t tuple_len = sizeof(tuple.ipv6); in is_allowed_peer_cg() 48 set_tuple(&tuple, ip6h, tcph); in is_allowed_peer_cg() 50 peer_sk = bpf_sk_lookup_tcp(skb, &tuple, tuple_len, in is_allowed_peer_cg()
|
| H A D | test_cls_redirect_dynptr.c | 519 tuple->ipv4.sport = sport; in fill_tuple() 520 tuple->ipv4.dport = dport; in fill_tuple() 521 return sizeof(tuple->ipv4); in fill_tuple() 530 tuple->ipv6.sport = sport; in fill_tuple() 531 tuple->ipv6.dport = dport; in fill_tuple() 532 return sizeof(tuple->ipv6); in fill_tuple() 641 struct bpf_sock_tuple tuple; in process_icmpv4() local 657 struct bpf_sock_tuple tuple; in process_icmpv6() local 694 memcpy(&tuple.ipv6.saddr, &ipv6.daddr, sizeof(tuple.ipv6.saddr)); in process_icmpv6() 695 memcpy(&tuple.ipv6.daddr, &ipv6.saddr, sizeof(tuple.ipv6.daddr)); in process_icmpv6() [all …]
|
| H A D | test_cls_redirect.c | 629 tuple->ipv4.sport = sport; in fill_tuple() 630 tuple->ipv4.dport = dport; in fill_tuple() 631 return sizeof(tuple->ipv4); in fill_tuple() 640 tuple->ipv6.sport = sport; in fill_tuple() 641 tuple->ipv6.dport = dport; in fill_tuple() 642 return sizeof(tuple->ipv6); in fill_tuple() 752 struct bpf_sock_tuple tuple; in process_icmpv4() local 804 struct bpf_sock_tuple tuple; in process_icmpv6() local 805 memcpy(&tuple.ipv6.saddr, &ipv6->daddr, sizeof(tuple.ipv6.saddr)); in process_icmpv6() 806 memcpy(&tuple.ipv6.daddr, &ipv6->saddr, sizeof(tuple.ipv6.daddr)); in process_icmpv6() [all …]
|
| /linux-6.15/drivers/pcmcia/ |
| H A D | cistpl.c | 454 tuple->TupleLink = tuple->Flags = 0; in pccard_get_first_tuple() 457 tuple->CISOffset = tuple->LinkOffset = 0; in pccard_get_first_tuple() 468 tuple->CISOffset = tuple->TupleLink = 0; in pccard_get_first_tuple() 493 SPACE(tuple->Flags) = LINK_SPACE(tuple->Flags); in follow_link() 534 ofs = tuple->CISOffset + tuple->TupleLink; in pccard_get_next_tuple() 641 if (tuple->TupleLink < tuple->TupleOffset) in pccard_get_tuple_data() 643 len = tuple->TupleLink - tuple->TupleOffset; in pccard_get_tuple_data() 644 tuple->TupleDataLen = tuple->TupleLink; in pccard_get_tuple_data() 648 tuple->CISOffset + tuple->TupleOffset, in pccard_get_tuple_data() 1292 if (tuple->TupleDataLen > tuple->TupleDataMax) in pcmcia_parse_tuple() [all …]
|
| H A D | pcmcia_cis.c | 38 tuple_t tuple; in pccard_read_tuple() local 48 tuple.Attributes = 0; in pccard_read_tuple() 54 tuple.TupleData = buf; in pccard_read_tuple() 55 tuple.TupleOffset = 0; in pccard_read_tuple() 88 tuple_t tuple; in pccard_loop_tuple() local 98 tuple.TupleData = buf; in pccard_loop_tuple() 100 tuple.TupleOffset = 0; in pccard_loop_tuple() 102 tuple.Attributes = 0; in pccard_loop_tuple() 289 tuple_t *tuple, 321 tuple_t *tuple, in pcmcia_loop_tuple() argument [all …]
|
| /linux-6.15/drivers/ssb/ |
| H A D | sdio.c | 477 struct sdio_func_tuple *tuple; in ssb_sdio_get_invariants() local 485 while (tuple) { in ssb_sdio_get_invariants() 486 switch (tuple->code) { in ssb_sdio_get_invariants() 488 switch (tuple->data[0]) { in ssb_sdio_get_invariants() 494 mac = tuple->data + 2; in ssb_sdio_get_invariants() 503 switch (tuple->data[0]) { in ssb_sdio_get_invariants() 511 (tuple->size != 7), in ssb_sdio_get_invariants() 514 (tuple->data[2]<<8); in ssb_sdio_get_invariants() 523 (tuple->size != 10), in ssb_sdio_get_invariants() 560 (tuple->size != 5), in ssb_sdio_get_invariants() [all …]
|
| H A D | pcmcia.c | 597 tuple_t *tuple, in ssb_pcmcia_get_mac() argument 613 tuple_t *tuple, in ssb_pcmcia_do_get_invariants() argument 622 switch (tuple->TupleData[0]) { in ssb_pcmcia_do_get_invariants() 625 (tuple->TupleDataLen != 7), in ssb_pcmcia_do_get_invariants() 628 ((u16)tuple->TupleData[2] << 8); in ssb_pcmcia_do_get_invariants() 637 (tuple->TupleDataLen != 10), in ssb_pcmcia_do_get_invariants() 640 ((u16)tuple->TupleData[2] << 8); in ssb_pcmcia_do_get_invariants() 642 ((u16)tuple->TupleData[4] << 8); in ssb_pcmcia_do_get_invariants() 644 ((u16)tuple->TupleData[6] << 8); in ssb_pcmcia_do_get_invariants() 674 (tuple->TupleDataLen != 5), in ssb_pcmcia_do_get_invariants() [all …]
|
| /linux-6.15/net/ipv4/netfilter/ |
| H A D | nf_nat_h323.c | 123 tuple.dst.u3, in set_sig_addr() 135 tuple.src.u3, in set_sig_addr() 309 &exp->tuple.src.u3.ip, in nat_t120() 311 &exp->tuple.dst.u3.ip, in nat_t120() 356 &exp->tuple.src.u3.ip, in nat_h245() 358 &exp->tuple.dst.u3.ip, in nat_h245() 448 &exp->tuple.src.u3.ip, in nat_q931() 450 &exp->tuple.dst.u3.ip, in nat_q931() 491 exp->tuple.dst.u3.ip = ct->tuplehash[!dir].tuple.dst.u3.ip; in nat_callforwarding() 512 &exp->tuple.src.u3.ip, in nat_callforwarding() [all …]
|
| /linux-6.15/net/netfilter/ |
| H A D | nf_flow_table_ip.c | 241 tuple->l3proto = AF_INET; in nf_flow_tuple_ip() 242 tuple->l4proto = ipproto; in nf_flow_tuple_ip() 267 return dst_check(tuple->dst_cache, tuple->dst_cookie); in nf_flow_dst_check() 380 dir = tuplehash->tuple.dir; in nf_flow_offload_forward() 451 dir = tuplehash->tuple.dir; in nf_flow_offload_ip_hook() 639 tuple->src_v6 = ip6h->saddr; in nf_flow_tuple_ipv6() 640 tuple->dst_v6 = ip6h->daddr; in nf_flow_tuple_ipv6() 641 tuple->l3proto = AF_INET6; in nf_flow_tuple_ipv6() 642 tuple->l4proto = nexthdr; in nf_flow_tuple_ipv6() 659 dir = tuplehash->tuple.dir; in nf_flow_offload_ipv6_forward() [all …]
|
| H A D | nf_nat_sip.c | 189 &ct->tuplehash[dir].tuple.src.u3) || in nf_nat_sip() 194 &ct->tuplehash[dir].tuple.dst.u3) || in nf_nat_sip() 216 &ct->tuplehash[!dir].tuple.dst.u3, in nf_nat_sip() 233 &ct->tuplehash[!dir].tuple.src.u3, in nf_nat_sip() 342 pair_exp->tuple.dst.protonum == ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple.dst.protonum && in nf_nat_sip_expected() 393 newaddr = exp->tuple.dst.u3; in nf_nat_sip_expect() 407 exp->saved_addr = exp->tuple.dst.u3; in nf_nat_sip_expect() 408 exp->tuple.dst.u3 = newaddr; in nf_nat_sip_expect() 576 *rtp_addr = rtp_exp->tuple.dst.u3; in nf_nat_sdp_media() 581 rtp_exp->tuple.dst.u3 = *rtp_addr; in nf_nat_sdp_media() [all …]
|
| H A D | nf_nat_proto.c | 48 newport = tuple->src.u.udp.port; in __udp_manip_pkt() 52 newport = tuple->dst.u.udp.port; in __udp_manip_pkt() 322 switch (tuple->dst.protonum) { in l4proto_manip_pkt() 325 tuple, maniptype); in l4proto_manip_pkt() 328 tuple, maniptype); in l4proto_manip_pkt() 331 tuple, maniptype); in l4proto_manip_pkt() 334 tuple, maniptype); in l4proto_manip_pkt() 337 tuple, maniptype); in l4proto_manip_pkt() 340 tuple, maniptype); in l4proto_manip_pkt() 343 tuple, maniptype); in l4proto_manip_pkt() [all …]
|
| H A D | nf_nat_core.c | 173 combined.src = tuple->src; in hash_by_src() 432 port = tuple->src.u.all; in l4proto_in_range() 434 port = tuple->dst.u.all; in l4proto_in_range() 487 if (same_src(ct, tuple) && in find_appropriate_src() 493 result->dst = tuple->dst; in find_appropriate_src() 526 var_ipp = &tuple->src.u3; in find_best_ips_proto() 528 var_ipp = &tuple->dst.u3; in find_best_ips_proto() 548 j = jhash2((u32 *)&tuple->src.u3, sizeof(tuple->src.u3) / sizeof(u32), in find_best_ips_proto() 631 keyptr = &tuple->src.u.all; in nf_nat_l4proto_unique_tuple() 731 *tuple = *orig_tuple; in get_unique_tuple() [all …]
|
| H A D | nf_conntrack_expect.c | 97 combined.dst_addr = tuple->dst.u3; in nf_ct_expect_dst_hash() 114 return nf_ct_tuple_mask_cmp(tuple, &i->tuple, &i->mask) && in nf_ct_exp_equal() 262 return nf_ct_tuple_mask_cmp(&a->tuple, &b->tuple, &intersect_mask) && in expect_clash() 270 return nf_ct_tuple_equal(&a->tuple, &b->tuple) && in expect_matches() 329 exp->tuple.src.l3num = family; in nf_ct_expect_init() 343 memset(&exp->tuple.src.u3, 0x00, sizeof(exp->tuple.src.u3)); in nf_ct_expect_init() 348 exp->tuple.src.u.all = *src; in nf_ct_expect_init() 351 exp->tuple.src.u.all = 0; in nf_ct_expect_init() 361 exp->tuple.dst.u.all = *dst; in nf_ct_expect_init() 641 expect->tuple.src.l3num, in exp_seq_show() [all …]
|
| H A D | xt_conntrack.c | 79 const struct nf_conntrack_tuple *tuple; in ct_proto_port_check() local 81 tuple = &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple; in ct_proto_port_check() 89 (tuple->src.u.all == info->origsrc_port) ^ in ct_proto_port_check() 98 tuple = &ct->tuplehash[IP_CT_DIR_REPLY].tuple; in ct_proto_port_check() 123 const struct nf_conntrack_tuple *tuple; in ct_proto_port_check_v3() local 125 tuple = &ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple; in ct_proto_port_check_v3() 134 ntohs(tuple->src.u.all), in ct_proto_port_check_v3() 140 ntohs(tuple->dst.u.all), in ct_proto_port_check_v3() 144 tuple = &ct->tuplehash[IP_CT_DIR_REPLY].tuple; in ct_proto_port_check_v3() 148 ntohs(tuple->src.u.all), in ct_proto_port_check_v3() [all …]
|
| H A D | nf_conntrack_h323_main.c | 321 nf_ct_dump_tuple(&exp->tuple); in expect_t120() 582 .tuple.src.l3num = AF_UNSPEC, 1146 .tuple.src.l3num = AF_INET, 1155 .tuple.src.l3num = AF_INET6, 1191 memset(&tuple.src.u3, 0, sizeof(tuple.src.u3)); in find_expect() 1192 tuple.src.u.tcp.port = 0; in find_expect() 1193 memcpy(&tuple.dst.u3, addr, sizeof(tuple.dst.u3)); in find_expect() 1194 tuple.dst.u.tcp.port = port; in find_expect() 1312 nf_ct_dump_tuple(&exp->tuple); in process_gcf() 1717 .tuple.src.l3num = AF_INET, [all …]
|
| H A D | nf_flow_table_offload.c | 119 if (tuple->encap_num > 0 && !(tuple->in_vlan_ingress & BIT(0)) && in nf_flow_rule_match() 123 tuple->encap[0].id, in nf_flow_rule_match() 124 tuple->encap[0].proto); in nf_flow_rule_match() 128 if (tuple->encap_num > 1 && !(tuple->in_vlan_ingress & BIT(1)) && in nf_flow_rule_match() 134 tuple->encap[1].id, in nf_flow_rule_match() 140 tuple->encap[1].id, in nf_flow_rule_match() 145 switch (tuple->l3proto) { in nf_flow_rule_match() 169 switch (tuple->l4proto) { in nf_flow_rule_match() 189 switch (tuple->l4proto) { in nf_flow_rule_match() 642 tuple = &flow->tuplehash[dir].tuple; in nf_flow_rule_route_common() [all …]
|
| H A D | nf_conntrack_proto_icmp.c | 37 tuple->dst.u.icmp.type = hp->type; in icmp_pkt_to_tuple() 38 tuple->src.u.icmp.id = hp->un.echo.id; in icmp_pkt_to_tuple() 39 tuple->dst.u.icmp.code = hp->code; in icmp_pkt_to_tuple() 63 tuple->src.u.icmp.id = orig->src.u.icmp.id; in nf_conntrack_invert_icmp_tuple() 65 tuple->dst.u.icmp.code = orig->dst.u.icmp.code; in nf_conntrack_invert_icmp_tuple() 93 ct->tuplehash[0].tuple.dst.u.icmp.type); in nf_conntrack_icmp_packet() 94 nf_ct_dump_tuple_ip(&ct->tuplehash[0].tuple); in nf_conntrack_icmp_packet() 170 ct_daddr = &ct->tuplehash[dir].tuple.dst.u3; in nf_conntrack_inet_error() 275 struct nf_conntrack_tuple *tuple, in icmp_nlattr_to_tuple() argument 283 if (tuple->dst.u.icmp.type >= sizeof(invmap) || in icmp_nlattr_to_tuple() [all …]
|
| /linux-6.15/kernel/bpf/ |
| H A D | mprog.c | 25 tuple->link = link; in bpf_mprog_link() 48 tuple->link = NULL; in bpf_mprog_prog() 49 tuple->prog = prog; in bpf_mprog_prog() 60 memset(tuple, 0, sizeof(*tuple)); in bpf_mprog_tuple_relative() 74 if (tuple->link) in bpf_mprog_tuple_put() 76 else if (tuple->prog) in bpf_mprog_tuple_put() 203 (!tuple->link || tuple->link == cp->link)) in bpf_mprog_pos_before() 219 (!tuple->link || tuple->link == cp->link)) in bpf_mprog_pos_after() 321 WARN_ON_ONCE(tuple->prog && tuple->prog != prog); in bpf_mprog_fetch() 322 WARN_ON_ONCE(tuple->link && tuple->link != link); in bpf_mprog_fetch() [all …]
|
| /linux-6.15/net/netfilter/ipvs/ |
| H A D | ip_vs_nfct.c | 233 __func__, ct, ARG_TUPLE(&exp->tuple)); in ip_vs_nfct_expect_related() 246 struct nf_conntrack_tuple tuple; in ip_vs_conn_drop_conntrack() local 251 tuple = (struct nf_conntrack_tuple) { in ip_vs_conn_drop_conntrack() 253 tuple.src.u3 = cp->caddr; in ip_vs_conn_drop_conntrack() 254 tuple.src.u.all = cp->cport; in ip_vs_conn_drop_conntrack() 255 tuple.src.l3num = cp->af; in ip_vs_conn_drop_conntrack() 256 tuple.dst.u3 = cp->vaddr; in ip_vs_conn_drop_conntrack() 257 tuple.dst.u.all = cp->vport; in ip_vs_conn_drop_conntrack() 268 __func__, ct, ARG_TUPLE(&tuple)); in ip_vs_conn_drop_conntrack() 272 __func__, ct, ARG_TUPLE(&tuple)); in ip_vs_conn_drop_conntrack() [all …]
|
| /linux-6.15/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A D | en_arfs.c | 95 struct arfs_tuple tuple; member 517 struct arfs_tuple *tuple = &arfs_rule->tuple; in arfs_add_rule() local 536 ntohs(tuple->etype)); in arfs_add_rule() 537 arfs_table = arfs_get_table(arfs, tuple->ip_proto, tuple->etype); in arfs_add_rule() 540 tuple->etype, tuple->ip_proto); in arfs_add_rule() 568 &tuple->src_ipv4, in arfs_add_rule() 572 &tuple->dst_ipv4, in arfs_add_rule() 581 &tuple->src_ipv6, in arfs_add_rule() 675 tuple = &rule->tuple; in arfs_alloc_rule() 695 tuple->dst_port)); in arfs_alloc_rule() [all …]
|
| /linux-6.15/drivers/net/wireless/broadcom/b43/ |
| H A D | sdio.c | 96 struct sdio_func_tuple *tuple; in b43_sdio_probe() local 101 tuple = func->tuples; in b43_sdio_probe() 102 while (tuple) { in b43_sdio_probe() 103 switch (tuple->code) { in b43_sdio_probe() 105 switch (tuple->data[0]) { in b43_sdio_probe() 107 if (tuple->size != 5) in b43_sdio_probe() 109 vendor = tuple->data[1] | (tuple->data[2]<<8); in b43_sdio_probe() 110 device = tuple->data[3] | (tuple->data[4]<<8); in b43_sdio_probe() 121 tuple = tuple->next; in b43_sdio_probe()
|