bpf_tuple
struct bpf_tuple tuple = {};
struct bpf_tuple *tuple)
struct bpf_tuple *tuple)
struct bpf_tuple *ntuple, int idx)
struct bpf_tuple *ntuple, int idx, u32 flags)
struct bpf_tuple *dtuple, int idx)
struct bpf_tuple *tuple)
struct bpf_tuple *tuple)
struct bpf_tuple *tuple)
struct bpf_tuple rtuple, ntuple = {
struct bpf_tuple *tuple, int idx)
static int bpf_mprog_prog(struct bpf_tuple *tuple,
struct bpf_tuple rtuple, dtuple = {
static int bpf_mprog_tuple_relative(struct bpf_tuple *tuple,
static int bpf_mprog_link(struct bpf_tuple *tuple,
static void bpf_mprog_tuple_put(struct bpf_tuple *tuple)
struct bpf_tuple tuple = {};
case sizeof(bpf_tuple->ipv6):
memcpy(src->ip6, bpf_tuple->ipv6.saddr, sizeof(bpf_tuple->ipv6.saddr));
sport->tcp.port = bpf_tuple->ipv6.sport;
memcpy(dst->ip6, bpf_tuple->ipv6.daddr, sizeof(bpf_tuple->ipv6.daddr));
dport->tcp.port = bpf_tuple->ipv6.dport;
__bpf_nf_ct_alloc_entry(struct net *net, struct bpf_sock_tuple *bpf_tuple,
err = bpf_nf_ct_tuple_parse(bpf_tuple, tuple_len, opts->l4proto,
err = bpf_nf_ct_tuple_parse(bpf_tuple, tuple_len, opts->l4proto,
struct bpf_sock_tuple *bpf_tuple,
if (!opts || !bpf_tuple)
err = bpf_nf_ct_tuple_parse(bpf_tuple, tuple_len, opts->l4proto,
bpf_xdp_ct_alloc(struct xdp_md *xdp_ctx, struct bpf_sock_tuple *bpf_tuple,
nfct = __bpf_nf_ct_alloc_entry(dev_net(ctx->rxq->dev), bpf_tuple, tuple__sz,
bpf_xdp_ct_lookup(struct xdp_md *xdp_ctx, struct bpf_sock_tuple *bpf_tuple,
nfct = __bpf_nf_ct_lookup(caller_net, bpf_tuple, tuple__sz, opts, opts__sz);
bpf_skb_ct_alloc(struct __sk_buff *skb_ctx, struct bpf_sock_tuple *bpf_tuple,
nfct = __bpf_nf_ct_alloc_entry(net, bpf_tuple, tuple__sz, opts, opts__sz, 10);
bpf_skb_ct_lookup(struct __sk_buff *skb_ctx, struct bpf_sock_tuple *bpf_tuple,
nfct = __bpf_nf_ct_lookup(caller_net, bpf_tuple, tuple__sz, opts, opts__sz);
static int bpf_nf_ct_tuple_parse(struct bpf_sock_tuple *bpf_tuple,
case sizeof(bpf_tuple->ipv4):
src->ip = bpf_tuple->ipv4.saddr;
sport->tcp.port = bpf_tuple->ipv4.sport;
dst->ip = bpf_tuple->ipv4.daddr;
dport->tcp.port = bpf_tuple->ipv4.dport;
struct bpf_sock_tuple bpf_tuple;
__builtin_memset(&bpf_tuple, 0, sizeof(bpf_tuple.ipv4));
ct = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4), &opts_def,
ct = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4), &opts_def,
ct = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4), &opts_def,
ct = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4), &opts_def,
ct = alloc_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4), &opts_def,
ct = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4), &opts_def,
ct = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4), &opts_def,
ct = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4), &opts_def,
ct = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4) - 1, &opts_def,
bpf_tuple.ipv4.saddr = bpf_get_prandom_u32(); /* src IP */
bpf_tuple.ipv4.daddr = bpf_get_prandom_u32(); /* dst IP */
bpf_tuple.ipv4.sport = bpf_get_prandom_u32(); /* src port */
bpf_tuple.ipv4.dport = bpf_get_prandom_u32(); /* dst port */
ct = alloc_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4), &opts_def,
ct_lk = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4),
bpf_tuple.ipv4.saddr = saddr;
bpf_tuple.ipv4.daddr = daddr;
bpf_tuple.ipv4.sport = sport;
bpf_tuple.ipv4.dport = dport;
ct = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4), &opts_def,
struct bpf_sock_tuple bpf_tuple;
__builtin_memset(&bpf_tuple, 0, sizeof(bpf_tuple.ipv4));
ct = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4), &opts_def,
bpf_tuple.ipv4.saddr = bpf_get_prandom_u32(); /* src IP */
bpf_tuple.ipv4.daddr = bpf_get_prandom_u32(); /* dst IP */
bpf_tuple.ipv4.sport = bpf_get_prandom_u32(); /* src port */
bpf_tuple.ipv4.dport = bpf_get_prandom_u32(); /* dst port */
ct = alloc_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4), &opts_def,
ct_lk = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4),
ct_lk = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4),
ct_lk = lookup_fn(ctx, &bpf_tuple, sizeof(bpf_tuple.ipv4),
struct bpf_sock_tuple *bpf_tuple,
struct bpf_sock_tuple *bpf_tuple,