tcp_timewait_sock
BTF_SOCK_TYPE(BTF_SOCK_TYPE_TCP_TW, tcp_timewait_sock) \
struct tcp_timewait_sock tcp6tw_tcp;
static inline struct tcp_timewait_sock *tcp_twsk(const struct sock *sk)
return (struct tcp_timewait_sock *)sk;
static inline u32 tcp_tw_tsval(const struct tcp_timewait_sock *tcptw)
void tcp_ao_time_wait(struct tcp_timewait_sock *tcptw, struct tcp_sock *tp);
static inline void tcp_ao_time_wait(struct tcp_timewait_sock *tcptw,
BTF_TYPE_EMIT(struct tcp_timewait_sock);
void tcp_ao_time_wait(struct tcp_timewait_sock *tcptw, struct tcp_sock *tp)
struct tcp_timewait_sock *tcptw = tcp_twsk(sk);
const struct tcp_timewait_sock *tcptw = tcp_twsk(sktw);
.twsk_obj_size = sizeof(struct tcp_timewait_sock),
struct tcp_timewait_sock *tcptw = tcp_twsk((struct sock *)tw);
static void tcp_time_wait_init(struct sock *sk, struct tcp_timewait_sock *tcptw)
struct tcp_timewait_sock *tcptw = tcp_twsk((struct sock *)tw);
struct tcp_timewait_sock *twsk = tcp_twsk(sk);
struct tcp_timewait_sock *tcptw = tcp_twsk((struct sock *)tw);
static void twsk_rcv_nxt_update(struct tcp_timewait_sock *tcptw, u32 seq,
struct tcp_timewait_sock *tcptw = tcp_twsk(sk);
BTF_SOCK_TYPE(BTF_SOCK_TYPE_TCP_TW, tcp_timewait_sock) \
static int dump_tw_sock(struct seq_file *seq, struct tcp_timewait_sock *ttw,
struct tcp_timewait_sock *tw;
static int dump_tw_sock(struct seq_file *seq, struct tcp_timewait_sock *ttw,
struct tcp_timewait_sock *tw;