10.1 Commands

net is netd's operator command. It talks to netd over the control socket, and reads the registry directly for rules and profiles, because those are configuration that netd merely executes. Changing the network is a registry write; net shows state and pokes the daemon. The task-oriented guide is ~peios/networking/the-net-command.

10.1.1 Subcommands #

CommandDoes
net statusprints the status reply (§9.2)
net renew <interface>sends renew
net reconcilesends reconcile
net rulesprints Rules\Interface from the registry: one line per rule, indented by depth, with its priority, (disabled) for Enabled = 0, its conditions, and its actions (NULL when it has none)
net profiles, net profile listprints Profiles\ from the registry: one line per profile, indented by depth, with the values it sets itself ((inherits only) when none) and (disabled)
net wait <link|addressed|routed> [seconds]waits for the machine level
net policyprints the kernel engine's status: enforcing or not, the generation, unwalked changes, a refused last walk, the context count
net policy wait [seconds]waits for the packet policy to be in force
net version, net --versionprints net <version>

rules and profiles fail when their key does not exist. Neither needs netd running.

10.1.2 net status output #

A hostname line ((unset) when empty) and a readiness line, then policy REFUSED: <why> (the last good generation stands) when there is a refusal. Then a block per interface: <name> [<id>], then verdict (<VERDICT>(<profile>) by <rule>, or (none) by <rule>), state, and readiness for a joined interface. Then, where present, hardware, network (<name> [<id>] trust <trust>), each address, gateway, gateway6, dns, search, lease (<state> from <server>, <n>s left) and warning.

10.1.3 net wait #

It asks for status every 500 ms and succeeds as soon as the machine level is at least the one named. An error reaching netd is printed and the wait goes on. The timeout is the second argument, or 60 s when absent or not a number. When it lapses, net prints net: timed out waiting for <level> and fails.

absent is accepted as a level, and is met at once.

10.1.4 net policy wait #

It reads /dev/peios-ntfe's status (ABI 5) once and takes the number of policy changes the engine has noted as its target. It then polls every 5 ms until the engine's count of changes walked reaches the target. If the last walk was refused, it fails, naming the errno and the generation that stands; otherwise it succeeds. The timeout is the argument, or 10 s. The counters are the kernel's (PKM §6.5). A device that answers with another ABI fails at once.

10.1.5 Exit status #

CodeMeaning
0success
1netd unreachable, an error reply, a timeout, a refused policy, or a registry key that cannot be opened
2usage: an unknown subcommand, a wrong argument count, an unknown level, or a non-numeric policy wait timeout

Edit this page