ffx

Fuchsia's developer tool


Usage: ffx [-c <config...>] [-e <env>] [--machine <machine>] [--schema] [--stamp <stamp>] [-t <target>] [-T <timeout>] [-l <log-level>] [--isolate-dir <isolate-dir>] [-v] [-o <log-output>] [subcommand...]
Options 
--helpdisplay usage information
-c, --configoverride configuration values (key=value, JSON string, or path to a JSON config file)
-e, --envoverride the path to the environment configuration file (file path)
--machineproduce output for a machine in the specified format; available formats: “json”, “json-pretty”
--schemaproduce the JSON schema for the MachineWriter output. The --machine option is required when producing the schema.
--stampcreate a stamp file at the given path containing the exit code
-t, --targetapply operations across single or multiple targets
-T, --timeoutoverride default proxy timeout
-l, --log-levelsets the log level for ffx output (default = Info). Other possible values are Info, Error, Warn, and Trace. Can be persisted via log.level config setting.
--isolate-dirturn on isolation mode using the given directory to isolate all config and socket files into the specified directory. This overrides the FFX_ISOLATE_DIR env variable, which can also put ffx into this mode.
-v, --verboselogs ffx output to stdio according to log level
-o, --log-outputspecify destination of log output. “-” or “stdout” for stdout, “stderr” for stderr. If no destination is specified, log.dir will be used. If a destination is specified, then log.dir will be ignored.
Subcommands 
componentDiscover and manage components
configView and switch default and user configurations
daemonInteract with/control the ffx daemon
debugStart a debugging session.
doctorRun common checks for the ffx tool and host environment
emuStart and manage Fuchsia emulators.
netView and manage target network configuration
packageCreate and publish Fuchsia packages
platformManage platform build prerequisites
productDiscover and access product bundle metadata and image data.
repositoryInspect and manage package repositories
sdkModify or query the installed SDKs
sessionControl the session component.
targetInteract with a target device or emulator
versionPrint out ffx tool and daemon versions

component

Discover and manage components


