ovpn_udp4_output(9)
πΈ ovpn_udp4_output(9) πΈ
okay so bestie, welcome to the Kernel API Manual page for ovpn_udp4_output β literally the function that sends an IPv4 packet over a udp socket. yes that's the whole vibe. it's giving "one job, does it well" π
β¨ NAME β¨
ovpn_udp4_output β send IPv4 packet over udp socket π¦
β¨ SYNOPSIS β¨
int ovpn_udp4_output (struct ovpn_peer *peer , struct ovpn_bind *bind ,
struct dst_cache *cache , struct sock *sk , struct sk_buff *skb , const
struct ovpn_route_key *key );
β¨ ARGUMENTS β¨
okay so here's the cast of characters, and they ALL matter, no cap π
peerβ the destination peer π«Ά like, who we're sending this tobindβ the binding related to the destination peer π (yes, the one tied topeerabove, they're a package deal)cacheβ dst cache π the destination cache, keeping things snappyskβ the socket to send the packet over π§ this is the actual udp socket doing the yeetingskbβ the packet to send π¦ the payload itself, the main characterkeyβ the route key snapshot used for cache validation and flow lookup π snapshot energy: it's used for cache validation and flow lookup, both. iykyk
β¨ RETURN β¨
0 on success, or a negative error code otherwise π so like... check it. zero is the slay outcome, anything negative is the π outcome.
β¨ SEE ALSO β¨
go look at the kernel file ./drivers/net/ovpn/udp.c and also these iconic siblings:
ovpn_udp_encap_recv(9)ovpn_dst_cache_check_key(9)ovpn_dst_cache_current(9)ovpn_udp6_output(9)ovpn_udp_output(9)ovpn_udp_send_skb(9)ovpn_udp_socket_attach(9)ovpn_udp_socket_detach(9)
π friendly reminder bestie: this page lives in ./drivers/net/ovpn, dated October 2026, and it's part of the Kernel API Manual. that's the whole footer, but make it cute π
go forth and send those packets, you absolute icon βππ
π¦ 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