bpf_tcp_sock
if (off < 0 || off >= offsetofend(struct bpf_tcp_sock,
case offsetof(struct bpf_tcp_sock, bytes_received):
case offsetof(struct bpf_tcp_sock, bytes_acked):
sizeof_field(struct bpf_tcp_sock, FIELD)); \
sizeof_field(struct bpf_tcp_sock, FIELD)); \
BTF_TYPE_EMIT(struct bpf_tcp_sock);
case offsetof(struct bpf_tcp_sock, rtt_min):
case offsetof(struct bpf_tcp_sock, snd_cwnd):
case offsetof(struct bpf_tcp_sock, srtt_us):
case offsetof(struct bpf_tcp_sock, snd_ssthresh):
case offsetof(struct bpf_tcp_sock, rcv_nxt):
case offsetof(struct bpf_tcp_sock, snd_nxt):
case offsetof(struct bpf_tcp_sock, snd_una):
case offsetof(struct bpf_tcp_sock, mss_cache):
case offsetof(struct bpf_tcp_sock, ecn_flags):
case offsetof(struct bpf_tcp_sock, rate_delivered):
case offsetof(struct bpf_tcp_sock, rate_interval_us):
case offsetof(struct bpf_tcp_sock, packets_out):
case offsetof(struct bpf_tcp_sock, retrans_out):
case offsetof(struct bpf_tcp_sock, total_retrans):
case offsetof(struct bpf_tcp_sock, segs_in):
case offsetof(struct bpf_tcp_sock, data_segs_in):
case offsetof(struct bpf_tcp_sock, segs_out):
case offsetof(struct bpf_tcp_sock, data_segs_out):
case offsetof(struct bpf_tcp_sock, lost_out):
case offsetof(struct bpf_tcp_sock, sacked_out):
case offsetof(struct bpf_tcp_sock, bytes_received):
case offsetof(struct bpf_tcp_sock, bytes_acked):
case offsetof(struct bpf_tcp_sock, dsack_dups):
case offsetof(struct bpf_tcp_sock, delivered):
case offsetof(struct bpf_tcp_sock, delivered_ce):
case offsetof(struct bpf_tcp_sock, icsk_retransmits):
BPF_CALL_1(bpf_tcp_sock, struct sock *, sk)
.func = bpf_tcp_sock,
struct bpf_tcp_sock *tp;
tp = bpf_tcp_sock(sk);
struct bpf_tcp_sock *tcp_sk;
tcp_sk = bpf_tcp_sock(sk);
struct bpf_tcp_sock srv_tp, cli_tp, listen_tp;
static void print_tp(const struct bpf_tcp_sock *tp, const char *prefix)
struct bpf_tcp_sock *tcp_sk;
tcp_sk = bpf_tcp_sock(sk);
struct bpf_tcp_sock *tp, *tp_ret;
tp = bpf_tcp_sock(sk);
struct bpf_tcp_sock *tp;
tp = bpf_tcp_sock(sk);
struct bpf_tcp_sock listen_tp = {};
struct bpf_tcp_sock cli_tp = {};
struct bpf_tcp_sock srv_tp = {};
static void tpcpy(struct bpf_tcp_sock *dst,
const struct bpf_tcp_sock *src)
__imm(bpf_tcp_sock),
__imm_const(bpf_tcp_sock_snd_cwnd, offsetof(struct bpf_tcp_sock, snd_cwnd)),
__imm(bpf_tcp_sock),
__imm(bpf_tcp_sock),
__imm(bpf_tcp_sock),
__imm_const(bpf_tcp_sock_snd_cwnd, offsetof(struct bpf_tcp_sock, snd_cwnd)),
: __imm(bpf_tcp_sock),
: __imm(bpf_tcp_sock),
__imm_const(bpf_tcp_sock_snd_cwnd, offsetof(struct bpf_tcp_sock, snd_cwnd))
: __imm(bpf_tcp_sock),
__imm_const(bpf_tcp_sock_snd_cwnd, offsetof(struct bpf_tcp_sock, snd_cwnd))
: __imm(bpf_tcp_sock),
__imm_const(bpf_tcp_sock_bytes_acked, offsetof(struct bpf_tcp_sock, bytes_acked))
: __imm(bpf_tcp_sock),
__imm_const(bpf_tcp_sock_bytes_acked__end, offsetofend(struct bpf_tcp_sock, bytes_acked))
__imm(bpf_tcp_sock),
__imm_const(bpf_tcp_sock_snd_cwnd, offsetof(struct bpf_tcp_sock, snd_cwnd))
__imm(bpf_tcp_sock),