NG_SPLIT(4)

πŸ’– NG_SPLIT(4) πŸ’–

okay bestie, so this is a Kernel Interfaces Manual page β€” NG_SPLIT(4), the netgraph node that separates your incoming flow from your outgoing flow. it's short, it's sweet, it's giving tiny node, big job. let's get into it πŸ¦‹


✨ NAME ✨

ng_split β€” netgraph node to separate incoming and outgoing flows


🌸 SYNOPSIS 🌸

#include <netgraph/ng_split.h>

like, that's it. that's the whole include. no cap. πŸŽ€


πŸ’… DESCRIPTION πŸ’…

so the split node type is the friend who takes a bidirectional stream of packets β€” packets going both ways, all mixed up together β€” and splits it into two separate unidirectional streams of packets. one direction each. clean. organized. main character energy. πŸ‘‘


🫢 HOOKS 🫢

this node type supports the following three hooks, bestie, and they are:

  • in β€” packets received on in are forwarded to mixed. cute lil relay, slay ✨
  • out β€” packets received on out will be discarded as illegal. πŸš«πŸ’€ not me showing up at the wrong door, that's an instant block, fr fr.
  • mixed β€” packets received on mixed are forwarded to out. iconic behavior, honestly 🌈

⭐ CONTROL MESSAGES ⭐

this node type supports only the generic control messages. that's it. no special extras, no secret menu, nothing. πŸ’…


😭 SHUTDOWN 😭

this node shuts down when either:

  1. it receives a NGM_SHUTDOWN control message, or
  2. all hooks have been disconnected β€” like, everyone left the group chat, so the node dips too πŸ™ˆ
lowkey that second one is the saddest way to go out but okay

πŸ‘‘ SEE ALSO πŸ‘‘


🧚 HISTORY 🧚

the ng_split node type was implemented in FreeBSD 3.5 but incorporated into FreeBSD in FreeBSD 5.0. so it was out here existing before it was officially existing. we love a lowkey debut 🌸


πŸ’œ AUTHORS πŸ’œ

  • Julian Elischer <julian@FreeBSD.org>
  • Vitaly V. Belekhov <vitaly@riss-telecom.ru>

and that's the whole page, bestie β€” this version came from the Debian build, dated February 19, 2001, and it was a NG_SPLIT(4) situation from start to finish. periodt. πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from