vti6_tnl_bucket(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 for ip6_vti in 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:


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