bpf_sk_lookup
struct bpf_sk_lookup, struct bpf_sk_lookup_kern)
struct bpf_sk_lookup *user_ctx;
if (off < 0 || off >= sizeof(struct bpf_sk_lookup))
case bpf_ctx_range_ptr(struct bpf_sk_lookup, sk):
case bpf_ctx_range(struct bpf_sk_lookup, family):
case bpf_ctx_range(struct bpf_sk_lookup, protocol):
case bpf_ctx_range(struct bpf_sk_lookup, remote_ip4):
case bpf_ctx_range(struct bpf_sk_lookup, local_ip4):
case bpf_ctx_range_till(struct bpf_sk_lookup, remote_ip6[0], remote_ip6[3]):
case bpf_ctx_range_till(struct bpf_sk_lookup, local_ip6[0], local_ip6[3]):
case bpf_ctx_range(struct bpf_sk_lookup, local_port):
case bpf_ctx_range(struct bpf_sk_lookup, ingress_ifindex):
case bpf_ctx_range(struct bpf_sk_lookup, remote_port):
case offsetofend(struct bpf_sk_lookup, remote_port) ...
offsetof(struct bpf_sk_lookup, local_ip4) - 1:
case offsetof(struct bpf_sk_lookup, sk):
case offsetof(struct bpf_sk_lookup, family):
case offsetof(struct bpf_sk_lookup, protocol):
case offsetof(struct bpf_sk_lookup, remote_ip4):
case offsetof(struct bpf_sk_lookup, local_ip4):
case bpf_ctx_range_till(struct bpf_sk_lookup,
off -= offsetof(struct bpf_sk_lookup, remote_ip6[0]);
case bpf_ctx_range_till(struct bpf_sk_lookup,
off -= offsetof(struct bpf_sk_lookup, local_ip6[0]);
case offsetof(struct bpf_sk_lookup, remote_port):
case offsetofend(struct bpf_sk_lookup, remote_port):
case offsetof(struct bpf_sk_lookup, local_port):
case offsetof(struct bpf_sk_lookup, ingress_ifindex):
return (unsigned long)bpf_sk_lookup(skb, tuple, len, IPPROTO_TCP,
return (unsigned long)bpf_sk_lookup(skb, tuple, len, IPPROTO_UDP,
struct bpf_sk_lookup ctx;
static int fill_sk_lookup_ctx(struct bpf_sk_lookup *ctx, const char *local_ip, __u16 local_port,
int redir_port(struct bpf_sk_lookup *ctx)
int redir_ip4(struct bpf_sk_lookup *ctx)
int redir_ip6(struct bpf_sk_lookup *ctx)
int select_sock_a(struct bpf_sk_lookup *ctx)
int select_sock_a_no_reuseport(struct bpf_sk_lookup *ctx)
int sk_assign_eexist(struct bpf_sk_lookup *ctx)
int sk_assign_replace_flag(struct bpf_sk_lookup *ctx)
int sk_assign_null(struct bpf_sk_lookup *ctx)
int access_ctx_sk(struct bpf_sk_lookup *ctx)
int ctx_narrow_access(struct bpf_sk_lookup *ctx)
int sk_assign_esocknosupport(struct bpf_sk_lookup *ctx)
int multi_prog_pass1(struct bpf_sk_lookup *ctx)
int multi_prog_pass2(struct bpf_sk_lookup *ctx)
int multi_prog_drop1(struct bpf_sk_lookup *ctx)
int multi_prog_drop2(struct bpf_sk_lookup *ctx)
static __always_inline int select_server_a(struct bpf_sk_lookup *ctx)
int multi_prog_redir1(struct bpf_sk_lookup *ctx)
int multi_prog_redir2(struct bpf_sk_lookup *ctx)
int lookup_pass(struct bpf_sk_lookup *ctx)
int lookup_drop(struct bpf_sk_lookup *ctx)
int check_ifindex(struct bpf_sk_lookup *ctx)
padding_access("sk_lookup", bpf_sk_lookup, remote_port, 2);
int test_sk_lookup(struct bpf_sk_lookup *ctx)
offsetof(struct bpf_sk_lookup, family) + 2),
offsetof(struct bpf_sk_lookup, remote_ip6) + 8),
offsetof(struct bpf_sk_lookup, remote_ip6) + 10),
offsetof(struct bpf_sk_lookup, remote_ip6) + 12),
offsetof(struct bpf_sk_lookup, remote_ip6) + 14),
offsetof(struct bpf_sk_lookup, remote_ip6)),
offsetof(struct bpf_sk_lookup, remote_ip6) + 4),
offsetof(struct bpf_sk_lookup, remote_ip6) + 8),
offsetof(struct bpf_sk_lookup, remote_ip6) + 12),
offsetof(struct bpf_sk_lookup, family) + 3),
offsetof(struct bpf_sk_lookup, remote_port)),
offsetof(struct bpf_sk_lookup, remote_port) + 1),
offsetof(struct bpf_sk_lookup, remote_port) + 2),
offsetof(struct bpf_sk_lookup, remote_port) + 3),
offsetof(struct bpf_sk_lookup, remote_port)),
offsetof(struct bpf_sk_lookup, remote_port) + 2),
offsetof(struct bpf_sk_lookup, remote_port)),
offsetof(struct bpf_sk_lookup, local_ip4)),
offsetof(struct bpf_sk_lookup, local_ip4) + 1),
offsetof(struct bpf_sk_lookup, local_ip4) + 2),
offsetof(struct bpf_sk_lookup, local_ip4) + 3),
offsetof(struct bpf_sk_lookup, local_ip4)),
offsetof(struct bpf_sk_lookup, local_ip4) + 2),
offsetof(struct bpf_sk_lookup, family)),
offsetof(struct bpf_sk_lookup, local_ip4)),
offsetof(struct bpf_sk_lookup, local_ip6)),
offsetof(struct bpf_sk_lookup, local_ip6) + 1),
offsetof(struct bpf_sk_lookup, local_ip6) + 2),
offsetof(struct bpf_sk_lookup, local_ip6) + 3),
offsetof(struct bpf_sk_lookup, local_ip6) + 4),
offsetof(struct bpf_sk_lookup, local_ip6) + 5),
offsetof(struct bpf_sk_lookup, local_ip6) + 6),
offsetof(struct bpf_sk_lookup, family) + 2),
offsetof(struct bpf_sk_lookup, local_ip6) + 7),
offsetof(struct bpf_sk_lookup, local_ip6) + 8),
offsetof(struct bpf_sk_lookup, local_ip6) + 9),
offsetof(struct bpf_sk_lookup, local_ip6) + 10),
offsetof(struct bpf_sk_lookup, local_ip6) + 11),
offsetof(struct bpf_sk_lookup, local_ip6) + 12),
offsetof(struct bpf_sk_lookup, local_ip6) + 13),
offsetof(struct bpf_sk_lookup, local_ip6) + 14),
offsetof(struct bpf_sk_lookup, local_ip6) + 15),
offsetof(struct bpf_sk_lookup, local_ip6)),
offsetof(struct bpf_sk_lookup, local_ip6) + 2),
offsetof(struct bpf_sk_lookup, local_ip6) + 4),
offsetof(struct bpf_sk_lookup, local_ip6) + 6),
offsetof(struct bpf_sk_lookup, local_ip6) + 8),
offsetof(struct bpf_sk_lookup, local_ip6) + 10),
offsetof(struct bpf_sk_lookup, family)),
offsetof(struct bpf_sk_lookup, local_ip6) + 12),
offsetof(struct bpf_sk_lookup, local_ip6) + 14),
offsetof(struct bpf_sk_lookup, local_ip6)),
offsetof(struct bpf_sk_lookup, local_ip6) + 4),
offsetof(struct bpf_sk_lookup, local_ip6) + 8),
offsetof(struct bpf_sk_lookup, local_ip6) + 12),
offsetof(struct bpf_sk_lookup, local_port)),
offsetof(struct bpf_sk_lookup, local_port) + 1),
offsetof(struct bpf_sk_lookup, local_port) + 2),
offsetof(struct bpf_sk_lookup, local_port) + 3),
offsetof(struct bpf_sk_lookup, local_port)),
offsetof(struct bpf_sk_lookup, local_port) + 2),
offsetof(struct bpf_sk_lookup, local_port)),
offsetof(struct bpf_sk_lookup, ingress_ifindex)),
offsetof(struct bpf_sk_lookup, ingress_ifindex) + 1),
offsetof(struct bpf_sk_lookup, ingress_ifindex) + 2),
offsetof(struct bpf_sk_lookup, protocol)),
offsetof(struct bpf_sk_lookup, ingress_ifindex) + 3),
offsetof(struct bpf_sk_lookup, ingress_ifindex)),
offsetof(struct bpf_sk_lookup, ingress_ifindex) + 2),
offsetof(struct bpf_sk_lookup, ingress_ifindex)),
offsetof(struct bpf_sk_lookup, sk)),
offsetof(struct bpf_sk_lookup, protocol) + 1),
offsetof(struct bpf_sk_lookup, family)),
offsetof(struct bpf_sk_lookup, protocol) + 2),
offsetof(struct bpf_sk_lookup, protocol)),
offsetof(struct bpf_sk_lookup, remote_ip4)),
offsetof(struct bpf_sk_lookup, protocol) + 3),
offsetof(struct bpf_sk_lookup, remote_ip6)),
offsetof(struct bpf_sk_lookup, remote_port)),
offsetof(struct bpf_sk_lookup, protocol)),
offsetof(struct bpf_sk_lookup, local_ip4)),
offsetof(struct bpf_sk_lookup, local_ip6)),
offsetof(struct bpf_sk_lookup, protocol) + 2),
offsetof(struct bpf_sk_lookup, local_port)),
offsetof(struct bpf_sk_lookup, ingress_ifindex)),
offsetof(struct bpf_sk_lookup, protocol)),
offsetof(struct bpf_sk_lookup, sk)),
offsetof(struct bpf_sk_lookup, sk)),
offsetof(struct bpf_sk_lookup, sk)),
offsetof(struct bpf_sk_lookup, remote_ip4)),
sizeof(struct bpf_sk_lookup)),
offsetof(struct bpf_sk_lookup, remote_ip4) + 1),
offsetof(struct bpf_sk_lookup, remote_ip4) + 2),
offsetof(struct bpf_sk_lookup, remote_ip4) + 3),
offsetof(struct bpf_sk_lookup, remote_ip4)),
sizeof(struct bpf_sk_lookup)),
offsetof(struct bpf_sk_lookup, remote_ip4) + 2),
offsetof(struct bpf_sk_lookup, remote_ip4)),
offsetof(struct bpf_sk_lookup, family)),
offsetof(struct bpf_sk_lookup, remote_ip6)),
offsetof(struct bpf_sk_lookup, remote_ip6) + 1),
offsetof(struct bpf_sk_lookup, remote_ip6) + 2),
offsetof(struct bpf_sk_lookup, remote_ip6) + 3),
offsetof(struct bpf_sk_lookup, remote_ip6) + 4),
offsetof(struct bpf_sk_lookup, remote_ip6) + 5),
offsetof(struct bpf_sk_lookup, remote_ip6) + 6),
offsetof(struct bpf_sk_lookup, remote_ip6) + 7),
offsetof(struct bpf_sk_lookup, remote_ip6) + 8),
offsetof(struct bpf_sk_lookup, remote_ip6) + 9),
offsetof(struct bpf_sk_lookup, family) + 1),
offsetof(struct bpf_sk_lookup, remote_ip6) + 10),
offsetof(struct bpf_sk_lookup, remote_ip6) + 11),
offsetof(struct bpf_sk_lookup, remote_ip6) + 12),
offsetof(struct bpf_sk_lookup, remote_ip6) + 13),
offsetof(struct bpf_sk_lookup, remote_ip6) + 14),
offsetof(struct bpf_sk_lookup, remote_ip6) + 15),
offsetof(struct bpf_sk_lookup, remote_ip6)),
offsetof(struct bpf_sk_lookup, remote_ip6) + 2),
offsetof(struct bpf_sk_lookup, remote_ip6) + 4),
offsetof(struct bpf_sk_lookup, remote_ip6) + 6),