nf_tproxy_handle_time_wait6(9)
π¦ nf_tproxy_handle_time_wait6(9) β Kernel API Manual, bestie edition π¦
πΈ NAME πΈ
nf_tproxy_handle_time_wait6 β handle IPv6 TCP TIME_WAIT reopen redirections. Periodt, that's the name and it's literally giving kernel IPv6 TCP TIME_WAIT reopen redirection realness. π
β¨ SYNOPSIS β¨
Okay so the signature is exactly this:
struct sock * nf_tproxy_handle_time_wait6 (struct sk_buff *skb , int
tproto , int thoff , struct net *net , const struct in6_addr *laddr ,
const __be16 lport , struct sock *sk );
No cap, copy it exactly. π«Ά
π ARGUMENTS π
Here's the cast, bestie:
skbβ The skb being processed. Main character packet energy.tprotoβ Transport protocol. Yep, that one. β¨thoffβ Transport protocol header offset.netβ Network namespace. The neighborhood, basically.laddrβ IPv6 address to redirect to.lportβ TCP port to redirect to or zero.skβ The TIME_WAIT TCP socket found by the lookup. iykyk
π DESCRIPTION π
Okay so the whole plot: we have to handle SYN packets arriving to TIME_WAIT sockets differently. Instead of reopening the connection, we should rather redirect the new connection to the proxy if there's a listener socket present. That's the lore. π₯
And important: nf_tproxy_handle_time_wait6 consumes the socket reference passed in. So yeah, it eats that ref. π΄
β οΈ Bestie warning: the socket reference passed in gets consumed. Don't sleep on that detail. π
β RETURN β
What you get back:
- the listener socket if there's one,
- the TIME_WAIT socket if no such listener is found,
- or
NULLif the TCP header is incomplete.
That's the return vibe check, fr fr. πβ¨
π SEE ALSO π
- Kernel file
./include/net/netfilter/nf_tproxy.h nf_tproxy_handle_time_wait4(9)
Go peep those, ngl. π
Source/version: ./include/net/netfilter Β· Date: October 2026 Β· Page: nf_tproxy_handle_time_wait6(9) β mwah ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms