vti6_locate(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– vti6_locate(9) β€” Kernel API Manual πŸ’–

okay bestie, welcome to the Kernel API Manual page for vti6_locate(9). it’s giving β€œfind-or-make a tunnel” energy, and honestly? iconic. let’s get into it 🫢

🌸 NAME 🌸

vti6_locate β€” find or create a tunnel matching the parameters you give it. literally the whole point πŸ’…

✨ SYNOPSIS ✨

struct ip6_tnl * vti6_locate (struct net *net , struct __ip6_tnl_parm *p
       , int create );

πŸŽ€ ARGUMENTS πŸŽ€

  • net β€” the network namespace. yes, the whole namespace vibe.
  • p β€” tunnel parameters. this is the info it’s matching against.
  • create β€” != 0 if you’re allowed to create a new tunnel when no match is found.

πŸ¦‹ DESCRIPTION πŸ¦‹

So vti6_locate first tries to locate an existing tunnel based on parms. If that’s unsuccessful, but create is set, a new tunnel device is created and registered for use. that’s it, that’s the plot ✨

πŸ”₯ RETURN πŸ”₯

The matching tunnel, or NULL. no cap.

🌈 SEE ALSO 🌈

Kernel file ./net/ipv6/ip6_vti.c plus all these function besties: vti6_tnl_lookup(9), vti6_tnl_bucket(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).


mwah πŸ’‹ cute little sign-off from vti6_locate(9): source/version is ./net/ipv6, dated October 2026. go be iconic with your tunnels πŸ«ΆπŸ’–

πŸ“¦ where this page comes from