Usage: ffx component [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
capabilityLists component instances that reference a capability
collectionManages collections in the component topology
copycopies files to/from directories associated with a component.
Paths may be any combination of local or remote paths.
createCreates a dynamic component instance, adding it to the collection designated by
debugDebug a running component with zxdb.
destroyDestroys a dynamic component instance, removing it from the collection designated by
doctorPerform diagnostic checks on a component at runtime.
exploreSpawns a shell scoped to a component instance.
graphOutputs a Graphviz dot graph for the components in the component topology. Children of unresolved components are not included in this list.
listLists components in the component topology. Children of unresolved components are not included in this list.
reloadRecursively stops, unresolves, and starts a component instance, updating the code and topology while preserving resources
resolveResolves a component instance
routePerform capability routing on a component at runtime.
runCreates and starts a component instance in an existing collection
within the component topology.
showShows detailed information about a component instance
startStarts a component
stopStops a component instance
storageManages storage capabilities of components

capability

Lists component instances that reference a capability


Usage: ffx component capability capability
Options 
--helpdisplay usage information

Examples

collection

Manages collections in the component topology


Usage: ffx component collection [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
listList all collections in the component topology
showShows detailed information about a collection in the component topology

list

List all collections in the component topology


Usage: ffx component collection list
Options 
--helpdisplay usage information

show

Shows detailed information about a collection in the component topology


Usage: ffx component collection show query
Options 
--helpdisplay usage information

copy

copies files to/from directories associated with a component. Paths may be any combination of local or remote paths.


Usage: ffx component copy [-v] [paths...]
Options 
--helpdisplay usage information
-v, --verboseverbose output: outputs a line for each file copied.

Examples

Notes

create

Creates a dynamic component instance, adding it to the collection designated by


Usage: ffx component create [--config <config...>] moniker url
Options 
--helpdisplay usage information
--configprovide a configuration override to the component being run. Requires mutability: [ "parent" ] on the configuration field. Specified in the format KEY=VALUE where VALUE is a JSON string which can be resolved as the correct type of configuration value.

Examples

Notes

debug

Debug a running component with zxdb.


Usage: ffx component debug query
Options 
--helpdisplay usage information

Examples

Notes

destroy

Destroys a dynamic component instance, removing it from the collection designated by


Usage: ffx component destroy query
Options 
--helpdisplay usage information

Examples

Notes

doctor

Perform diagnostic checks on a component at runtime.


Usage: ffx component doctor [-p] query
Options 
--helpdisplay usage information
-p, --plainwhether or not to display the output without color and wrapping.

Examples

explore

Spawns a shell scoped to a component instance.


Usage: ffx component explore [--tools <tools...>] [-c <command>] [-l <layout>] query
Options 
--helpdisplay usage information
--toolslist of URLs of tools packages to include in the shell environment. the PATH variable will be updated to include binaries from these tools packages. repeat --tools url for each package to be included. The path preference is given by command line order.
-c, --commandexecute a command instead of reading from stdin. the exit code of the command will be forwarded to the host.
-l, --layoutchanges the namespace layout that is created for the shell. nested: nests all instance directories under subdirs (default) namespace: sets the instance namespace as the root (works better for tools)

Examples

Notes

directories of the explored instance:

  • /ns The namespace of the instance
  • /exposed The capabilities exposed by the instance
  • /out The outgoing directory of the instance, if it is running
  • /runtime The runtime directory of the instance, if it is running

The environment also contains the following directories, irrespective of the explored instance:

  • /.dash User-added and built-in dash tools
  • /svc Protocols required by the dash shell

When --layout=namespace, the contents of the /ns dir above are placed at / with two protocols (fuchsia.process.Launcher and fuchsia.process.Resolver) overlayed into /svc. In this mode, the exposed, out, and runtime directories will not be accessible.

With --tools, tools in the specified package will be loaded into /.dash/tools// The path is set so that they can be run by name. The path preference is in the command line order of the --tools arguments, with any built-in tools taking lowest priority.

--tools URLs may be package or binary URLs. If a package URL is given, tool executables are expected to be in a bin/ dir within the package. If a specific tool URL is given, append the tool path to the package URL. For example: --tools fuchsia-pkg://fuchsia.com/my_package#bin/my_tool. Note that naming collisions can occur if multiple packages share a package or binary name. An error, NonUniqueBinaryName, is returned if a binary name collision occurs.

graph

Outputs a Graphviz dot graph for the components in the component topology. Children of unresolved components are not included in this list.


Usage: ffx component graph [-o <only>] [-r <orientation>]
Options 
--helpdisplay usage information
-o, --onlyfilter the instance list by a criteria: ancestor, descendant, relative
-r, --orientationchanges the visual orientation of the graph's nodes. Allowed values are “lefttoright”/“lr” and “toptobottom”/“tb”.

Examples

list

Lists components in the component topology. Children of unresolved components are not included in this list.


Usage: ffx component list [-o <only>] [-v]
Options 
--helpdisplay usage information
-o, --onlyfilter the instance list by a criteria: running, stopped, ancestors:<component_name>, descendants:<component_name>, or relatives:<component_name>
-v, --verboseshow detailed information about each instance

Examples

reload

Recursively stops, unresolves, and starts a component instance, updating the code and topology while preserving resources


Usage: ffx component reload query
Options 
--helpdisplay usage information

Examples

Notes

resolve

Resolves a component instance


Usage: ffx component resolve query
Options 
--helpdisplay usage information

Examples

route

Perform capability routing on a component at runtime.


Usage: ffx component route target [filter]
Options 
--helpdisplay usage information

Examples

run

Creates and starts a component instance in an existing collection within the component topology.


Usage: ffx component run [-r] [-f] [--connect-stdio] [--config <config...>] moniker url
Options 
--helpdisplay usage information
-r, --recreatedestroy and recreate the component instance if it already exists
-f, --follow-logsstart printing logs from the started component after it has started
--connect-stdioconnect stdin, stdout, and stderr to the component (requires component to be in a collection with single_run durability)
--configprovide a configuration override to the component being run. Requires mutability: [ "parent" ] on the configuration field. Specified in the format KEY=VALUE where VALUE is a JSON string which can be resolved as the correct type of configuration value.

Examples

Notes

To learn more about running components, see https://fuchsia.dev/go/components/run

show

Shows detailed information about a component instance


Usage: ffx component show query
Options 
--helpdisplay usage information

Examples

Notes

start

Starts a component


Usage: ffx component start [--debug] query
Options 
--helpdisplay usage information
--debugstart the component in the debugger. To debug a component that is already running, consider ffx component debug.

Examples

Notes

stop

Stops a component instance


Usage: ffx component stop query
Options 
--helpdisplay usage information

Examples

Notes

storage

Manages storage capabilities of components


Usage: ffx component storage [--provider <provider>] [--capability <capability>] [subcommand...]
Options 
--helpdisplay usage information
--providerthe moniker of the storage provider component. Defaults to “/core”
--capabilitythe capability name of the storage to use. Examples: “data”, “cache”, “tmp” Defaults to “data”
Subcommands 
copyCopy files to/from a component's storage. If the file already exists at the destination it is overwritten.
deleteDelete files from a component's storage.
delete-allDelete the contents of the storage for a specific component.
listList the contents of a component's storage.
make-directoryCreate a new directory in a component's storage. If the directory already exists, this operation is a no-op.

copy

Copy files to/from a component's storage. If the file already exists at the destination it is overwritten.


Usage: ffx component storage copy source_path destination_path
Options 
--helpdisplay usage information

Examples

delete

Delete files from a component's storage.


Usage: ffx component storage delete path
Options 
--helpdisplay usage information

Examples

delete-all

Delete the contents of the storage for a specific component.


Usage: ffx component storage delete-all moniker
Options 
--helpdisplay usage information

Examples

list

List the contents of a component's storage.


Usage: ffx component storage list path
Options 
--helpdisplay usage information

Examples

make-directory

Create a new directory in a component's storage. If the directory already exists, this operation is a no-op.


Usage: ffx component storage make-directory path
Options 
--helpdisplay usage information

Examples

config

View and switch default and user configurations


Usage: ffx config [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
addadd config value the end of an array
analyticsenable or disable analytics
check-ssh-keyscheck the ssh key configuration and create keys if needed.
envlist environment settings
getdisplay config values
removeremove config for a given level
setset config settings

add

add config value the end of an array


Usage: ffx config add [-l <level>] [-b <build-dir>] name value
Options 
--helpdisplay usage information
-l, --levelconfig level. Possible values are “user”, “build”, “global”. Defaults to “user”.
-b, --build-diran optional build directory to associate the build config provided - used for “build” configs. If not provided, it may attempt to autodiscover your active build directory.

Notes

analytics

enable or disable analytics


Usage: ffx config analytics [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
disabledisable analytics
enableenable analytics
showshow analytics

disable

disable analytics


Usage: ffx config analytics disable
Options 
--helpdisplay usage information

enable

enable analytics


Usage: ffx config analytics enable
Options 
--helpdisplay usage information

show

show analytics


Usage: ffx config analytics show
Options 
--helpdisplay usage information

check-ssh-keys

check the ssh key configuration and create keys if needed.


Usage: ffx config check-ssh-keys
Options 
--helpdisplay usage information

env

list environment settings


Usage: ffx config env [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
getlist environment for a given level
setset environment settings

get

list environment for a given level


Usage: ffx config env get [level]
Options 
--helpdisplay usage information

set

set environment settings


Usage: ffx config env set [-l <level>] [-b <build-dir>] file
Options 
--helpdisplay usage information
-l, --levelconfig level. Possible values are “user”, “build”, “global”. Defaults to “user”.
-b, --build-diran optional build directory to associate the build config provided - used for “build” configs. If not provided, it may attempt to autodiscover your active build directory.

get

display config values


Usage: ffx config get [-p <process>] [-s <select>] [-b <build-dir>] [name]
Options 
--helpdisplay usage information
-p, --processhow to process results. Possible values are “r/raw”, “s/sub/substitute”, or “f/file”. Defaults to “substitute”. Currently only supported if a name is given.
-s, --selecthow to collect results. Possible values are “first” and “all”. Defaults to “first”. If the value is “first”, the first value found in terms of priority is returned. If the value is “all”, all values across all configuration levels are aggregrated and returned. Currently only supported if a name is given.
-b, --build-diran optional build directory to associate the build config provided - used for “build” configs. If not provided, it may attempt to autodiscover your active build directory.
Errors 
2No value found

remove

remove config for a given level


Usage: ffx config remove [-l <level>] [-b <build-dir>] name
Options 
--helpdisplay usage information
-l, --levelconfig level. Possible values are “user”, “build”, “global”. Defaults to “user”.
-b, --build-diran optional build directory to associate the build config provided - used for “build” configs. If not provided, it may attempt to autodiscover your active build directory.

Notes

set

set config settings


Usage: ffx config set [-l <level>] [-b <build-dir>] name value
Options 
--helpdisplay usage information
-l, --levelconfig level. Possible values are “user”, “build”, “global”. Defaults to “user”.
-b, --build-diran optional build directory to associate the build config provided - used for “build” configs. If not provided, it may attempt to autodiscover your active build directory.

daemon

Interact with/control the ffx daemon


Usage: ffx daemon [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
crashcrash the daemon
echorun echo test against the daemon
hanghang the daemon
logDumps the daemon log
socketquery information about the daemon socket without connecting to it
startrun as daemon -- normally unnecessary, as the daemon is automatically started on demand. Used primarily for debugging
stopstops a running daemon

crash

crash the daemon


Usage: ffx daemon crash
Options 
--helpdisplay usage information

echo

run echo test against the daemon


Usage: ffx daemon echo [text]
Options 
--helpdisplay usage information

hang

hang the daemon


Usage: ffx daemon hang
Options 
--helpdisplay usage information

log

Dumps the daemon log


Usage: ffx daemon log [-f] [-l <line-count>]
Options 
--helpdisplay usage information
-f, --followprint appended logs as they happen
-l, --line-countdisplay most recent log lines.

socket

query information about the daemon socket without connecting to it


Usage: ffx daemon socket
Options 
--helpdisplay usage information

start

run as daemon -- normally unnecessary, as the daemon is automatically started on demand. Used primarily for debugging


Usage: ffx daemon start [--path <path>]
Options 
--helpdisplay usage information
--pathoverride the path the socket will be bound to

stop

stops a running daemon


Usage: ffx daemon stop [-w] [--no-wait] [-t <timeout-ms>]
Options 
--helpdisplay usage information
-w, --waitwait indefinitely for the daemon to stop before exiting (should not be used in automated systems)
--no-waitdo not wait for daemon to stop (default behavior -- eventually to be deprecated)
-t, --timeout-msoptional timeout (in milliseconds) to wait for the daemon to stop. Will try killing the daemon if it does not exit on its own.

debug

Start a debugging session.


Usage: ffx debug [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
connectstart the debugger and connect to the target
corestart the debugger and open a minidump
crashcatch a crashing process on the target
fidlmonitor FIDL traffic on the target
limbocontrol the process limbo on the target
symbol-indexmanage symbol sources used by other debug commands
symbolizesymbolize backtraces in markup format

connect

start the debugger and connect to the target


Usage: ffx debug connect [--debugger <debugger>] [--agent-only] [-a <attach...>] [-e <execute...>] [--new-agent] [zxdb_args...]
Options 
--helpdisplay usage information
--debuggerstart zxdb in another debugger. Currently, the only valid option is “lldb”.
--agent-onlyonly start the debug agent but not the zxdb. The path to the UNIX socket will be printed and can be connected via “connect -u” in zxdb shell.
-a, --attachattaches to given processes. The argument will be parsed in the same way as the “attach” command in the console.
-e, --executeexecute one zxdb command. Multiple commands will be executed sequentially.
--new-agentalways spawn a new DebugAgent instance for this zxdb invocation.

core

start the debugger and open a minidump


Usage: ffx debug core [--zxdb-args <zxdb-args...>] [minidump]
Options 
--helpdisplay usage information
--zxdb-argsextra arguments passed to zxdb.

crash

catch a crashing process on the target


Usage: ffx debug crash
Options 
--helpdisplay usage information

fidl

monitor FIDL traffic on the target


Usage: ffx debug fidl [--from <from>] [--to <to>] [--format <format>] [--with <with...>] [--with-process-info] [--stack <stack>] [--syscalls <syscalls...>] [--exclude-syscalls <exclude-syscalls...>] [--messages <messages...>] [--exclude-messages <exclude-messages...>] [--trigger <trigger...>] [--thread <thread...>] [--dump-messages] [--remote-pid <remote-pid...>] [-f <remote-name...>] [--extra-name <extra-name...>] [-c <remote-component...>] [--extra-component <extra-component...>] [--fidl-ir-path <fidl-ir-path...>] [extra_args...]
Options 
--helpdisplay usage information
--fromspecifies the source. Source can be: device: this is the default input. The input comes from the live monitoring of one or several processes. At least one of ‘--remote-pid’, ‘--remote-name’, ‘--remote-job-id’, --‘remote-job-name’, ‘run’ must be specified. dump: The input comes from stdin which is the log output of one or several programs. The lines in the log which dump syscalls are decoded and replaced by the decoded version. All other lines are unchanged. : playback. Used to replay a session previously recorded with --to (protobuf format). Path gives the name of the file to read. If path is ‘-’ then the standard input is used. This option must be used at most once.
--tothe session is saved to the specified file (binary protobuf format). When a session is saved, you can replay it using “--from ”. The raw data is saved. That means that the data saved is independent from what is displayed.
--formatthe display format for the session dump. The available formats are: pretty: the session is pretty printed (with colors). This is the default output if --with is not used. json: the session is printed using a json format. textproto: the session is printed using a text protobuf format. none: nothing is displayed on the standard output (this option only makes sense when used with --to or with --with). When there is no output, fidlcat is faster (this is better to monitor real time components). This is the default output when --with is used.
--withspecifies an extra summarized output. summary: at the end of the session, a summary of the session is displayed on the standard output. top: at the end of the session, generate a view that groups the output by process, protocol, and method. The groups are sorted by number of events, so groups with more associated events are listed earlier. group-by-thread: for each thread display a short version of all the events. An equal sign followed by a path can be concatanated to the option to output the result in a file instead of the standard output (for example: --with summary=/tmp/x). This option can be used several times.
--with-process-infodisplay the process name, process id and thread id on each line (useful for grep).
--stackdefine the amount of stack frame to display 0: none (default value) 1: call site (1 to 4 levels) 2: full stack frame (adds some overhead)
--syscallsa regular expression which selects the syscalls to decode and display. This option can be specified multiple times. By default, only zx_channel_.* syscalls are displayed. To display all the syscalls, use: --syscalls “.*”
--exclude-syscallsa regular expression which selects the syscalls to not decode and display. This option can be specified multiple times. To be displayed, a syscall must verify --syscalls and not verify --exclude-syscalls. To display all the syscalls but the zx_handle syscalls, use: --syscalls “.*” --exclude-syscalls “zx_handle_.*”
--messagesa regular expression which selects the messages to display. To display a message, the method name must satisfy the regexp. This option can be specified multiple times. Message filtering works on the method's fully qualified name.
--exclude-messagesa regular expression which selects the messages to not display. If a message method name satisfy the regexp, the message is not displayed (even if it satisfies --messages). This option can be specified multiple times. Message filtering works on the method's fully qualified name.
--triggerstart displaying messages and syscalls only when a message for which the method name satisfies the filter is found. This option can be specified multiple times. Message filtering works on the method's fully qualified name.
--threadonly display the events for the specified thread. This option can be specified multiple times. By default all the events are displayed.
--dump-messagesalways does a hexadecimal dump of the messages even if we can decode them.
--remote-pidthe koid of the remote process to trace.
-f, --remote-namethe of a process. Fidlcat will monitor all existing and future processes whose names includes ( is a substring of the process name). This option can be specified multiple times. When used with --remote-job-id or --remote-job-name, only the processes from the selected jobs are taken into account.
--extra-namelike “--remote-name” but for these processes, monitoring starts only when one of the “--remote-name” or “--remote-component” is launched. Also, fidlcat stops when the last “--remote-name” or “--remote-component” stops, even if some “--extra-name” processes are still running. You must specify at least one filter with “--remote-name” or “--remote-component” if you use this option. This option can be specified multiple times.
-c, --remote-componentthe URL or the moniker of a component for which we want to monitor. All processes running in the component will be monitered. This option can be specified multiple times.
--extra-componentlike “--remote-component” but for these components, monitoring starts only when one of the “--remote-name” or “--remote-component” is launched. Also, fidlcat stops when the last “--remote-name” or “--remote-component” stops, even if some “--extra-component” are still running. You must specify at least one filter with “--remote-name” or “--remote-component” if you use this option. This option can be specified multiple times.
--fidl-ir-pathadd the given path as a repository for FIDL IR, in the form of .fidl.json files. Passing a file adds the given file. Passing a directory adds all of the .fidl.json files in that directory and any directory transitively reachable from there. An argfile contains a newline-separated list of .fidl.json files relative to the directory containing the argfile; passing an argfile (starting with the ‘@’ character) adds all files listed in that argfile. This option can be specified multiple times.

limbo

control the process limbo on the target


Usage: ffx debug limbo [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
disabledisable the process limbo. Will free any pending processes waiting in it.
enableenable the process limbo. It will now begin to capture crashing processes.
listlists the processes currently waiting on limbo. The limbo must be active.
releaserelease a process from limbo. The limbo must be active.
statusquery the status of the process limbo.

disable

disable the process limbo. Will free any pending processes waiting in it.


Usage: ffx debug limbo disable
Options 
--helpdisplay usage information

enable

enable the process limbo. It will now begin to capture crashing processes.


Usage: ffx debug limbo enable
Options 
--helpdisplay usage information

list

lists the processes currently waiting on limbo. The limbo must be active.


Usage: ffx debug limbo list
Options 
--helpdisplay usage information

release

release a process from limbo. The limbo must be active.


Usage: ffx debug limbo release pid
Options 
--helpdisplay usage information

status

query the status of the process limbo.


Usage: ffx debug limbo status
Options 
--helpdisplay usage information

symbol-index

manage symbol sources used by other debug commands


Usage: ffx debug symbol-index [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
addadd a path or url to the symbol index
cleanremove all non-existent paths
listshow the content in symbol index
removeremove a path from the symbol index

Notes

symbol files.

add

add a path or url to the symbol index


Usage: ffx debug symbol-index add [--build-dir <build-dir>] source
Options 
--helpdisplay usage information
--build-diroptional build directory used by zxdb to locate the source code

Notes

Duplicated adding of the same path or url is a no-op, regardless of the optional build directory.

clean

remove all non-existent paths


Usage: ffx debug symbol-index clean
Options 
--helpdisplay usage information

Notes

collection.

list

show the content in symbol index


Usage: ffx debug symbol-index list [-a]
Options 
--helpdisplay usage information
-a, --aggregatedshow the aggregated symbol index

remove

remove a path from the symbol index


Usage: ffx debug symbol-index remove source
Options 
--helpdisplay usage information

Notes

symbolize

symbolize backtraces in markup format


Usage: ffx debug symbolize [--auth] [--no-prettify] [symbolizer_args...]
Options 
--helpdisplay usage information
--authstart the authentication process.
--no-prettifydo not prettify the backtraces.

doctor

Run common checks for the ffx tool and host environment


Usage: ffx doctor [--record] [--no-config] [--retry-count <retry-count>] [--retry-delay <retry-delay>] [--restart-daemon] [-v] [--output-dir <output-dir>] [--repair-keys]
Options 
--helpdisplay usage information
--recordgenerates an output zip file with logs
--no-configdo not include the ffx configuration file
--retry-countnumber of times to retry failed connection attempts
--retry-delaytimeout delay in ms during connection attempt
--restart-daemonforce restart the daemon, even if the connection is working
-v, --verboseverbose, display all steps
--output-diroverride the default output directory for doctor records
--repair-keyschecks SSH key consistency and repairs them if needed. This may cause any devices to be reflashed.

Examples

Notes

interaction issues and provides useful diagnostic information to the user.

By default, running ffx doctor attempts to establish a connection with the daemon, and restarts the daemon if there is no connection. The default retry_count is ‘3’ and the default 'retry_delay` is ‘2000’ milliseconds.

emu

Start and manage Fuchsia emulators.


Usage: ffx emu [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
console[EXPERIMENTAL] Connect to a running Fuchsia emulator's console.
listList running Fuchsia emulators.
showShow Fuchsia emulator details.
startStart the Fuchsia emulator.
stopShut down a running Fuchsia emulator.

Notes

The start subcommand launches an emulator according to the configuration in the Product Bundle. Once one or more emulators are running, you can use the list subcommand to see the name and status of all running emulators, and the show subcommand to get a printout of the configuration for a specific emulator. When you're done with an emulator, use the stop subcommand to cleanly terminate that emulator.

For more information on the Fuchsia emulator, see the Getting Started page at https://fuchsia.dev/fuchsia-src/get-started/set_up_femu.

console

[EXPERIMENTAL] Connect to a running Fuchsia emulator's console.


Usage: ffx emu console [--console-type <console-type>] [-c] [-m] [-s] [name]
Options 
--helpdisplay usage information
--console-typeselector for which console to attach to. Accepted values are: command machine serial
-c, --commandattach to the user-interactive command console. Equivalent to “--console-type command”.
-m, --machineattach to the machine-readable command console. Equivalent to “--console-type machine”.
-s, --serialattach to the Fuchsia serial console. Equivalent to “--console-type serial”.

Examples

list

List running Fuchsia emulators.


Usage: ffx emu list [-r]
Options 
--helpdisplay usage information
-r, --only-runninglist only the emulators that are currently in the “running” state.

show

Show Fuchsia emulator details.


Usage: ffx emu show [--all] [--cmd] [--config] [--device] [--net] [name]
Options 
--helpdisplay usage information
--allshow all of the available details, which is the default.
--cmdshow the command line used to launch the emulator.
--configshow the configuration in a format consistent with the ‘start’ command's --config flag.
--deviceshow the virtual device information used to launch this emulator, in a format consistent with the ‘start’ command's --device flag.
--netswitch to show network details.

start

Start the Fuchsia emulator.


Usage: ffx emu start [--accel <accel>] [--config <config>] [--dev-config <dev-config>] [--console] [--debugger] [--device <device>] [--device-list] [--dry-run] [--edit] [--engine <engine>] [--gpu <gpu>] [-H] [--hidpi-scaling <hidpi-scaling>] [-c <kernel-args...>] [-l <log>] [-m] [--name <name>] [--net <net>] [--port-map <port-map...>] [--reuse] [--reuse-with-check] [--stage] [-s <startup-timeout>] [-V] [product_bundle]
Options 
--helpdisplay usage information
--accelvirtualization acceleration. Valid choices are “none” to disable acceleration, “hyper” to use the host's hypervisor interface (KVM on Linux and HVF on MacOS), or “auto” to use the hypervisor if detected. The default value is “auto”.
--configspecify a configuration file to populate the command line flags for the emulator. Defaults to a Handlebars config specified in the Product Bundle manifest.
--dev-configspecify developer config file to append onto the configuration. This is a JSON file with the object structure: {{ “args”: [], “kernel_args”: [], “env” : {{“key”: “value”}} }}
--consolelaunch the emulator in serial console mode. This redirects the virtual serial port to the host‘s input/output streams, multi-plexed with the QEMU monitor console, then maintains a connection to those streams rather than returning control to the host terminal. This is especially useful when the guest is running without networking enabled. Note: Control sequences are passed through to the guest system in this mode, so Crtl-c will terminate the guest system’s shell, rather than the emulator process itself. If you need to hard-kill the emulator, use the QEMU sequence ‘Ctrl-a x’ instead.
--debuggerpause on launch and wait for a debugger process to attach before resuming. The guest operating system will not begin execution until a debugger, such as gdb or lldb, attaches to the emulator process and signals the emulator to continue.
--devicethe virtual device specification used to configure the emulator. This can be the name of a device listed in the product bundle, or the path to a custom virtual device file. A default for this flag can be set by running ffx config set emu.device <type>. If --device is not specified and no default is set, then ffx emu will attempt to use the first device listed in the PBM(v1), or the product bundle's recommended device(v2).
--device-listprint the list of available virtual devices.
--dry-runsets up the emulation configuration, but doesn't stage files or start the emulator. The command line arguments that the current configuration generates will be printed to stdout for review.
--editopen the user's default editor to modify the command line flags for the emulator.
--engineemulation engine to use for this instance. Allowed values are “femu” which is based on Android Emulator, and “qemu” which uses the version of Qemu packaged with Fuchsia. Default is “femu”. This can be overridden by running ffx config set emu.engine <type>.
--gpuGPU acceleration mode. Allowed values are “swiftshader_indirect”, “host”, or “auto”. Default is “swiftshader_indirect”. “host” and “auto” are for experimental use only and are not officially supported by the Fuchsia emulator team; graphics artifacts, test failures and emulator crashes may occur. Note: this is unused when using the “qemu” engine type. See https://developer.android.com/studio/run/emulator-acceleration#command-gpu for details on the available options. This can be overridden by running ffx config set emu.gpu <type>.
-H, --headlessrun the emulator without a GUI. The guest system may still initialize graphics drivers, but no graphics interface will be presented to the user.
--hidpi-scalingenable pixel scaling on HiDPI devices. Defaults to true for MacOS, false otherwise.
-c, --kernel-argspasses the given string to the emulator executable, appended after all other arguments (since duplicated values favor the later value). This means command-line values will override configuration-provided values for any of these kernel arguments. Can be repeated arbitrarily many times for multiple additional kernel arguments.
-l, --logstore the emulator log at the provided filesystem path. By default, all output goes to a log file in the emulator working directory. The path to this file is printed onscreen during start-up.
-m, --monitorlaunch the emulator in Qemu monitor console mode. See https://qemu-project.gitlab.io/qemu/system/monitor.html for more information on the Qemu monitor console.
--namename of this emulator instance. This is used to identify the instance in other commands and tools. Default is “fuchsia-emulator”. This value can also be set via configuration using the key emu.name.
--netspecify the networking mode for the emulator. Allowed values are “none” which disables networking, “tap” which attaches to a Tun/Tap interface, “user” which sets up mapped ports via SLiRP, and “auto” which will check the host system's capabilities and select “tap” if it is available and “user” otherwise. Default is “auto”. This can be overridden by running ffx config set emu.net <type>.
--port-mapspecify a host port mapping for user-networking mode. Ignored in other networking modes. Syntax is “--port-map :”. The must be one of those specified in the virtual device specification. This flag may be repeated for multiple port mappings.
--reusereuse a persistent emulator's state when starting up. If an emulator with the same name as this instance has been previously started and then stopped without cleanup, this instance will reuse the images from the previous instance. If no previous instance is found, or if the old instance is still running, the new emulator will not attempt to start.
--reuse-with-checkreuse a persistent emulator's state when starting up after version check. If an emulator with the same name as this instance has been previously started and then stopped without cleanup, the zbi and disk volume files are compared against the original. If they match, the instance will reuse the images from the previous instance. If the files do not match, the instance is started using the latest files. If there is no staged instance, the emulator is started using the latest files and the hash information is recorded so this instance can take advantage of this option.
--stagesets up the emulation configuration and stages files, but doesn't start the emulator. The command line arguments that the staged configuration generates will be printed to stdout for review.
-s, --startup-timeoutthe maximum time (in seconds) to wait on an emulator to boot before returning control to the user. A value of 0 will skip the check entirely. Default is 60 seconds. This can be overridden with ffx config set emu.start.timeout <seconds>.
-V, --verboseenables extra logging for debugging.

Examples

Notes

The name provided here will be used for all later interactions to indicate which emulator to target. Emulator names must be unique.

The start command will compile all of the necessary configuration for an emulator, launch the emulator, and then store the configuration on disk for future reference. The configuration comes from the Product Bundle, which includes a virtual device specification and a start-up flag template. See https://fuchsia.dev/fuchsia-src/contribute/governance/rfcs/0100_product_metadata for more information.

stop

Shut down a running Fuchsia emulator.


Usage: ffx emu stop [--all] [-p] [name]
Options 
--helpdisplay usage information
--allshut down and clean up all emulator instances running on the device.
-p, --persistdon't remove the state directory on stop, just terminate the emulator.

Examples

Notes

working directory, which contains emulator state, staged image files, etc.

Use the --persist flag if you need to leave the working directory intact while shutting down the emulator, for debugging or troubleshooting purposes. The working directory will be left in place, and the emulator will be marked [Inactive] in ffx emu list results until stop is called for that instance without the --persist flag.

net

View and manage target network configuration


Usage: ffx net [--realm <realm>] [subcommand...]
Options 
--helpdisplay usage information
--realma realm to target when sending commands. Defaults to the core network realm.
Subcommands 
dhcpcommands for an interfaces dhcp client
dhcpdcommands to control a dhcp server
dnscommands to control the dns resolver
filtercommands for configuring packet filtering
filter-deprecatedcommands for configuring packet filtering with the deprecated API
ifcommands for network interfaces
logcommands for logging
migrationcontrols netstack selection for migration from netstack2 to netstack3
neighcommands for neighbor tables
routecommands for routing tables

dhcp

commands for an interfaces dhcp client


Usage: ffx net dhcp [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
startstarts a dhcp client on the interface
stopstops the dhcp client on the interface

start

starts a dhcp client on the interface


Usage: ffx net dhcp start nicid or name:ifname
Options 
--helpdisplay usage information

stop

stops the dhcp client on the interface


Usage: ffx net dhcp stop nicid or name:ifname
Options 
--helpdisplay usage information

dhcpd

commands to control a dhcp server


Usage: ffx net dhcpd [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
clear-leasesA primary command to clear the leases maintained by dhcpd.
getA primary command to retrieve the value of a DHCP option or server parameter.
listA primary command to list the values of all DHCP options or server parameters.
resetA primary command to reset the values of all DHCP options or server parameters.
setA primary command to set the value of a DHCP option or server parameter.
startA primary command to start the DHCP server.
stopA primary command to stop the DHCP server.

clear-leases

A primary command to clear the leases maintained by dhcpd.


Usage: ffx net dhcpd clear-leases
Options 
--helpdisplay usage information

get

A primary command to retrieve the value of a DHCP option or server parameter.


Usage: ffx net dhcpd get [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
optionA secondary command indicating a DHCP option argument.
parameterA secondary command indicating a server parameter argument.
option

A secondary command indicating a DHCP option argument.


Usage: ffx net dhcpd get option [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
all-subnets-localFlag indicating if all subnets of the connected network have the same MTU.
arp-cache-timeoutTimeout for ARP cache entries.
boot-file-sizeSize of the default boot image for the client.
bootfile-nameBootfile name for the client.
broadcast-addressBroadcast address of the client's subnet.
cookie-serverRFC 865 Cookie servers available to the client.
default-finger-serverDefault Finger servers available to the client.
default-ip-ttlDefault time-to-live to use on outgoing IP datagrams.
default-irc-serverDefault IRC servers available to the client.
default-www-serverDefault WWW servers available to the client.
domain-nameDomain name of the client.
domain-name-serverDomain Name System servers available to the client.
ethernet-encapsulationFlag specifying whether the client should use Ethernet v2 or IEEE 802.3 encapsulation.
extensions-pathPath name to a TFTP-retrievable file containing vendor-extension information.
host-nameName of the client.
impress-serverImagen Impress servers available to the client.
interface-mtuMTU for the client's interface.
ip-forwardingFlag enabling/disabling IP layer packet forwarding.
log-serverMIT-LCS UDP Log servers available to the client.
lpr-serverRFC 1179 Line Printer servers available to the client.
mask-supplierFlag indicating whether the client should respond to subnet mask discovery requests via ICMP.
max-datagram-reassembly-sizeMaximum sized datagram that the client should be able to reassemble.
max-message-sizeMaximum length of a DHCP message that the participant is willing to accept.
merit-dump-filePath name of a core dump file.
mobile-ip-home-agentMobile IP home agents available to the client.
name-serverIEN 116 Name servers available to the client.
net-bios-over-tcpip-distribution-serverNetBIOS datagram distribution servers available to the client.
net-bios-over-tcpip-name-serverNetBIOS name servers available to the client.
net-bios-over-tcpip-node-typeThe NetBIOS node type which should be used by the client.
net-bios-over-tcpip-scopeNetBIOS scope parameter for the client.
network-information-serversNetwork Information Service servers available to the client.
network-information-service-domainName of the client's Network Information Service domain.
network-information-service-plus-domainNetwork Information System+ domain name.
network-information-service-plus-serversNetwork Information System+ servers available to the client.
network-time-protocol-serversNetwork Time Protocol servers available to the client.
nntp-serverNNTP servers available to the client.
non-local-source-routingFlag enabling/disabling forwarding of IP packets with non-local source routes.
path-mtu-aging-timeoutTimeout to use when aging Path MTU values.
path-mtu-plateau-tableTable of MTU sizes for Path MTU Discovery.
perform-mask-discoveryFlag indicating whether the client should perform subnet mask discovery via ICMP.
perform-router-discoveryFlag indicating whether the client should solicit routers using Router Discovery.
policy-filterPolicy filters for non-local source routing.
pop3-serverPOP3 servers available to the client.
rebinding-time-valueTime interval from address assignment at which the client transitions to a Rebinding state.
renewal-time-valueTime interval from address assignment at which the client transitions to a Renewing state.
resource-location-serverRFC 887 Resource Location servers available to the client.
root-pathPath name to a TFTP-retrievable file containing vendor-extension information.
routerThe routers within a client's subnet.
router-solicitation-addressDestination address for Router Solicitation requests.
smtp-serverSMTP servers available to the client.
static-routeStatic Routes which the client should put in its routing cache.
stda-serverStreetTalk Directory Assistance servers available to the client.
street-talk-serverStreetTalk servers available to the client.
subnet-maskThe client's subnet mask.
swap-serverAddress of the client's swap server.
tcp-default-ttlDefault time-to-live for outgoing TCP segments.
tcp-keepalive-garbageFlag specifying whether the client should send TCP keepalive messages with an octet of garbage.
tcp-keepalive-intervalInterval the client should wait before sending a TCP keepalive message.
tftp-server-nameTFTP server available to the client.
time-offsetThe client's offset from UTC.
time-serverTime Protocol servers available to the client.
trailer-encapsulationFlag specifying whether the client should negotiate the use of trailers in ARP.
vendor-specific-informationOption for exchanging vendor-specific information between the DHCP client and DHCP server.
x-window-system-display-managerX window System Display Manager systems available to the client.
x-window-system-font-serverX Window System Font servers available to the client.
all-subnets-local

Flag indicating if all subnets of the connected network have the same MTU.


Usage: ffx net dhcpd get option all-subnets-local [--local]
Options 
--helpdisplay usage information
--locala flag indicating if all subents of the IP network to which the client is connected have the same MTU.
arp-cache-timeout

Timeout for ARP cache entries.


Usage: ffx net dhcpd get option arp-cache-timeout [--timeout <timeout>]
Options 
--helpdisplay usage information
--timeoutthe timeout for ARP cache entries, in seconds.
boot-file-size

Size of the default boot image for the client.


Usage: ffx net dhcpd get option boot-file-size [--size <size>]
Options 
--helpdisplay usage information
--sizethe size of the client's default boot image in 512-octet blocks.
bootfile-name

Bootfile name for the client.


Usage: ffx net dhcpd get option bootfile-name [--name <name>]
Options 
--helpdisplay usage information
--namethe bootfile name for the client. This option should be used when the file field has been overloaded to carry options.
broadcast-address

Broadcast address of the client's subnet.


Usage: ffx net dhcpd get option broadcast-address [--addr <addr>]
Options 
--helpdisplay usage information
--addrthe broadcast address of the client's subnet. Legal values are defined in RFC 1122.
cookie-server

RFC 865 Cookie servers available to the client.


Usage: ffx net dhcpd get option cookie-server [--cookie-servers <cookie-servers...>]
Options 
--helpdisplay usage information
--cookie-serversa list of RFC 865 Cookie servers available to the client, in order of preference.
default-finger-server

Default Finger servers available to the client.


Usage: ffx net dhcpd get option default-finger-server [--finger-servers <finger-servers...>]
Options 
--helpdisplay usage information
--finger-serversa list of default Finger server addresses available to the client, listed in order of preference.
default-ip-ttl

Default time-to-live to use on outgoing IP datagrams.


Usage: ffx net dhcpd get option default-ip-ttl [--ttl <ttl>]
Options 
--helpdisplay usage information
--ttlthe default time-to-live to use on outgoing IP datagrams. The value must be between 1 and 255.
default-irc-server

Default IRC servers available to the client.


Usage: ffx net dhcpd get option default-irc-server [--irc-servers <irc-servers...>]
Options 
--helpdisplay usage information
--irc-serversa list of Internet Relay Chat server addresses available to the client, listed in order of preference.
default-www-server

Default WWW servers available to the client.


Usage: ffx net dhcpd get option default-www-server [--www-servers <www-servers...>]
Options 
--helpdisplay usage information
--www-serversa list of default World Wide Web (WWW) server addresses available to the client, listed in order of preference.
domain-name

Domain name of the client.


Usage: ffx net dhcpd get option domain-name [--name <name>]
Options 
--helpdisplay usage information
--namethe client's domain name for use in resolving hostnames in the DNS.
domain-name-server

Domain Name System servers available to the client.


Usage: ffx net dhcpd get option domain-name-server [--domain-name-servers <domain-name-servers...>]
Options 
--helpdisplay usage information
--domain-name-serversa list of DNS servers available to the client, in order of preference;
ethernet-encapsulation

Flag specifying whether the client should use Ethernet v2 or IEEE 802.3 encapsulation.


Usage: ffx net dhcpd get option ethernet-encapsulation [--encapsulate]
Options 
--helpdisplay usage information
--encapsulatea flag specifying that the client should use Ethernet v2 encapsulation when false, and IEEE 802.3 encapsulation when true.
extensions-path

Path name to a TFTP-retrievable file containing vendor-extension information.


Usage: ffx net dhcpd get option extensions-path [--path <path>]
Options 
--helpdisplay usage information
--paththe path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored.
host-name

Name of the client.


Usage: ffx net dhcpd get option host-name [--name <name>]
Options 
--helpdisplay usage information
--namethe name of client, which may or may not be qualified with the local domain name.
impress-server

Imagen Impress servers available to the client.


Usage: ffx net dhcpd get option impress-server [--impress-servers <impress-servers...>]
Options 
--helpdisplay usage information
--impress-serversa list of Imagen Impress servers available to the client, in order of preference.
interface-mtu

MTU for the client's interface.


Usage: ffx net dhcpd get option interface-mtu [--mtu <mtu>]
Options 
--helpdisplay usage information
--mtuthe MTU for the client's interface. Minimum value of 68.
ip-forwarding

Flag enabling/disabling IP layer packet forwarding.


Usage: ffx net dhcpd get option ip-forwarding [--enabled]
Options 
--helpdisplay usage information
--enableda flag which will enabled IP layer packet forwarding when true.
log-server

MIT-LCS UDP Log servers available to the client.


Usage: ffx net dhcpd get option log-server [--log-servers <log-servers...>]
Options 
--helpdisplay usage information
--log-serversa list of MIT-LCS UDP Log servers available to the client, in order of preference.
lpr-server

RFC 1179 Line Printer servers available to the client.


Usage: ffx net dhcpd get option lpr-server [--lpr-servers <lpr-servers...>]
Options 
--helpdisplay usage information
--lpr-serversa list of RFC 1179 Line Printer servers available to the client, in order of preference.
mask-supplier

Flag indicating whether the client should respond to subnet mask discovery requests via ICMP.


Usage: ffx net dhcpd get option mask-supplier [--supplier]
Options 
--helpdisplay usage information
--suppliera flag indicating whether the client should respond to subnet mask discovery requests via ICMP.
max-datagram-reassembly-size

Maximum sized datagram that the client should be able to reassemble.


Usage: ffx net dhcpd get option max-datagram-reassembly-size [--size <size>]
Options 
--helpdisplay usage information
--sizethe maximum sized datagram that the client should be able to reassemble, in octets. The minimum legal value is 576.
max-message-size

Maximum length of a DHCP message that the participant is willing to accept.


Usage: ffx net dhcpd get option max-message-size [--length <length>]
Options 
--helpdisplay usage information
--lengththe maximum length in octets of a DHCP message that the participant is willing to accept. The minimum value is 576.
merit-dump-file

Path name of a core dump file.


Usage: ffx net dhcpd get option merit-dump-file [--path <path>]
Options 
--helpdisplay usage information
--paththe path name to the client's core dump in the event the client crashes.
mobile-ip-home-agent

Mobile IP home agents available to the client.


Usage: ffx net dhcpd get option mobile-ip-home-agent [--home-agents <home-agents...>]
Options 
--helpdisplay usage information
--home-agentsa list of mobile IP home agent addresses available to the client, listed in order of preference.
name-server

IEN 116 Name servers available to the client.


Usage: ffx net dhcpd get option name-server [--name-servers <name-servers...>]
Options 
--helpdisplay usage information
--name-serversa list of IEN 116 Name servers available to the client, in order of preference.
net-bios-over-tcpip-distribution-server

NetBIOS datagram distribution servers available to the client.


Usage: ffx net dhcpd get option net-bios-over-tcpip-distribution-server [--servers <servers...>]
Options 
--helpdisplay usage information
--serversa list of NetBIOS datagram distribution servers available to the client, listed in order of preference.
net-bios-over-tcpip-name-server

NetBIOS name servers available to the client.


Usage: ffx net dhcpd get option net-bios-over-tcpip-name-server [--servers <servers...>]
Options 
--helpdisplay usage information
--serversa list of NetBIOS name server addresses available to the client, listed in order of preference.
net-bios-over-tcpip-node-type

The NetBIOS node type which should be used by the client.


Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
b-nodeA B node type.
h-nodeA H node type.
m-nodeA M node type.
p-nodeA P node type.

####### b-node

A B node type.


Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type b-node
Options 
--helpdisplay usage information

####### h-node

A H node type.


Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type h-node
Options 
--helpdisplay usage information

####### m-node

A M node type.


Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type m-node
Options 
--helpdisplay usage information

####### p-node

A P node type.


Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type p-node
Options 
--helpdisplay usage information
net-bios-over-tcpip-scope

NetBIOS scope parameter for the client.


Usage: ffx net dhcpd get option net-bios-over-tcpip-scope [--scope <scope>]
Options 
--helpdisplay usage information
--scopethe NetBIOS over TCP/IP scope parameter, as defined in RFC 1001, for the client.
network-information-servers

Network Information Service servers available to the client.


Usage: ffx net dhcpd get option network-information-servers [--servers <servers...>]
Options 
--helpdisplay usage information
--serversa list of Network Information Service server addresses available to the client, listed in order of preference.
network-information-service-domain

Name of the client's Network Information Service domain.


Usage: ffx net dhcpd get option network-information-service-domain [--domain-name <domain-name>]
Options 
--helpdisplay usage information
--domain-namethe name of the client's Network Information Service domain.
network-information-service-plus-domain

Network Information System+ domain name.


Usage: ffx net dhcpd get option network-information-service-plus-domain [--domain-name <domain-name>]
Options 
--helpdisplay usage information
--domain-namethe name of the client's Network Information System+ domain.
network-information-service-plus-servers

Network Information System+ servers available to the client.


Usage: ffx net dhcpd get option network-information-service-plus-servers [--servers <servers...>]
Options 
--helpdisplay usage information
--serversa list of Network Information System+ server addresses available to the client, listed in order of preference.
network-time-protocol-servers

Network Time Protocol servers available to the client.


Usage: ffx net dhcpd get option network-time-protocol-servers [--servers <servers...>]
Options 
--helpdisplay usage information
--serversa list of Network Time Protocol (NTP) server addresses available to the client, listed in order of preference.
nntp-server

NNTP servers available to the client.


Usage: ffx net dhcpd get option nntp-server [--nntp-servers <nntp-servers...>]
Options 
--helpdisplay usage information
--nntp-serversa list Network News Transport Protocol (NNTP) server addresses available to the client, listed in order of preference.
non-local-source-routing

Flag enabling/disabling forwarding of IP packets with non-local source routes.


Usage: ffx net dhcpd get option non-local-source-routing [--enabled]
Options 
--helpdisplay usage information
--enableda flag which will enable forwarding of IP packets with non-local source routes.
path-mtu-aging-timeout

Timeout to use when aging Path MTU values.


Usage: ffx net dhcpd get option path-mtu-aging-timeout [--timeout <timeout>]
Options 
--helpdisplay usage information
--timeoutthe timeout, in seconds, to be used when again Path MTU values by the mechanism in RFC 1191.
path-mtu-plateau-table

Table of MTU sizes for Path MTU Discovery.


Usage: ffx net dhcpd get option path-mtu-plateau-table [--mtu-sizes <mtu-sizes...>]
Options 
--helpdisplay usage information
--mtu-sizesA list of MTU sizes, ordered from smallest to largest. The smallest value cannot be smaller than 68.
perform-mask-discovery

Flag indicating whether the client should perform subnet mask discovery via ICMP.


Usage: ffx net dhcpd get option perform-mask-discovery [--do-discovery]
Options 
--helpdisplay usage information
--do-discoverya flag indicating whether the client should perform subnet mask discovery via ICMP.
perform-router-discovery

Flag indicating whether the client should solicit routers using Router Discovery.


Usage: ffx net dhcpd get option perform-router-discovery [--do-discovery]
Options 
--helpdisplay usage information
--do-discoveryA flag indicating whether the client should solicit routers using Router Discovery as defined in RFC 1256.
policy-filter

Policy filters for non-local source routing.


Usage: ffx net dhcpd get option policy-filter [--addresses <addresses...>]
Options 
--helpdisplay usage information
--addressesa list of IP Address and Subnet Mask pairs. If an incoming source-routed packet has a next-hop that does not match one of these pairs, then the packet will be dropped.
pop3-server

POP3 servers available to the client.


Usage: ffx net dhcpd get option pop3-server [--pop3-servers <pop3-servers...>]
Options 
--helpdisplay usage information
--pop3-serversa list of Post Office Protocol (POP3) server addresses available to the client, listed in order of preference.
rebinding-time-value

Time interval from address assignment at which the client transitions to a Rebinding state.


Usage: ffx net dhcpd get option rebinding-time-value [--interval <interval>]
Options 
--helpdisplay usage information
--intervalthe time interval, in seconds, after address assignment at which the client will transition to the Rebinding state.
renewal-time-value

Time interval from address assignment at which the client transitions to a Renewing state.


Usage: ffx net dhcpd get option renewal-time-value [--interval <interval>]
Options 
--helpdisplay usage information
--intervalthe time interval, in seconds, after address assignment at which the client will transition to the Renewing state.
resource-location-server

RFC 887 Resource Location servers available to the client.


Usage: ffx net dhcpd get option resource-location-server [--resource-location-servers <resource-location-servers...>]
Options 
--helpdisplay usage information
--resource-location-serversa list of RFC 887 Resource Location servers available to the client, in order of preference.
root-path

Path name to a TFTP-retrievable file containing vendor-extension information.


Usage: ffx net dhcpd get option root-path [--path <path>]
Options 
--helpdisplay usage information
--paththe path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored.
router

The routers within a client's subnet.


Usage: ffx net dhcpd get option router [--routers <routers...>]
Options 
--helpdisplay usage information
--routersa list of the routers in a client's subnet, listed in order of preference.
router-solicitation-address

Destination address for Router Solicitation requests.


Usage: ffx net dhcpd get option router-solicitation-address [--addr <addr>]
Options 
--helpdisplay usage information
--addrthe address to which the client should transmit Router Solicitation requests.
smtp-server

SMTP servers available to the client.


Usage: ffx net dhcpd get option smtp-server [--smtp-servers <smtp-servers...>]
Options 
--helpdisplay usage information
--smtp-serversa list of Simple Mail Transport Protocol (SMTP) server address available to the client, listed in order of preference.
static-route

Static Routes which the client should put in its routing cache.


Usage: ffx net dhcpd get option static-route [--routes <routes...>]
Options 
--helpdisplay usage information
--routesa list of Destination address/Next-hop address pairs defining static routes for the client's routing table. The routes should be listed in descending order of priority. It is illegal to use 0.0.0.0 as the destination in a static route.
stda-server

StreetTalk Directory Assistance servers available to the client.


Usage: ffx net dhcpd get option stda-server [--stda-servers <stda-servers...>]
Options 
--helpdisplay usage information
--stda-serversa list of StreetTalk Directory Assistance server addresses available to the client, listed in order of preference.
street-talk-server

StreetTalk servers available to the client.


Usage: ffx net dhcpd get option street-talk-server [--streettalk-servers <streettalk-servers...>]
Options 
--helpdisplay usage information
--streettalk-serversa list of StreetTalk server addresses available to the client, listed in order of preference.
subnet-mask

The client's subnet mask.


Usage: ffx net dhcpd get option subnet-mask [--mask <mask>]
Options 
--helpdisplay usage information
--maska 32-bit IPv4 subnet mask.
swap-server

Address of the client's swap server.


Usage: ffx net dhcpd get option swap-server [--address <address>]
Options 
--helpdisplay usage information
--addressthe address of the client's swap server.
tcp-default-ttl

Default time-to-live for outgoing TCP segments.


Usage: ffx net dhcpd get option tcp-default-ttl [--ttl <ttl>]
Options 
--helpdisplay usage information
--ttlthe default time-to-live that the client should use for outgoing TCP segments. The minimum value is 1.
tcp-keepalive-garbage

Flag specifying whether the client should send TCP keepalive messages with an octet of garbage.


Usage: ffx net dhcpd get option tcp-keepalive-garbage [--send-garbage]
Options 
--helpdisplay usage information
--send-garbagea flag specifying whether the client should send TCP keepalive messages with an octet of garbage for compatibility with older implementations.
tcp-keepalive-interval

Interval the client should wait before sending a TCP keepalive message.


Usage: ffx net dhcpd get option tcp-keepalive-interval [--interval <interval>]
Options 
--helpdisplay usage information
--intervalthe interval, in seconds, the client should wait before sending a TCP keepalive message. A value of 0 indicates that the client should not send keepalive messages unless specifically requested by an application.
tftp-server-name

TFTP server available to the client.


Usage: ffx net dhcpd get option tftp-server-name [--name <name>]
Options 
--helpdisplay usage information
--namethe TFTP server name available to the client. This option should be used when the sname field has been overloaded to carry options.
time-offset

The client's offset from UTC.


Usage: ffx net dhcpd get option time-offset [--offset <offset>]
Options 
--helpdisplay usage information
--offsetthe client's offset from UTC in seconds. A positive offset is east of the zero meridian, and a negative offset is west of the zero meridian.
time-server

Time Protocol servers available to the client.


Usage: ffx net dhcpd get option time-server [--time-servers <time-servers...>]
Options 
--helpdisplay usage information
--time-serversa list of time servers available to the client, in order of preference.
trailer-encapsulation

Flag specifying whether the client should negotiate the use of trailers in ARP.


Usage: ffx net dhcpd get option trailer-encapsulation [--trailers]
Options 
--helpdisplay usage information
--trailersa flag specifying whether the client negotiate the use of trailers when using ARP, per RFC 893.
vendor-specific-information

Option for exchanging vendor-specific information between the DHCP client and DHCP server.


Usage: ffx net dhcpd get option vendor-specific-information [--data <data...>]
Options 
--helpdisplay usage information
--dataan opaque object of octets for exchanging vendor-specific information.
x-window-system-display-manager

X window System Display Manager systems available to the client.


Usage: ffx net dhcpd get option x-window-system-display-manager [--display-servers <display-servers...>]
Options 
--helpdisplay usage information
--display-serversa list of X Window System Display Manager system addresses available to the client, listed in order of preference.
x-window-system-font-server

X Window System Font servers available to the client.


Usage: ffx net dhcpd get option x-window-system-font-server [--servers <servers...>]
Options 
--helpdisplay usage information
--serversa list of X Window System Font server addresses available to the client, listed in order of preference.
parameter

A secondary command indicating a server parameter argument.


Usage: ffx net dhcpd get parameter [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
address-poolThe pool of addresses which the DHCP server manages.
arp-probeEnables server behavior where the server ARPs an IP address prior to issuing it in a lease.
bound-device-namesThe names of the network devices on which the server will listen.
ip-addrsThe IPv4 addresses to which the server is bound.
lease-lengthThe duration of leases offered by the server.
permitted-macsThe client MAC addresses which the server will issue leases to.
statically-assigned-addrsAddresses in the AddressPool which will only be leased to specified clients. Assigned addresses will be paired with hosts in order, e.g. hosts (A, B, C) and addresses (1, 2, 3) pair as ((A, 1), (B, 2), (C, 3)).
address-pool

The pool of addresses which the DHCP server manages.


Usage: ffx net dhcpd get parameter address-pool [--prefix-length <prefix-length>] [--range-start <range-start>] [--range-stop <range-stop>]
Options 
--helpdisplay usage information
--prefix-lengththe prefix length of the network's subnet mask
--range-startthe starting address, inclusive, of the range of addresses which the DHCP server will lease to clients
--range-stopthe ending address, inclusive, of the range of addresses which the server will to clients
arp-probe

Enables server behavior where the server ARPs an IP address prior to issuing it in a lease.


Usage: ffx net dhcpd get parameter arp-probe [--enabled]
Options 
--helpdisplay usage information
--enabledenables server behavior where the server ARPs an IP address prior to issuing it in a lease. If the server receives a response, the server will mark the address as in-use and try again with a different address. By default, this behavior is disabled.
bound-device-names

The names of the network devices on which the server will listen.


Usage: ffx net dhcpd get parameter bound-device-names [names...]
Options 
--helpdisplay usage information
ip-addrs

The IPv4 addresses to which the server is bound.


Usage: ffx net dhcpd get parameter ip-addrs [--addrs <addrs...>]
Options 
--helpdisplay usage information
--addrsA list of IPv4 Addresses to which the server is bound.
lease-length

The duration of leases offered by the server.


Usage: ffx net dhcpd get parameter lease-length [--default <default>] [--max <max>]
Options 
--helpdisplay usage information
--defaultthe default lease length, in seconds, to be issued to clients.
--maxthe maximum lease length value, in seconds, which the server will issue to clients who have requested a specific lease length. With the default value of 0, the max lease length is equivalent to the default lease length.
permitted-macs

The client MAC addresses which the server will issue leases to.


Usage: ffx net dhcpd get parameter permitted-macs [--macs <macs...>]
Options 
--helpdisplay usage information
--macsthe client MAC addresses which the server will issue leases to. By default, the server will not have a permitted MAC list, in which case it will attempt to issue a lease to every client which requests one. If permitted_macs has a non-zero length then the server will only respond to lease requests from clients with a MAC in the list.
statically-assigned-addrs

Addresses in the AddressPool which will only be leased to specified clients. Assigned addresses will be paired with hosts in order, e.g. hosts (A, B, C) and addresses (1, 2, 3) pair as ((A, 1), (B, 2), (C, 3)).


Usage: ffx net dhcpd get parameter statically-assigned-addrs [--hosts <hosts...>] [--assigned-addrs <assigned-addrs...>]
Options 
--helpdisplay usage information
--hostshosts which will be leased the addresses reserved by assigned_addrs.
--assigned-addrsaddresses in the AddressPool which will not be leased to clients. Typically, a network administrator will statically assign these addresses to always-on network devices which should always have the same IP address, such as network printers.

list

A primary command to list the values of all DHCP options or server parameters.


Usage: ffx net dhcpd list [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
optionPerform the command on DHCP options.
parameterPerform the command on server parameters.
option

Perform the command on DHCP options.


Usage: ffx net dhcpd list option
Options 
--helpdisplay usage information
parameter

Perform the command on server parameters.


Usage: ffx net dhcpd list parameter
Options 
--helpdisplay usage information

reset

A primary command to reset the values of all DHCP options or server parameters.


Usage: ffx net dhcpd reset [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
optionPerform the command on DHCP options.
parameterPerform the command on server parameters.
option

Perform the command on DHCP options.


Usage: ffx net dhcpd reset option
Options 
--helpdisplay usage information
parameter

Perform the command on server parameters.


Usage: ffx net dhcpd reset parameter
Options 
--helpdisplay usage information

set

A primary command to set the value of a DHCP option or server parameter.


Usage: ffx net dhcpd set [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
optionA secondary command indicating a DHCP option argument.
parameterA secondary command indicating a server parameter argument.
option

A secondary command indicating a DHCP option argument.


Usage: ffx net dhcpd set option [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
all-subnets-localFlag indicating if all subnets of the connected network have the same MTU.
arp-cache-timeoutTimeout for ARP cache entries.
boot-file-sizeSize of the default boot image for the client.
bootfile-nameBootfile name for the client.
broadcast-addressBroadcast address of the client's subnet.
cookie-serverRFC 865 Cookie servers available to the client.
default-finger-serverDefault Finger servers available to the client.
default-ip-ttlDefault time-to-live to use on outgoing IP datagrams.
default-irc-serverDefault IRC servers available to the client.
default-www-serverDefault WWW servers available to the client.
domain-nameDomain name of the client.
domain-name-serverDomain Name System servers available to the client.
ethernet-encapsulationFlag specifying whether the client should use Ethernet v2 or IEEE 802.3 encapsulation.
extensions-pathPath name to a TFTP-retrievable file containing vendor-extension information.
host-nameName of the client.
impress-serverImagen Impress servers available to the client.
interface-mtuMTU for the client's interface.
ip-forwardingFlag enabling/disabling IP layer packet forwarding.
log-serverMIT-LCS UDP Log servers available to the client.
lpr-serverRFC 1179 Line Printer servers available to the client.
mask-supplierFlag indicating whether the client should respond to subnet mask discovery requests via ICMP.
max-datagram-reassembly-sizeMaximum sized datagram that the client should be able to reassemble.
max-message-sizeMaximum length of a DHCP message that the participant is willing to accept.
merit-dump-filePath name of a core dump file.
mobile-ip-home-agentMobile IP home agents available to the client.
name-serverIEN 116 Name servers available to the client.
net-bios-over-tcpip-distribution-serverNetBIOS datagram distribution servers available to the client.
net-bios-over-tcpip-name-serverNetBIOS name servers available to the client.
net-bios-over-tcpip-node-typeThe NetBIOS node type which should be used by the client.
net-bios-over-tcpip-scopeNetBIOS scope parameter for the client.
network-information-serversNetwork Information Service servers available to the client.
network-information-service-domainName of the client's Network Information Service domain.
network-information-service-plus-domainNetwork Information System+ domain name.
network-information-service-plus-serversNetwork Information System+ servers available to the client.
network-time-protocol-serversNetwork Time Protocol servers available to the client.
nntp-serverNNTP servers available to the client.
non-local-source-routingFlag enabling/disabling forwarding of IP packets with non-local source routes.
path-mtu-aging-timeoutTimeout to use when aging Path MTU values.
path-mtu-plateau-tableTable of MTU sizes for Path MTU Discovery.
perform-mask-discoveryFlag indicating whether the client should perform subnet mask discovery via ICMP.
perform-router-discoveryFlag indicating whether the client should solicit routers using Router Discovery.
policy-filterPolicy filters for non-local source routing.
pop3-serverPOP3 servers available to the client.
rebinding-time-valueTime interval from address assignment at which the client transitions to a Rebinding state.
renewal-time-valueTime interval from address assignment at which the client transitions to a Renewing state.
resource-location-serverRFC 887 Resource Location servers available to the client.
root-pathPath name to a TFTP-retrievable file containing vendor-extension information.
routerThe routers within a client's subnet.
router-solicitation-addressDestination address for Router Solicitation requests.
smtp-serverSMTP servers available to the client.
static-routeStatic Routes which the client should put in its routing cache.
stda-serverStreetTalk Directory Assistance servers available to the client.
street-talk-serverStreetTalk servers available to the client.
subnet-maskThe client's subnet mask.
swap-serverAddress of the client's swap server.
tcp-default-ttlDefault time-to-live for outgoing TCP segments.
tcp-keepalive-garbageFlag specifying whether the client should send TCP keepalive messages with an octet of garbage.
tcp-keepalive-intervalInterval the client should wait before sending a TCP keepalive message.
tftp-server-nameTFTP server available to the client.
time-offsetThe client's offset from UTC.
time-serverTime Protocol servers available to the client.
trailer-encapsulationFlag specifying whether the client should negotiate the use of trailers in ARP.
vendor-specific-informationOption for exchanging vendor-specific information between the DHCP client and DHCP server.
x-window-system-display-managerX window System Display Manager systems available to the client.
x-window-system-font-serverX Window System Font servers available to the client.
all-subnets-local

Flag indicating if all subnets of the connected network have the same MTU.


Usage: ffx net dhcpd set option all-subnets-local [--local]
Options 
--helpdisplay usage information
--locala flag indicating if all subents of the IP network to which the client is connected have the same MTU.
arp-cache-timeout

Timeout for ARP cache entries.


Usage: ffx net dhcpd set option arp-cache-timeout [--timeout <timeout>]
Options 
--helpdisplay usage information
--timeoutthe timeout for ARP cache entries, in seconds.
boot-file-size

Size of the default boot image for the client.


Usage: ffx net dhcpd set option boot-file-size [--size <size>]
Options 
--helpdisplay usage information
--sizethe size of the client's default boot image in 512-octet blocks.
bootfile-name

Bootfile name for the client.


Usage: ffx net dhcpd set option bootfile-name [--name <name>]
Options 
--helpdisplay usage information
--namethe bootfile name for the client. This option should be used when the file field has been overloaded to carry options.
broadcast-address

Broadcast address of the client's subnet.


Usage: ffx net dhcpd set option broadcast-address [--addr <addr>]
Options 
--helpdisplay usage information
--addrthe broadcast address of the client's subnet. Legal values are defined in RFC 1122.
cookie-server

RFC 865 Cookie servers available to the client.


Usage: ffx net dhcpd set option cookie-server [--cookie-servers <cookie-servers...>]
Options 
--helpdisplay usage information
--cookie-serversa list of RFC 865 Cookie servers available to the client, in order of preference.
default-finger-server

Default Finger servers available to the client.


Usage: ffx net dhcpd set option default-finger-server [--finger-servers <finger-servers...>]
Options 
--helpdisplay usage information
--finger-serversa list of default Finger server addresses available to the client, listed in order of preference.
default-ip-ttl

Default time-to-live to use on outgoing IP datagrams.


Usage: ffx net dhcpd set option default-ip-ttl [--ttl <ttl>]
Options 
--helpdisplay usage information
--ttlthe default time-to-live to use on outgoing IP datagrams. The value must be between 1 and 255.
default-irc-server

Default IRC servers available to the client.


Usage: ffx net dhcpd set option default-irc-server [--irc-servers <irc-servers...>]
Options 
--helpdisplay usage information
--irc-serversa list of Internet Relay Chat server addresses available to the client, listed in order of preference.
default-www-server

Default WWW servers available to the client.


Usage: ffx net dhcpd set option default-www-server [--www-servers <www-servers...>]
Options 
--helpdisplay usage information
--www-serversa list of default World Wide Web (WWW) server addresses available to the client, listed in order of preference.
domain-name

Domain name of the client.


Usage: ffx net dhcpd set option domain-name [--name <name>]
Options 
--helpdisplay usage information
--namethe client's domain name for use in resolving hostnames in the DNS.
domain-name-server

Domain Name System servers available to the client.


Usage: ffx net dhcpd set option domain-name-server [--domain-name-servers <domain-name-servers...>]
Options 
--helpdisplay usage information
--domain-name-serversa list of DNS servers available to the client, in order of preference;
ethernet-encapsulation

Flag specifying whether the client should use Ethernet v2 or IEEE 802.3 encapsulation.


Usage: ffx net dhcpd set option ethernet-encapsulation [--encapsulate]
Options 
--helpdisplay usage information
--encapsulatea flag specifying that the client should use Ethernet v2 encapsulation when false, and IEEE 802.3 encapsulation when true.
extensions-path

Path name to a TFTP-retrievable file containing vendor-extension information.


Usage: ffx net dhcpd set option extensions-path [--path <path>]
Options 
--helpdisplay usage information
--paththe path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored.
host-name

Name of the client.


Usage: ffx net dhcpd set option host-name [--name <name>]
Options 
--helpdisplay usage information
--namethe name of client, which may or may not be qualified with the local domain name.
impress-server

Imagen Impress servers available to the client.


Usage: ffx net dhcpd set option impress-server [--impress-servers <impress-servers...>]
Options 
--helpdisplay usage information
--impress-serversa list of Imagen Impress servers available to the client, in order of preference.
interface-mtu

MTU for the client's interface.


Usage: ffx net dhcpd set option interface-mtu [--mtu <mtu>]
Options 
--helpdisplay usage information
--mtuthe MTU for the client's interface. Minimum value of 68.
ip-forwarding

Flag enabling/disabling IP layer packet forwarding.


Usage: ffx net dhcpd set option ip-forwarding [--enabled]
Options 
--helpdisplay usage information
--enableda flag which will enabled IP layer packet forwarding when true.
log-server

MIT-LCS UDP Log servers available to the client.


Usage: ffx net dhcpd set option log-server [--log-servers <log-servers...>]
Options 
--helpdisplay usage information
--log-serversa list of MIT-LCS UDP Log servers available to the client, in order of preference.
lpr-server

RFC 1179 Line Printer servers available to the client.


Usage: ffx net dhcpd set option lpr-server [--lpr-servers <lpr-servers...>]
Options 
--helpdisplay usage information
--lpr-serversa list of RFC 1179 Line Printer servers available to the client, in order of preference.
mask-supplier

Flag indicating whether the client should respond to subnet mask discovery requests via ICMP.


Usage: ffx net dhcpd set option mask-supplier [--supplier]
Options 
--helpdisplay usage information
--suppliera flag indicating whether the client should respond to subnet mask discovery requests via ICMP.
max-datagram-reassembly-size

Maximum sized datagram that the client should be able to reassemble.


Usage: ffx net dhcpd set option max-datagram-reassembly-size [--size <size>]
Options 
--helpdisplay usage information
--sizethe maximum sized datagram that the client should be able to reassemble, in octets. The minimum legal value is 576.
max-message-size

Maximum length of a DHCP message that the participant is willing to accept.


Usage: ffx net dhcpd set option max-message-size [--length <length>]
Options 
--helpdisplay usage information
--lengththe maximum length in octets of a DHCP message that the participant is willing to accept. The minimum value is 576.
merit-dump-file

Path name of a core dump file.


Usage: ffx net dhcpd set option merit-dump-file [--path <path>]
Options 
--helpdisplay usage information
--paththe path name to the client's core dump in the event the client crashes.
mobile-ip-home-agent

Mobile IP home agents available to the client.


Usage: ffx net dhcpd set option mobile-ip-home-agent [--home-agents <home-agents...>]
Options 
--helpdisplay usage information
--home-agentsa list of mobile IP home agent addresses available to the client, listed in order of preference.
name-server

IEN 116 Name servers available to the client.


Usage: ffx net dhcpd set option name-server [--name-servers <name-servers...>]
Options 
--helpdisplay usage information
--name-serversa list of IEN 116 Name servers available to the client, in order of preference.
net-bios-over-tcpip-distribution-server

NetBIOS datagram distribution servers available to the client.


Usage: ffx net dhcpd set option net-bios-over-tcpip-distribution-server [--servers <servers...>]
Options 
--helpdisplay usage information
--serversa list of NetBIOS datagram distribution servers available to the client, listed in order of preference.
net-bios-over-tcpip-name-server

NetBIOS name servers available to the client.


Usage: ffx net dhcpd set option net-bios-over-tcpip-name-server [--servers <servers...>]
Options 
--helpdisplay usage information
--serversa list of NetBIOS name server addresses available to the client, listed in order of preference.
net-bios-over-tcpip-node-type

The NetBIOS node type which should be used by the client.


Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
b-nodeA B node type.
h-nodeA H node type.
m-nodeA M node type.
p-nodeA P node type.

####### b-node

A B node type.


Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type b-node
Options 
--helpdisplay usage information

####### h-node

A H node type.


Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type h-node
Options 
--helpdisplay usage information

####### m-node

A M node type.


Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type m-node
Options 
--helpdisplay usage information

####### p-node

A P node type.


Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type p-node
Options 
--helpdisplay usage information
net-bios-over-tcpip-scope

NetBIOS scope parameter for the client.


Usage: ffx net dhcpd set option net-bios-over-tcpip-scope [--scope <scope>]
Options 
--helpdisplay usage information
--scopethe NetBIOS over TCP/IP scope parameter, as defined in RFC 1001, for the client.
network-information-servers

Network Information Service servers available to the client.


Usage: ffx net dhcpd set option network-information-servers [--servers <servers...>]
Options 
--helpdisplay usage information
--serversa list of Network Information Service server addresses available to the client, listed in order of preference.
network-information-service-domain

Name of the client's Network Information Service domain.


Usage: ffx net dhcpd set option network-information-service-domain [--domain-name <domain-name>]
Options 
--helpdisplay usage information
--domain-namethe name of the client's Network Information Service domain.
network-information-service-plus-domain

Network Information System+ domain name.


Usage: ffx net dhcpd set option network-information-service-plus-domain [--domain-name <domain-name>]
Options 
--helpdisplay usage information
--domain-namethe name of the client's Network Information System+ domain.
network-information-service-plus-servers

Network Information System+ servers available to the client.


Usage: ffx net dhcpd set option network-information-service-plus-servers [--servers <servers...>]
Options 
--helpdisplay usage information
--serversa list of Network Information System+ server addresses available to the client, listed in order of preference.
network-time-protocol-servers

Network Time Protocol servers available to the client.


Usage: ffx net dhcpd set option network-time-protocol-servers [--servers <servers...>]
Options 
--helpdisplay usage information
--serversa list of Network Time Protocol (NTP) server addresses available to the client, listed in order of preference.
nntp-server

NNTP servers available to the client.


Usage: ffx net dhcpd set option nntp-server [--nntp-servers <nntp-servers...>]
Options 
--helpdisplay usage information
--nntp-serversa list Network News Transport Protocol (NNTP) server addresses available to the client, listed in order of preference.
non-local-source-routing

Flag enabling/disabling forwarding of IP packets with non-local source routes.


Usage: ffx net dhcpd set option non-local-source-routing [--enabled]
Options 
--helpdisplay usage information
--enableda flag which will enable forwarding of IP packets with non-local source routes.
path-mtu-aging-timeout

Timeout to use when aging Path MTU values.


Usage: ffx net dhcpd set option path-mtu-aging-timeout [--timeout <timeout>]
Options 
--helpdisplay usage information
--timeoutthe timeout, in seconds, to be used when again Path MTU values by the mechanism in RFC 1191.
path-mtu-plateau-table

Table of MTU sizes for Path MTU Discovery.


Usage: ffx net dhcpd set option path-mtu-plateau-table [--mtu-sizes <mtu-sizes...>]
Options 
--helpdisplay usage information
--mtu-sizesA list of MTU sizes, ordered from smallest to largest. The smallest value cannot be smaller than 68.
perform-mask-discovery

Flag indicating whether the client should perform subnet mask discovery via ICMP.


Usage: ffx net dhcpd set option perform-mask-discovery [--do-discovery]
Options 
--helpdisplay usage information
--do-discoverya flag indicating whether the client should perform subnet mask discovery via ICMP.
perform-router-discovery

Flag indicating whether the client should solicit routers using Router Discovery.


Usage: ffx net dhcpd set option perform-router-discovery [--do-discovery]
Options 
--helpdisplay usage information
--do-discoveryA flag indicating whether the client should solicit routers using Router Discovery as defined in RFC 1256.
policy-filter

Policy filters for non-local source routing.


Usage: ffx net dhcpd set option policy-filter [--addresses <addresses...>]
Options 
--helpdisplay usage information
--addressesa list of IP Address and Subnet Mask pairs. If an incoming source-routed packet has a next-hop that does not match one of these pairs, then the packet will be dropped.
pop3-server

POP3 servers available to the client.


Usage: ffx net dhcpd set option pop3-server [--pop3-servers <pop3-servers...>]
Options 
--helpdisplay usage information
--pop3-serversa list of Post Office Protocol (POP3) server addresses available to the client, listed in order of preference.
rebinding-time-value

Time interval from address assignment at which the client transitions to a Rebinding state.


Usage: ffx net dhcpd set option rebinding-time-value [--interval <interval>]
Options 
--helpdisplay usage information
--intervalthe time interval, in seconds, after address assignment at which the client will transition to the Rebinding state.
renewal-time-value

Time interval from address assignment at which the client transitions to a Renewing state.


Usage: ffx net dhcpd set option renewal-time-value [--interval <interval>]
Options 
--helpdisplay usage information
--intervalthe time interval, in seconds, after address assignment at which the client will transition to the Renewing state.
resource-location-server

RFC 887 Resource Location servers available to the client.


Usage: ffx net dhcpd set option resource-location-server [--resource-location-servers <resource-location-servers...>]
Options 
--helpdisplay usage information
--resource-location-serversa list of RFC 887 Resource Location servers available to the client, in order of preference.
root-path

Path name to a TFTP-retrievable file containing vendor-extension information.


Usage: ffx net dhcpd set option root-path [--path <path>]
Options 
--helpdisplay usage information
--paththe path name to a TFTP-retrievable file. This file contains data which can be interpreted as the BOOTP vendor-extension field. Unlike the BOOTP vendor-extension field, this file has an unconstrained length and any references to Tag 18 are ignored.
router

The routers within a client's subnet.


Usage: ffx net dhcpd set option router [--routers <routers...>]
Options 
--helpdisplay usage information
--routersa list of the routers in a client's subnet, listed in order of preference.
router-solicitation-address

Destination address for Router Solicitation requests.


Usage: ffx net dhcpd set option router-solicitation-address [--addr <addr>]
Options 
--helpdisplay usage information
--addrthe address to which the client should transmit Router Solicitation requests.
smtp-server

SMTP servers available to the client.


Usage: ffx net dhcpd set option smtp-server [--smtp-servers <smtp-servers...>]
Options 
--helpdisplay usage information
--smtp-serversa list of Simple Mail Transport Protocol (SMTP) server address available to the client, listed in order of preference.
static-route

Static Routes which the client should put in its routing cache.


Usage: ffx net dhcpd set option static-route [--routes <routes...>]
Options 
--helpdisplay usage information
--routesa list of Destination address/Next-hop address pairs defining static routes for the client's routing table. The routes should be listed in descending order of priority. It is illegal to use 0.0.0.0 as the destination in a static route.
stda-server

StreetTalk Directory Assistance servers available to the client.


Usage: ffx net dhcpd set option stda-server [--stda-servers <stda-servers...>]
Options 
--helpdisplay usage information
--stda-serversa list of StreetTalk Directory Assistance server addresses available to the client, listed in order of preference.
street-talk-server

StreetTalk servers available to the client.


Usage: ffx net dhcpd set option street-talk-server [--streettalk-servers <streettalk-servers...>]
Options 
--helpdisplay usage information
--streettalk-serversa list of StreetTalk server addresses available to the client, listed in order of preference.
subnet-mask

The client's subnet mask.


Usage: ffx net dhcpd set option subnet-mask [--mask <mask>]
Options 
--helpdisplay usage information
--maska 32-bit IPv4 subnet mask.
swap-server

Address of the client's swap server.


Usage: ffx net dhcpd set option swap-server [--address <address>]
Options 
--helpdisplay usage information
--addressthe address of the client's swap server.
tcp-default-ttl

Default time-to-live for outgoing TCP segments.


Usage: ffx net dhcpd set option tcp-default-ttl [--ttl <ttl>]
Options 
--helpdisplay usage information
--ttlthe default time-to-live that the client should use for outgoing TCP segments. The minimum value is 1.
tcp-keepalive-garbage

Flag specifying whether the client should send TCP keepalive messages with an octet of garbage.


Usage: ffx net dhcpd set option tcp-keepalive-garbage [--send-garbage]
Options 
--helpdisplay usage information
--send-garbagea flag specifying whether the client should send TCP keepalive messages with an octet of garbage for compatibility with older implementations.
tcp-keepalive-interval

Interval the client should wait before sending a TCP keepalive message.


Usage: ffx net dhcpd set option tcp-keepalive-interval [--interval <interval>]
Options 
--helpdisplay usage information
--intervalthe interval, in seconds, the client should wait before sending a TCP keepalive message. A value of 0 indicates that the client should not send keepalive messages unless specifically requested by an application.
tftp-server-name

TFTP server available to the client.


Usage: ffx net dhcpd set option tftp-server-name [--name <name>]
Options 
--helpdisplay usage information
--namethe TFTP server name available to the client. This option should be used when the sname field has been overloaded to carry options.
time-offset

The client's offset from UTC.


Usage: ffx net dhcpd set option time-offset [--offset <offset>]
Options 
--helpdisplay usage information
--offsetthe client's offset from UTC in seconds. A positive offset is east of the zero meridian, and a negative offset is west of the zero meridian.
time-server

Time Protocol servers available to the client.


Usage: ffx net dhcpd set option time-server [--time-servers <time-servers...>]
Options 
--helpdisplay usage information
--time-serversa list of time servers available to the client, in order of preference.
trailer-encapsulation

Flag specifying whether the client should negotiate the use of trailers in ARP.


Usage: ffx net dhcpd set option trailer-encapsulation [--trailers]
Options 
--helpdisplay usage information
--trailersa flag specifying whether the client negotiate the use of trailers when using ARP, per RFC 893.
vendor-specific-information

Option for exchanging vendor-specific information between the DHCP client and DHCP server.


Usage: ffx net dhcpd set option vendor-specific-information [--data <data...>]
Options 
--helpdisplay usage information
--dataan opaque object of octets for exchanging vendor-specific information.
x-window-system-display-manager

X window System Display Manager systems available to the client.


Usage: ffx net dhcpd set option x-window-system-display-manager [--display-servers <display-servers...>]
Options 
--helpdisplay usage information
--display-serversa list of X Window System Display Manager system addresses available to the client, listed in order of preference.
x-window-system-font-server

X Window System Font servers available to the client.


Usage: ffx net dhcpd set option x-window-system-font-server [--servers <servers...>]
Options 
--helpdisplay usage information
--serversa list of X Window System Font server addresses available to the client, listed in order of preference.
parameter

A secondary command indicating a server parameter argument.


Usage: ffx net dhcpd set parameter [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
address-poolThe pool of addresses which the DHCP server manages.
arp-probeEnables server behavior where the server ARPs an IP address prior to issuing it in a lease.
bound-device-namesThe names of the network devices on which the server will listen.
ip-addrsThe IPv4 addresses to which the server is bound.
lease-lengthThe duration of leases offered by the server.
permitted-macsThe client MAC addresses which the server will issue leases to.
statically-assigned-addrsAddresses in the AddressPool which will only be leased to specified clients. Assigned addresses will be paired with hosts in order, e.g. hosts (A, B, C) and addresses (1, 2, 3) pair as ((A, 1), (B, 2), (C, 3)).
address-pool

The pool of addresses which the DHCP server manages.


Usage: ffx net dhcpd set parameter address-pool [--prefix-length <prefix-length>] [--range-start <range-start>] [--range-stop <range-stop>]
Options 
--helpdisplay usage information
--prefix-lengththe prefix length of the network's subnet mask
--range-startthe starting address, inclusive, of the range of addresses which the DHCP server will lease to clients
--range-stopthe ending address, inclusive, of the range of addresses which the server will to clients
arp-probe

Enables server behavior where the server ARPs an IP address prior to issuing it in a lease.


Usage: ffx net dhcpd set parameter arp-probe [--enabled]
Options 
--helpdisplay usage information
--enabledenables server behavior where the server ARPs an IP address prior to issuing it in a lease. If the server receives a response, the server will mark the address as in-use and try again with a different address. By default, this behavior is disabled.
bound-device-names

The names of the network devices on which the server will listen.


Usage: ffx net dhcpd set parameter bound-device-names [names...]
Options 
--helpdisplay usage information
ip-addrs

The IPv4 addresses to which the server is bound.


Usage: ffx net dhcpd set parameter ip-addrs [--addrs <addrs...>]
Options 
--helpdisplay usage information
--addrsA list of IPv4 Addresses to which the server is bound.
lease-length

The duration of leases offered by the server.


Usage: ffx net dhcpd set parameter lease-length [--default <default>] [--max <max>]
Options 
--helpdisplay usage information
--defaultthe default lease length, in seconds, to be issued to clients.
--maxthe maximum lease length value, in seconds, which the server will issue to clients who have requested a specific lease length. With the default value of 0, the max lease length is equivalent to the default lease length.
permitted-macs

The client MAC addresses which the server will issue leases to.


Usage: ffx net dhcpd set parameter permitted-macs [--macs <macs...>]
Options 
--helpdisplay usage information
--macsthe client MAC addresses which the server will issue leases to. By default, the server will not have a permitted MAC list, in which case it will attempt to issue a lease to every client which requests one. If permitted_macs has a non-zero length then the server will only respond to lease requests from clients with a MAC in the list.
statically-assigned-addrs

Addresses in the AddressPool which will only be leased to specified clients. Assigned addresses will be paired with hosts in order, e.g. hosts (A, B, C) and addresses (1, 2, 3) pair as ((A, 1), (B, 2), (C, 3)).


Usage: ffx net dhcpd set parameter statically-assigned-addrs [--hosts <hosts...>] [--assigned-addrs <assigned-addrs...>]
Options 
--helpdisplay usage information
--hostshosts which will be leased the addresses reserved by assigned_addrs.
--assigned-addrsaddresses in the AddressPool which will not be leased to clients. Typically, a network administrator will statically assign these addresses to always-on network devices which should always have the same IP address, such as network printers.

start

A primary command to start the DHCP server.


Usage: ffx net dhcpd start
Options 
--helpdisplay usage information

stop

A primary command to stop the DHCP server.


Usage: ffx net dhcpd stop
Options 
--helpdisplay usage information

dns

commands to control the dns resolver


Usage: ffx net dns [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
lookupperforms dns resolution on the specified hostname

lookup

performs dns resolution on the specified hostname


Usage: ffx net dns lookup [--ipv4 <ipv4>] [--ipv6 <ipv6>] [--sort <sort>] hostname
Options 
--helpdisplay usage information
--ipv4include ipv4 results (defaults to true)
--ipv6include ipv6 results (defaults to true)
--sortsort addresses in order of preference (defaults to true)

filter

commands for configuring packet filtering


Usage: ffx net filter [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
listA command to list filtering configuration.

list

A command to list filtering configuration.


Usage: ffx net filter list
Options 
--helpdisplay usage information

filter-deprecated

commands for configuring packet filtering with the deprecated API


Usage: ffx net filter-deprecated [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
get-nat-rulesgets nat rules
get-rdr-rulesgets rdr rules
get-rulesgets filter rules
set-nat-rulessets nat rules (see the netfilter::parser library for the NAT rules format)
set-rdr-rulessets rdr rules (see the netfilter::parser library for the RDR rules format)
set-rulessets filter rules (see the netfilter::parser library for the rules format)

get-nat-rules

gets nat rules


Usage: ffx net filter-deprecated get-nat-rules
Options 
--helpdisplay usage information

get-rdr-rules

gets rdr rules


Usage: ffx net filter-deprecated get-rdr-rules
Options 
--helpdisplay usage information

get-rules

gets filter rules


Usage: ffx net filter-deprecated get-rules
Options 
--helpdisplay usage information

set-nat-rules

sets nat rules (see the netfilter::parser library for the NAT rules format)


Usage: ffx net filter-deprecated set-nat-rules rules
Options 
--helpdisplay usage information

set-rdr-rules

sets rdr rules (see the netfilter::parser library for the RDR rules format)


Usage: ffx net filter-deprecated set-rdr-rules rules
Options 
--helpdisplay usage information

set-rules

sets filter rules (see the netfilter::parser library for the rules format)


Usage: ffx net filter-deprecated set-rules rules
Options 
--helpdisplay usage information

if

commands for network interfaces


Usage: ffx net if [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
addrcommands for updating network interface addresses
bridgecreates a bridge between network interfaces
disabledisables a network interface
enableenables a network interface
getqueries a network interface
igmpget or set IGMP configuration
ip-forwardget or set IP forwarding for an interface
listlists network interfaces (supports ffx machine output)
mldget or set MLD configuration

addr

commands for updating network interface addresses


Usage: ffx net if addr [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
addadds an address to the network interface
deldeletes an address from the network interface
waitwaits for an address to be assigned on the network interface. by default waits for any address; if --ipv6 is specified, waits for an IPv6 address.
add

adds an address to the network interface


Usage: ffx net if addr add [--no-subnet-route] nicid or name:ifname addr prefix
Options 
--helpdisplay usage information
--no-subnet-routeskip adding a local subnet route for this interface and address
del

deletes an address from the network interface


Usage: ffx net if addr del nicid or name:ifname addr [prefix]
Options 
--helpdisplay usage information
wait

waits for an address to be assigned on the network interface. by default waits for any address; if --ipv6 is specified, waits for an IPv6 address.


Usage: ffx net if addr wait [--ipv6] nicid or name:ifname
Options 
--helpdisplay usage information
--ipv6wait for an IPv6 address

bridge

creates a bridge between network interfaces


Usage: ffx net if bridge [nicid or name:ifname...]
Options 
--helpdisplay usage information

disable

disables a network interface


Usage: ffx net if disable nicid or name:ifname
Options 
--helpdisplay usage information

enable

enables a network interface


Usage: ffx net if enable nicid or name:ifname
Options 
--helpdisplay usage information

get

queries a network interface


Usage: ffx net if get nicid or name:ifname
Options 
--helpdisplay usage information

igmp

get or set IGMP configuration


Usage: ffx net if igmp [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
getget IGMP configuration for an interface
setset IGMP configuration for an interface
get

get IGMP configuration for an interface


Usage: ffx net if igmp get nicid or name:ifname
Options 
--helpdisplay usage information
set

set IGMP configuration for an interface


Usage: ffx net if igmp set [--version <version>] nicid or name:ifname
Options 
--helpdisplay usage information
--versionthe version of IGMP to perform.

ip-forward

get or set IP forwarding for an interface


Usage: ffx net if ip-forward [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
getget IP forwarding for an interface
setset IP forwarding for an interface
get

get IP forwarding for an interface


Usage: ffx net if ip-forward get nicid or name:ifname ip_version
Options 
--helpdisplay usage information
set

set IP forwarding for an interface


Usage: ffx net if ip-forward set nicid or name:ifname ip_version enable
Options 
--helpdisplay usage information

list

lists network interfaces (supports ffx machine output)


Usage: ffx net if list [name_pattern]
Options 
--helpdisplay usage information

mld

get or set MLD configuration


Usage: ffx net if mld [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
getget MLD configuration for an interface
setset MLD configuration for an interface
get

get MLD configuration for an interface


Usage: ffx net if mld get nicid or name:ifname
Options 
--helpdisplay usage information
set

set MLD configuration for an interface


Usage: ffx net if mld set [--version <version>] nicid or name:ifname
Options 
--helpdisplay usage information
--versionthe version of MLD to perform.

log

commands for logging


Usage: ffx net log [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
set-packetslog packets to stdout

set-packets

log packets to stdout


Usage: ffx net log set-packets enabled
Options 
--helpdisplay usage information

migration

controls netstack selection for migration from netstack2 to netstack3


Usage: ffx net migration [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
clearclears netstack version for migration configuration.
getprints the currently configured netstack version for migration.
setsets the netstack version at next boot to

clear

clears netstack version for migration configuration.


Usage: ffx net migration clear
Options 
--helpdisplay usage information

get

prints the currently configured netstack version for migration.


Usage: ffx net migration get
Options 
--helpdisplay usage information

set

sets the netstack version at next boot to |ns2| or |ns3|.


Usage: ffx net migration set version
Options 
--helpdisplay usage information

neigh

commands for neighbor tables


Usage: ffx net neigh [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
addadds an entry to the neighbor table
clearremoves all entries associated with a network interface from the neighbor table
configcommands for the Neighbor Unreachability Detection configuration
delremoves an entry from the neighbor table
listlists neighbor table entries (supports ffx machine output)
watchwatches neighbor table entries for state changes (supports ffx machine output)

add

adds an entry to the neighbor table


Usage: ffx net neigh add nicid or name:ifname ip mac
Options 
--helpdisplay usage information

clear

removes all entries associated with a network interface from the neighbor table


Usage: ffx net neigh clear nicid or name:ifname ip_version
Options 
--helpdisplay usage information

config

commands for the Neighbor Unreachability Detection configuration


Usage: ffx net neigh config [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
getreturns the current NUD configuration options for the provided interface
updateupdates the current NUD configuration options for the provided interface
get

returns the current NUD configuration options for the provided interface


Usage: ffx net neigh config get nicid or name:ifname ip_version
Options 
--helpdisplay usage information
update

updates the current NUD configuration options for the provided interface


Usage: ffx net neigh config update [--base-reachable-time <base-reachable-time>] nicid or name:ifname ip_version
Options 
--helpdisplay usage information
--base-reachable-timea base duration, in nanoseconds, for computing the random reachable time

del

removes an entry from the neighbor table


Usage: ffx net neigh del nicid or name:ifname ip
Options 
--helpdisplay usage information

list

lists neighbor table entries (supports ffx machine output)


Usage: ffx net neigh list
Options 
--helpdisplay usage information

watch

watches neighbor table entries for state changes (supports ffx machine output)


Usage: ffx net neigh watch
Options 
--helpdisplay usage information

route

commands for routing tables


Usage: ffx net route [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
addadds a route to the route table
deldeletes a route from the route table
listlists devices (supports ffx machine output)

add

adds a route to the route table


Usage: ffx net route add --destination <destination> --netmask <netmask or prefix length> [--gateway <gateway>] [--nicid <nicid or name:ifname>] [--metric <metric>]
Options 
--helpdisplay usage information
--destinationthe network id of the destination network
--netmaskthe netmask or prefix length corresponding to destination
--gatewaythe ip address of the first hop router
--nicidthe outgoing network interface of the route
--metricthe metric for the route

del

deletes a route from the route table


Usage: ffx net route del --destination <destination> --netmask <netmask or prefix length> [--gateway <gateway>] [--nicid <nicid or name:ifname>] [--metric <metric>]
Options 
--helpdisplay usage information
--destinationthe network id of the destination network
--netmaskthe netmask or prefix length corresponding to destination
--gatewaythe ip address of the first hop router
--nicidthe outgoing network interface of the route
--metricthe metric for the route

list

lists devices (supports ffx machine output)


Usage: ffx net route list
Options 
--helpdisplay usage information

package

Create and publish Fuchsia packages


Usage: ffx package [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
archiveArchive Fuchsia packages
buildBuilds a package.
farWork with Fuchsia Archive Format (FAR) files
file-hashCompute the merkle tree root hash of one or more files.

archive

Archive Fuchsia packages


Usage: ffx package archive [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
addadd a file (<file_to_add>) to an existing package archive (), overwriting the archive
catwrite the contents of <far_path> inside the Fuchsia package archive file to stdout
createcreate a package archive from a package_manifest.json
extractextract the contents of <far_path> inside the Fuchsia package archive file to the output directory
listList the contents of Fuchia package archive file
removeremove a file (<file_to_remove>) from an existing package archive (), placing the resulting archive in

add

add a file (<file_to_add>) to an existing package archive (), overwriting the archive


Usage: ffx package archive add -a <archive> -f <file-to-add> -p <path-of-file-in-archive> -o <output> [-w <overwrite>]
Options 
--helpdisplay usage information
-a, --archivepackage archive
-f, --file-to-addfile to add to the package archive
-p, --path-of-file-in-archivethe destination path in the archive for <file_to_add>
-o, --outputthe name of the resulting archive. Can be the same as to overwrite
-w, --overwriteif false, refuses to overwrite files in named by <path_of_file_in_archive>

cat

write the contents of <far_path> inside the Fuchsia package archive file to stdout


Usage: ffx package archive cat archive far_path
Options 
--helpdisplay usage information

create

create a package archive from a package_manifest.json


Usage: ffx package archive create -o <out> [-r <root-dir>] [--depfile <depfile>] package_manifest
Options 
--helpdisplay usage information
-o, --outoutput package archive
-r, --root-dirroot directory for paths in package_manifest.json
--depfileproduce a depfile file at the provided path

extract

extract the contents of <far_path> inside the Fuchsia package archive file to the output directory


Usage: ffx package archive extract [-o <out>] [--repository <repository>] [--blobs-json] archive
Options 
--helpdisplay usage information
-o, --outoutput directory for writing the extracted files. Defaults to the current directory.
--repositoryrepository of the package
--blobs-jsonproduce a blobs.json file

list

List the contents of Fuchia package archive file


Usage: ffx package archive list [-l] archive
Options 
--helpdisplay usage information
-l, --long-formatshow long information for each entry

remove

remove a file (<file_to_remove>) from an existing package archive (), placing the resulting archive in


Usage: ffx package archive remove -a <archive> -f <file-to-remove> -o <output>
Options 
--helpdisplay usage information
-a, --archivepackage archive
-f, --file-to-removefile to add to the package archive
-o, --outputfile to add to the package archive

build

Builds a package.


Usage: ffx package build [-o <out>] --api-level <api-level> [--deprecated-ignore-api-level-unsupported-errors] [--published-name <published-name>] [--repository <repository>] [--depfile] [--blobs-json] [--blobs-manifest] [--subpackages-build-manifest-path <subpackages-build-manifest-path>] package_build_manifest_path
Options 
--helpdisplay usage information
-o, --outdirectory to save package artifacts
--api-levelpackage API level
--deprecated-ignore-api-level-unsupported-errorsif true, and --api-level specifies an API level that is no longer supported, ignore the error and print a warning instead.
--published-namename of the package
--repositoryrepository of the package
--depfileproduce a depfile file
--blobs-jsonproduce a blobs.json file
--blobs-manifestproduce a blobs.manifest file
--subpackages-build-manifest-pathpath to the subpackages build manifest file

far

Work with Fuchsia Archive Format (FAR) files


Usage: ffx package far [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
catDump the contents of the <far_file> entry associated with to stdout
createCreate a FAR file from a directory. WARNING: this will overwrite <output_file> if it exists.
extractExtract from <far_file> to . WARNING: this may overwrite existing files.
listList the entries contained in a FAR file

cat

Dump the contents of the <far_file> entry associated with to stdout


Usage: ffx package far cat far_file path
Options 
--helpdisplay usage information

create

Create a FAR file from a directory. WARNING: this will overwrite <output_file> if it exists.


Usage: ffx package far create input_directory output_file
Options 
--helpdisplay usage information

extract

Extract from <far_file> to . WARNING: this may overwrite existing files.


Usage: ffx package far extract [-v] [-o <output-dir>] far_file [paths...]
Options 
--helpdisplay usage information
-v, --verboseverbose output: print file names that were extracted
-o, --output-diroutput directory (defaults to current directory, creates the directory if it doesn't exist)

list

List the entries contained in a FAR file


Usage: ffx package far list [-l] far_file
Options 
--helpdisplay usage information
-l, --long-formatshow detailed information for each entry (does nothing if --machine json is specified, which shows everything)

file-hash

Compute the merkle tree root hash of one or more files.


Usage: ffx package file-hash [paths...]
Options 
--helpdisplay usage information

platform

Manage platform build prerequisites


Usage: ffx platform [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
preflightEvaluate suitability for building and running Fuchsia

preflight

Evaluate suitability for building and running Fuchsia


Usage: ffx platform preflight [--json]
Options 
--helpdisplay usage information
--jsonoutputs json instead of human-readable text.

product

Discover and access product bundle metadata and image data.


Usage: ffx product [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
createCreate a Product Bundle using the outputs of Product Assembly.
downloadDownload Product Bundle from GCS.
get-artifactsGet the paths of a group of artifacts inside a Product Bundle.
get-image-pathGet the path of an image inside a Product Bundle based on type and slot.
get-repositoryGet the info of repository inside a Product Bundle.
get-versionGet the product version of a Product Bundle.
listList all available products for a specific SDK version.
lookupRetrieve image data.
showDisplay a list of details from within a product bundle.

create

Create a Product Bundle using the outputs of Product Assembly.


Usage: ffx product create --product-name <product-name> --product-version <product-version> --partitions <partitions> [--system-a <system-a>] [--system-b <system-b>] [--system-r <system-r>] [--tuf-keys <tuf-keys>] [--update-package-version-file <update-package-version-file>] [--update-package-epoch <update-package-epoch>] [--virtual-device <virtual-device...>] [--recommended-device <recommended-device>] --out-dir <out-dir> [--delivery-blob-type <delivery-blob-type>] [--with-deprecated-flash-manifest] [--gerrit-size-report <gerrit-size-report>]
Options 
--helpdisplay usage information
--product-nameproduct.board label. e.g. “workstation_eng.x64”.
--product-versionunique version of this product.board.
--partitionspath to a partitions config, which lists the physical partitions of the target.
--system-apath to an assembly manifest, which specifies images to put in slot A.
--system-bpath to an assembly manifest, which specifies images to put in slot B.
--system-rpath to an assembly manifest, which specifies images to put in slot R.
--tuf-keyspath to the directory of TUF keys, which should include root.json, snapshot.json, targets.json, and timestamp.json. If provided, then a TUF repository will be created inside the product bundle and filled with the product blobs.
--update-package-version-filefile containing the version of the Product to put in the update package.
--update-package-epochbackstop OTA version. Fuchsia will reject updates with a lower epoch.
--virtual-devicepath to a Virtual Device Specification file to include in the product bundle. May be repeated to include multiple Virtual Devices.
--recommended-devicename of a Virtual Device Specification file to mark as the “recommended” device for emulation.
--out-dirdirectory to write the product bundle.
--delivery-blob-typethe type of delivery blob the product needs.
--with-deprecated-flash-manifestcreate a deprecated flash manifest for backward compatibility.
--gerrit-size-reportan optional image size report to generate that indicates the sizes of the images when mapped to partitions.

download

Download Product Bundle from GCS.


Usage: ffx product download [--force] [--auth <auth>] [--base-url <base-url>] [--version <version>] [--branch <branch>] manifest_url product_dir
Options 
--helpdisplay usage information
--forceget the data again, even if it's already present locally.
--authuse specific auth flow for oauth2 (see examples; default: pkce).
--base-urllocation to look for product bundles manifest inside GCS.
--versionfilter on products of . The version number is in the format of a.b.c.d. e.g. 19.20240302.2.1. If this value is not passed in, the version will be defaulted to version of ffx tool itself.
--branchfilter on products of . The branch is either in the form of f (e.g. f18) or LATEST. This option is exclusive with version option.

Examples

get-artifacts

Get the paths of a group of artifacts inside a Product Bundle.


Usage: ffx product get-artifacts -g <artifacts-group> [-r] [product_bundle]
Options 
--helpdisplay usage information
-g, --artifacts-groupselect what group of artifacts to list. One of flash, emu, update, bootloader
-r, --relative-pathreturn relative path or not

get-image-path

Get the path of an image inside a Product Bundle based on type and slot.


Usage: ffx product get-image-path [--slot <slot>] [--image-type <image-type>] [-b <bootloader>] [-r] [product_bundle]
Options 
--helpdisplay usage information
--slotthe slot where image will be located in. Valid slots are A,B,R.
--image-typethe type of image. Supported types are fvm, fxfs, qemu-kernel, vbmeta, zbi.
-b, --bootloaderthe type of bootloader.
-r, --relative-pathreturn relative path or not

get-repository

Get the info of repository inside a Product Bundle.


Usage: ffx product get-repository product_bundle
Options 
--helpdisplay usage information

get-version

Get the product version of a Product Bundle.


Usage: ffx product get-version product_bundle
Options 
--helpdisplay usage information

list

List all available products for a specific SDK version.


Usage: ffx product list [--auth <auth>] [--base-url <base-url>] [--version <version>] [--branch <branch>]
Options 
--helpdisplay usage information
--authuse specific auth flow for oauth2 (see examples; default: pkce).
--base-urllocation to look for product bundles manifest inside GCS.
--versionfilter on products of . The version number is in the format of a.b.c.d. e.g. 19.20240302.2.1. If this value is not passed in, the version will be defaulted to version of ffx tool itself.
--branchfilter on products of . The branch is either in the form of f (e.g. f18) or LATEST. This option is exclusive with version option.

Examples

lookup

Retrieve image data.


Usage: ffx product lookup [--auth <auth>] [--base-url <base-url>] name version
Options 
--helpdisplay usage information
--authuse specific auth flow for oauth2 (see examples; default: pkce).
--base-urlwhere to look for product bundles manifest.

Examples

show

Display a list of details from within a product bundle.


Usage: ffx product show [--devices] [--device <device>] product_bundle_path
Options 
--helpdisplay usage information
--deviceslist the virtual devices linked to this product bundle.
--deviceprint the details of a virtual device linked to this product bundle.

repository

Inspect and manage package repositories


Usage: ffx repository [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
addMake the daemon aware of specific product bundle repositories
add-from-pmMake the daemon aware of a specific pm-built repository
createCreate a repository.
defaultManage the default repository
listList all repositories
packageList the packages inside a repository
publishPublish packages.
remove
serve(EXPERIMENTAL) serve the repository server, registering repositories to device
serverInspect and manage the repository server

add

Make the daemon aware of specific product bundle repositories


Usage: ffx repository add [-p <prefix>] product_bundle_dir
Options 
--helpdisplay usage information
-p, --prefixrepositories will have the prefix NAME. Defaults to devhost.

add-from-pm

Make the daemon aware of a specific pm-built repository


Usage: ffx repository add-from-pm [-r <repository>] [--alias <alias...>] pm_repo_path
Options 
--helpdisplay usage information
-r, --repositoryrepositories will be named NAME. Defaults to devhost.
--aliasalias this repository to these names when this repository is registered on a target.

create

Create a repository.


Usage: ffx repository create [--time-versioning] [--keys <keys>] repo_path
Options 
--helpdisplay usage information
--time-versioningset repository version based on the current time rather than monotonically increasing version
--keyspath to the repository keys directory. Default to generate keys at ‘repo_path’/keys.

default

Manage the default repository


Usage: ffx repository default [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
getGet the default configured repository
setSet the default repository
unsetClears the default configured repository

Examples

Notes

repository is designated by a * next to the name. This is an alias for the repository.default configuration key.

get

Get the default configured repository


Usage: ffx repository default get
Options 
--helpdisplay usage information

Notes

Returns an empty string if no default is configured.

set

Set the default repository


Usage: ffx repository default set [-l <level>] [-b <build-dir>] name
Options 
--helpdisplay usage information
-l, --levelconfig level, such as ‘user’, ‘build’, or ‘global’
-b, --build-diroptional directory to associate the provided build config

Examples

Notes

the ‘User Configuration’. Can be used in conjuction with ffx repository list to list the names of the discovered repositorys.

After setting the default repository, ffx repository list will mark the default with a * in the output list.

unset

Clears the default configured repository


Usage: ffx repository default unset [-l <level>] [-b <build-dir>]
Options 
--helpdisplay usage information
-l, --levelconfig level, such as ‘user’, ‘build’, or ‘global’
-b, --build-diroptional directory to associate the provided build config

Examples

Notes

‘User Configuration’. Returns a warning if the key is already empty.

list

List all repositories


Usage: ffx repository list
Options 
--helpdisplay usage information

package

List the packages inside a repository


Usage: ffx repository package [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
extract-archiveExtract a package archive from the repository
listInspect and manage package repositories
showInspect content of a package

extract-archive

Extract a package archive from the repository


Usage: ffx repository package extract-archive -o <out> [-r <repository>] package
Options 
--helpdisplay usage information
-o, --outoutput path for the extracted archive.
-r, --repositoryextract package from this repository.

list

Inspect and manage package repositories


Usage: ffx repository package list [-r <repository>] [--full-hash] [--include-components <include-components>]
Options 
--helpdisplay usage information
-r, --repositorylist packages from this repository.
--full-hashif true, package hashes will be displayed in full (i.e. not truncated).
--include-componentstoggle whether components in each package will be fetched and shown in the output table

show

Inspect content of a package


Usage: ffx repository package show [-r <repository>] [--full-hash] [--include-subpackages <include-subpackages>] package
Options 
--helpdisplay usage information
-r, --repositorylist package contents from this repository.
--full-hashif true, package hashes will be displayed in full (i.e. not truncated).
--include-subpackagesif true, show contents of subpackages contained in the package.

publish

Publish packages.


Usage: ffx repository publish [--signing-keys <signing-keys>] [--trusted-keys <trusted-keys>] [--trusted-root <trusted-root>] [--package <package...>] [--package-list <package-list...>] [--package-archive <package-archive...>] [--product-bundle <product-bundle...>] [--time-versioning] [--metadata-current-time <metadata-current-time>] [--refresh-root] [--clean] [--depfile <depfile>] [--copy-mode <copy-mode>] [--delivery-blob-type <delivery-blob-type>] [--watch] [--ignore-missing-packages] [--blob-manifest <blob-manifest>] [--blob-repo-dir <blob-repo-dir>] repo_path
Options 
--helpdisplay usage information
--signing-keyspath to the keys used to sign metadata, but not trust for key rotation
--trusted-keyspath to the keys used to sign and trust metadata (default repository keys/ directory)
--trusted-rootpath to the initial trusted root metadata (default is to use 1.root.json from the repository)
--packagepath to a package manifest
--package-listpath to a packages list manifest
--package-archivepath to a package archive
--product-bundlepath to a product bundle
--time-versioningset repository version based on time rather than monotonically increasing version
--metadata-current-timethe RFC 3339 time used to see if metadata has expired, and when new metadata should expire (default uses the current time)
--refresh-rootgenerate a new root metadata along side all the other metadata
--cleanclean the repository so only new publications remain
--depfileproduce a depfile file
--copy-modemode used to copy blobs to repository. Either ‘copy’, ‘copy-overwrite’, or ‘hard-link’ (default ‘copy’).
--delivery-blob-typethe type of delivery blob to generate (default: type 1)
--watchrepublish packages on file change
--ignore-missing-packagesignore if package paths do not exist
--blob-manifestpath to write the blob manifest to
--blob-repo-dirpath to the blobs directory (default ‘$repo_path/repository/blobs’)

remove


Usage: ffx repository remove name
Options 
--helpdisplay usage information

serve

(EXPERIMENTAL) serve the repository server, registering repositories to device


Usage: ffx repository serve [-r <repository>] [--trusted-root <trusted-root>] [--address <address>] [--repo-path <repo-path>] [--product-bundle <product-bundle>] [--alias <alias...>] [--storage-type <storage-type>] [--alias-conflict-mode <alias-conflict-mode>] [--port-path <port-path>] [--no-device]
Options 
--helpdisplay usage information
-r, --repositoryregister this repository. Default is devhost.
--trusted-rootpath to the root metadata that was used to sign the repository TUF metadata. This establishes the root of trust for this repository. If the TUF metadata was not signed by this root metadata, running this command will result in an error. Default is to use 1.root.json from the repository.
--addressaddress on which to serve the repository. Note that this can be either IPV4 or IPV6. For example, [::]:8083 or 127.0.0.1:8083 Default is [::]:8083.
--repo-pathlocation of the package repo. Default is given by the build directory obtained from the ffx context.
--product-bundlelocation of product bundle.
--aliasset up a rewrite rule mapping each alias host to the repository identified by name.
--storage-typeenable persisting this repository across reboots. Default is Ephemeral.
--alias-conflict-moderesolution mechanism when alias registrations conflict. Must be either error-out or replace. Default is replace.
--port-pathlocation to write server port information to, in case port dynamically instantiated.
--no-deviceif true, will not register repositories to device. Default is false.

server

Inspect and manage the repository server


Usage: ffx repository server [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
startStarts the repository server. Note that all repositories listed from ffx repository list will be started as subpaths.
statusRetrieves the status of the repository server. If server is running will also return socket address. Note that all repositories under ffx repository list will be running as subpaths at the returned address.
stopStops the repository server

start

Starts the repository server. Note that all repositories listed from ffx repository list will be started as subpaths.


Usage: ffx repository server start [--address <address>]
Options 
--helpdisplay usage information
--addressaddress on which to start the repository. Note that this can be either IPV4 or IPV6. For example, [::]:8083 or 127.0.0.1:8083

status

Retrieves the status of the repository server. If server is running will also return socket address. Note that all repositories under ffx repository list will be running as subpaths at the returned address.


Usage: ffx repository server status
Options 
--helpdisplay usage information

stop

Stops the repository server


Usage: ffx repository server stop
Options 
--helpdisplay usage information

sdk

Modify or query the installed SDKs


Usage: ffx sdk [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
populate-pathPopulates the given path with symlinks to the fuchsha-sdk-run tool to run project-specific sdk tools
runRun a host tool from the active sdk
setSet sdk-related configuration options
versionRetrieve the version of the current SDK

populate-path

Populates the given path with symlinks to the fuchsha-sdk-run tool to run project-specific sdk tools


Usage: ffx sdk populate-path path
Options 
--helpdisplay usage information

run

Run a host tool from the active sdk


Usage: ffx sdk run name args
Options 
--helpdisplay usage information

set

Set sdk-related configuration options


Usage: ffx sdk set [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
rootSets the path to the root of the preferred SDK

root

Sets the path to the root of the preferred SDK


Usage: ffx sdk set root path
Options 
--helpdisplay usage information

version

Retrieve the version of the current SDK


Usage: ffx sdk version
Options 
--helpdisplay usage information

session

Control the session component.


Usage: ffx session [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
addAdd an element to the current session.

If the --persist option is used, the package should be in the base or cache package set as otherwise it might fail to launch after a reboot. | launch | Launch a session component. | remove | Remove an element from the current session.

Persistent elements will be removed permanently. Any persistent storage used by elements will not be removed. | restart | Restart the current session component. | show | Show information about the current session | start | Start the default session component. | stop | Stop the session component.

Notes

add

Add an element to the current session.

If the --persist option is used, the package should be in the base or cache package set as otherwise it might fail to launch after a reboot.


Usage: ffx session add [--interactive] [--persist] [--name <name>] url
Options 
--helpdisplay usage information
--interactivepass to keep element alive until command exits
--persistpass to have the element persist over reboots
--namename for the element which defaults to random if not specified

Examples

launch

Launch a session component.


Usage: ffx session launch url
Options 
--helpdisplay usage information

Examples

remove

Remove an element from the current session.

Persistent elements will be removed permanently. Any persistent storage used by elements will not be removed.


Usage: ffx session remove name
Options 
--helpdisplay usage information

restart

Restart the current session component.


Usage: ffx session restart
Options 
--helpdisplay usage information

Notes

show

Show information about the current session


Usage: ffx session show
Options 
--helpdisplay usage information

start

Start the default session component.


Usage: ffx session start
Options 
--helpdisplay usage information

Notes

stop

Stop the session component.


Usage: ffx session stop
Options 
--helpdisplay usage information

target

Interact with a target device or emulator


Usage: ffx target [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
addMake the daemon aware of a specific target
bootloaderCommunicates with the bootloader
clear-preferred-ssh-addressClears a previously configured SSH address
defaultManage the default target
echorun echo test against the target
flashFlash an image to a target device
get-ssh-addressGet the target's ssh address
get-timeGets the monotonic time on the target device
listList all targets
offPowers off a target
rebootReboots a target
removeMake the daemon forget a specific target
repositoryInteract with target repository registration
screenshotTakes a screenshot of the target
set-preferred-ssh-addressSets the preferred SSH address
showDisplay relevant information for the target
snapshotTakes a snapshot of the target's state
sshSSH to a target device
updateUpdate base system software on target
waitWait until able to establish a remote control connection to the target.

Notes

and interaction.

Typically, this is the entry workflow for users, allowing for target discovery and provisioning before moving on to component or session workflows once the system is up and running on the target.

Most of the commands depend on the RCS (Remote Control Service) on the target.

add

Make the daemon aware of a specific target


Usage: ffx target add [-n] addr
Options 
--helpdisplay usage information
-n, --nowaitdo not wait for a connection to be verified on the Fuchsia device.

Examples

Notes

or IPV6 addresses, including a port number: <addr> = <ip addr:port>.

Typically, the daemon automatically discovers targets as they come online. However, manually adding a target allows for specifying a port number or address, often used for remote workflows.

This command will attempt to connect to the target in order to verify that RCS can be used, allowing for typical FFX related workflows. If you do not wish to use this, then you can run use the --nowait flag to return immediately. This can be useful for debugging connection issues.

If you send SIGINT (Ctrl-C) to the command before the connection to the target is verified, the target will be removed. If RCS cannot be connected to (e.g. some connectivity error is encountered), the target will also be removed.

bootloader

Communicates with the bootloader


Usage: ffx target bootloader [-m <manifest>] [-p <product>] [-b <product-bundle>] [--skip-verify] [subcommand...]
Options 
--helpdisplay usage information
-m, --manifestpath to flashing manifest or zip file containing images and manifest
-p, --productproduct entry in manifest - defaults to fuchsia
-b, --product-bundleoptional product bundle name
--skip-verifyskip hardware verification. This is dangerous, please be sure the images you are using match the device
Subcommands 
bootRAM boots a fastboot target.
infoPrints fastboot variables for target.
lockLocks a fastboot target.
unlockUnlocks a fastboot target.

boot

RAM boots a fastboot target.


Usage: ffx target bootloader boot [-z <zbi>] [-v <vbmeta>] [-s <slot>]
Options 
--helpdisplay usage information
-z, --zbioptional zbi image file path to use
-v, --vbmetaoptional vbmeta image file path to use
-s, --slotslot corresponding to partitions in the flash manifest -
only used if zbi and vbmeta files are not present

info

Prints fastboot variables for target.


Usage: ffx target bootloader info
Options 
--helpdisplay usage information

lock

Locks a fastboot target.


Usage: ffx target bootloader lock
Options 
--helpdisplay usage information

unlock

Unlocks a fastboot target.


Usage: ffx target bootloader unlock [-c <cred>] [--force]
Options 
--helpdisplay usage information
-c, --credoptional path to credential file to use to unlock the device
--forceskips the warning message that this command is dangerous

clear-preferred-ssh-address

Clears a previously configured SSH address


Usage: ffx target clear-preferred-ssh-address
Options 
--helpdisplay usage information

Notes

set-preferred-ssh-address command on the default target. Executing this command severs any existing connection to the target and establishes a new connection. The newly selected address is chosen using the standard address selection logic.

default

Manage the default target


Usage: ffx target default [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
getGet the default configured target
setSet the default target
unsetClears the default configured target

Examples

Notes

target is designated by a * next to the name. This is an alias for the target.default configuration key.

get

Get the default configured target


Usage: ffx target default get [-l <level>] [-b <build-dir>]
Options 
--helpdisplay usage information
-l, --levelconfig level, such as ‘user’, ‘build’, or ‘global’ - defaults to searching all levels
-b, --build-diroptional directory to associate the provided build config

Notes

Returns an empty string if no default is configured.

set

Set the default target


Usage: ffx target default set [-l <level>] [-b <build-dir>] nodename
Options 
--helpdisplay usage information
-l, --levelconfig level, such as ‘user’, ‘build’, or ‘global’
-b, --build-diroptional directory to associate the provided build config

Examples

Notes

the ‘User Configuration’. Can be used in conjuction with ffx target list to list the names of the discovered targets.

After setting the default target, ffx target list will mark the default with a * in the output list.

unset

Clears the default configured target


Usage: ffx target default unset [-l <level>] [-b <build-dir>]
Options 
--helpdisplay usage information
-l, --levelconfig level, such as ‘user’, ‘build’, or ‘global’
-b, --build-diroptional directory to associate the provided build config

Examples

Notes

‘User Configuration’. Returns a warning if the key is already empty.

echo

run echo test against the target


Usage: ffx target echo [--repeat] [text]
Options 
--helpdisplay usage information
--repeatrun the echo test repeatedly until the command is killed

flash

Flash an image to a target device


Usage: ffx target flash [-p <product>] [-b <product-bundle>] [-m <manifest>] [--oem-stage <oem-stage...>] [--authorized-keys <authorized-keys>] [--no-bootloader-reboot] [--skip-verify] [manifest_path]
Options 
--helpdisplay usage information
-p, --productproduct entry in manifest - defaults to fuchsia
-b, --product-bundleoptional product bundle name
-m, --manifestoptional manifest path
--oem-stageoem staged file - can be supplied multiple times
--authorized-keyspath to authorized keys file - will default to the value configured for ssh.pub key in ffx config. If the file does not exist, it will be created.
--no-bootloader-rebootthe device should not reboot after bootloader images are flashed
--skip-verifyskip hardware verification. This is dangerous, please be sure the images you are flashing match the device

Examples

Notes

Requires a specific file and name as an input.

This is only applicable to a physical device and not an emulator target. The target device is typically connected via a micro-USB connection to the host system.

The format is a JSON file generated when building a fuchsia and can be found in the build output directory.

The --oem-stage option can be supplied multiple times for several OEM files. The format expects a single OEM command to execute after staging the given file.

The format for the --oem-stage parameter is a comma separated pair: ‘<OEM_COMMAND>,<FILE_TO_STAGE>’

get-ssh-address

Get the target's ssh address


Usage: ffx target get-ssh-address [-t <timeout>]
Options 
--helpdisplay usage information
-t, --timeoutthe timeout in seconds [default = 1.0]

Notes

target.default key. By default this comes from the ‘User Configuration’.

The command takes a value in seconds with a default of 1.0 and overrides the value in the target.interaction.timeout key.

Errors 
1Timeout while getting ssh address
2Unable to get ssh address from target

get-time

Gets the monotonic time on the target device


Usage: ffx target get-time
Options 
--helpdisplay usage information

Examples

list

List all targets


Usage: ffx target list [-f <format>] [--no-ipv4] [--no-ipv6] [nodename]
Options 
--helpdisplay usage information
-f, --formatdetermines the output format for the list operation
--no-ipv4do not return IPv4 addresses
--no-ipv6do not return IPv6 addresses

Examples

Notes

manually added targets. The daemon also proactively discovers targets as they come online. Use ffx target list to always get the latest list of targets.

The default target is marked with a ‘*’ next to the node name. The table has the following columns:

NAME = The name of the target.
SERIAL = The serial number of the target.
TYPE = The product type of the target.
STATE = The high-level state of the target.
ADDRS/IP = The discovered and known addresses of the target.
RCS = Indicates if the Remote Control Service is running on the target.

The NAME column shows the target's advertised name. When the target is in early boot state such as fastboot, the NAME column may be <unknown> with a STATE being fastboot and a SERIAL attribute.

By default, the list command outputs in a tabular format. To override the format, pass --format and can take the following options: ‘simple’ , ‘tabular|table|tab’, ‘addresses|addrs|addr’, ‘name-only’, ‘json|JSON’ or in short form ‘s’, ‘t’, ‘a’, ‘n’, ‘j’.

By default, Zedboot discovery is disabled. To enable discovery of Zedboot targets run:

$ ffx config set discovery.zedboot.enabled true
Errors 
2If a nodename is supplied, an error code of 2 will be returned if the nodename cannot be resolved

off

Powers off a target


Usage: ffx target off
Options 
--helpdisplay usage information

Notes

FIDL API to send the power off command.

‘fuchsia.hardware.power.statecontrol.Admin’ is exposed by the ‘power_manager’ component. To verify that the target exposes this service, ffx component select or ffx component knock can be used.

Errors 
1Timeout while powering off target.

reboot

Reboots a target


Usage: ffx target reboot [-b] [-r]
Options 
--helpdisplay usage information
-b, --bootloaderreboot to bootloader
-r, --recoveryreboot to recovery

Notes

FIDL API to send the reboot command.

By default, target boots fully. This behavior can be overrided by passing in either --bootloader or --recovery to boot into the bootloader or recovery, respectively.

‘fuchsia.hardware.power.statecontrol.Admin’ is exposed by the ‘power_manager’ component. To verify that the target exposes this service, ffx component select or ffx component knock can be used.

Errors 
1Timeout while powering off target.

remove

Make the daemon forget a specific target


Usage: ffx target remove [--all] [name_or_addr]
Options 
--helpdisplay usage information
--allremove all manually added targets

Examples

Notes

for best results, copy the exact address from ffx target list.

repository

Interact with target repository registration


Usage: ffx target repository [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
deregisterMake the target forget a specific repository
listList all the repositories on a target
registerMake the target aware of a specific repository

Notes

deregister

Make the target forget a specific repository


Usage: ffx target repository deregister [-r <repository>]
Options 
--helpdisplay usage information
-r, --repositoryremove the repository named name from the target, rather than the default.

list

List all the repositories on a target


Usage: ffx target repository list
Options 
--helpdisplay usage information

register

Make the target aware of a specific repository


Usage: ffx target repository register [-r <repository>] [--storage-type <storage-type>] [--alias <alias...>] [--alias-conflict-mode <alias-conflict-mode>]
Options 
--helpdisplay usage information
-r, --repositoryregister this repository, rather than the default.
--storage-typeenable persisting this repository across reboots.
--aliasset up a rewrite rule mapping each alias host to to the repository identified by name.
--alias-conflict-moderesolution mechanism when alias registrations conflict. Must be either error-out or replace. Default is replace.

screenshot

Takes a screenshot of the target


Usage: ffx target screenshot [-d <dir>] [--format <format>]
Options 
--helpdisplay usage information
-d, --diroverride the default directory where the screenshot will be saved
--formatscreenshot format. If no value is provided bgra will be used.
    Accepted values: bgra, rgba, png

Examples

Notes

The --dir can be supplied to override the default screenshot saving location /tmp/screenshot/YYYYMMDD_HHMMSS/. The --format can be supplied to override the default format png. Accepted format values: bgra, rgba, png. The screenshot file name is screenshot.<format>.

set-preferred-ssh-address

Sets the preferred SSH address


Usage: ffx target set-preferred-ssh-address addr
Options 
--helpdisplay usage information

Examples

Notes

successful, then any existing connection to the target is severed and a new connection is established. The specified address is not persisted across daemon version changes or restarts.

show

Display relevant information for the target


Usage: ffx target show [--desc] [--label]
Options 
--helpdisplay usage information
--descdisplay descriptions of entries
--labeldisplay label of entries

Notes

The default output is intended for a human reader. This output can be decorated with machine readable labels (--label) and descriptions of each field (--desc).

The ‘label’ fields in the machine readable output (--json) will remain stable across software updates and is not localized (compare to ‘title’ which may change or be localized). The ‘value’ field will be one of: ‘null’, ‘bool’, ‘string’, or a list of strings.

Errors 
1Timeout retrieving target information.

snapshot

Takes a snapshot of the target's state


Usage: ffx target snapshot [-d <dir>] [--dump-annotations]
Options 
--helpdisplay usage information
-d, --dirvalid directory where the snapshot will be stored
--dump-annotationsprint annotations without capturing the snapshot, ignores dir flag

Examples

Notes

useful debugging information about the target. The --dir can be supplied to override the default snapshot directory /tmp/snapshots/YYYYMMDD_HHMMSS/.

Snapshot contents:

  • Build information and annotations
  • Kernel and system logs
  • Inspect data

ssh

SSH to a target device


Usage: ffx target ssh [--sshconfig <sshconfig>] [command...]
Options 
--helpdisplay usage information
--sshconfigpath to the custom ssh config file to use.

Examples

update

Update base system software on target


Usage: ffx target update [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
channelView and manage update channels
check-nowCheck and perform the system update operation
force-installTrigger the system updater manually

Notes

channel

View and manage update channels


Usage: ffx target update channel [subcommand...]
Options 
--helpdisplay usage information
Subcommands 
get-currentReturn the currently configured update channel
get-nextReturn the next or target update channel
listList the known update channels
setSets the update channel

Notes

the ‘fuchsia.update.channelcontrol.ChannelControl’ service on the target system.

get-current

Return the currently configured update channel


Usage: ffx target update channel get-current
Options 
--helpdisplay usage information

Notes

Errors 
1Timeout while getting update channel.
get-next

Return the next or target update channel


Usage: ffx target update channel get-next
Options 
--helpdisplay usage information

Notes

next successful update changes the configured update channel on the system.

Errors 
1Timeout while getting update channel.
list

List the known update channels


Usage: ffx target update channel list
Options 
--helpdisplay usage information

Notes

Returns an empty list if no other update channels are configured.

Errors 
1Timeout while getting list of update channel.
set

Sets the update channel


Usage: ffx target update channel set channel
Options 
--helpdisplay usage information

Examples

Notes

ffx target update check-now, ensures the update is check against the next or target channel. When the update is successful, next or target channel becomes the current channel.

Use ffx target update channel list to list known system update channels.

Errors 
1Timeout while setting update channel.

check-now

Check and perform the system update operation


Usage: ffx target update check-now [--service-initiated] [--monitor]
Options 
--helpdisplay usage information
--service-initiatedthe update check was initiated by a service, in the background.
--monitormonitor for state update.

Examples

Notes

Interfaces using the ‘fuchsia.update Manager’ protocol with the system update service on the target.

The command takes in an optional --monitor switch to watch the progress of the update. The output is displayed in stdout.

The command also takes an optional --service-initiated switch to indicate a separate service has initiated a check for update.

force-install

Trigger the system updater manually


Usage: ffx target update force-install [--reboot <reboot>] update_pkg_url
Options 
--helpdisplay usage information
--rebootautomatically trigger a reboot into the new system

Examples

Notes

bypassing any update checks.

Interfaces using the ‘fuchsia.update.installer’ protocol to update the system. Requires an <update_pkg_url> in the following format:

fuchsia-pkg://fuchsia.com/update

Takes an optional --reboot <true|false> to trigger a system reboot after update has been successfully applied.

wait

Wait until able to establish a remote control connection to the target.


Usage: ffx target wait [-t <timeout>] [-d]
Options 
--helpdisplay usage information
-t, --timeoutthe timeout in seconds [default = 120]. A value of 0 implies no timeout.
-d, --downwait for target to go down
Errors 
1Timeout while getting ssh address

version

Print out ffx tool and daemon versions


Usage: ffx version [-v]
Options 
--helpdisplay usage information
-v, --verboseif true, includes details about both ffx and the daemon