NG_UI(4)
π NG_UI π
okay bestie, sit down, hydrate, and let me tell you about ng_UI β it's a netgraph node type and honestly? it's giving tiny-but-mighty. this is from the Kernel Interfaces Manual, so yes, we're being β¨technicalβ¨ today. π
β¨ NAME β¨
ng_UI β the UI netgraph node type. that's it, that's the name. π
πΈ SYNOPSIS πΈ
#include <netgraph/ng_UI.h>
that's the whole vibe. one include and you're in. π¦
π DESCRIPTION π
so the UI node type has exactly two hooks: upstream and downstream. main character duality fr fr. π«Ά
here's the tea on how packets flow:
- packets that come in on
downstreammust have0x03as their first byte (that's the marker for unnumbered information, iykyk). if that byte is not there? the packet gets dropped. no warning, no goodbye, just gone. π - if the byte is there, it gets stripped off, and the rest of the packet gets sent out on
upstream. bye byte! π - and conversely (love that word), packets coming in on
upstreamget a0x03byte prepended to them before being forwarded out on thedownstreamhook. β¨ glow-up, but make it a header byte.
so it's basically a tiny byte-bouncer at the door of your netgraph. iconic behaviour, no notes. π
π HOOKS π
this node type supports the following hooks β and yes, there are only two, we keep it cute and simple:
downstreamβ the downstream connection. packets on this side of the node have a0x03as their first byte. πupstreamβ the upstream connection. packets on this side of the node have that initial0x03byte stripped off. literally naked. π
π CONTROL MESSAGES π
ngl, this node type supports only the generic control messages. that's it. no secret menu, no deluxe edition. β
π SHUTDOWN π
this node shuts down when it receives an NGM_SHUTDOWN control message, or when both hooks have been disconnected. so if both of its little connections ghost it, it ghosts right back. periodt. π§
π SEE ALSO π
go read those too, bestie, they're part of the lore. π
π¦ HISTORY π¦
the ng_UI node type was implemented in FreeBSD 4.0. vintage. retro. lowkey a classic. π
πΈ AUTHORS πΈ
Julian Elischer <julian@FreeBSD.org> β thank you for your service, legend. π«‘π
okay that's the whole page!! now go forth and let your packets be unnumbered and your bytes be stripped. π₯
this page came from the Debian crew, dated January 19, 1999 β yes, before most of us could read, and it's still out here slaying. mwah. π
π¦ where this page comes from
- debian bookworm: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- debian trixie: freebsd-manpages 12.2-2 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu jammy: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu noble: freebsd-manpages 12.2-1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu questing: freebsd-manpages 12.2-2
- ubuntu resolute: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- ubuntu stonking: freebsd-manpages 12.2-2build1 Β· BSD-2-Clause-FreeBSD AND BSD-4-Clause
- Copyright (c) 1996-1999 Whistle Communications, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms