vti6_tnl_bucket(9)
π vti6_tnl_bucket(9) π
okay so bestie, welcome to the Kernel API Manual β¨ β today's main character is vti6_tnl_bucket, and honestly? she's serving looks in the IPv6 tunnel department π
πΈ NAME πΈ
vti6_tnl_bucket β get head of list matching given tunnel parameters
like, she goes and finds the head of the list that matches the tunnel params you hand her. that's the whole vibe π
β¨ SYNOPSIS β¨
struct ip6_tnl __rcu ** vti6_tnl_bucket (struct vti6_net *ip6n , const
struct __ip6_tnl_parm *p );
yes, that return type is a double pointer to a struct ip6_tnl with __rcu on it β she's fancy like that π₯ don't retype it, just copy it exactly, iykyk.
π¦ ARGUMENTS π¦
ip6nβ the private data forip6_vtiin the netns π«Ά (yes, per-namespace, she's not a global girlie)pβ parameters containing tunnel end-points π
π DESCRIPTION π
okay so the way that vti6_tnl_bucket works is: it returns the head of the list matching the struct in6_addr entries laddr and raddr in p. π§
literally that's it, that's the tea β local address + remote address, that combo is the vibe check, and she hands you back the bucket head π
β RETURN β
head of IPv6 tunnel list π (the head, bestie β not the whole list, don't come for her)
π SEE ALSO π
Kernel file ./net/ipv6/ip6_vti.c β the whole friend group fr fr:
vti6_tnl_lookup(9)vti6_locate(9)vti6_dev_uninit(9)vti6_addr_conflict(9)vti6_xmit(9)vti6_tnl_change(9)vti6_siocdevprivate(9)vti6_dev_setup(9)vti6_dev_init_gen(9)vti6_dev_init(9)vti6_fb_tnl_dev_init(9)vti6_tunnel_init(9)vti6_tunnel_cleanup(9)
and that's the page!! ππΈ she lives in ./net/ipv6, dated October 2026, and yes the manual name is still vti6_tnl_bucket(9) because we keep it iconic, periodt π
β¨π«Ά
π¦ 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