NGCTL(8)
π ngctl(8) β netgraph control utility π
okay so bestie, welcome to ngctl, the netgraph control utility, and honestly? she's iconic. let me walk you through it π
β¨ SYNOPSIS β¨
ngctl [-j jail] [-d] [-f filename] [-n nodename]
[command [argument ...]]
like, that's the whole vibe. short. slay. moving on π«Ά
πΈ DESCRIPTION πΈ
so ngctl straight up creates a new netgraph node of type socket, and you use that bad boy to issue netgraph commands. that's her whole job. main character energy fr fr.
now here's the mood logic, listen up π
- if no
-fflag is given, - AND no command is supplied on the command line,
- AND standard input is a tty,
β¦then ngctl drops into interactive mode. otherwise? she executes whatever command(s) you handed her and dips immediately. periodt. π
nodes can be created, removed, joined together, etc. β the whole glow-up pipeline. and ASCII formatted control messages can be sent to any node, but only if that node supports binary/ASCII control message conversion. iykyk β¨
in interactive mode, ngctl will display any control messages and data packets received by the socket node. and for control messages specifically, the message arguments get displayed in ASCII form if the originating node supports conversion. no conversion, no ASCII, that's just how it is π
the options are as follows, and yes i'm listing every single one because we don't skip π
π¦ OPTIONS π¦
-ffilename β read commands from the named file. a single dash (-) means standard input. blank lines and lines starting with a#are ignored (comments, we love her πΈ). note: when the-jjail option is specified, the file will be opened before attaching to the jail and then be processed inside the jail. order of operations matters, bestie π-jjail β perform the actions inside the jail.ngctlwill first attach to the jail (by jail id or jail name) before performing the effects. this lets netgraph nodes of a jail be created, modified, and destroyed even if thengctlbinary is not available in the jail. sneaky and iconic π₯-nnodename β assign nodename to the newly created netgraph node. the default name isngctlXXXwhereXXXis the process ID number. cute little auto-naming moment π-dβ increase the debugging verbosity level. press it again for more chaos, it just keeps going π
π COMMANDS π
the currently supported commands in ngctl are β brace yourself, it's a whole roster:
configβ get or set configuration of node at<path>connectβ Connects hook<peerhook>of the node at<relpath>to<hook>debugβ Get/set debugging verbosity leveldotβ Produce a GraphViz (.dot) of the entire netgraph.helpβ Show command summary or get more help on a specific commandlistβ Show information about all nodesmkpeerβ Create and connect a new node to the node at "path"msgβ Send a netgraph control message to the node at "path"nameβ Assign name<name>to the node at<path>readβ Read and execute commands from a filermhookβ Disconnect hook "hook" of the node at "path"showβ Show information about the node at<path>shutdownβ Shutdown the node at<path>statusβ Get human readable status information from the node at<path>typesβ Show information about all installed node typeswriteβ Send a data packet down the hook named by "hook".quitβ Exit program
some commands have aliases, e.g., ls is the same as list β twinning fr fr π―ββοΈ and the help command displays the available commands, their usage and aliases, and a brief description. she's helpful like that π«Ά
π EXIT STATUS π
ngctl exits 0 on success, and >0 if an error occurs. simple. clean. no notes β¨
π SEE ALSO π
go read them, bestie, they're right there π
π§ HISTORY π§
the netgraph system was designed and first implemented at Whistle Communications, Inc. in a version of FreeBSD 2.2 customized for the Whistle InterJet. vintage. historical. lowkey legendary π
π AUTHORS π
Archie Cobbs <archie@whistle.com> π
ok that's the whole page, no cap. go forth and netgraph responsibly, bestie π β¨
mwah π this edition shipped on the Debian flavor of things, dated August 29, 2025 β catch you in the next manpage, love u ππ
π¦ where this page comes from
- freebsd 15.1: base 15.1
- Copyright (c) 1996-1999 Whistle Communications, Inc
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms