Honoring Asian Pacific American Heritage Month. See how.

ffx


Usage: ffx [-c <config...>] [-e <env>] [--machine <machine>] [--stamp <stamp>] [-t <target>] [-T <timeout>] [-l <log-level>] [-v] [<command>] [<args>]

Fuchsia's developer tool

Options:


  -c, --config      override configuration values (key=value or json)
  -e, --env         override the path to the environment configuration file
                    (file path)
  --machine         produce output for a machine in the specified format;
                    available formats: "json"
  --stamp           create a stamp file at the given path containing the exit
                    code
  -t, --target      apply operations across single or multiple targets
  -T, --timeout     override default proxy timeout
  -l, --log-level   sets the log level for ffx output (default = Debug). Other
                    possible values are Info, Error, Warn, and Trace. Can be
                    persisted via log.level config setting.
  -v, --verbose     logs ffx output to stdio according to log level
  --help            display usage information

Commands:


  net               View and manage target network configuration
  net-test-realm    Manage a running Network Test Realm
  agis              Agis Service
  assembly          Assemble images
  component         Discover and manage components
  config            View and switch default and user configurations
  cts               Build and run CTS tests.
  daemon            Interact with/control the ffx daemon
  debug             Start a debugging session.
  doctor            Run common checks for the ffx tool and host environment
  driver            Support driver development workflows
  efi               Manipulate efi partition
  emu               Start and manage Fuchsia emulators.
  flutter           Interact with Flutter components on the target.
  inspect           Query component nodes exposed via the Inspect API
  log               Display logs from a target device
  overnet           Interact with the Overnet mesh
  package           Create and publish Fuchsia packages
  pdk               PDK related tool.
  platform          Manage platform build prerequisites
  product-bundle    Discover and access product bundle metadata and image data.
  profile           Profile run-time information from various subsystems
  repository        Inspect and manage package repositories
  schema            Print out ffx schema
  scrutiny          Audit the security of Fuchsia
  sdk               Modify or query the installed SDKs
  self-test         Execute the ffx self-test (e2e) suite
  session           Control the current session. See
                    https://fuchsia.dev/fuchsia-src/concepts/session/introduction
                    for details.
  setui             Modify and query settings.
  starnix           Control starnix processes
  target            Interact with a target device or emulator
  trace             Interact with the tracing subsystem.
  triage            Analyze Logs and Inspect in snapshots to find problems.
  version           Print out ffx tool and daemon versions
  wlan              Developer tool for manipulating WLAN state.
  storage           Manage Fuchsia Filesystems
  test              Run test suite

agis


Usage: ffx agis <command> [<args>]

Agis Service

Options:


  --help            display usage information

Commands:


  register          register a process with AGIS for tracing
  unregister        unregister a process from AGIS
  connections       list all connected processes

connections


Usage: ffx agis connections

list all connected processes

Options:


  --help            display usage information

register


Usage: ffx agis register <process_id> <process_name>

register a process with AGIS for tracing

Positional Arguments:
  process_id        process ID
  process_name      process name

Options:


  --help            display usage information

unregister


Usage: ffx agis unregister <process_id>

unregister a process from AGIS

Positional Arguments:
  process_id        process ID

Options:


  --help            display usage information

assembly


Usage: ffx assembly <command> [<args>]

Assemble images

Options:


  --help            display usage information

Commands:


  create-system     create the system images.
  create-update     construct an UpdatePackage using images and package.
  config_data       Arguments for creating a new config data package based off
                    an existing one.
  product           Arguments for performing a high-level product assembly
                    operation.
  size-check        measure package sizes and verify they fit in the specified
                    budgets. Exit status is 2 when one or more budgets are
                    exceeded, and 1 when a failure prevented the budget
                    verification to happen.

config_data


Usage: ffx assembly config_data [<changes...>] --out-path <out-path> --meta-far <meta-far>

Arguments for creating a new config data package based off an existing one.

Positional Arguments:
  changes           changes to the config data package, in JSON format.

Options:


  --out-path        the filename to write the new config data meta.far to. if it
                    is a directory, meta.far will be written to the directory.
  --meta-far        the input config data package, in the form of a meta.far.
  --help            display usage information

create-system


Usage: ffx assembly create-system --image-assembly-config <image-assembly-config> --images <images> --outdir <outdir> [--gendir <gendir>] [--base-package-name <base-package-name>] [--mode <mode>]

create the system images.

Options:


  --image-assembly-config
                    the configuration file that specifies the packages,
                    binaries, and settings specific to the product being
                    assembled.
  --images          the configuration file that specifies which images to
                    generate and how.
  --outdir          the directory to write assembled outputs to.
  --gendir          the directory to write generated intermediate files to.
  --base-package-name
                    name to give the Base Package. This is useful if you must
                    publish multiple base packages to the same TUF repository.
  --mode            mode indicating where to place packages.
  --help            display usage information

create-update


Usage: ffx assembly create-update [--packages <packages>] --partitions <partitions> [--system-a <system-a>] [--system-r <system-r>] --board-name <board-name> --version-file <version-file> --epoch <epoch> [--update-package-name <update-package-name>] --outdir <outdir> [--gendir <gendir>]

construct an UpdatePackage using images and package.

Options:


  --packages        path to a packages manifest, which specifies what packages
                    to update.
  --partitions      path to a partitions config, which specifies where in the
                    partition table the images are put.
  --system-a        path to an images manifest, which specifies images to put in
                    slot A.
  --system-r        path to an images manifest, which specifies images to put in
                    slot R.
  --board-name      name of the board. Fuchsia will reject an Update Package
                    with a different board name.
  --version-file    file containing the version of the Fuchsia system.
  --epoch           backstop OTA version. Fuchsia will reject updates with a
                    lower epoch.
  --update-package-name
                    name to give the Update Package. This is currently only used
                    by OTA tests to allow publishing multiple update packages to
                    the same amber repository without naming collisions.
  --outdir          directory to write the UpdatePackage.
  --gendir          directory to write intermediate files.
  --help            display usage information

product


Usage: ffx assembly product --product <product> --outdir <outdir> [--gendir <gendir>] --input-bundles-dir <input-bundles-dir> --legacy-bundle-dir <legacy-bundle-dir>

Arguments for performing a high-level product assembly operation.

Options:


  --product         the configuration file that describes the product assembly
                    to perform.
  --outdir          the directory to write assembled outputs to.
  --gendir          the directory to write generated intermediate files to.
  --input-bundles-dir
                    the directory in which to find the platform assembly input
                    bundles
  --legacy-bundle-dir
                    the directory in which to find the legacy assembly input
                    bundle
  --help            display usage information

size-check


Usage: ffx assembly size-check --budgets <budgets> [--blob-sizes <blob-sizes...>] [--blobfs-layout <blobfs-layout>] [--gerrit-output <gerrit-output>] [-v] [--verbose-json-output <verbose-json-output>]

measure package sizes and verify they fit in the specified budgets. Exit status is 2 when one or more budgets are exceeded, and 1 when a failure prevented the budget verification to happen.

Options:


  --budgets         path to a JSON file containing the list of size budgets.
                    Each size budget has a `name`, a `size` which is the maximum
                    number of bytes, and `packages` a list of path to manifest
                    files.
  --blob-sizes      path to a `blobs.json` file. It provides the size of each
                    blob composing the package on device.
  --blobfs-layout   the layout of blobs in blobfs.
  --gerrit-output   path where to write the verification report, in JSON format.
  -v, --verbose     show the storage consumption of each component broken down
                    by package regardless of whether the component exceeded its
                    budget.
  --verbose-json-output
                    path where to write the verbose JSON output.
  --help            display usage information

component


Usage: ffx component <command> [<args>]

Discover and manage components

Options:


  --help            display usage information

Commands:


  create            Creates a dynamic component instance, adding it to the
                    collection designated by <moniker>
  data              Manages persistent data storage of components. DEPRECATED:
                    Will be replaced by `ffx component storage`
  destroy           Destroys a dynamic component instance, removing it from the
                    collection designated by <moniker>
  doctor            Perform diagnostic checks on a component at runtime.
  graph             Outputs a Graphviz dot graph for the component topology
  knock             Connects to a capability described by a given selector
  list              Lists all components in the component topology
  resolve           Resolves a component instance
  run               Creates and starts a component instance
  run-legacy        Runs a legacy (CMX) component instance on the target
  select            Lists component instances matching a selector
  show              Shows detailed information about a component instance
  start             Starts a component
  stop              Stops a component instance
  storage           Manages storage capabilities of components

create


Usage: ffx component create <moniker> <url>

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

Positional Arguments:
  moniker           moniker of a component instance in an existing collection.
                    The component instance will be added to the collection if
                    the command succeeds.
  url               url of the component to create.

Options:


  --help            display usage information

Examples:
  To create a component instance designated by the moniker `/core/ffx-laboratory:foo`:
  
      $ ffx component create /core/ffx-laboratory:foo fuchsia-pkg://fuchsia.com/hello-world#meta/hello-world-rust.cm

Notes:
  To learn more about running components, visit https://fuchsia.dev/fuchsia-src/development/components/run

data


Usage: ffx component data <command> [<args>]

Manages persistent data storage of components. DEPRECATED: Will be replaced by `ffx component storage`

Options:


  --help            display usage information

Commands:


  copy              Copy files to/from a component's persistent data storage. If
                    the file already exists at the destination it is
                    overwritten.
  list              List the contents of a component's persistent data storage.
  make-directory    Create a new directory in a component's persistent data
                    storage. If the directory already exists, this operation is
                    a no-op.

copy


Usage: ffx component data copy <source_path> <destination_path>

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

Positional Arguments:
  source_path       the source path of the file to be copied
  destination_path  the destination path of the file to be copied

Options:


  --help            display usage information

Examples:
  To copy `credentials.json` from the current working directory on the host to the `settings` directory of a component's persistent data storage:
  
      $ ffx component storage copy ./credentials.json 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::settings/credentials.json
  
  To copy `credentials.json` from the current working directory on the host to the `settings` directory from a different provider and capability:
  
      $ ffx component storage --provider /core/test_manager --capability data copy ./credentials.json f1a52f7b4d7081060a3295fd36df7b68fb0518f80aae0eae8a3fc1d55231375f::settings/credentials.json
  
  Note: 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520 is the instance ID of
  the component whose persistent data storage is being accessed.
  
  To learn about component instance IDs, visit https://fuchsia.dev/fuchsia-src/development/components/component_id_index

list


Usage: ffx component data list <path>

List the contents of a component's persistent data storage.

Positional Arguments:
  path              a path to a remote directory

Options:


  --help            display usage information

Examples:
  To list the contents of the `settings` directory in a component's persistent data storage:
  
      $ ffx component storage list 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::settings
  
  To list the contents of the root directory of a component's persistent data storage:
  
      $ ffx component storage list 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::/
  
  To list the contents of a directory using a different provider and capability:
  
      $ ffx component storage --provider /core/test_manager --capability data list f1a52f7b4d7081060a3295fd36df7b68fb0518f80aae0eae8a3fc1d55231375f::/
  
  Note: 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520 is the instance ID of
  the component whose persistent data storage is being accessed.
  
  To learn about component instance IDs, visit https://fuchsia.dev/fuchsia-src/development/components/component_id_index

make-directory


Usage: ffx component data make-directory <path>

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

Positional Arguments:
  path              a path to a non-existent remote directory

Options:


  --help            display usage information

Examples:
  To make a `settings` directory in a storage:
  
      $ ffx component storage make-directory 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::settings
  
  To make a `settings` directory in a storage from a different provider and capability:
  
      $ ffx component storage --provider /core/test_manager --capability data make-directory f1a52f7b4d7081060a3295fd36df7b68fb0518f80aae0eae8a3fc1d55231375f::settings
  
  Note: 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520 is the instance ID of
  the component whose persistent data storage is being accessed.
  
  To learn about component instance IDs, visit https://fuchsia.dev/fuchsia-src/development/components/component_id_index

destroy


Usage: ffx component destroy <moniker>

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

Positional Arguments:
  moniker           moniker of an existing component instance in a collection.
                    This component instance will be removed from the collection
                    if this command succeeds.

Options:


  --help            display usage information

Examples:
  To destroy a component instance designated by the moniker `/core/ffx-laboratory:foo`:
  
      $ ffx component destroy /core/ffx-laboratory:foo

Notes:
  To learn more about running components, visit https://fuchsia.dev/fuchsia-src/development/components/run

doctor


Usage: ffx component doctor [<moniker...>]

Perform diagnostic checks on a component at runtime.

Positional Arguments:
  moniker           the component's moniker. Example: `/core/appmgr`.

Options:


  --help            display usage information

Examples:
  To run diagnostics:
  
  $ ffx component doctor /core/appmgr
  
  This will run the following checks:
      * Verify that the component's lists of outgoing and exposed capabilities match

Notes:
  When using the `doctor` subcommand, the following diagnostic checks are ran on a component:
  
      1- Check that the lists of `outgoing` and `exposed` capabilities match
  
  All the checks are ran consecutively. In the case of a check failing, the following checks WILL be
  ran and the command will return an error code afterwards.
      

graph


Usage: ffx component graph [-o <only>] [-r <orientation>]

Outputs a Graphviz dot graph for the component topology

Options:


  -o, --only        outputs only cmx/cml/running/stopped components depending on
                    the flag.
  -r, --orientation changes the visual orientation of the graph's nodes. Allowed
                    values are "left_to_right"/"lr" and "top_to_bottom"/"tb".
  --help            display usage information

Examples:
  To graph all components in the topology:
  
      $ ffx component graph
  
      To graph all cmx components in the topology:
  
      $ ffx component graph --only cmx
  
      To graph all cml components in the topology:
  
      $ ffx component graph --only cml
  
      To graph all running components in the topology:
  
      $ ffx component graph --only running
  
      To graph all stopped components in the topology:
  
      $ ffx component graph --only stopped
  
      To graph the ancestors of a component named `foo`:
  
      $ ffx component graph --only ancestor:foo
  
      To graph the descendants of a component named `foo`:
  
      $ ffx component graph --only descendant:foo
  
      To graph both the ancestors and descendants of a component named `foo`:
  
      $ ffx component graph --only relatives:foo
      
      To order the graph's nodes from left-to-right (instead of top-to-bottom):
      
      $ ffx component graph --orientation left_to_right

knock


Usage: ffx component knock <moniker> <service> [--node <node>] [--timeout <timeout>]

Connects to a capability described by a given selector

Positional Arguments:
  moniker           the component's moniker. Example: `/core/appmgr`.
  service           the service to knock. Example: `fuchsia.hwinfo.Product`. Can
                    be a wildcard `*` if it matches exactly one service.

Options:


  --node            the namespace, also called node selector. Correspond to the
                    routing terminology used in the component manifest. One of
                    ['in', 'out', 'expose']. Defaults to 'out'
  --timeout         the time in seconds to wait when status is SHOULD_WAIT
                    before assuming success. Defaults to 5 second.
  --help            display usage information

Examples:
  To connect to a service:
  
      $ ffx component knock /core/appmgr fuchsia.hwinfo.Product --node out

Notes:
  Knock verifies the existence of a capability by attempting to connect to it.
  
  Note that wildcards can be used for the service parameter but must match exactly one service.
  
  `ffx component select` can be used to explore the component
  topology and find the correct selector for use in this command.

list


Usage: ffx component list [-o <only>] [-v]

Lists all components in the component topology

Options:


  -o, --only        output only cmx/cml/running/stopped components depending on
                    the flag.
  -v, --verbose     whether or not to display a column showing component type, a
                    column showing running/stopped and a column showing the url.
  --help            display usage information

Examples:
  To list all components in the topology:
  
      $ ffx component list
  
      To list all cmx components in the topology:
  
      $ ffx component list --only cmx
  
      To list all cml components in the topology:
  
      $ ffx component list --only cml
  
      To list all running components in the topology:
  
      $ ffx component list --only running
  
      To list all stopped components in the topology:
  
      $ ffx component list --only stopped
  
      To list the ancestors of a component named `foo`:
  
      $ ffx component list --only ancestor:foo
  
      To list the descendants of a component named `foo`:
  
      $ ffx component list --only descendant:foo
  
      To list both the ancestors and descendants of a component named `foo`:
  
      $ ffx component list --only relatives:foo

resolve


Usage: ffx component resolve <moniker>

Resolves a component instance

Positional Arguments:
  moniker           A moniker to a component instance

Options:


  --help            display usage information

Examples:
  To resolve the component designated by the provided moniker `/core/brightness_manager`:
  
      $ ffx component resolve /core/brightness_manager

run


Usage: ffx component run <url> [-n <name>] [-r]

Creates and starts a component instance

Positional Arguments:
  url               url of the component to run.

Options:


  -n, --name        specify a name for the component instance. if this flag is
                    not set, the instance name is derived from the component
                    URL.
  -r, --recreate    destroy and recreate the component instance if it already
                    exists
  --help            display usage information

Examples:
  To create a component instance from the `hello-world-rust` component URL:
  
      $ ffx component run fuchsia-pkg://fuchsia.com/hello-world#meta/hello-world-rust.cm

Notes:
  This command is a shorthand for the following:
  
      $ ffx component create /core/ffx-laboratory:<instance-name> <component-url>
      $ ffx component start /core/ffx-laboratory:<instance-name>
  
  To learn more about running components, visit https://fuchsia.dev/fuchsia-src/development/components/run

run-legacy


Usage: ffx component run-legacy <url> [<args...>] [-b]

Runs a legacy (CMX) component instance on the target

Positional Arguments:
  url               url of component to run
  args              args for the component

Options:


  -b, --background  switch to turn on background info
  --help            display usage information

Examples:
  To run the 'hello_world_rust' component:
  
      $ ffx component run-legacy \
      fuchsia-pkg://fuchsia.com/hello_world_rust#meta/hello_world_rust.cmx

Notes:
  To learn more about component URLs, visit https://fuchsia.dev/fuchsia-src/concepts/components/component_urls

select


Usage: ffx component select <command> [<args>]

Lists component instances matching a selector

Options:


  --help            display usage information

Commands:


  moniker           subcommand moniker
  capability        subcommand capability

Examples:
  To show services exposed by remote-control:
  
      $ ffx component select moniker remote-control:expose:*'
  
  Or to show all services offered by v1 components:
  
      $ ffx component select moniker core/appmgr:out:*
  
  Or to show all components that expose a capability:
  
      $ ffx component select capability fuchsia.sys.Loader

Notes:
  Component select allows for 
  1). looking up various services exposed by the
  component. The command expects a <selector> with the following format:
  
  `<component moniker>:(in|out|exposed)[:<service name>]`
  
  Wildcards may be used anywhere in the selector.
  
  2). looking up components that expose a capability. The command takes in 
  a capability name consists of a string containing the characters a to z, 
  A to Z, 0 to 9, underscore (_), hyphen (-), or the full stop character (.).

capability


Usage: ffx component select capability <capability>

subcommand capability

Positional Arguments:
  capability        output all components that expose the capability

Options:


  --help            display usage information

moniker


Usage: ffx component select moniker <moniker>

subcommand moniker

Positional Arguments:
  moniker           output services exposed/used/offered by the moniker

Options:


  --help            display usage information

show


Usage: ffx component show <filter>

Shows detailed information about a component instance

Positional Arguments:
  filter            URL or moniker of component instance. Partial matches
                    allowed.

Options:


  --help            display usage information

Examples:
  To show information about the `brightness_manager` component instance, all of the
  following commands are valid:
  
      $ ffx component show /core/brightness_manager
      $ ffx component show fuchsia-pkg://fuchsia.com/brightness_manager#meta/brightness_manager.cm
      $ ffx component show meta/brightness_manager.cm
      $ ffx component show brightness_manager

Notes:
  This command supports partial matches over the moniker and URL

start


Usage: ffx component start <moniker>

Starts a component

Positional Arguments:
  moniker           A moniker to a component instance

Options:


  --help            display usage information

Examples:
  To start the component instance designated by the moniker `/core/brightness_manager`:
  
      $ ffx component start /core/brightness_manager

Notes:
  To learn more about running components, visit https://fuchsia.dev/fuchsia-src/development/components/run

stop


Usage: ffx component stop <moniker> [-r]

Stops a component instance

Positional Arguments:
  moniker           A moniker to a component instance

Options:


  -r, --recursive   whether or not to stop the component recursively
  --help            display usage information

Examples:
  To stop the component instance designated by the moniker `/core/brightness_manager`:
  
      $ ffx component stop /core/brightness_manager

Notes:
  To learn more about running components, visit https://fuchsia.dev/fuchsia-src/development/components/run

storage


Usage: ffx component storage [--provider <provider>] [--capability <capability>] <command> [<args>]

Manages storage capabilities of components

Options:


  --provider        the moniker of the storage provider component. Defaults to
                    "/core"
  --capability      the capability name of the storage to use. Examples: "data",
                    "cache", "tmp" Defaults to "data"
  --help            display usage information

Commands:


  copy              Copy files to/from a component's persistent data storage. If
                    the file already exists at the destination it is
                    overwritten.
  list              List the contents of a component's persistent data storage.
  make-directory    Create a new directory in a component's persistent data
                    storage. If the directory already exists, this operation is
                    a no-op.

copy


Usage: ffx component storage copy <source_path> <destination_path>

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

Positional Arguments:
  source_path       the source path of the file to be copied
  destination_path  the destination path of the file to be copied

Options:


  --help            display usage information

Examples:
  To copy `credentials.json` from the current working directory on the host to the `settings` directory of a component's persistent data storage:
  
      $ ffx component storage copy ./credentials.json 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::settings/credentials.json
  
  To copy `credentials.json` from the current working directory on the host to the `settings` directory from a different provider and capability:
  
      $ ffx component storage --provider /core/test_manager --capability data copy ./credentials.json f1a52f7b4d7081060a3295fd36df7b68fb0518f80aae0eae8a3fc1d55231375f::settings/credentials.json
  
  Note: 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520 is the instance ID of
  the component whose persistent data storage is being accessed.
  
  To learn about component instance IDs, visit https://fuchsia.dev/fuchsia-src/development/components/component_id_index

list


Usage: ffx component storage list <path>

List the contents of a component's persistent data storage.

Positional Arguments:
  path              a path to a remote directory

Options:


  --help            display usage information

Examples:
  To list the contents of the `settings` directory in a component's persistent data storage:
  
      $ ffx component storage list 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::settings
  
  To list the contents of the root directory of a component's persistent data storage:
  
      $ ffx component storage list 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::/
  
  To list the contents of a directory using a different provider and capability:
  
      $ ffx component storage --provider /core/test_manager --capability data list f1a52f7b4d7081060a3295fd36df7b68fb0518f80aae0eae8a3fc1d55231375f::/
  
  Note: 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520 is the instance ID of
  the component whose persistent data storage is being accessed.
  
  To learn about component instance IDs, visit https://fuchsia.dev/fuchsia-src/development/components/component_id_index

make-directory


Usage: ffx component storage make-directory <path>

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

Positional Arguments:
  path              a path to a non-existent remote directory

Options:


  --help            display usage information

Examples:
  To make a `settings` directory in a storage:
  
      $ ffx component storage make-directory 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520::settings
  
  To make a `settings` directory in a storage from a different provider and capability:
  
      $ ffx component storage --provider /core/test_manager --capability data make-directory f1a52f7b4d7081060a3295fd36df7b68fb0518f80aae0eae8a3fc1d55231375f::settings
  
  Note: 2042425d4b16ac396ebdb70e40845dc51516dd25754741a209d1972f126a7520 is the instance ID of
  the component whose persistent data storage is being accessed.
  
  To learn about component instance IDs, visit https://fuchsia.dev/fuchsia-src/development/components/component_id_index

config


Usage: ffx config <command> [<args>]

View and switch default and user configurations

Options:


  --help            display usage information

Commands:


  env               list environment settings
  get               display config values
  set               set config settings
  remove            remove config for a given level
  add               add config value the end of an array
  analytics         enable or disable analytics

add


Usage: ffx config add <name> <value> [-l <level>] [-b <build-dir>]

add config value the end of an array

Positional Arguments:
  name              name of the property to set
  value             value to add to name

Options:


  -l, --level       config level. Possible values are "user", "build", "global".
                    Defaults to "user".
  -b, --build-dir   an optional build directory to associate the build config
                    provided - use used for "build" configs
  --help            display usage information

Notes:
  This will always add to the end of an array.  Adding to a subtree is not supported. If the current value is not an array, it will convert the value to an array.  If you want to insert a value in a different position, consider editing the configuration file directly.  Configuration file locations can be found by running `ffx config env get` command.

analytics


Usage: ffx config analytics <command> [<args>]

enable or disable analytics

Options:


  --help            display usage information

Commands:


  enable            enable analytics
  disable           disable analytics
  show              show analytics

disable


Usage: ffx config analytics disable

disable analytics

Options:


  --help            display usage information

enable


Usage: ffx config analytics enable

enable analytics

Options:


  --help            display usage information

show


Usage: ffx config analytics show

show analytics

Options:


  --help            display usage information

env


Usage: ffx config env [<command>] [<args>]

list environment settings

Options:


  --help            display usage information

Commands:


  set               set environment settings
  get               list environment for a given level

get


Usage: ffx config env get [<level>]

list environment for a given level

Positional Arguments:
  level             config level. Possible values are "user", "build", "global".

Options:


  --help            display usage information

set


Usage: ffx config env set <file> [-l <level>] [-b <build-dir>]

set environment settings

Positional Arguments:
  file              path to the config file for the configruation level provided

Options:


  -l, --level       config level. Possible values are "user", "build", "global".
                    Defaults to "user".
  -b, --build-dir   an optional build directory to associate the build config
                    provided - use used for "build" configs
  --help            display usage information

get


Usage: ffx config get [<name>] [-p <process>] [-s <select>] [-b <build-dir>]

display config values

Positional Arguments:
  name              name of the config property

Options:


  -p, --process     how to process results. Possible values are "raw", "sub",
                    and "sub_flat".  Defaults to "raw". Currently only supported
                    if a name is given.
  -s, --select      how 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-dir   an optional build directory to associate the build config
                    provided - use used for "build" configs
  --help            display usage information

Error codes:
  2 No value found

remove


Usage: ffx config remove <name> [-l <level>] [-b <build-dir>]

remove config for a given level

Positional Arguments:
  name              name of the config property

Options:


  -l, --level       config level. Possible values are "user", "build", "global".
                    Defaults to "user".
  -b, --build-dir   an optional build directory to associate the build config
                    provided - use used for "build" configs
  --help            display usage information

Notes:
  This will remove the entire value for the given name.  If the value is a subtree or array, the entire subtree or array will be removed.  If you want to remove a specific value from an array, consider editing the configuration file directly.  Configuration file locations can be found by running `ffx config env get` command.

set


Usage: ffx config set <name> <value> [-l <level>] [-b <build-dir>]

set config settings

Positional Arguments:
  name              name of the property to set
  value             value to associate with name

Options:


  -l, --level       config level. Possible values are "user", "build", "global".
                    Defaults to "user".
  -b, --build-dir   an optional build directory to associate the build config
                    provided - use used for "build" configs
  --help            display usage information

cts


Usage: ffx cts <command> [<args>]

Build and run CTS tests.

Options:


  --help            display usage information

Commands:


  run               Run CTS tests.

run


Usage: ffx cts run [--cts-version <cts-version>] [--tests <tests>]

Run CTS tests.

Options:


  --cts-version     string, version of CTS to run.
  --tests           string, comma-separated list of tests to run.
  --help            display usage information

daemon


Usage: ffx daemon <command> [<args>]

Interact with/control the ffx daemon

Options:


  --help            display usage information

Commands:


  crash             crash the daemon
  echo              run echo test against the daemon
  hang              hang the daemon
  log               Dumps the daemon log
  start             run as daemon
  stop              stops a running daemon

crash


Usage: ffx daemon crash

crash the daemon

Options:


  --help            display usage information

echo


Usage: ffx daemon echo [<text>]

run echo test against the daemon

Positional Arguments:
  text              text string to echo back and forth

Options:


  --help            display usage information

hang


Usage: ffx daemon hang

hang the daemon

Options:


  --help            display usage information

log


Usage: ffx daemon log [-f] [-l <line-count>]

Dumps the daemon log

Options:


  -f, --follow      print appended logs as they happen
  -l, --line-count  display most recent log lines.
  --help            display usage information

start


Usage: ffx daemon start

run as daemon

Options:


  --help            display usage information

stop


Usage: ffx daemon stop

stops a running daemon

Options:


  --help            display usage information

debug


Usage: ffx debug <command> [<args>]

Start a debugging session.

Options:


  --help            display usage information

Commands:


  connect           start the debugger and connect to the target
  core              start the debugger and open a minidump
  fidl              monitor FIDL traffic on the target
  limbo             control the process limbo on the target
  symbol-index      manage symbol sources used by other debug commands
  symbolize         symbolize backtraces in markup format

connect


Usage: ffx debug connect [<zxdb_args...>] [--debugger <debugger>]

start the debugger and connect to the target

Positional Arguments:
  zxdb_args         extra arguments passed to zxdb. Any arguments starting with
                    "-" must be after a "--" separator.

Options:


  --debugger        start zxdb in another debugger. Valid options are lldb
                    (preferred) and gdb.
  --help            display usage information

core


Usage: ffx debug core [<minidump>] [--zxdb-args <zxdb-args...>]

start the debugger and open a minidump

Positional Arguments:
  minidump          minidump.dmp file to open. If left empty, the tool will list
                    available minidumps on the device and ask for a choice to
                    open.

Options:


  --zxdb-args       extra arguments passed to zxdb.
  --help            display usage information

fidl


Usage: ffx debug fidl [<extra_args...>] [--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...>] [--remote-job-id <remote-job-id...>] [--remote-job-name <remote-job-name...>] [--fidl-ir-path <fidl-ir-path...>]

monitor FIDL traffic on the target

Positional Arguments:
  extra_args        extra arguments passed to fidlcat. Any arguments starting
                    with "-" must be after a "--" separator.

Options:


  --from            specifies 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. <path>: playback. Used to replay a session
                    previously recorded with --to <path> (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.
  --to              the session is saved to the specified file (binary protobuf
                    format). When a session is saved, you can replay it using
                    "--from <path>". The raw data is saved. That means that the
                    data saved is independent from what is displayed.
  --format          the 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.
  --with            specifies 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-info
                    display the process name, process id and thread id on each
                    line (useful for grep).
  --stack           define 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)
  --syscalls        a 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-syscalls
                    a 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_.*"
  --messages        a 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-messages
                    a 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.
  --trigger         start 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.
  --thread          only display the events for the specified thread. This
                    option can be specified multiple times. By default all the
                    events are displayed.
  --dump-messages   always does a hexadecimal dump of the messages even if we
                    can decode them.
  --remote-pid      the koid of the remote process to trace.
  -f, --remote-name the <name> of a process. Fidlcat will monitor all existing
                    and future processes whose names includes <name> (<name> 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-name      like --remote-name, it monitors some processes. However, for
                    these processes, monitoring starts only when one of of the
                    "--remote-name" process is launched. Also, fidlcat stops
                    when the last "--remote-name" process stops (even if some
                    "--extra-name"  processes are still monitored). This option
                    can be specified multiple times.
  --remote-job-id   the koid of a remote job for which we want to monitor all
                    the processes. Only jobs created before fidlcat is launched
                    are monitored. This option can be specified multiple times.
  --remote-job-name the name of a remote job for which we want to monitor all
                    the processes. All the jobs which contain <name> in their
                    name are used. Only jobs created before fidlcat is launched
                    are monitored. This option can be specified multiple times.
  --fidl-ir-path    add 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.
  --help            display usage information

limbo


Usage: ffx debug limbo <command> [<args>]

control the process limbo on the target

Options:


  --help            display usage information

Commands:


  status            query the status of the process limbo.
  enable            enable the process limbo. It will now begin to capture
                    crashing processes.
  disable           disable the process limbo. Will free any pending processes
                    waiting in it.
  list              lists the processes currently waiting on limbo. The limbo
                    must be active.
  release           release a process from limbo. The limbo must be active.

disable


Usage: ffx debug limbo disable

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

Options:


  --help            display usage information

enable


Usage: ffx debug limbo enable

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

Options:


  --help            display usage information

list


Usage: ffx debug limbo list

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

Options:


  --help            display usage information

release


Usage: ffx debug limbo release <pid>

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

Positional Arguments:
  pid               the koid of the process to release.

Options:


  --help            display usage information

status


Usage: ffx debug limbo status

query the status of the process limbo.

Options:


  --help            display usage information

symbol-index


Usage: ffx debug symbol-index <command> [<args>]

manage symbol sources used by other debug commands

Options:


  --help            display usage information

Commands:


  list              show the content in symbol index
  add               add a path to the symbol index
  remove            remove a path from the symbol index
  clean             remove all non-existent paths

Notes:
  symbol-index is a global configuration used by debugging tools to locate
  symbol files.

add


Usage: ffx debug symbol-index add <path> [--build-dir <build-dir>]

add a path to the symbol index

Positional Arguments:
  path              the path to add

Options:


  --build-dir       optional build directory used by zxdb to locate the source
                    code
  --help            display usage information

Notes:
  Add a path to the symbol index. The path could be
    - A build-id directory, with an optional build directory.
    - An ids.txt file, with an optional build directory.
    - A file that ends with .symbol-index.json.
  
  Duplicated adding of the same path is a no-op, regardless of the optional
  build directory.

clean


Usage: ffx debug symbol-index clean

remove all non-existent paths

Options:


  --help            display usage information

Notes:
  Remove all non-existent paths from the symbol index, useful as a garbage
  collection.

list


Usage: ffx debug symbol-index list [-a]

show the content in symbol index

Options:


  -a, --aggregated  show the aggregated symbol index
  --help            display usage information

remove


Usage: ffx debug symbol-index remove <path>

remove a path from the symbol index

Positional Arguments:
  path              the path to remove

Options:


  --help            display usage information

Notes:
  Remove a path from the symbol index. The path could be
    - A build-id directory.
    - An ids.txt file.
    - A file that ends with .symbol-index.json.

symbolize


Usage: ffx debug symbolize [<symbolizer_args...>] [--auth]

symbolize backtraces in markup format

Positional Arguments:
  symbolizer_args   extra arguments passed to the symbolizer. Any arguments
                    starting with "-" must be after a "--" separator.

Options:


  --auth            start the authentication process.
  --help            display usage information

doctor


Usage: ffx doctor [--record] [--no-config] [--retry-count <retry-count>] [--retry-delay <retry-delay>] [--restart-daemon] [-v] [--output-dir <output-dir>]

Run common checks for the ffx tool and host environment

Options:


  --record          generates an output zip file with logs
  --no-config       do not include the ffx configuration file
  --retry-count     number of times to retry failed connection attempts
  --retry-delay     timeout delay in ms during connection attempt
  --restart-daemon  force restart the daemon, even if the connection is working
  -v, --verbose     verbose, display all steps
  --output-dir      override the default output directory for doctor records
  --help            display usage information

Examples:
  To run diagnostics:
  
      $ ffx doctor
  
  To capture the output and additional logs:
  
      $ ffx doctor --record
  
  By default, this outputs the zip in the current directory.
  
  To override output dir:
  
      $ ffx doctor --record --output-dir /tmp/ffx

Notes:
  The `doctor` subcommand automatically attempts to repair common target
  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.

driver


Usage: ffx driver <command> [<args>]

Support driver development workflows

Options:


  --help            display usage information

Commands:


  debug-bind        Allows you to debug bind decisions.
  device            Performs specified subcommand on device
  dump              Dump device tree
  list              List drivers
  list-devices      List devices
  list-hosts        List driver hosts and drivers loaded within them
  lsblk             Prints out block device info
  lspci             Prints out pci device info
  lsusb             Print the device tree of the target to stdout
  register          Informs the driver manager that a new driver package is
                    available. The driver manager will cache a copy of the
                    driver
  restart           Restart all driver hosts containing the driver specified by
                    driver_path.
  run-tool          Runs a driver tool executable in the driver_playground.

debug-bind


Usage: ffx driver debug-bind <driver_path> <device_path> [-p] [-i] [-s]

Allows you to debug bind decisions.

Positional Arguments:
  driver_path       the path of the driver to debug, e.g.
                    "/system/driver/usb_video.so"
  device_path       the path of the device to debug, relative to the /dev
                    directory. E.g. "sys/platform/pci/00:1f.6" or
                    "class/usb-device/000"

Options:


  -p, --print-properties
                    print out the device properties.
  -i, --print-instructions
                    print out the bind program instructions.
  -s, --select      if this exists, the user will be prompted for a component to
                    select.
  --help            display usage information

Examples:
  To debug why a driver did or didn't bind to a particular device:
  
      $ driver debug-bind '/boot/driver/usb_video.so' 'sys/platform/pci/00:1f.6'

Error codes:
  1 Failed to connect to the bind debugger service

device


Usage: ffx driver device [-s] <command> [<args>]

Performs specified subcommand on device

Options:


  -s, --select      if this exists, the user will be prompted for a component to
                    select.
  --help            display usage information

Commands:


  bind              Binds the driver specified to the specified device.
  unbind            Unbinds the driver bound to the specified device.
  log-level         Sets or prints the log level for the specified device. If
                    log_level is not specified, will print current log level.

Examples:
  To unbind a driver
  
      $ driver device unbind 'sys/platform/pci:00:01.6'

Error codes:
  1 Failed to open device

bind


Usage: ffx driver device bind <driver_path> <device_path>

Binds the driver specified to the specified device.

Positional Arguments:
  driver_path       the path of the driver to debug, e.g.
                    "/system/driver/usb_video.so"
  device_path       the path of the device to unbind, relative to the /dev
                    directory. E.g. "sys/platform/pci/00:1f.6" or
                    "class/usb-device/000"

Options:


  --help            display usage information

log-level


Usage: ffx driver device log-level <device_path> [<log_level>]

Sets or prints the log level for the specified device. If log_level is not specified, will print current log level.

Positional Arguments:
  device_path       the path of the device to unbind, relative to the /dev
                    directory. E.g. "sys/platform/pci/00:1f.6" or
                    "class/usb-device/000"
  log_level         the log level to set

Options:


  --help            display usage information

unbind


Usage: ffx driver device unbind <device_path>

Unbinds the driver bound to the specified device.

Positional Arguments:
  device_path       the path of the device to unbind, relative to the /dev
                    directory. E.g. "sys/platform/pci/00:1f.6" or
                    "class/usb-device/000"

Options:


  --help            display usage information

dump


Usage: ffx driver dump [-v] [-g] [-s]

Dump device tree

Options:


  -v, --verbose     list all device properties.
  -g, --graph       output device graph in dot language so that it may be viewed
  -s, --select      if this exists, the user will be prompted for a component to
                    select.
  --help            display usage information

Examples:
  To dump the device tree:
  
      $ driver dump
  To graph device tree:
  
      $ driver dump --graph | dot -Tpng | display

Error codes:
  1 Failed to connect to the driver development service

list


Usage: ffx driver list [-v] [--loaded] [-s]

List drivers

Options:


  -v, --verbose     list all driver properties
  --loaded          only list loaded drivers
  -s, --select      if this exists, the user will be prompted for a component to
                    select.
  --help            display usage information

Examples:
  To list all drivers with properties:
  
      $ driver list -v
  
  To list only loaded drivers:
  
      $ driver list --loaded

Error codes:
  1 Failed to connect to the driver development service

list-devices


Usage: ffx driver list-devices [<device>] [-s] [-v]

List devices

Positional Arguments:
  device            specific device to list information about.

Options:


  -s, --select      if this exists, the user will be prompted for a component to
                    select.
  -v, --verbose     list all device properties.
  --help            display usage information

Examples:
  To list all devices:
  
      $ driver list-devices -v

Error codes:
  1 Failed to connect to the driver development service

list-hosts


Usage: ffx driver list-hosts [-s]

List driver hosts and drivers loaded within them

Options:


  -s, --select      if this exists, the user will be prompted for a component to
                    select.
  --help            display usage information

Examples:
  To list all driver hosts:
  
      $ driver list-hosts

Error codes:
  1 Failed to connect to the driver development service

lsblk


Usage: ffx driver lsblk [-s]

Prints out block device info

Options:


  -s, --select      if this exists, the user will be prompted for a component to
                    select.
  --help            display usage information

Examples:
  To show the all block devices:
  
      $ driver lsblk

Error codes:
  1 Failed to connect to the device manager service

lspci


Usage: ffx driver lspci [<service>] [-v] [-q] [-x] [-n] [-N] [-s <filter>] [--select]

Prints out pci device info

Positional Arguments:
  service           path to the fuchsia.hardware.pci service

Options:


  -v, --verbose     print verbose device configuration
  -q, --quiet       don't print errors found trying to parse the database
  -x, --print-config
                    dump raw configuration space
  -n, --print-numeric
                    print numeric IDs.
  -N, --only-print-numeric
                    only print numeric IDs.
  -s, --filter      [[<bus>]:][slot][.[<func>]]    Show only devices in selected
                    slots
  --select          if this exists, the user will be prompted for a component to
                    select.
  --help            display usage information

Examples:
  To show the device tree:
  
      $ driver lspci

Error codes:
  1 Failed to connect to the device manager service

lsusb


Usage: ffx driver lsusb [-t] [-v] [-c <configuration>] [-d <device>]

Print the device tree of the target to stdout

Options:


  -t, --tree        prints USB device tree
  -v, --verbose     verbose output (prints descriptors)
  -c, --configuration
                    prints configuration descriptor for specified configuration
                    (rather than current configuration)
  -d, --device      shows only devices with the specified vendor and product ID
                    numbers (in hexadecimal) UsbDevice must be in format
                    vendor[:product]
  --help            display usage information

Examples:
  To show the device tree:
  
      $ driver lsusb

Error codes:
  1 Failed to connect to the device manager service

register


Usage: ffx driver register <url> [-s]

Informs the driver manager that a new driver package is available. The driver manager will cache a copy of the driver

Positional Arguments:
  url               component URL of the driver to be registered.

Options:


  -s, --select      if this exists, the user will be prompted for a component to
                    select.
  --help            display usage information

Examples:
  To register a driver
  
      $ driver register 'fuchsia-pkg://fuchsia.com/example_driver#meta/example_driver.cmx'

Error codes:
  1 Failed to connect to the driver registrar service

restart


Usage: ffx driver restart <driver_path> [-s]

Restart all driver hosts containing the driver specified by driver_path.

Positional Arguments:
  driver_path       path of the driver to be restarted.

Options:


  -s, --select      if this exists, the user will be prompted for a component to
                    select.
  --help            display usage information

Examples:
  To restart a driver:
  
      $ driver restart fuchsia-boot:///#driver/e1000.so

Error codes:
  1 Failed to connect to the driver manager service

run-tool


Usage: ffx driver run-tool <tool> [<args...>]

Runs a driver tool executable in the driver_playground.

Positional Arguments:
  tool              path of the driver tool binary.
  args              the arguments to pass to the tool.

Options:


  --help            display usage information

Examples:
  To run a tool:
  
      $ driver runtool fuchsia-pkg://fuchsiasamples.com/eductl#bin/eductl -- fact 5

Error codes:
  1 Failed to connect to the driver playground service

efi


Usage: ffx efi <command> [<args>]

Manipulate efi partition

Options:


  --help            display usage information

Commands:


  create            Creates efi partition, copies zircon.bin, bootdata.bin,
                    EFI/BOOT/BOOTX64.EFI, zedboot.bin, etc...

create


Usage: ffx efi create -o <output> [--zircon <zircon>] [--bootdata <bootdata>] [--efi-bootloader <efi-bootloader>] [--zedboot <zedboot>] [--cmdline <cmdline>]

Creates efi partition, copies zircon.bin, bootdata.bin, EFI/BOOT/BOOTX64.EFI, zedboot.bin, etc...

Options:


  -o, --output      target file/disk to write EFI partition to
  --zircon          optional path to source file for zircon.bin
  --bootdata        optional path to source file for bootdata.bin
  --efi-bootloader  optional path to source file for EFI/BOOT/BOOTX64.EFI
  --zedboot         optional path to a source file for zedboot.bin
  --cmdline         optional bootloader cmdline file
  --help            display usage information

emu


Usage: ffx emu <command> [<args>]

Start and manage Fuchsia emulators.

Options:


  --help            display usage information

Commands:


  list              List running Fuchsia emulators.
  show              Show Fuchsia emulator details.
  start             Start the Fuchsia emulator.
  stop              Shut down a running Fuchsia emulator.

Notes:
  The emu command is used to start up, manage, and shut down Fuchsia emulators.
  
  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.

list


Usage: ffx emu list

List running Fuchsia emulators.

Options:


  --help            display usage information

show


Usage: ffx emu show [<name>]

Show Fuchsia emulator details.

Positional Arguments:
  name              name of the emulator instance to show details for. See a
                    list of available instances by running `ffx emu list`. If
                    only one instance is running, this defaults to that instance
                    name.

Options:


  --help            display usage information

start


Usage: ffx emu start [<product_bundle>] [--accel <accel>] [--config <config>] [--console] [--debugger] [--dry-run] [--engine <engine>] [--gpu <gpu>] [-H] [--hidpi-scaling <hidpi-scaling>] [-c <kernel-args...>] [-l <log>] [-m] [--name <name>] [--net <net>] [--port-map <port-map...>] [--reuse] [-s <startup-timeout>] [-V]

Start the Fuchsia emulator.

Positional Arguments:
  product_bundle    use named product information from Product Bundle Metadata
                    (PBM). If no product bundle is specified and there is an
                    obvious choice, that will be used (e.g. if there is only one
                    PBM available).

Options:


  --accel           virtualization 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".
  --config          specify a configuration file to populate the command line
                    flags for the emulator. Defaults to a Handlebars config
                    specified in the Product Bundle manifest.
  --console         launch the emulator in serial console mode. This redirects
                    the virtual serial port to the host's input/output streams,
                    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.
  --debugger        pause 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.
  --dry-run         sets up the emulation, but doesn't start the emulator. The
                    command line arguments that the current configuration
                    generates will be printed to stdout for review.
  --engine          emulation 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".
  --gpu             GPU acceleration mode. Allowed values are "host", "guest",
                    "swiftshader_indirect", or "auto". Default is "auto". 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.
  -H, --headless    run the emulator without a GUI. The guest system may still
                    initialize graphics drivers, but no graphics interface will
                    be presented to the user.
  --hidpi-scaling   enable pixel scaling on HiDPI devices. Defaults to true for
                    MacOS, false otherwise.
  -c, --kernel-args experimental(for https://fxbug.dev/95278). Passes 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, --log         store 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, --monitor     launch 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.
  --name            name of this emulator instance. This is used to identify the
                    instance in other commands and tools. Default is
                    "fuchsia-emulator".
  --net             specify 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".
  --port-map        specify a host port mapping for user-networking mode.
                    Ignored in other networking modes. Syntax is "--port-map
                    <portname>:<port>". The <portname> must be one of those
                    specified in the virtual device specification. This flag may
                    be repeated for multiple port mappings.
  --reuse           reuse 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.
  -s, --startup-timeout
                    the 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, --verbose     enables extra logging for debugging.
  --help            display usage information

Examples:
  ffx emu start
  ffx emu start workstation.qemu-x64 --name my-emulator --engine femu

Notes:
  The `start` subcommand is the starting point for all emulator interactions.
  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


Usage: ffx emu stop [<name>] [--all] [-p]

Shut down a running Fuchsia emulator.

Positional Arguments:
  name              name of the emulator to shutdown, as specified to the start
                    command. See a list of available instances by running `ffx
                    emu list`. If no name is specified, and only one emulator is
                    running, it will be terminated.

Options:


  --all             shut down and clean up all emulator instances running on the
                    device.
  -p, --persist     don't remove the state directory on stop, just terminate the
                    emulator.
  --help            display usage information

Examples:
  ffx emu stop
  ffx emu stop --all
  ffx emu stop fuchsia-emulator --persist

Notes:
  By default, the stop command will remove an emulator's on-disk
  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.

flutter


Usage: ffx flutter <command> [<args>]

Interact with Flutter components on the target.

Options:


  --help            display usage information

Commands:


  tunnel            Establishes a port forward between the local host and the
                    dart vm service port.

Notes:
  The `flutter` subcommand is an entry workflow and contains various subcommands
  for flutter component management and interaction.

tunnel


Usage: ffx flutter tunnel

Establishes a port forward between the local host and the dart vm service port.

Options:


  --help            display usage information

Notes:
  Determines the vm_service_port in the Flutter runner on the target Fuchsia device. An ssh
  tunnel is then established between localhost(127.0.0.1) at an available port and the target device at
  the vm_service_port.
  
  A url for the location of the listening socket is printed out for users.

inspect


Usage: ffx inspect <command> [<args>]

Query component nodes exposed via the Inspect API

Options:


  --help            display usage information

Commands:


  apply-selectors   Apply selectors from a file interactively.
  list              List components that expose inspect
  list-accessors    List ArchiveAccessor files.
  selectors         List available selectors
  show              Print inspect hierarchies

apply-selectors


Usage: ffx inspect apply-selectors <selector_file> [--snapshot-file <snapshot-file>] [--moniker <moniker>] [--accessor-path <accessor-path>]

Apply selectors from a file interactively.

Positional Arguments:
  selector_file     path to the selector file to apply to the snapshot.

Options:


  --snapshot-file   path to the inspect json file to read this file contains
                    inspect.json data from snapshot.zip. If not provided,
                    DiagnosticsProvider will be used to get inspect data.
  --moniker         moniker of the component to apply the command.
  --accessor-path   the path from where to get the ArchiveAccessor connection.
                    If the given path is a directory, the command will look for
                    a `fuchsia.diagnostics.ArchiveAccessor` service file. If the
                    given path is a service file, the command will attempt to
                    connect to it as an ArchiveAccessor.
  --help            display usage information

list


Usage: ffx inspect list [--manifest <manifest>] [--with-url] [--accessor-path <accessor-path>]

List components that expose inspect

Options:


  --manifest        the name of the manifest file that we are interested in. If
                    this is provided, the output will only contain monikers for
                    components whose url contains the provided name.
  --with-url        also print the URL of the component.
  --accessor-path   the path from where to get the ArchiveAccessor connection.
                    If the given path is a directory, the command will look for
                    a `fuchsia.diagnostics.ArchiveAccessor` service file. If the
                    given path is a service file, the command will attempt to
                    connect to it as an ArchiveAccessor.
  --help            display usage information

Notes:
  Lists all components (relative to the scope where the archivist receives events from)
  of components that expose inspect.
  
  For v1: this is the realm path plus the realm name
  
  For v2: this is the moniker without the instances ids.

list-accessors


Usage: ffx inspect list-accessors [<paths...>]

List ArchiveAccessor files.

Positional Arguments:
  paths             paths from where to list files.

Options:


  --help            display usage information

Notes:
  Lists all ArchiveAccessor files under the provided paths.
  All paths are implicitly rooted under `/hub-v2`.
  If no paths are provided, it'll list everything under /hub-v2.
  It is possible to reach v1 components by starting with the path prefix
  children/core/children/appmgr/exec/out/hub.

selectors


Usage: ffx inspect selectors [<selectors...>] [--manifest <manifest>] [--accessor-path <accessor-path>]

List available selectors

Positional Arguments:
  selectors         selectors for which the selectors should be queried. If no
                    selectors are provided, inspect data for the whole system
                    will be returned. If `--manifest` is provided then the
                    selectors should be tree selectors, otherwise component
                    selectors or full selectors.

Options:


  --manifest        the name of the manifest file that we are interested in. If
                    this is provided, the output will only contain monikers for
                    components whose url contains the provided name.
  --accessor-path   the path from where to get the ArchiveAccessor connection.
                    If the given path is a directory, the command will look for
                    a `fuchsia.diagnostics.ArchiveAccessor` service file. If the
                    given path is a service file, the command will attempt to
                    connect to it as an ArchiveAccessor.
  --help            display usage information

Notes:
  Lists all available full selectors (component selector + tree selector).
  If a selector is provided, it’ll only print selectors for that component.
  If a full selector (component + tree) is provided, it lists all selectors under the given node.

show


Usage: ffx inspect show [<selectors...>] [--manifest <manifest>] [--accessor-path <accessor-path>]

Print inspect hierarchies

Positional Arguments:
  selectors         selectors for which the selectors should be queried. If no
                    selectors are provided, inspect data for the whole system
                    will be returned. If `--manifest` is provided then the
                    selectors should be tree selectors, otherwise component
                    selectors or full selectors.

Options:


  --manifest        the name of the manifest file that we are interested in. If
                    this is provided, the output will only contain monikers for
                    components whose url contains the provided name.
  --accessor-path   the path from where to get the ArchiveAccessor connection.
                    If the given path is a directory, the command will look for
                    a `fuchsia.diagnostics.ArchiveAccessor` service file. If the
                    given path is a service file, the command will attempt to
                    connect to it as an ArchiveAccessor.
  --help            display usage information

Notes:
  Prints the inspect hierarchies that match the given selectors.

log


Usage: ffx log [--filter <filter...>] [--exclude <exclude...>] [--tags <tags...>] [--exclude-tags <exclude-tags...>] [--severity <severity>] [--kernel] [--since <since>] [--since-monotonic <since-monotonic>] [--until <until>] [--until-monotonic <until-monotonic>] [--hide-tags] [--hide-file] [--no-color] [--show-metadata] [--clock <clock>] [--no-symbols] [--select <select...>] [<command>] [<args>]

Display logs from a target device

Options:


  --filter          filter for a string in either the message, component or url.
                    May be repeated.
  --exclude         exclude a string in either the message, component or url.
                    May be repeated.
  --tags            filter for only logs with a given tag. May be repeated.
  --exclude-tags    exclude logs with a given tag. May be repeated.
  --severity        set the minimum severity
  --kernel          outputs only kernel logs.
  --since           show only logs after a certain time
  --since-monotonic show only logs after a certain time (as a monotonic
                    timestamp: seconds from the target's boot time).
  --until           show only logs until a certain time
  --until-monotonic show only logs until a certain time (as a monotonic
                    timestamp: seconds since the target's boot time).
  --hide-tags       hide the tag field from output (does not exclude any log
                    messages)
  --hide-file       hide the file and line number field from output (does not
                    exclude any log messages)
  --no-color        disable coloring logs according to severity. Note that you
                    can permanently disable this with `ffx config set
                    log_cmd.color false`
  --show-metadata   shows process-id and thread-id in log output
  --clock           how to display log timestamps. Options are "utc", "local",
                    or "monotonic" (i.e. nanos since target boot). Default is
                    monotonic.
  --no-symbols      if provided, logs will not be symbolized
  --select          configure the log settings on the target device for
                    components matching the given selector. This modifies the
                    minimum log severity level emitted by components during the
                    logging session. Specify using the format
                    <component-selector>#<log-level>, with level as one of
                    FATAL|ERROR|WARN|INFO|DEBUG|TRACE. May be repeated.
  --help            display usage information

Commands:


  watch             Watches for and prints logs from a target. Default if no
                    sub-command is specified.
  dump              Dumps all log from a given target's session.

Examples:
  Dump the most recent logs and stream new ones as they happen:
    $ ffx log
  
  Stream new logs starting from the current time, filtering for severity of at least "WARN":
    $ ffx log --severity warn --since now
  
  Stream logs where the source moniker, component url and message do not include "sys":
    $ ffx log --exclude sys
  
  Stream ERROR logs with source moniker, component url or message containing either
  "netstack" or "remote-control.cm", but not containing "sys":
    $ ffx log --severity error --filter netstack --filter remote-control.cm --exclude sys
  
  Dump all available logs where the source moniker, component url, or message contains
  "remote-control":
    $ ffx log --filter remote-control dump
  
  Dump all logs from the last 30 minutes logged before 5 minutes ago:
    $ ffx log --since "30m ago" --until "5m ago" dump
  
  Enable DEBUG logs from the "core/audio" component while logs are streaming:
    $ ffx log --select core/audio#DEBUG

Notes:
  Logs are proactively retrieved from target devices and cached on the host.
  
  Symbolization is performed in the background using the symbolizer host tool. You can pass
  additional arguments to the symbolizer tool (for example, to add a remote symbol server) using:
    $ ffx config set proactive_log.symbolize.extra_args "--symbol-server gs://some-url/path --symbol-server gs://some-other-url/path ..."
  
  To learn more about configuring the log viewer, visit https://fuchsia.dev/fuchsia-src/development/tools/ffx/commands/log

dump


Usage: ffx log dump [<session>]

Dumps all log from a given target's session.

Positional Arguments:
  session           A specifier indicating which session you'd like to retrieve
                    logs for. For example, providing ~1 retrieves the
                    most-recent session, ~2 the second-most-recent, and so on.
                    Defaults to the most recent session.

Options:


  --help            display usage information

watch


Usage: ffx log watch

Watches for and prints logs from a target. Default if no sub-command is specified.

Options:


  --help            display usage information

net


Usage: ffx net [--realm <realm>] <command> [<args>]

View and manage target network configuration

Options:


  --realm           a realm to target when sending commands. Defaults to the
                    core network realm.
  --help            display usage information

Commands:


  filter            commands for packet filter
  if                commands for network interfaces
  log               commands for logging
  neigh             commands for neighbor tables
  route             commands for routing tables
  dhcp              commands for an interfaces dhcp client
  dhcpd             commands to control a dhcp server
  dns               commands to control the dns resolver

dhcp


Usage: ffx net dhcp <command> [<args>]

commands for an interfaces dhcp client

Options:


  --help            display usage information

Commands:


  start             starts a dhcp client on the interface
  stop              stops the dhcp client on the interface

start


Usage: ffx net dhcp start <nicid or name:ifname>

starts a dhcp client on the interface

Positional Arguments:
  nicid or name:ifname

Options:


  --help            display usage information

stop


Usage: ffx net dhcp stop <nicid or name:ifname>

stops the dhcp client on the interface

Positional Arguments:
  nicid or name:ifname

Options:


  --help            display usage information

dhcpd


Usage: ffx net dhcpd <command> [<args>]

commands to control a dhcp server

Options:


  --help            display usage information

Commands:


  start             A primary command to start the DHCP server.
  stop              A primary command to stop the DHCP server.
  get               A primary command to retrieve the value of a DHCP option or
                    server parameter.
  set               A primary command to set the value of a DHCP option or
                    server parameter.
  list              A primary command to list the values of all DHCP options or
                    server parameters.
  reset             A primary command to reset the values of all DHCP options or
                    server parameters.
  clear-leases      A primary command to clear the leases maintained by dhcpd.

clear-leases


Usage: ffx net dhcpd clear-leases

A primary command to clear the leases maintained by dhcpd.

Options:


  --help            display usage information

get


Usage: ffx net dhcpd get <command> [<args>]

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

Options:


  --help            display usage information

Commands:


  option            A secondary command indicating a DHCP option argument.
  parameter         A secondary command indicating a server parameter argument.

option

Usage: ffx net dhcpd get option <command> [<args>]

A secondary command indicating a DHCP option argument.

Options:


  --help            display usage information

Commands:


  subnet-mask       The client's subnet mask.
  time-offset       The client's offset from UTC.
  router            The routers within a client's subnet.
  time-server       Time Protocol servers available to the client.
  name-server       IEN 116 Name servers available to the client.
  domain-name-server
                    Domain Name System servers available to the client.
  log-server        MIT-LCS UDP Log servers available to the client.
  cookie-server     RFC 865 Cookie servers available to the client.
  lpr-server        RFC 1179 Line Printer servers available to the client.
  impress-server    Imagen Impress servers available to the client.
  resource-location-server
                    RFC 887 Resource Location servers available to the client.
  host-name         Name of the client.
  boot-file-size    Size of the default boot image for the client.
  merit-dump-file   Path name of a core dump file.
  domain-name       Domain name of the client.
  swap-server       Address of the client's swap server.
  root-path         Path name to a TFTP-retrievable file containing
                    vendor-extension information.
  extensions-path   Path name to a TFTP-retrievable file containing
                    vendor-extension information.
  ip-forwarding     Flag enabling/disabling IP layer packet forwarding.
  non-local-source-routing
                    Flag enabling/disabling forwarding of IP packets with
                    non-local source routes.
  policy-filter     Policy filters for non-local source routing.
  max-datagram-reassembly-size
                    Maximum sized datagram that the client should be able to
                    reassemble.
  default-ip-ttl    Default time-to-live to use on outgoing IP datagrams.
  path-mtu-aging-timeout
                    Timeout to use when aging Path MTU values.
  path-mtu-plateau-table
                    Table of MTU sizes for Path MTU Discovery.
  interface-mtu     MTU for the client's interface.
  all-subnets-local Flag indicating if all subnets of the connected network have
                    the same MTU.
  broadcast-address Broadcast address of the client's subnet.
  perform-mask-discovery
                    Flag indicating whether the client should perform subnet
                    mask discovery via ICMP.
  mask-supplier     Flag indicating whether the client should respond to subnet
                    mask discovery requests via ICMP.
  perform-router-discovery
                    Flag indicating whether the client should solicit routers
                    using Router Discovery.
  router-solicitation-address
                    Destination address for Router Solicitation requests.
  static-route      Static Routes which the client should put in its routing
                    cache.
  trailer-encapsulation
                    Flag specifying whether the client should negotiate the use
                    of trailers in ARP.
  arp-cache-timeout Timeout for ARP cache entries.
  ethernet-encapsulation
                    Flag specifying whether the client should use Ethernet v2 or
                    IEEE 802.3 encapsulation.
  tcp-default-ttl   Default time-to-live for outgoing TCP segments.
  tcp-keepalive-interval
                    Interval the client should wait before sending a TCP
                    keepalive message.
  tcp-keepalive-garbage
                    Flag specifying whether the client should send TCP keepalive
                    messages with an octet of garbage.
  network-information-service-domain
                    Name of the client's Network Information Service domain.
  network-information-servers
                    Network Information Service servers available to the client.
  network-time-protocol-servers
                    Network Time Protocol servers available to the client.
  vendor-specific-information
                    Option for exchanging vendor-specific information between
                    the DHCP client and DHCP server.
  net-bios-over-tcpip-name-server
                    NetBIOS name servers available to the client.
  net-bios-over-tcpip-distribution-server
                    NetBIOS datagram distribution servers available to the
                    client.
  net-bios-over-tcpip-node-type
                    The NetBIOS node type which should be used by the client.
  net-bios-over-tcpip-scope
                    NetBIOS scope parameter for the client.
  x-window-system-font-server
                    X Window System Font servers available to the client.
  x-window-system-display-manager
                    X window System Display Manager systems available to the
                    client.
  network-information-service-plus-domain
                    Network Information System+ domain name.
  network-information-service-plus-servers
                    Network Information System+ servers available to the client.
  mobile-ip-home-agent
                    Mobile IP home agents available to the client.
  smtp-server       SMTP servers available to the client.
  pop3-server       POP3 servers available to the client.
  nntp-server       NNTP servers available to the client.
  default-www-server
                    Default WWW servers available to the client.
  default-finger-server
                    Default Finger servers available to the client.
  default-irc-server
                    Default IRC servers available to the client.
  street-talk-server
                    StreetTalk servers available to the client.
  stda-server       StreetTalk Directory Assistance servers available to the
                    client.
  tftp-server-name  TFTP server available to the client.
  bootfile-name     Bootfile name for the client.
  renewal-time-value
                    Maximum length of a DHCP message that the participant is
                    willing to accept.
  renewal-time-value
                    Time interval from address assignment at which the client
                    transitions to a Renewing state.
  rebinding-time-value
                    Time interval from address assignment at which the client
                    transitions to a Rebinding state.

all-subnets-local

Usage: ffx net dhcpd get option all-subnets-local [--local]

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

Options:


  --local           a flag indicating if all subents of the IP network to which
                    the client is connected have the same MTU.
  --help            display usage information

arp-cache-timeout

Usage: ffx net dhcpd get option arp-cache-timeout [--timeout <timeout>]

Timeout for ARP cache entries.

Options:


  --timeout         the timeout for ARP cache entries, in seconds.
  --help            display usage information

boot-file-size

Usage: ffx net dhcpd get option boot-file-size [--size <size>]

Size of the default boot image for the client.

Options:


  --size            the size of the client's default boot image in 512-octet
                    blocks.
  --help            display usage information

bootfile-name

Usage: ffx net dhcpd get option bootfile-name [--name <name>]

Bootfile name for the client.

Options:


  --name            the bootfile name for the client. This option should be used
                    when the `file` field has been overloaded to carry options.
  --help            display usage information

broadcast-address

Usage: ffx net dhcpd get option broadcast-address [--addr <addr>]

Broadcast address of the client's subnet.

Options:


  --addr            the broadcast address of the client's subnet. Legal values
                    are defined in RFC 1122.
  --help            display usage information


Usage: ffx net dhcpd get option cookie-server [--cookie-servers <cookie-servers...>]

RFC 865 Cookie servers available to the client.

Options:


  --cookie-servers  a list of RFC 865 Cookie servers available to the client, in
                    order of preference.
  --help            display usage information

default-finger-server

Usage: ffx net dhcpd get option default-finger-server [--finger-servers <finger-servers...>]

Default Finger servers available to the client.

Options:


  --finger-servers  a list of default Finger server addresses available to the
                    client, listed in order of preference.
  --help            display usage information

default-ip-ttl

Usage: ffx net dhcpd get option default-ip-ttl [--ttl <ttl>]

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

Options:


  --ttl             the default time-to-live to use on outgoing IP datagrams.
                    The value must be between 1 and 255.
  --help            display usage information

default-irc-server

Usage: ffx net dhcpd get option default-irc-server [--irc-servers <irc-servers...>]

Default IRC servers available to the client.

Options:


  --irc-servers     a list of Internet Relay Chat server addresses available to
                    the client, listed in order of preference.
  --help            display usage information

default-www-server

Usage: ffx net dhcpd get option default-www-server [--www-servers <www-servers...>]

Default WWW servers available to the client.

Options:


  --www-servers     a list of default World Wide Web (WWW) server addresses
                    available to the client, listed in order of preference.
  --help            display usage information

domain-name

Usage: ffx net dhcpd get option domain-name [--name <name>]

Domain name of the client.

Options:


  --name            the client's domain name for use in resolving hostnames in
                    the DNS.
  --help            display usage information

domain-name-server

Usage: ffx net dhcpd get option domain-name-server [--domain-name-servers <domain-name-servers...>]

Domain Name System servers available to the client.

Options:


  --domain-name-servers
                    a list of DNS servers available to the client, in order of
                    preference;
  --help            display usage information

ethernet-encapsulation

Usage: ffx net dhcpd get option ethernet-encapsulation [--encapsulate]

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

Options:


  --encapsulate     a flag specifying that the client should use Ethernet v2
                    encapsulation when false, and IEEE 802.3 encapsulation when
                    true.
  --help            display usage information

extensions-path

Usage: ffx net dhcpd get option extensions-path [--path <path>]

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

Options:


  --path            the 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.
  --help            display usage information

host-name

Usage: ffx net dhcpd get option host-name [--name <name>]

Name of the client.

Options:


  --name            the name of client, which may or may not be qualified with
                    the local domain name.
  --help            display usage information

impress-server

Usage: ffx net dhcpd get option impress-server [--impress-servers <impress-servers...>]

Imagen Impress servers available to the client.

Options:


  --impress-servers a list of Imagen Impress servers available to the client, in
                    order of preference.
  --help            display usage information

interface-mtu

Usage: ffx net dhcpd get option interface-mtu [--mtu <mtu>]

MTU for the client's interface.

Options:


  --mtu             the MTU for the client's interface. Minimum value of 68.
  --help            display usage information

ip-forwarding

Usage: ffx net dhcpd get option ip-forwarding [--enabled]

Flag enabling/disabling IP layer packet forwarding.

Options:


  --enabled         a flag which will enabled IP layer packet forwarding when
                    true.
  --help            display usage information

log-server

Usage: ffx net dhcpd get option log-server [--log-servers <log-servers...>]

MIT-LCS UDP Log servers available to the client.

Options:


  --log-servers     a list of MIT-LCS UDP Log servers available to the client,
                    in order of preference.
  --help            display usage information

lpr-server

Usage: ffx net dhcpd get option lpr-server [--lpr-servers <lpr-servers...>]

RFC 1179 Line Printer servers available to the client.

Options:


  --lpr-servers     a list of RFC 1179 Line Printer servers available to the
                    client, in order of preference.
  --help            display usage information

mask-supplier

Usage: ffx net dhcpd get option mask-supplier [--supplier]

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

Options:


  --supplier        a flag indicating whether the client should respond to
                    subnet mask discovery requests via ICMP.
  --help            display usage information

max-datagram-reassembly-size

Usage: ffx net dhcpd get option max-datagram-reassembly-size [--size <size>]

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

Options:


  --size            the maximum sized datagram that the client should be able to
                    reassemble, in octets. The minimum legal value is 576.
  --help            display usage information

merit-dump-file

Usage: ffx net dhcpd get option merit-dump-file [--path <path>]

Path name of a core dump file.

Options:


  --path            the path name to the client's core dump in the event the
                    client crashes.
  --help            display usage information

mobile-ip-home-agent

Usage: ffx net dhcpd get option mobile-ip-home-agent [--home-agents <home-agents...>]

Mobile IP home agents available to the client.

Options:


  --home-agents     a list of mobile IP home agent addresses available to the
                    client, listed in order of preference.
  --help            display usage information

name-server

Usage: ffx net dhcpd get option name-server [--name-servers <name-servers...>]

IEN 116 Name servers available to the client.

Options:


  --name-servers    a list of IEN 116 Name servers available to the client, in
                    order of preference.
  --help            display usage information

net-bios-over-tcpip-distribution-server

Usage: ffx net dhcpd get option net-bios-over-tcpip-distribution-server [--servers <servers...>]

NetBIOS datagram distribution servers available to the client.

Options:


  --servers         a list of NetBIOS datagram distribution servers available to
                    the client, listed in order of preference.
  --help            display usage information

net-bios-over-tcpip-name-server

Usage: ffx net dhcpd get option net-bios-over-tcpip-name-server [--servers <servers...>]

NetBIOS name servers available to the client.

Options:


  --servers         a list of NetBIOS name server addresses available to the
                    client, listed in order of preference.
  --help            display usage information

net-bios-over-tcpip-node-type

Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type [<command>] [<args>]

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

Options:


  --help            display usage information

Commands:


  b-node            A B node type.
  p-node            A P node type.
  m-node            A M node type.
  h-node            A H node type.

# b-node

Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type b-node

A B node type.

Options:


  --help            display usage information

# h-node

Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type h-node

A H node type.

Options:


  --help            display usage information

# m-node

Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type m-node

A M node type.

Options:


  --help            display usage information

# p-node

Usage: ffx net dhcpd get option net-bios-over-tcpip-node-type p-node

A P node type.

Options:


  --help            display usage information

net-bios-over-tcpip-scope

Usage: ffx net dhcpd get option net-bios-over-tcpip-scope [--scope <scope>]

NetBIOS scope parameter for the client.

Options:


  --scope           the NetBIOS over TCP/IP scope parameter, as defined in RFC
                    1001, for the client.
  --help            display usage information

network-information-servers

Usage: ffx net dhcpd get option network-information-servers [--servers <servers...>]

Network Information Service servers available to the client.

Options:


  --servers         a list of Network Information Service server addresses
                    available to the client, listed in order of preference.
  --help            display usage information

network-information-service-domain

Usage: ffx net dhcpd get option network-information-service-domain [--domain-name <domain-name>]

Name of the client's Network Information Service domain.

Options:


  --domain-name     the name of the client's Network Information Service domain.
  --help            display usage information

network-information-service-plus-domain

Usage: ffx net dhcpd get option network-information-service-plus-domain [--domain-name <domain-name>]

Network Information System+ domain name.

Options:


  --domain-name     the name of the client's Network Information System+ domain.
  --help            display usage information

network-information-service-plus-servers

Usage: ffx net dhcpd get option network-information-service-plus-servers [--servers <servers...>]

Network Information System+ servers available to the client.

Options:


  --servers         a list of Network Information System+ server addresses
                    available to the client, listed in order of preference.
  --help            display usage information

network-time-protocol-servers

Usage: ffx net dhcpd get option network-time-protocol-servers [--servers <servers...>]

Network Time Protocol servers available to the client.

Options:


  --servers         a list of Network Time Protocol (NTP) server addresses
                    available to the client, listed in order of preference.
  --help            display usage information

nntp-server

Usage: ffx net dhcpd get option nntp-server [--nntp-servers <nntp-servers...>]

NNTP servers available to the client.

Options:


  --nntp-servers    a list Network News Transport Protocol (NNTP) server
                    addresses available to the client, listed in order of
                    preference.
  --help            display usage information

non-local-source-routing

Usage: ffx net dhcpd get option non-local-source-routing [--enabled]

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

Options:


  --enabled         a flag which will enable forwarding of IP packets with
                    non-local source routes.
  --help            display usage information

path-mtu-aging-timeout

Usage: ffx net dhcpd get option path-mtu-aging-timeout [--timeout <timeout>]

Timeout to use when aging Path MTU values.

Options:


  --timeout         the timeout, in seconds, to be used when again Path MTU
                    values by the mechanism in RFC 1191.
  --help            display usage information

path-mtu-plateau-table

Usage: ffx net dhcpd get option path-mtu-plateau-table [--mtu-sizes <mtu-sizes...>]

Table of MTU sizes for Path MTU Discovery.

Options:


  --mtu-sizes       A list of MTU sizes, ordered from smallest to largest. The
                    smallest value cannot be smaller than 68.
  --help            display usage information

perform-mask-discovery

Usage: ffx net dhcpd get option perform-mask-discovery [--do-discovery]

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

Options:


  --do-discovery    a flag indicating whether the client should perform subnet
                    mask discovery via ICMP.
  --help            display usage information

perform-router-discovery

Usage: ffx net dhcpd get option perform-router-discovery [--do-discovery]

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

Options:


  --do-discovery    A flag indicating whether the client should solicit routers
                    using Router Discovery as defined in RFC 1256.
  --help            display usage information

policy-filter

Usage: ffx net dhcpd get option policy-filter [--addresses <addresses...>]

Policy filters for non-local source routing.

Options:


  --addresses       a 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.
  --help            display usage information

pop3-server

Usage: ffx net dhcpd get option pop3-server [--pop3-servers <pop3-servers...>]

POP3 servers available to the client.

Options:


  --pop3-servers    a list of Post Office Protocol (POP3) server addresses
                    available to the client, listed in order of preference.
  --help            display usage information

rebinding-time-value

Usage: ffx net dhcpd get option rebinding-time-value [--interval <interval>]

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

Options:


  --interval        the time interval, in seconds, after address assignment at
                    which the client will transition to the Rebinding state.
  --help            display usage information

renewal-time-value

Usage: ffx net dhcpd get option renewal-time-value [--length <length>]

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

Options:


  --length          the maximum length in octets of a DHCP message that the
                    participant is willing to accept. The minimum value is 576.
  --help            display usage information

renewal-time-value

Usage: ffx net dhcpd get option renewal-time-value [--length <length>]

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

Options:


  --length          the maximum length in octets of a DHCP message that the
                    participant is willing to accept. The minimum value is 576.
  --help            display usage information

resource-location-server

Usage: ffx net dhcpd get option resource-location-server [--resource-location-servers <resource-location-servers...>]

RFC 887 Resource Location servers available to the client.

Options:


  --resource-location-servers
                    a list of RFC 887 Resource Location servers available to the
                    client, in order of preference.
  --help            display usage information

root-path

Usage: ffx net dhcpd get option root-path [--path <path>]

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

Options:


  --path            the 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.
  --help            display usage information

router

Usage: ffx net dhcpd get option router [--routers <routers...>]

The routers within a client's subnet.

Options:


  --routers         a list of the routers in a client's subnet, listed in order
                    of preference.
  --help            display usage information

router-solicitation-address

Usage: ffx net dhcpd get option router-solicitation-address [--addr <addr>]

Destination address for Router Solicitation requests.

Options:


  --addr            the address to which the client should transmit Router
                    Solicitation requests.
  --help            display usage information

smtp-server

Usage: ffx net dhcpd get option smtp-server [--smtp-servers <smtp-servers...>]

SMTP servers available to the client.

Options:


  --smtp-servers    a list of Simple Mail Transport Protocol (SMTP) server
                    address available to the client, listed in order of
                    preference.
  --help            display usage information

static-route

Usage: ffx net dhcpd get option static-route [--routes <routes...>]

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

Options:


  --routes          a 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.
  --help            display usage information

stda-server

Usage: ffx net dhcpd get option stda-server [--stda-servers <stda-servers...>]

StreetTalk Directory Assistance servers available to the client.

Options:


  --stda-servers    a list of StreetTalk Directory Assistance server addresses
                    available to the client, listed in order of preference.
  --help            display usage information

street-talk-server

Usage: ffx net dhcpd get option street-talk-server [--streettalk-servers <streettalk-servers...>]

StreetTalk servers available to the client.

Options:


  --streettalk-servers
                    a list of StreetTalk server addresses available to the
                    client, listed in order of preference.
  --help            display usage information

subnet-mask

Usage: ffx net dhcpd get option subnet-mask [--mask <mask>]

The client's subnet mask.

Options:


  --mask            a 32-bit IPv4 subnet mask.
  --help            display usage information

swap-server

Usage: ffx net dhcpd get option swap-server [--address <address>]

Address of the client's swap server.

Options:


  --address         the address of the client's swap server.
  --help            display usage information

tcp-default-ttl

Usage: ffx net dhcpd get option tcp-default-ttl [--ttl <ttl>]

Default time-to-live for outgoing TCP segments.

Options:


  --ttl             the default time-to-live that the client should use for
                    outgoing TCP segments. The minimum value is 1.
  --help            display usage information

tcp-keepalive-garbage

Usage: ffx net dhcpd get option tcp-keepalive-garbage [--send-garbage]

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

Options:


  --send-garbage    a flag specifying whether the client should send TCP
                    keepalive messages with an octet of garbage for
                    compatibility with older implementations.
  --help            display usage information

tcp-keepalive-interval

Usage: ffx net dhcpd get option tcp-keepalive-interval [--interval <interval>]

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

Options:


  --interval        the 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.
  --help            display usage information

tftp-server-name

Usage: ffx net dhcpd get option tftp-server-name [--name <name>]

TFTP server available to the client.

Options:


  --name            the TFTP server name available to the client. This option
                    should be used when the `sname` field has been overloaded to
                    carry options.
  --help            display usage information

time-offset

Usage: ffx net dhcpd get option time-offset [--offset <offset>]

The client's offset from UTC.

Options:


  --offset          the 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.
  --help            display usage information

time-server

Usage: ffx net dhcpd get option time-server [--time-servers <time-servers...>]

Time Protocol servers available to the client.

Options:


  --time-servers    a list of time servers available to the client, in order of
                    preference.
  --help            display usage information

trailer-encapsulation

Usage: ffx net dhcpd get option trailer-encapsulation [--trailers]

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

Options:


  --trailers        a flag specifying whether the client negotiate the use of
                    trailers when using ARP, per RFC 893.
  --help            display usage information

vendor-specific-information

Usage: ffx net dhcpd get option vendor-specific-information [--data <data...>]

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

Options:


  --data            an opaque object of octets for exchanging vendor-specific
                    information.
  --help            display usage information

x-window-system-display-manager

Usage: ffx net dhcpd get option x-window-system-display-manager [--display-servers <display-servers...>]

X window System Display Manager systems available to the client.

Options:


  --display-servers a list of X Window System Display Manager system addresses
                    available to the client, listed in order of preference.
  --help            display usage information

x-window-system-font-server

Usage: ffx net dhcpd get option x-window-system-font-server [--servers <servers...>]

X Window System Font servers available to the client.

Options:


  --servers         a list of X Window System Font server addresses available to
                    the client, listed in order of preference.
  --help            display usage information

parameter

Usage: ffx net dhcpd get parameter <command> [<args>]

A secondary command indicating a server parameter argument.

Options:


  --help            display usage information

Commands:


  ip-addrs          The IPv4 addresses to which the server is bound.
  address-pool      The pool of addresses which the DHCP server manages.
  lease-length      The duration of leases offered by the server.
  permitted-macs    The client MAC addresses which the server will issue leases
                    to.
  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)).
  arp-probe         Enables server behavior where the server ARPs an IP address
                    prior to issuing it in a lease.
  bound-device-names
                    The names of the network devices on which the server will
                    listen.

address-pool

Usage: ffx net dhcpd get parameter address-pool [--prefix-length <prefix-length>] [--range-start <range-start>] [--range-stop <range-stop>]

The pool of addresses which the DHCP server manages.

Options:


  --prefix-length   the prefix length of the network's subnet mask
  --range-start     the starting address, inclusive, of the range of addresses
                    which the DHCP server will lease to clients
  --range-stop      the ending address, inclusive, of the range of addresses
                    which the server will to clients
  --help            display usage information

arp-probe

Usage: ffx net dhcpd get parameter arp-probe [--enabled]

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

Options:


  --enabled         enables 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.
  --help            display usage information

bound-device-names

Usage: ffx net dhcpd get parameter bound-device-names [<names...>]

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

Positional Arguments:
  names             the names of the network devices on which the server will
                    listen. If this vector is empty, the server will listen on
                    all devices and will process incoming DHCP messages
                    regardless of the device on which they arrive. If this
                    vector is not empty, then the server will only listen for
                    incoming DHCP messages on the named network devices
                    contained by this vector.

Options:


  --help            display usage information

ip-addrs

Usage: ffx net dhcpd get parameter ip-addrs [--addrs <addrs...>]

The IPv4 addresses to which the server is bound.

Options:


  --addrs           A list of IPv4 Addresses to which the server is bound.
  --help            display usage information

lease-length

Usage: ffx net dhcpd get parameter lease-length [--default <default>] [--max <max>]

The duration of leases offered by the server.

Options:


  --default         the default lease length, in seconds, to be issued to
                    clients.
  --max             the 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.
  --help            display usage information

permitted-macs

Usage: ffx net dhcpd get parameter permitted-macs [--macs <macs...>]

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

Options:


  --macs            the 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.
  --help            display usage information

statically-assigned-addrs

Usage: ffx net dhcpd get parameter statically-assigned-addrs [--hosts <hosts...>] [--assigned-addrs <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)).

Options:


  --hosts           hosts which will be leased the addresses reserved by
                    `assigned_addrs`.
  --assigned-addrs  addresses 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.
  --help            display usage information

list


Usage: ffx net dhcpd list <command> [<args>]

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

Options:


  --help            display usage information

Commands:


  option            Perform the command on DHCP options.
  parameter         Perform the command on server parameters.

option

Usage: ffx net dhcpd list option

Perform the command on DHCP options.

Options:


  --help            display usage information

parameter

Usage: ffx net dhcpd list parameter

Perform the command on server parameters.

Options:


  --help            display usage information

reset


Usage: ffx net dhcpd reset <command> [<args>]

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

Options:


  --help            display usage information

Commands:


  option            Perform the command on DHCP options.
  parameter         Perform the command on server parameters.

option

Usage: ffx net dhcpd reset option

Perform the command on DHCP options.

Options:


  --help            display usage information

parameter

Usage: ffx net dhcpd reset parameter

Perform the command on server parameters.

Options:


  --help            display usage information

set


Usage: ffx net dhcpd set <command> [<args>]

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

Options:


  --help            display usage information

Commands:


  option            A secondary command indicating a DHCP option argument.
  parameter         A secondary command indicating a server parameter argument.

option

Usage: ffx net dhcpd set option <command> [<args>]

A secondary command indicating a DHCP option argument.

Options:


  --help            display usage information

Commands:


  subnet-mask       The client's subnet mask.
  time-offset       The client's offset from UTC.
  router            The routers within a client's subnet.
  time-server       Time Protocol servers available to the client.
  name-server       IEN 116 Name servers available to the client.
  domain-name-server
                    Domain Name System servers available to the client.
  log-server        MIT-LCS UDP Log servers available to the client.
  cookie-server     RFC 865 Cookie servers available to the client.
  lpr-server        RFC 1179 Line Printer servers available to the client.
  impress-server    Imagen Impress servers available to the client.
  resource-location-server
                    RFC 887 Resource Location servers available to the client.
  host-name         Name of the client.
  boot-file-size    Size of the default boot image for the client.
  merit-dump-file   Path name of a core dump file.
  domain-name       Domain name of the client.
  swap-server       Address of the client's swap server.
  root-path         Path name to a TFTP-retrievable file containing
                    vendor-extension information.
  extensions-path   Path name to a TFTP-retrievable file containing
                    vendor-extension information.
  ip-forwarding     Flag enabling/disabling IP layer packet forwarding.
  non-local-source-routing
                    Flag enabling/disabling forwarding of IP packets with
                    non-local source routes.
  policy-filter     Policy filters for non-local source routing.
  max-datagram-reassembly-size
                    Maximum sized datagram that the client should be able to
                    reassemble.
  default-ip-ttl    Default time-to-live to use on outgoing IP datagrams.
  path-mtu-aging-timeout
                    Timeout to use when aging Path MTU values.
  path-mtu-plateau-table
                    Table of MTU sizes for Path MTU Discovery.
  interface-mtu     MTU for the client's interface.
  all-subnets-local Flag indicating if all subnets of the connected network have
                    the same MTU.
  broadcast-address Broadcast address of the client's subnet.
  perform-mask-discovery
                    Flag indicating whether the client should perform subnet
                    mask discovery via ICMP.
  mask-supplier     Flag indicating whether the client should respond to subnet
                    mask discovery requests via ICMP.
  perform-router-discovery
                    Flag indicating whether the client should solicit routers
                    using Router Discovery.
  router-solicitation-address
                    Destination address for Router Solicitation requests.
  static-route      Static Routes which the client should put in its routing
                    cache.
  trailer-encapsulation
                    Flag specifying whether the client should negotiate the use
                    of trailers in ARP.
  arp-cache-timeout Timeout for ARP cache entries.
  ethernet-encapsulation
                    Flag specifying whether the client should use Ethernet v2 or
                    IEEE 802.3 encapsulation.
  tcp-default-ttl   Default time-to-live for outgoing TCP segments.
  tcp-keepalive-interval
                    Interval the client should wait before sending a TCP
                    keepalive message.
  tcp-keepalive-garbage
                    Flag specifying whether the client should send TCP keepalive
                    messages with an octet of garbage.
  network-information-service-domain
                    Name of the client's Network Information Service domain.
  network-information-servers
                    Network Information Service servers available to the client.
  network-time-protocol-servers
                    Network Time Protocol servers available to the client.
  vendor-specific-information
                    Option for exchanging vendor-specific information between
                    the DHCP client and DHCP server.
  net-bios-over-tcpip-name-server
                    NetBIOS name servers available to the client.
  net-bios-over-tcpip-distribution-server
                    NetBIOS datagram distribution servers available to the
                    client.
  net-bios-over-tcpip-node-type
                    The NetBIOS node type which should be used by the client.
  net-bios-over-tcpip-scope
                    NetBIOS scope parameter for the client.
  x-window-system-font-server
                    X Window System Font servers available to the client.
  x-window-system-display-manager
                    X window System Display Manager systems available to the
                    client.
  network-information-service-plus-domain
                    Network Information System+ domain name.
  network-information-service-plus-servers
                    Network Information System+ servers available to the client.
  mobile-ip-home-agent
                    Mobile IP home agents available to the client.
  smtp-server       SMTP servers available to the client.
  pop3-server       POP3 servers available to the client.
  nntp-server       NNTP servers available to the client.
  default-www-server
                    Default WWW servers available to the client.
  default-finger-server
                    Default Finger servers available to the client.
  default-irc-server
                    Default IRC servers available to the client.
  street-talk-server
                    StreetTalk servers available to the client.
  stda-server       StreetTalk Directory Assistance servers available to the
                    client.
  tftp-server-name  TFTP server available to the client.
  bootfile-name     Bootfile name for the client.
  renewal-time-value
                    Maximum length of a DHCP message that the participant is
                    willing to accept.
  renewal-time-value
                    Time interval from address assignment at which the client
                    transitions to a Renewing state.
  rebinding-time-value
                    Time interval from address assignment at which the client
                    transitions to a Rebinding state.

all-subnets-local

Usage: ffx net dhcpd set option all-subnets-local [--local]

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

Options:


  --local           a flag indicating if all subents of the IP network to which
                    the client is connected have the same MTU.
  --help            display usage information

arp-cache-timeout

Usage: ffx net dhcpd set option arp-cache-timeout [--timeout <timeout>]

Timeout for ARP cache entries.

Options:


  --timeout         the timeout for ARP cache entries, in seconds.
  --help            display usage information

boot-file-size

Usage: ffx net dhcpd set option boot-file-size [--size <size>]

Size of the default boot image for the client.

Options:


  --size            the size of the client's default boot image in 512-octet
                    blocks.
  --help            display usage information

bootfile-name

Usage: ffx net dhcpd set option bootfile-name [--name <name>]

Bootfile name for the client.

Options:


  --name            the bootfile name for the client. This option should be used
                    when the `file` field has been overloaded to carry options.
  --help            display usage information

broadcast-address

Usage: ffx net dhcpd set option broadcast-address [--addr <addr>]

Broadcast address of the client's subnet.

Options:


  --addr            the broadcast address of the client's subnet. Legal values
                    are defined in RFC 1122.
  --help            display usage information


Usage: ffx net dhcpd set option cookie-server [--cookie-servers <cookie-servers...>]

RFC 865 Cookie servers available to the client.

Options:


  --cookie-servers  a list of RFC 865 Cookie servers available to the client, in
                    order of preference.
  --help            display usage information

default-finger-server

Usage: ffx net dhcpd set option default-finger-server [--finger-servers <finger-servers...>]

Default Finger servers available to the client.

Options:


  --finger-servers  a list of default Finger server addresses available to the
                    client, listed in order of preference.
  --help            display usage information

default-ip-ttl

Usage: ffx net dhcpd set option default-ip-ttl [--ttl <ttl>]

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

Options:


  --ttl             the default time-to-live to use on outgoing IP datagrams.
                    The value must be between 1 and 255.
  --help            display usage information

default-irc-server

Usage: ffx net dhcpd set option default-irc-server [--irc-servers <irc-servers...>]

Default IRC servers available to the client.

Options:


  --irc-servers     a list of Internet Relay Chat server addresses available to
                    the client, listed in order of preference.
  --help            display usage information

default-www-server

Usage: ffx net dhcpd set option default-www-server [--www-servers <www-servers...>]

Default WWW servers available to the client.

Options:


  --www-servers     a list of default World Wide Web (WWW) server addresses
                    available to the client, listed in order of preference.
  --help            display usage information

domain-name

Usage: ffx net dhcpd set option domain-name [--name <name>]

Domain name of the client.

Options:


  --name            the client's domain name for use in resolving hostnames in
                    the DNS.
  --help            display usage information

domain-name-server

Usage: ffx net dhcpd set option domain-name-server [--domain-name-servers <domain-name-servers...>]

Domain Name System servers available to the client.

Options:


  --domain-name-servers
                    a list of DNS servers available to the client, in order of
                    preference;
  --help            display usage information

ethernet-encapsulation

Usage: ffx net dhcpd set option ethernet-encapsulation [--encapsulate]

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

Options:


  --encapsulate     a flag specifying that the client should use Ethernet v2
                    encapsulation when false, and IEEE 802.3 encapsulation when
                    true.
  --help            display usage information

extensions-path

Usage: ffx net dhcpd set option extensions-path [--path <path>]

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

Options:


  --path            the 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.
  --help            display usage information

host-name

Usage: ffx net dhcpd set option host-name [--name <name>]

Name of the client.

Options:


  --name            the name of client, which may or may not be qualified with
                    the local domain name.
  --help            display usage information

impress-server

Usage: ffx net dhcpd set option impress-server [--impress-servers <impress-servers...>]

Imagen Impress servers available to the client.

Options:


  --impress-servers a list of Imagen Impress servers available to the client, in
                    order of preference.
  --help            display usage information

interface-mtu

Usage: ffx net dhcpd set option interface-mtu [--mtu <mtu>]

MTU for the client's interface.

Options:


  --mtu             the MTU for the client's interface. Minimum value of 68.
  --help            display usage information

ip-forwarding

Usage: ffx net dhcpd set option ip-forwarding [--enabled]

Flag enabling/disabling IP layer packet forwarding.

Options:


  --enabled         a flag which will enabled IP layer packet forwarding when
                    true.
  --help            display usage information

log-server

Usage: ffx net dhcpd set option log-server [--log-servers <log-servers...>]

MIT-LCS UDP Log servers available to the client.

Options:


  --log-servers     a list of MIT-LCS UDP Log servers available to the client,
                    in order of preference.
  --help            display usage information

lpr-server

Usage: ffx net dhcpd set option lpr-server [--lpr-servers <lpr-servers...>]

RFC 1179 Line Printer servers available to the client.

Options:


  --lpr-servers     a list of RFC 1179 Line Printer servers available to the
                    client, in order of preference.
  --help            display usage information

mask-supplier

Usage: ffx net dhcpd set option mask-supplier [--supplier]

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

Options:


  --supplier        a flag indicating whether the client should respond to
                    subnet mask discovery requests via ICMP.
  --help            display usage information

max-datagram-reassembly-size

Usage: ffx net dhcpd set option max-datagram-reassembly-size [--size <size>]

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

Options:


  --size            the maximum sized datagram that the client should be able to
                    reassemble, in octets. The minimum legal value is 576.
  --help            display usage information

merit-dump-file

Usage: ffx net dhcpd set option merit-dump-file [--path <path>]

Path name of a core dump file.

Options:


  --path            the path name to the client's core dump in the event the
                    client crashes.
  --help            display usage information

mobile-ip-home-agent

Usage: ffx net dhcpd set option mobile-ip-home-agent [--home-agents <home-agents...>]

Mobile IP home agents available to the client.

Options:


  --home-agents     a list of mobile IP home agent addresses available to the
                    client, listed in order of preference.
  --help            display usage information

name-server

Usage: ffx net dhcpd set option name-server [--name-servers <name-servers...>]

IEN 116 Name servers available to the client.

Options:


  --name-servers    a list of IEN 116 Name servers available to the client, in
                    order of preference.
  --help            display usage information

net-bios-over-tcpip-distribution-server

Usage: ffx net dhcpd set option net-bios-over-tcpip-distribution-server [--servers <servers...>]

NetBIOS datagram distribution servers available to the client.

Options:


  --servers         a list of NetBIOS datagram distribution servers available to
                    the client, listed in order of preference.
  --help            display usage information

net-bios-over-tcpip-name-server

Usage: ffx net dhcpd set option net-bios-over-tcpip-name-server [--servers <servers...>]

NetBIOS name servers available to the client.

Options:


  --servers         a list of NetBIOS name server addresses available to the
                    client, listed in order of preference.
  --help            display usage information

net-bios-over-tcpip-node-type

Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type [<command>] [<args>]

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

Options:


  --help            display usage information

Commands:


  b-node            A B node type.
  p-node            A P node type.
  m-node            A M node type.
  h-node            A H node type.

# b-node

Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type b-node

A B node type.

Options:


  --help            display usage information

# h-node

Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type h-node

A H node type.

Options:


  --help            display usage information

# m-node

Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type m-node

A M node type.

Options:


  --help            display usage information

# p-node

Usage: ffx net dhcpd set option net-bios-over-tcpip-node-type p-node

A P node type.

Options:


  --help            display usage information

net-bios-over-tcpip-scope

Usage: ffx net dhcpd set option net-bios-over-tcpip-scope [--scope <scope>]

NetBIOS scope parameter for the client.

Options:


  --scope           the NetBIOS over TCP/IP scope parameter, as defined in RFC
                    1001, for the client.
  --help            display usage information

network-information-servers

Usage: ffx net dhcpd set option network-information-servers [--servers <servers...>]

Network Information Service servers available to the client.

Options:


  --servers         a list of Network Information Service server addresses
                    available to the client, listed in order of preference.
  --help            display usage information

network-information-service-domain

Usage: ffx net dhcpd set option network-information-service-domain [--domain-name <domain-name>]

Name of the client's Network Information Service domain.

Options:


  --domain-name     the name of the client's Network Information Service domain.
  --help            display usage information

network-information-service-plus-domain

Usage: ffx net dhcpd set option network-information-service-plus-domain [--domain-name <domain-name>]

Network Information System+ domain name.

Options:


  --domain-name     the name of the client's Network Information System+ domain.
  --help            display usage information

network-information-service-plus-servers

Usage: ffx net dhcpd set option network-information-service-plus-servers [--servers <servers...>]

Network Information System+ servers available to the client.

Options:


  --servers         a list of Network Information System+ server addresses
                    available to the client, listed in order of preference.
  --help            display usage information

network-time-protocol-servers

Usage: ffx net dhcpd set option network-time-protocol-servers [--servers <servers...>]

Network Time Protocol servers available to the client.

Options:


  --servers         a list of Network Time Protocol (NTP) server addresses
                    available to the client, listed in order of preference.
  --help            display usage information

nntp-server

Usage: ffx net dhcpd set option nntp-server [--nntp-servers <nntp-servers...>]

NNTP servers available to the client.

Options:


  --nntp-servers    a list Network News Transport Protocol (NNTP) server
                    addresses available to the client, listed in order of
                    preference.
  --help            display usage information

non-local-source-routing

Usage: ffx net dhcpd set option non-local-source-routing [--enabled]

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

Options:


  --enabled         a flag which will enable forwarding of IP packets with
                    non-local source routes.
  --help            display usage information

path-mtu-aging-timeout

Usage: ffx net dhcpd set option path-mtu-aging-timeout [--timeout <timeout>]

Timeout to use when aging Path MTU values.

Options:


  --timeout         the timeout, in seconds, to be used when again Path MTU
                    values by the mechanism in RFC 1191.
  --help            display usage information

path-mtu-plateau-table

Usage: ffx net dhcpd set option path-mtu-plateau-table [--mtu-sizes <mtu-sizes...>]

Table of MTU sizes for Path MTU Discovery.

Options:


  --mtu-sizes       A list of MTU sizes, ordered from smallest to largest. The
                    smallest value cannot be smaller than 68.
  --help            display usage information

perform-mask-discovery

Usage: ffx net dhcpd set option perform-mask-discovery [--do-discovery]

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

Options:


  --do-discovery    a flag indicating whether the client should perform subnet
                    mask discovery via ICMP.
  --help            display usage information

perform-router-discovery

Usage: ffx net dhcpd set option perform-router-discovery [--do-discovery]

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

Options:


  --do-discovery    A flag indicating whether the client should solicit routers
                    using Router Discovery as defined in RFC 1256.
  --help            display usage information

policy-filter

Usage: ffx net dhcpd set option policy-filter [--addresses <addresses...>]

Policy filters for non-local source routing.

Options:


  --addresses       a 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.
  --help            display usage information

pop3-server

Usage: ffx net dhcpd set option pop3-server [--pop3-servers <pop3-servers...>]

POP3 servers available to the client.

Options:


  --pop3-servers    a list of Post Office Protocol (POP3) server addresses
                    available to the client, listed in order of preference.
  --help            display usage information

rebinding-time-value

Usage: ffx net dhcpd set option rebinding-time-value [--interval <interval>]

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

Options:


  --interval        the time interval, in seconds, after address assignment at
                    which the client will transition to the Rebinding state.
  --help            display usage information

renewal-time-value

Usage: ffx net dhcpd set option renewal-time-value [--length <length>]

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

Options:


  --length          the maximum length in octets of a DHCP message that the
                    participant is willing to accept. The minimum value is 576.
  --help            display usage information

renewal-time-value

Usage: ffx net dhcpd set option renewal-time-value [--length <length>]

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

Options:


  --length          the maximum length in octets of a DHCP message that the
                    participant is willing to accept. The minimum value is 576.
  --help            display usage information

resource-location-server

Usage: ffx net dhcpd set option resource-location-server [--resource-location-servers <resource-location-servers...>]

RFC 887 Resource Location servers available to the client.

Options:


  --resource-location-servers
                    a list of RFC 887 Resource Location servers available to the
                    client, in order of preference.
  --help            display usage information

root-path

Usage: ffx net dhcpd set option root-path [--path <path>]

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

Options:


  --path            the 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.
  --help            display usage information

router

Usage: ffx net dhcpd set option router [--routers <routers...>]

The routers within a client's subnet.

Options:


  --routers         a list of the routers in a client's subnet, listed in order
                    of preference.
  --help            display usage information

router-solicitation-address

Usage: ffx net dhcpd set option router-solicitation-address [--addr <addr>]

Destination address for Router Solicitation requests.

Options:


  --addr            the address to which the client should transmit Router
                    Solicitation requests.
  --help            display usage information

smtp-server

Usage: ffx net dhcpd set option smtp-server [--smtp-servers <smtp-servers...>]

SMTP servers available to the client.

Options:


  --smtp-servers    a list of Simple Mail Transport Protocol (SMTP) server
                    address available to the client, listed in order of
                    preference.
  --help            display usage information

static-route

Usage: ffx net dhcpd set option static-route [--routes <routes...>]

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

Options:


  --routes          a 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.
  --help            display usage information

stda-server

Usage: ffx net dhcpd set option stda-server [--stda-servers <stda-servers...>]

StreetTalk Directory Assistance servers available to the client.

Options:


  --stda-servers    a list of StreetTalk Directory Assistance server addresses
                    available to the client, listed in order of preference.
  --help            display usage information

street-talk-server

Usage: ffx net dhcpd set option street-talk-server [--streettalk-servers <streettalk-servers...>]

StreetTalk servers available to the client.

Options:


  --streettalk-servers
                    a list of StreetTalk server addresses available to the
                    client, listed in order of preference.
  --help            display usage information

subnet-mask

Usage: ffx net dhcpd set option subnet-mask [--mask <mask>]

The client's subnet mask.

Options:


  --mask            a 32-bit IPv4 subnet mask.
  --help            display usage information

swap-server

Usage: ffx net dhcpd set option swap-server [--address <address>]

Address of the client's swap server.

Options:


  --address         the address of the client's swap server.
  --help            display usage information

tcp-default-ttl

Usage: ffx net dhcpd set option tcp-default-ttl [--ttl <ttl>]

Default time-to-live for outgoing TCP segments.

Options:


  --ttl             the default time-to-live that the client should use for
                    outgoing TCP segments. The minimum value is 1.
  --help            display usage information

tcp-keepalive-garbage

Usage: ffx net dhcpd set option tcp-keepalive-garbage [--send-garbage]

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

Options:


  --send-garbage    a flag specifying whether the client should send TCP
                    keepalive messages with an octet of garbage for
                    compatibility with older implementations.
  --help            display usage information

tcp-keepalive-interval

Usage: ffx net dhcpd set option tcp-keepalive-interval [--interval <interval>]

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

Options:


  --interval        the 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.
  --help            display usage information

tftp-server-name

Usage: ffx net dhcpd set option tftp-server-name [--name <name>]

TFTP server available to the client.

Options:


  --name            the TFTP server name available to the client. This option
                    should be used when the `sname` field has been overloaded to
                    carry options.
  --help            display usage information

time-offset

Usage: ffx net dhcpd set option time-offset [--offset <offset>]

The client's offset from UTC.

Options:


  --offset          the 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.
  --help            display usage information

time-server

Usage: ffx net dhcpd set option time-server [--time-servers <time-servers...>]

Time Protocol servers available to the client.

Options:


  --time-servers    a list of time servers available to the client, in order of
                    preference.
  --help            display usage information

trailer-encapsulation

Usage: ffx net dhcpd set option trailer-encapsulation [--trailers]

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

Options:


  --trailers        a flag specifying whether the client negotiate the use of
                    trailers when using ARP, per RFC 893.
  --help            display usage information

vendor-specific-information

Usage: ffx net dhcpd set option vendor-specific-information [--data <data...>]

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

Options:


  --data            an opaque object of octets for exchanging vendor-specific
                    information.
  --help            display usage information

x-window-system-display-manager

Usage: ffx net dhcpd set option x-window-system-display-manager [--display-servers <display-servers...>]

X window System Display Manager systems available to the client.

Options:


  --display-servers a list of X Window System Display Manager system addresses
                    available to the client, listed in order of preference.
  --help            display usage information

x-window-system-font-server

Usage: ffx net dhcpd set option x-window-system-font-server [--servers <servers...>]

X Window System Font servers available to the client.

Options:


  --servers         a list of X Window System Font server addresses available to
                    the client, listed in order of preference.
  --help            display usage information

parameter

Usage: ffx net dhcpd set parameter <command> [<args>]

A secondary command indicating a server parameter argument.

Options:


  --help            display usage information

Commands:


  ip-addrs          The IPv4 addresses to which the server is bound.
  address-pool      The pool of addresses which the DHCP server manages.
  lease-length      The duration of leases offered by the server.
  permitted-macs    The client MAC addresses which the server will issue leases
                    to.
  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)).
  arp-probe         Enables server behavior where the server ARPs an IP address
                    prior to issuing it in a lease.
  bound-device-names
                    The names of the network devices on which the server will
                    listen.

address-pool

Usage: ffx net dhcpd set parameter address-pool [--prefix-length <prefix-length>] [--range-start <range-start>] [--range-stop <range-stop>]

The pool of addresses which the DHCP server manages.

Options:


  --prefix-length   the prefix length of the network's subnet mask
  --range-start     the starting address, inclusive, of the range of addresses
                    which the DHCP server will lease to clients
  --range-stop      the ending address, inclusive, of the range of addresses
                    which the server will to clients
  --help            display usage information

arp-probe

Usage: ffx net dhcpd set parameter arp-probe [--enabled]

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

Options:


  --enabled         enables 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.
  --help            display usage information

bound-device-names

Usage: ffx net dhcpd set parameter bound-device-names [<names...>]

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

Positional Arguments:
  names             the names of the network devices on which the server will
                    listen. If this vector is empty, the server will listen on
                    all devices and will process incoming DHCP messages
                    regardless of the device on which they arrive. If this
                    vector is not empty, then the server will only listen for
                    incoming DHCP messages on the named network devices
                    contained by this vector.

Options:


  --help            display usage information

ip-addrs

Usage: ffx net dhcpd set parameter ip-addrs [--addrs <addrs...>]

The IPv4 addresses to which the server is bound.

Options:


  --addrs           A list of IPv4 Addresses to which the server is bound.
  --help            display usage information

lease-length

Usage: ffx net dhcpd set parameter lease-length [--default <default>] [--max <max>]

The duration of leases offered by the server.

Options:


  --default         the default lease length, in seconds, to be issued to
                    clients.
  --max             the 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.
  --help            display usage information

permitted-macs

Usage: ffx net dhcpd set parameter permitted-macs [--macs <macs...>]

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

Options:


  --macs            the 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.
  --help            display usage information

statically-assigned-addrs

Usage: ffx net dhcpd set parameter statically-assigned-addrs [--hosts <hosts...>] [--assigned-addrs <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)).

Options:


  --hosts           hosts which will be leased the addresses reserved by
                    `assigned_addrs`.
  --assigned-addrs  addresses 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.
  --help            display usage information

start


Usage: ffx net dhcpd start

A primary command to start the DHCP server.

Options:


  --help            display usage information

stop


Usage: ffx net dhcpd stop

A primary command to stop the DHCP server.

Options:


  --help            display usage information

dns


Usage: ffx net dns <command> [<args>]

commands to control the dns resolver

Options:


  --help            display usage information

Commands:


  lookup            performs dns resolution on the specified hostname

lookup


Usage: ffx net dns lookup <hostname> [--ipv4 <ipv4>] [--ipv6 <ipv6>] [--sort <sort>]

performs dns resolution on the specified hostname

Positional Arguments:
  hostname

Options:


  --ipv4            include ipv4 results (defaults to true)
  --ipv6            include ipv6 results (defaults to true)
  --sort            sort addresses in order of preference (defaults to true)
  --help            display usage information

filter


Usage: ffx net filter <command> [<args>]

commands for packet filter

Options:


  --help            display usage information

Commands:


  get-nat-rules     gets nat rules
  get-rdr-rules     gets rdr rules
  get-rules         gets filter rules
  set-nat-rules     sets nat rules (see the netfilter::parser library for the
                    NAT rules format)
  set-rdr-rules     sets rdr rules (see the netfilter::parser library for the
                    RDR rules format)
  set-rules         sets filter rules (see the netfilter::parser library for the
                    rules format)

get-nat-rules


Usage: ffx net filter get-nat-rules

gets nat rules

Options:


  --help            display usage information

get-rdr-rules


Usage: ffx net filter get-rdr-rules

gets rdr rules

Options:


  --help            display usage information

get-rules


Usage: ffx net filter get-rules

gets filter rules

Options:


  --help            display usage information

set-nat-rules


Usage: ffx net filter set-nat-rules <rules>

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

Positional Arguments:
  rules

Options:


  --help            display usage information

set-rdr-rules


Usage: ffx net filter set-rdr-rules <rules>

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

Positional Arguments:
  rules

Options:


  --help            display usage information

set-rules


Usage: ffx net filter set-rules <rules>

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

Positional Arguments:
  rules

Options:


  --help            display usage information

if


Usage: ffx net if <command> [<args>]

commands for network interfaces

Options:


  --help            display usage information

Commands:


  add               adds a network interface by path
  addr              commands for updating network interface addresses
  bridge            creates a bridge between network interfaces
  del               removes a network interface
  disable           disables a network interface
  enable            enables a network interface
  get               queries a network interface
  ip-forward        get or set IP forwarding for an interface
  list              lists network interfaces

add


Usage: ffx net if add <path>

adds a network interface by path

Positional Arguments:
  path

Options:


  --help            display usage information

addr


Usage: ffx net if addr <command> [<args>]

commands for updating network interface addresses

Options:


  --help            display usage information

Commands:


  add               adds an address to the network interface
  del               deletes an address from the network interface

add

Usage: ffx net if addr add <nicid or name:ifname> <addr> <prefix> [--no-subnet-route]

adds an address to the network interface

Positional Arguments:
  nicid or name:ifname
  addr
  prefix

Options:


  --no-subnet-route skip adding a local subnet route for this interface and
                    address
  --help            display usage information

del

Usage: ffx net if addr del <nicid or name:ifname> <addr> [<prefix>]

deletes an address from the network interface

Positional Arguments:
  nicid or name:ifname
  addr
  prefix

Options:


  --help            display usage information

bridge


Usage: ffx net if bridge [<nicid or name:ifname...>]

creates a bridge between network interfaces

Positional Arguments:
  nicid or name:ifname

Options:


  --help            display usage information

del


Usage: ffx net if del <nicid or name:ifname>

removes a network interface

Positional Arguments:
  nicid or name:ifname

Options:


  --help            display usage information

disable


Usage: ffx net if disable <nicid or name:ifname>

disables a network interface

Positional Arguments:
  nicid or name:ifname

Options:


  --help            display usage information

enable


Usage: ffx net if enable <nicid or name:ifname>

enables a network interface

Positional Arguments:
  nicid or name:ifname

Options:


  --help            display usage information

get


Usage: ffx net if get <nicid or name:ifname>

queries a network interface

Positional Arguments:
  nicid or name:ifname

Options:


  --help            display usage information

ip-forward


Usage: ffx net if ip-forward <command> [<args>]

get or set IP forwarding for an interface

Options:


  --help            display usage information

Commands:


  show              get IP forwarding for an interface
  set               set IP forwarding for an interface

set

Usage: ffx net if ip-forward set <nicid or name:ifname> <ip_version> <enable>

set IP forwarding for an interface

Positional Arguments:
  nicid or name:ifname
  ip_version
  enable

Options:


  --help            display usage information

show

Usage: ffx net if ip-forward show <nicid or name:ifname> <ip_version>

get IP forwarding for an interface

Positional Arguments:
  nicid or name:ifname
  ip_version

Options:


  --help            display usage information

list


Usage: ffx net if list [<name_pattern>] [--json]

lists network interfaces

Positional Arguments:
  name_pattern

Options:


  --json            format output as JSON
  --help            display usage information

log


Usage: ffx net log <command> [<args>]

commands for logging

Options:


  --help            display usage information

Commands:


  set-packets       log packets to stdout

set-packets


Usage: ffx net log set-packets <enabled>

log packets to stdout

Positional Arguments:
  enabled

Options:


  --help            display usage information

neigh


Usage: ffx net neigh <command> [<args>]

commands for neighbor tables

Options:


  --help            display usage information

Commands:


  add               adds an entry to the neighbor table
  clear             removes all entries associated with a network interface from
                    the neighbor table
  del               removes an entry from the neighbor table
  list              lists neighbor table entries
  watch             watches neighbor table entries for state changes
  config            commands for the Neighbor Unreachability Detection
                    configuration

add


Usage: ffx net neigh add <nicid or name:ifname> <ip> <mac>

adds an entry to the neighbor table

Positional Arguments:
  nicid or name:ifname
  ip
  mac

Options:


  --help            display usage information

clear


Usage: ffx net neigh clear <nicid or name:ifname> <ip_version>

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

Positional Arguments:
  nicid or name:ifname
  ip_version

Options:


  --help            display usage information

config


Usage: ffx net neigh config <command> [<args>]

commands for the Neighbor Unreachability Detection configuration

Options:


  --help            display usage information

Commands:


  get               returns the current NUD configuration options for the
                    provided interface
  update            updates the current NUD configuration options for the
                    provided interface

get

Usage: ffx net neigh config get <nicid or name:ifname> <ip_version>

returns the current NUD configuration options for the provided interface

Positional Arguments:
  nicid or name:ifname
  ip_version

Options:


  --help            display usage information

update

Usage: ffx net neigh config update <nicid or name:ifname> <ip_version> [--base-reachable-time <base-reachable-time>] [--learn-base-reachable-time <learn-base-reachable-time>] [--min-random-factor <min-random-factor>] [--max-random-factor <max-random-factor>] [--retransmit-timer <retransmit-timer>] [--learn-retransmit-timer <learn-retransmit-timer>] [--delay-first-probe-time <delay-first-probe-time>] [--max-multicast-probes <max-multicast-probes>] [--max-unicast-probes <max-unicast-probes>] [--max-anycast-delay-time <max-anycast-delay-time>] [--max-reachability-confirmations <max-reachability-confirmations>]

updates the current NUD configuration options for the provided interface

Positional Arguments:
  nicid or name:ifname
  ip_version

Options:


  --base-reachable-time
                    a base duration, in nanoseconds, for computing the random
                    reachable time
  --learn-base-reachable-time
                    learn `base_reachable_time` during runtime from the neighbor
                    discovery protocol, if supported
  --min-random-factor
                    the minimum value of the random factor used for computing
                    reachable time
  --max-random-factor
                    the maximum value of the random factor used for computing
                    reachable time
  --retransmit-timer
                    duration, in nanoseconds, between retransmissions of
                    reachability probes in the PROBE state
  --learn-retransmit-timer
                    learn `retransmit_timer` during runtime from the neighbor
                    discovery protocol, if supported
  --delay-first-probe-time
                    duration, in nanoseconds, to wait for a
                    non-Neighbor-Discovery related protocol to reconfirm
                    reachability after entering the DELAY state
  --max-multicast-probes
                    the number of reachability probes to send before concluding
                    negative reachability and deleting the entry from the
                    INCOMPLETE state
  --max-unicast-probes
                    the number of reachability probes to send before concluding
                    retransmissions from within the PROBE state should cease and
                    the entry SHOULD be deleted
  --max-anycast-delay-time
                    if the target address is an anycast address, the stack
                    SHOULD delay sending a response for a random time between 0
                    and this duration, in nanoseconds
  --max-reachability-confirmations
                    a node MAY send up to this amount of unsolicited
                    reachability confirmations messages to all-nodes multicast
                    address when a node determines its link-layer address has
                    changed
  --help            display usage information

del


Usage: ffx net neigh del <nicid or name:ifname> <ip>

removes an entry from the neighbor table

Positional Arguments:
  nicid or name:ifname
  ip

Options:


  --help            display usage information

list


Usage: ffx net neigh list [--json]

lists neighbor table entries

Options:


  --json            format output as JSON
  --help            display usage information

watch


Usage: ffx net neigh watch [--json-lines]

watches neighbor table entries for state changes

Options:


  --json-lines      format output as newline-delimited JSON
  --help            display usage information

route


Usage: ffx net route <command> [<args>]

commands for routing tables

Options:


  --help            display usage information

Commands:


  list              lists devices
  add               adds a route to the route table
  del               deletes a route from the route table

add


Usage: ffx net route add --destination <destination> --netmask <netmask or prefix length> [--gateway <gateway>] [--nicid <nicid or name:ifname>] --metric <metric>

adds a route to the route table

Options:


  --destination     the network id of the destination network
  --netmask         the netmask or prefix length corresponding to destination
  --gateway         the ip address of the first hop router
  --nicid           the outgoing network interface of the route
  --metric          the metric for the route
  --help            display usage information

del


Usage: ffx net route del --destination <destination> --netmask <netmask or prefix length> [--gateway <gateway>] [--nicid <nicid or name:ifname>] --metric <metric>

deletes a route from the route table

Options:


  --destination     the network id of the destination network
  --netmask         the netmask or prefix length corresponding to destination
  --gateway         the ip address of the first hop router
  --nicid           the outgoing network interface of the route
  --metric          the metric for the route
  --help            display usage information

list


Usage: ffx net route list [--json]

lists devices

Options:


  --json            format output as JSON
  --help            display usage information

net-test-realm


Usage: ffx net-test-realm <component_moniker> <command> [<args>]

Manage a running Network Test Realm

Positional Arguments:
  component_moniker the moniker of the component that corresponds to the Network
                    Test Realm instance (e.g.
                    "core/network/test-components\:net_test_realm_controller").

Options:


  --help            display usage information

Commands:


  add-interface     Attaches an interface to the hermetic Netstack.
  join-multicast-group
                    Joins a multicast group.
  leave-multicast-group
                    Leaves a multicast group that was previously joined.
  ping              Sends an ICMP echo request to a target using a socket
                    provided by the hermetic Netstack.
  poll-udp          Polls the specified socket address with UDP datagrams
                    containing the specified payload. Waits for a single reply
                    from the target address and prints it to stdout.
  start-hermetic-network-realm
                    Starts a hermetic network realm.
  start-stub        Starts a test stub within the hermetic network realm.
  stop-hermetic-network-realm
                    Stops a running hermetic network realm.
  stop-stub         Stops the currently running test stub.

Notes:
  This plugin acts as a thin wrapper around the Network Test Realm Controller protocol.
  For more specific information regarding each subcommand, see the underlying protocol definition:
  https://osscs.corp.google.com/fuchsia/fuchsia/+/main:src/connectivity/network/testing/network-test-realm/fidl/controller.fidl

Joins


Usage: ffx net-test-realm <component_moniker> <command> [<args>]

Manage a running Network Test Realm

Positional Arguments:
  component_moniker the moniker of the component that corresponds to the Network
                    Test Realm instance (e.g.
                    "core/network/test-components\:net_test_realm_controller").

Options:


  --help            display usage information

Commands:


  add-interface     Attaches an interface to the hermetic Netstack.
  join-multicast-group
                    Joins a multicast group.
  leave-multicast-group
                    Leaves a multicast group that was previously joined.
  ping              Sends an ICMP echo request to a target using a socket
                    provided by the hermetic Netstack.
  poll-udp          Polls the specified socket address with UDP datagrams
                    containing the specified payload. Waits for a single reply
                    from the target address and prints it to stdout.
  start-hermetic-network-realm
                    Starts a hermetic network realm.
  start-stub        Starts a test stub within the hermetic network realm.
  stop-hermetic-network-realm
                    Stops a running hermetic network realm.
  stop-stub         Stops the currently running test stub.

Notes:
  This plugin acts as a thin wrapper around the Network Test Realm Controller protocol.
  For more specific information regarding each subcommand, see the underlying protocol definition:
  https://osscs.corp.google.com/fuchsia/fuchsia/+/main:src/connectivity/network/testing/network-test-realm/fidl/controller.fidl

add-interface


Usage: ffx net-test-realm add-interface <mac_address> <name>

Attaches an interface to the hermetic Netstack.

Positional Arguments:
  mac_address       address of the interface to be added to the hermetic
                    Netstack. This should correspond to the address of an
                    existing system interface.
  name              the name to assign to the new interface.

Options:


  --help            display usage information

join-multicast-group


Usage: ffx net-test-realm join-multicast-group <address> <interface_id>

Joins a multicast group.

Positional Arguments:
  address           the group address to join.
  interface_id      the ID of the interface that should be used to join the
                    group.

Options:


  --help            display usage information

leave-multicast-group


Usage: ffx net-test-realm leave-multicast-group <address> <interface_id>

Leaves a multicast group that was previously joined.

Positional Arguments:
  address           the group address to leave.
  interface_id      the ID of the interface that should be used to leave the
                    group.

Options:


  --help            display usage information

ping


Usage: ffx net-test-realm ping <target> <payload_length> <timeout> [--interface-name <interface-name>]

Sends an ICMP echo request to a target using a socket provided by the hermetic Netstack.

Positional Arguments:
  target            the address to ping.
  payload_length    the body size of the ICMP packet. Specifically, the packet
                    body will be filled with zeros of the provided length.
  timeout           a timeout in nanoseconds to wait for a reply. If less than
                    or equal to 0, then returns success immediately after the
                    ping is sent.

Options:


  --interface-name  the name of the source interface.
  --help            display usage information

poll-udp


Usage: ffx net-test-realm poll-udp <target> <payload> <timeout> <num_retries>

Polls the specified socket address with UDP datagrams containing the specified payload. Waits for a single reply from the target address and prints it to stdout.

Positional Arguments:
  target            the socket to which to send datagrams
  payload           the datagram to send
  timeout           the timeout in nanos to wait for a reply, per retry.
  num_retries       the number of attempts to make

Options:


  --help            display usage information

start-hermetic-network-realm


Usage: ffx net-test-realm start-hermetic-network-realm <netstack>

Starts a hermetic network realm.

Positional Arguments:
  netstack          the Netstack version to start.

Options:


  --help            display usage information

start-stub


Usage: ffx net-test-realm start-stub <component_url>

Starts a test stub within the hermetic network realm.

Positional Arguments:
  component_url     the url of the component to start.

Options:


  --help            display usage information

stop-hermetic-network-realm


Usage: ffx net-test-realm stop-hermetic-network-realm

Stops a running hermetic network realm.

Options:


  --help            display usage information

stop-stub


Usage: ffx net-test-realm stop-stub

Stops the currently running test stub.

Options:


  --help            display usage information

Leaves


Usage: ffx net-test-realm <component_moniker> <command> [<args>]

Manage a running Network Test Realm

Positional Arguments:
  component_moniker the moniker of the component that corresponds to the Network
                    Test Realm instance (e.g.
                    "core/network/test-components\:net_test_realm_controller").

Options:


  --help            display usage information

Commands:


  add-interface     Attaches an interface to the hermetic Netstack.
  join-multicast-group
                    Joins a multicast group.
  leave-multicast-group
                    Leaves a multicast group that was previously joined.
  ping              Sends an ICMP echo request to a target using a socket
                    provided by the hermetic Netstack.
  poll-udp          Polls the specified socket address with UDP datagrams
                    containing the specified payload. Waits for a single reply
                    from the target address and prints it to stdout.
  start-hermetic-network-realm
                    Starts a hermetic network realm.
  start-stub        Starts a test stub within the hermetic network realm.
  stop-hermetic-network-realm
                    Stops a running hermetic network realm.
  stop-stub         Stops the currently running test stub.

Notes:
  This plugin acts as a thin wrapper around the Network Test Realm Controller protocol.
  For more specific information regarding each subcommand, see the underlying protocol definition:
  https://osscs.corp.google.com/fuchsia/fuchsia/+/main:src/connectivity/network/testing/network-test-realm/fidl/controller.fidl

add-interface


Usage: ffx net-test-realm add-interface <mac_address> <name>

Attaches an interface to the hermetic Netstack.

Positional Arguments:
  mac_address       address of the interface to be added to the hermetic
                    Netstack. This should correspond to the address of an
                    existing system interface.
  name              the name to assign to the new interface.

Options:


  --help            display usage information

join-multicast-group


Usage: ffx net-test-realm join-multicast-group <address> <interface_id>

Joins a multicast group.

Positional Arguments:
  address           the group address to join.
  interface_id      the ID of the interface that should be used to join the
                    group.

Options:


  --help            display usage information

leave-multicast-group


Usage: ffx net-test-realm leave-multicast-group <address> <interface_id>

Leaves a multicast group that was previously joined.

Positional Arguments:
  address           the group address to leave.
  interface_id      the ID of the interface that should be used to leave the
                    group.

Options:


  --help            display usage information

ping


Usage: ffx net-test-realm ping <target> <payload_length> <timeout> [--interface-name <interface-name>]

Sends an ICMP echo request to a target using a socket provided by the hermetic Netstack.

Positional Arguments:
  target            the address to ping.
  payload_length    the body size of the ICMP packet. Specifically, the packet
                    body will be filled with zeros of the provided length.
  timeout           a timeout in nanoseconds to wait for a reply. If less than
                    or equal to 0, then returns success immediately after the
                    ping is sent.

Options:


  --interface-name  the name of the source interface.
  --help            display usage information

poll-udp


Usage: ffx net-test-realm poll-udp <target> <payload> <timeout> <num_retries>

Polls the specified socket address with UDP datagrams containing the specified payload. Waits for a single reply from the target address and prints it to stdout.

Positional Arguments:
  target            the socket to which to send datagrams
  payload           the datagram to send
  timeout           the timeout in nanos to wait for a reply, per retry.
  num_retries       the number of attempts to make

Options:


  --help            display usage information

start-hermetic-network-realm


Usage: ffx net-test-realm start-hermetic-network-realm <netstack>

Starts a hermetic network realm.

Positional Arguments:
  netstack          the Netstack version to start.

Options:


  --help            display usage information

start-stub


Usage: ffx net-test-realm start-stub <component_url>

Starts a test stub within the hermetic network realm.

Positional Arguments:
  component_url     the url of the component to start.

Options:


  --help            display usage information

stop-hermetic-network-realm


Usage: ffx net-test-realm stop-hermetic-network-realm

Stops a running hermetic network realm.

Options:


  --help            display usage information

stop-stub


Usage: ffx net-test-realm stop-stub

Stops the currently running test stub.

Options:


  --help            display usage information

Starts


Usage: ffx net-test-realm <component_moniker> <command> [<args>]

Manage a running Network Test Realm

Positional Arguments:
  component_moniker the moniker of the component that corresponds to the Network
                    Test Realm instance (e.g.
                    "core/network/test-components\:net_test_realm_controller").

Options:


  --help            display usage information

Commands:


  add-interface     Attaches an interface to the hermetic Netstack.
  join-multicast-group
                    Joins a multicast group.
  leave-multicast-group
                    Leaves a multicast group that was previously joined.
  ping              Sends an ICMP echo request to a target using a socket
                    provided by the hermetic Netstack.
  poll-udp          Polls the specified socket address with UDP datagrams
                    containing the specified payload. Waits for a single reply
                    from the target address and prints it to stdout.
  start-hermetic-network-realm
                    Starts a hermetic network realm.
  start-stub        Starts a test stub within the hermetic network realm.
  stop-hermetic-network-realm
                    Stops a running hermetic network realm.
  stop-stub         Stops the currently running test stub.

Notes:
  This plugin acts as a thin wrapper around the Network Test Realm Controller protocol.
  For more specific information regarding each subcommand, see the underlying protocol definition:
  https://osscs.corp.google.com/fuchsia/fuchsia/+/main:src/connectivity/network/testing/network-test-realm/fidl/controller.fidl

add-interface


Usage: ffx net-test-realm add-interface <mac_address> <name>

Attaches an interface to the hermetic Netstack.

Positional Arguments:
  mac_address       address of the interface to be added to the hermetic
                    Netstack. This should correspond to the address of an
                    existing system interface.
  name              the name to assign to the new interface.

Options:


  --help            display usage information

join-multicast-group


Usage: ffx net-test-realm join-multicast-group <address> <interface_id>

Joins a multicast group.

Positional Arguments:
  address           the group address to join.
  interface_id      the ID of the interface that should be used to join the
                    group.

Options:


  --help            display usage information

leave-multicast-group


Usage: ffx net-test-realm leave-multicast-group <address> <interface_id>

Leaves a multicast group that was previously joined.

Positional Arguments:
  address           the group address to leave.
  interface_id      the ID of the interface that should be used to leave the
                    group.

Options:


  --help            display usage information

ping


Usage: ffx net-test-realm ping <target> <payload_length> <timeout> [--interface-name <interface-name>]

Sends an ICMP echo request to a target using a socket provided by the hermetic Netstack.

Positional Arguments:
  target            the address to ping.
  payload_length    the body size of the ICMP packet. Specifically, the packet
                    body will be filled with zeros of the provided length.
  timeout           a timeout in nanoseconds to wait for a reply. If less than
                    or equal to 0, then returns success immediately after the
                    ping is sent.

Options:


  --interface-name  the name of the source interface.
  --help            display usage information

poll-udp


Usage: ffx net-test-realm poll-udp <target> <payload> <timeout> <num_retries>

Polls the specified socket address with UDP datagrams containing the specified payload. Waits for a single reply from the target address and prints it to stdout.

Positional Arguments:
  target            the socket to which to send datagrams
  payload           the datagram to send
  timeout           the timeout in nanos to wait for a reply, per retry.
  num_retries       the number of attempts to make

Options:


  --help            display usage information

start-hermetic-network-realm


Usage: ffx net-test-realm start-hermetic-network-realm <netstack>

Starts a hermetic network realm.

Positional Arguments:
  netstack          the Netstack version to start.

Options:


  --help            display usage information

start-stub


Usage: ffx net-test-realm start-stub <component_url>

Starts a test stub within the hermetic network realm.

Positional Arguments:
  component_url     the url of the component to start.

Options:


  --help            display usage information

stop-hermetic-network-realm


Usage: ffx net-test-realm stop-hermetic-network-realm

Stops a running hermetic network realm.

Options:


  --help            display usage information

stop-stub


Usage: ffx net-test-realm stop-stub

Stops the currently running test stub.

Options:


  --help            display usage information

Stops


Usage: ffx net-test-realm <component_moniker> <command> [<args>]

Manage a running Network Test Realm

Positional Arguments:
  component_moniker the moniker of the component that corresponds to the Network
                    Test Realm instance (e.g.
                    "core/network/test-components\:net_test_realm_controller").

Options:


  --help            display usage information

Commands:


  add-interface     Attaches an interface to the hermetic Netstack.
  join-multicast-group
                    Joins a multicast group.
  leave-multicast-group
                    Leaves a multicast group that was previously joined.
  ping              Sends an ICMP echo request to a target using a socket
                    provided by the hermetic Netstack.
  poll-udp          Polls the specified socket address with UDP datagrams
                    containing the specified payload. Waits for a single reply
                    from the target address and prints it to stdout.
  start-hermetic-network-realm
                    Starts a hermetic network realm.
  start-stub        Starts a test stub within the hermetic network realm.
  stop-hermetic-network-realm
                    Stops a running hermetic network realm.
  stop-stub         Stops the currently running test stub.

Notes:
  This plugin acts as a thin wrapper around the Network Test Realm Controller protocol.
  For more specific information regarding each subcommand, see the underlying protocol definition:
  https://osscs.corp.google.com/fuchsia/fuchsia/+/main:src/connectivity/network/testing/network-test-realm/fidl/controller.fidl

add-interface


Usage: ffx net-test-realm add-interface <mac_address> <name>

Attaches an interface to the hermetic Netstack.

Positional Arguments:
  mac_address       address of the interface to be added to the hermetic
                    Netstack. This should correspond to the address of an
                    existing system interface.
  name              the name to assign to the new interface.

Options:


  --help            display usage information

join-multicast-group


Usage: ffx net-test-realm join-multicast-group <address> <interface_id>

Joins a multicast group.

Positional Arguments:
  address           the group address to join.
  interface_id      the ID of the interface that should be used to join the
                    group.

Options:


  --help            display usage information

leave-multicast-group


Usage: ffx net-test-realm leave-multicast-group <address> <interface_id>

Leaves a multicast group that was previously joined.

Positional Arguments:
  address           the group address to leave.
  interface_id      the ID of the interface that should be used to leave the
                    group.

Options:


  --help            display usage information

ping


Usage: ffx net-test-realm ping <target> <payload_length> <timeout> [--interface-name <interface-name>]

Sends an ICMP echo request to a target using a socket provided by the hermetic Netstack.

Positional Arguments:
  target            the address to ping.
  payload_length    the body size of the ICMP packet. Specifically, the packet
                    body will be filled with zeros of the provided length.
  timeout           a timeout in nanoseconds to wait for a reply. If less than
                    or equal to 0, then returns success immediately after the
                    ping is sent.

Options:


  --interface-name  the name of the source interface.
  --help            display usage information

poll-udp


Usage: ffx net-test-realm poll-udp <target> <payload> <timeout> <num_retries>

Polls the specified socket address with UDP datagrams containing the specified payload. Waits for a single reply from the target address and prints it to stdout.

Positional Arguments:
  target            the socket to which to send datagrams
  payload           the datagram to send
  timeout           the timeout in nanos to wait for a reply, per retry.
  num_retries       the number of attempts to make

Options:


  --help            display usage information

start-hermetic-network-realm


Usage: ffx net-test-realm start-hermetic-network-realm <netstack>

Starts a hermetic network realm.

Positional Arguments:
  netstack          the Netstack version to start.

Options:


  --help            display usage information

start-stub


Usage: ffx net-test-realm start-stub <component_url>

Starts a test stub within the hermetic network realm.

Positional Arguments:
  component_url     the url of the component to start.

Options:


  --help            display usage information

stop-hermetic-network-realm


Usage: ffx net-test-realm stop-hermetic-network-realm

Stops a running hermetic network realm.

Options:


  --help            display usage information

stop-stub


Usage: ffx net-test-realm stop-stub

Stops the currently running test stub.

Options:


  --help            display usage information

add-interface


Usage: ffx net-test-realm add-interface <mac_address> <name>

Attaches an interface to the hermetic Netstack.

Positional Arguments:
  mac_address       address of the interface to be added to the hermetic
                    Netstack. This should correspond to the address of an
                    existing system interface.
  name              the name to assign to the new interface.

Options:


  --help            display usage information

containing


Usage: ffx net-test-realm <component_moniker> <command> [<args>]

Manage a running Network Test Realm

Positional Arguments:
  component_moniker the moniker of the component that corresponds to the Network
                    Test Realm instance (e.g.
                    "core/network/test-components\:net_test_realm_controller").

Options:


  --help            display usage information

Commands:


  add-interface     Attaches an interface to the hermetic Netstack.
  join-multicast-group
                    Joins a multicast group.
  leave-multicast-group
                    Leaves a multicast group that was previously joined.
  ping              Sends an ICMP echo request to a target using a socket
                    provided by the hermetic Netstack.
  poll-udp          Polls the specified socket address with UDP datagrams
                    containing the specified payload. Waits for a single reply
                    from the target address and prints it to stdout.
  start-hermetic-network-realm
                    Starts a hermetic network realm.
  start-stub        Starts a test stub within the hermetic network realm.
  stop-hermetic-network-realm
                    Stops a running hermetic network realm.
  stop-stub         Stops the currently running test stub.

Notes:
  This plugin acts as a thin wrapper around the Network Test Realm Controller protocol.
  For more specific information regarding each subcommand, see the underlying protocol definition:
  https://osscs.corp.google.com/fuchsia/fuchsia/+/main:src/connectivity/network/testing/network-test-realm/fidl/controller.fidl

add-interface


Usage: ffx net-test-realm add-interface <mac_address> <name>

Attaches an interface to the hermetic Netstack.

Positional Arguments:
  mac_address       address of the interface to be added to the hermetic
                    Netstack. This should correspond to the address of an
                    existing system interface.
  name              the name to assign to the new interface.

Options:


  --help            display usage information

join-multicast-group


Usage: ffx net-test-realm join-multicast-group <address> <interface_id>

Joins a multicast group.

Positional Arguments:
  address           the group address to join.
  interface_id      the ID of the interface that should be used to join the
                    group.

Options:


  --help            display usage information

leave-multicast-group


Usage: ffx net-test-realm leave-multicast-group <address> <interface_id>

Leaves a multicast group that was previously joined.

Positional Arguments:
  address           the group address to leave.
  interface_id      the ID of the interface that should be used to leave the
                    group.

Options:


  --help            display usage information

ping


Usage: ffx net-test-realm ping <target> <payload_length> <timeout> [--interface-name <interface-name>]

Sends an ICMP echo request to a target using a socket provided by the hermetic Netstack.

Positional Arguments:
  target            the address to ping.
  payload_length    the body size of the ICMP packet. Specifically, the packet
                    body will be filled with zeros of the provided length.
  timeout           a timeout in nanoseconds to wait for a reply. If less than
                    or equal to 0, then returns success immediately after the
                    ping is sent.

Options:


  --interface-name  the name of the source interface.
  --help            display usage information

poll-udp


Usage: ffx net-test-realm poll-udp <target> <payload> <timeout> <num_retries>

Polls the specified socket address with UDP datagrams containing the specified payload. Waits for a single reply from the target address and prints it to stdout.

Positional Arguments:
  target            the socket to which to send datagrams
  payload           the datagram to send
  timeout           the timeout in nanos to wait for a reply, per retry.
  num_retries       the number of attempts to make

Options:


  --help            display usage information

start-hermetic-network-realm


Usage: ffx net-test-realm start-hermetic-network-realm <netstack>

Starts a hermetic network realm.

Positional Arguments:
  netstack          the Netstack version to start.

Options:


  --help            display usage information

start-stub


Usage: ffx net-test-realm start-stub <component_url>

Starts a test stub within the hermetic network realm.

Positional Arguments:
  component_url     the url of the component to start.

Options:


  --help            display usage information

stop-hermetic-network-realm


Usage: ffx net-test-realm stop-hermetic-network-realm

Stops a running hermetic network realm.

Options:


  --help            display usage information

stop-stub


Usage: ffx net-test-realm stop-stub

Stops the currently running test stub.

Options:


  --help            display usage information

from


Usage: ffx net-test-realm <component_moniker> <command> [<args>]

Manage a running Network Test Realm

Positional Arguments:
  component_moniker the moniker of the component that corresponds to the Network
                    Test Realm instance (e.g.
                    "core/network/test-components\:net_test_realm_controller").

Options:


  --help            display usage information

Commands:


  add-interface     Attaches an interface to the hermetic Netstack.
  join-multicast-group
                    Joins a multicast group.
  leave-multicast-group
                    Leaves a multicast group that was previously joined.
  ping              Sends an ICMP echo request to a target using a socket
                    provided by the hermetic Netstack.
  poll-udp          Polls the specified socket address with UDP datagrams
                    containing the specified payload. Waits for a single reply
                    from the target address and prints it to stdout.
  start-hermetic-network-realm
                    Starts a hermetic network realm.
  start-stub        Starts a test stub within the hermetic network realm.
  stop-hermetic-network-realm
                    Stops a running hermetic network realm.
  stop-stub         Stops the currently running test stub.

Notes:
  This plugin acts as a thin wrapper around the Network Test Realm Controller protocol.
  For more specific information regarding each subcommand, see the underlying protocol definition:
  https://osscs.corp.google.com/fuchsia/fuchsia/+/main:src/connectivity/network/testing/network-test-realm/fidl/controller.fidl

add-interface


Usage: ffx net-test-realm add-interface <mac_address> <name>

Attaches an interface to the hermetic Netstack.

Positional Arguments:
  mac_address       address of the interface to be added to the hermetic
                    Netstack. This should correspond to the address of an
                    existing system interface.
  name              the name to assign to the new interface.

Options:


  --help            display usage information

join-multicast-group


Usage: ffx net-test-realm join-multicast-group <address> <interface_id>

Joins a multicast group.

Positional Arguments:
  address           the group address to join.
  interface_id      the ID of the interface that should be used to join the
                    group.

Options:


  --help            display usage information

leave-multicast-group


Usage: ffx net-test-realm leave-multicast-group <address> <interface_id>

Leaves a multicast group that was previously joined.

Positional Arguments:
  address           the group address to leave.
  interface_id      the ID of the interface that should be used to leave the
                    group.

Options:


  --help            display usage information

ping


Usage: ffx net-test-realm ping <target> <payload_length> <timeout> [--interface-name <interface-name>]

Sends an ICMP echo request to a target using a socket provided by the hermetic Netstack.

Positional Arguments:
  target            the address to ping.
  payload_length    the body size of the ICMP packet. Specifically, the packet
                    body will be filled with zeros of the provided length.
  timeout           a timeout in nanoseconds to wait for a reply. If less than
                    or equal to 0, then returns success immediately after the
                    ping is sent.

Options:


  --interface-name  the name of the source interface.
  --help            display usage information

poll-udp


Usage: ffx net-test-realm poll-udp <target> <payload> <timeout> <num_retries>

Polls the specified socket address with UDP datagrams containing the specified payload. Waits for a single reply from the target address and prints it to stdout.

Positional Arguments:
  target            the socket to which to send datagrams
  payload           the datagram to send
  timeout           the timeout in nanos to wait for a reply, per retry.
  num_retries       the number of attempts to make

Options:


  --help            display usage information

start-hermetic-network-realm


Usage: ffx net-test-realm start-hermetic-network-realm <netstack>

Starts a hermetic network realm.

Positional Arguments:
  netstack          the Netstack version to start.

Options:


  --help            display usage information

start-stub


Usage: ffx net-test-realm start-stub <component_url>

Starts a test stub within the hermetic network realm.

Positional Arguments:
  component_url     the url of the component to start.

Options:


  --help            display usage information

stop-hermetic-network-realm


Usage: ffx net-test-realm stop-hermetic-network-realm

Stops a running hermetic network realm.

Options:


  --help            display usage information

stop-stub


Usage: ffx net-test-realm stop-stub

Stops the currently running test stub.

Options:


  --help            display usage information

join-multicast-group


Usage: ffx net-test-realm join-multicast-group <address> <interface_id>

Joins a multicast group.

Positional Arguments:
  address           the group address to join.
  interface_id      the ID of the interface that should be used to join the
                    group.

Options:


  --help            display usage information

leave-multicast-group


Usage: ffx net-test-realm leave-multicast-group <address> <interface_id>

Leaves a multicast group that was previously joined.

Positional Arguments:
  address           the group address to leave.
  interface_id      the ID of the interface that should be used to leave the
                    group.

Options:


  --help            display usage information

ping


Usage: ffx net-test-realm ping <target> <payload_length> <timeout> [--interface-name <interface-name>]

Sends an ICMP echo request to a target using a socket provided by the hermetic Netstack.

Positional Arguments:
  target            the address to ping.
  payload_length    the body size of the ICMP packet. Specifically, the packet
                    body will be filled with zeros of the provided length.
  timeout           a timeout in nanoseconds to wait for a reply. If less than
                    or equal to 0, then returns success immediately after the
                    ping is sent.

Options:


  --interface-name  the name of the source interface.
  --help            display usage information

poll-udp


Usage: ffx net-test-realm poll-udp <target> <payload> <timeout> <num_retries>

Polls the specified socket address with UDP datagrams containing the specified payload. Waits for a single reply from the target address and prints it to stdout.

Positional Arguments:
  target            the socket to which to send datagrams
  payload           the datagram to send
  timeout           the timeout in nanos to wait for a reply, per retry.
  num_retries       the number of attempts to make

Options:


  --help            display usage information

provided


Usage: ffx net-test-realm <component_moniker> <command> [<args>]

Manage a running Network Test Realm

Positional Arguments:
  component_moniker the moniker of the component that corresponds to the Network
                    Test Realm instance (e.g.
                    "core/network/test-components\:net_test_realm_controller").

Options:


  --help            display usage information

Commands:


  add-interface     Attaches an interface to the hermetic Netstack.
  join-multicast-group
                    Joins a multicast group.
  leave-multicast-group
                    Leaves a multicast group that was previously joined.
  ping              Sends an ICMP echo request to a target using a socket
                    provided by the hermetic Netstack.
  poll-udp          Polls the specified socket address with UDP datagrams
                    containing the specified payload. Waits for a single reply
                    from the target address and prints it to stdout.
  start-hermetic-network-realm
                    Starts a hermetic network realm.
  start-stub        Starts a test stub within the hermetic network realm.
  stop-hermetic-network-realm
                    Stops a running hermetic network realm.
  stop-stub         Stops the currently running test stub.

Notes:
  This plugin acts as a thin wrapper around the Network Test Realm Controller protocol.
  For more specific information regarding each subcommand, see the underlying protocol definition:
  https://osscs.corp.google.com/fuchsia/fuchsia/+/main:src/connectivity/network/testing/network-test-realm/fidl/controller.fidl

add-interface


Usage: ffx net-test-realm add-interface <mac_address> <name>

Attaches an interface to the hermetic Netstack.

Positional Arguments:
  mac_address       address of the interface to be added to the hermetic
                    Netstack. This should correspond to the address of an
                    existing system interface.
  name              the name to assign to the new interface.

Options:


  --help            display usage information

join-multicast-group


Usage: ffx net-test-realm join-multicast-group <address> <interface_id>

Joins a multicast group.

Positional Arguments:
  address           the group address to join.
  interface_id      the ID of the interface that should be used to join the
                    group.

Options:


  --help            display usage information

leave-multicast-group


Usage: ffx net-test-realm leave-multicast-group <address> <interface_id>

Leaves a multicast group that was previously joined.

Positional Arguments:
  address           the group address to leave.
  interface_id      the ID of the interface that should be used to leave the
                    group.

Options:


  --help            display usage information

ping


Usage: ffx net-test-realm ping <target> <payload_length> <timeout> [--interface-name <interface-name>]

Sends an ICMP echo request to a target using a socket provided by the hermetic Netstack.

Positional Arguments:
  target            the address to ping.
  payload_length    the body size of the ICMP packet. Specifically, the packet
                    body will be filled with zeros of the provided length.
  timeout           a timeout in nanoseconds to wait for a reply. If less than
                    or equal to 0, then returns success immediately after the
                    ping is sent.

Options:


  --interface-name  the name of the source interface.
  --help            display usage information

poll-udp


Usage: ffx net-test-realm poll-udp <target> <payload> <timeout> <num_retries>

Polls the specified socket address with UDP datagrams containing the specified payload. Waits for a single reply from the target address and prints it to stdout.

Positional Arguments:
  target            the socket to which to send datagrams
  payload           the datagram to send
  timeout           the timeout in nanos to wait for a reply, per retry.
  num_retries       the number of attempts to make

Options:


  --help            display usage information

start-hermetic-network-realm


Usage: ffx net-test-realm start-hermetic-network-realm <netstack>

Starts a hermetic network realm.

Positional Arguments:
  netstack          the Netstack version to start.

Options:


  --help            display usage information

start-stub


Usage: ffx net-test-realm start-stub <component_url>

Starts a test stub within the hermetic network realm.

Positional Arguments:
  component_url     the url of the component to start.

Options:


  --help            display usage information

stop-hermetic-network-realm


Usage: ffx net-test-realm stop-hermetic-network-realm

Stops a running hermetic network realm.

Options:


  --help            display usage information

stop-stub


Usage: ffx net-test-realm stop-stub

Stops the currently running test stub.

Options:


  --help            display usage information

start-hermetic-network-realm


Usage: ffx net-test-realm start-hermetic-network-realm <netstack>

Starts a hermetic network realm.

Positional Arguments:
  netstack          the Netstack version to start.

Options:


  --help            display usage information

start-stub


Usage: ffx net-test-realm start-stub <component_url>

Starts a test stub within the hermetic network realm.

Positional Arguments:
  component_url     the url of the component to start.

Options:


  --help            display usage information

stop-hermetic-network-realm


Usage: ffx net-test-realm stop-hermetic-network-realm

Stops a running hermetic network realm.

Options:


  --help            display usage information

stop-stub


Usage: ffx net-test-realm stop-stub

Stops the currently running test stub.

Options:


  --help            display usage information

overnet


Usage: ffx overnet <command> [<args>]

Interact with the Overnet mesh

Options:


  --help            display usage information

Commands:


  list-peers        List known peer nodes
  list-links        List links on a particular peer
  host-pipe         Use stdin/stdout as a link to another overnet instance
  full-map          Construct a detailed graphviz map of the Overnet mesh -
                    experts only!

full-map


Usage: ffx overnet full-map --exclude-self <exclude-self>

Construct a detailed graphviz map of the Overnet mesh - experts only!

Options:


  --exclude-self    if set, exclude the onet tool from output
  --help            display usage information

host-pipe


Usage: ffx overnet host-pipe

Use stdin/stdout as a link to another overnet instance

Options:


  --help            display usage information


Usage: ffx overnet list-links <nodes>

List links on a particular peer

Positional Arguments:
  nodes             list of nodes to display links for, or 'all' to display
                    links from all nodes

Options:


  --help            display usage information

list-peers


Usage: ffx overnet list-peers

List known peer nodes

Options:


  --help            display usage information

package


Usage: ffx package <command> [<args>]

Create and publish Fuchsia packages

Options:


  --help            display usage information

Commands:


  archive           archive a package_manifest.json into package archive
  build             Builds a package.
  download          download Package from TUF package server.

archive


Usage: ffx package archive <package_manifest> -o <output> [-r <root-dir>]

archive a package_manifest.json into package archive

Positional Arguments:
  package_manifest  package_manifest.json to archive

Options:


  -o, --output      output package archive
  -r, --root-dir    root directory for paths in package_manifest.json
  --help            display usage information

build


Usage: ffx package build --build-manifest-path <build-manifest-path> [--package-manifest-path <package-manifest-path>] [-o <out>] --published-name <published-name>

Builds a package.

Options:


  --build-manifest-path
                    path to the build manifest file
  --package-manifest-path
                    write package manifest to this path
  -o, --out         directory to save package artifacts
  --published-name  name of the package
  --help            display usage information

download


Usage: ffx package download <tuf_url> <blob_url> <target_path> [-o <output-path>]

download Package from TUF package server.

Positional Arguments:
  tuf_url           URL of TUF repository
  blob_url          URL of Blobs Server
  target_path       target_path

Options:


  -o, --output-path directory to save package
  --help            display usage information

pdk


Usage: ffx pdk <command> [<args>]

PDK related tool.

Options:


  --help            display usage information

Commands:


  fetch             Fetch the artifacts based on artifact_lock.json
  update            Update the artifact_lock.json

fetch


Usage: ffx pdk fetch --lock-file <lock-file> [-o <out>] [-m <merkle>] [-a <artifact>] [--local-dir <local-dir>] [--show-progress]

Fetch the artifacts based on artifact_lock.json

Options:


  --lock-file       path to the artifact_lock.json file
  -o, --out         path to the output directory
  -m, --merkle      merkle of the blob to download
  -a, --artifact    name of the artifact to download
  --local-dir       path to local artifact_store. This parameter is required
                    only when a local artifact store is used.
  --show-progress   fetch progress will be shown if this flag is set.
  --help            display usage information

update


Usage: ffx pdk update --spec-file <spec-file> [-o <out>] [--artifact-root <artifact-root>]

Update the artifact_lock.json

Options:


  --spec-file       path to the artifact_spec.json file.
  -o, --out         path to the output artifact_lock.json file.
  --artifact-root   path to root directory for local artifact_groups.json file.
                    This parameter is required only when a local artifact store
                    is used.
  --help            display usage information

platform


Usage: ffx platform <command> [<args>]

Manage platform build prerequisites

Options:


  --help            display usage information

Commands:


  preflight         Evaluate suitability for building and running Fuchsia

preflight


Usage: ffx platform preflight [--json]

Evaluate suitability for building and running Fuchsia

Options:


  --json            outputs json instead of human-readable text.
  --help            display usage information

product-bundle


Usage: ffx product-bundle <command> [<args>]

Discover and access product bundle metadata and image data.

Options:


  --help            display usage information

Commands:


  list              Display a list of product bundle names.
  get               Retrieve image data.
  create            Create product bundle manifest file.

create


Usage: ffx product-bundle create -t <types> -p <packages> -i <images> [-m <multiboot-bin>] [-d <device-name>] -b <build-info> [-f <flash-manifest>] [-o <out>]

Create product bundle manifest file.

Options:


  -t, --types       is this product_bundle.json for emulator or flash.
  -p, --packages    location of packages directory.
  -i, --images      location of images directory.
  -m, --multiboot-bin
                    path to multiboot.bin file.
  -d, --device-name device_spec name.
  -b, --build-info  path to build_info.json file.
  -f, --flash-manifest
                    path to flash manifest file.
  -o, --out         path to output directory.
  --help            display usage information

get


Usage: ffx product-bundle get [<product_bundle_name>] [--cached] [--verbose]

Retrieve image data.

Positional Arguments:
  product_bundle_name
                    get (and cache) data for specific product bundle.

Options:


  --cached          do no network IO, use the locally cached version or fail.
  --verbose         display list of downloaded files and other details.
  --help            display usage information

list


Usage: ffx product-bundle list [--cached]

Display a list of product bundle names.

Options:


  --cached          do no network IO, use the locally cached version or fail.
  --help            display usage information

profile


Usage: ffx profile <command> [<args>]

Profile run-time information from various subsystems

Options:


  --help            display usage information

Commands:


  cpu               Query CPU-related information
  memory            Query memory related information
  power             Access power-related information
  temperature       Access temperature-related information

cpu


Usage: ffx profile cpu <command> [<args>]

Query CPU-related information

Options:


  --help            display usage information

Commands:


  load              Measure CPU load over the specified duration

load


Usage: ffx profile cpu load -d <duration>

Measure CPU load over the specified duration

Options:


  -d, --duration    duration over which to measure the CPU load
  --help            display usage information

Examples:
  To measure the CPU load over a two second duration
  
      $ ffx profile cpu load --duration 2
      

Notes:
  This command uses the GetCpuLoad method of the fuchsia.kernel.Stats service to query the
  the load from each active CPU core in the system. The measured CPU load from each core is
  printed in the following format:
  
      CPU 0: 0.66%
      CPU 1: 1.56%
      CPU 2: 0.83%
      CPU 3: 0.71%
      Total: 3.76%
  
  The valid range for each CPU load is [0-100]%. The "Total" value represents the summation
  of the load percentages of all CPU cores and is valid in the range [0-100*[NUM_CPU]]%
  

memory


Usage: ffx profile memory [<command>] [<args>]

Query memory related information

Options:


  --help            display usage information

Commands:


  signal            Signals userspace clients with specified memory pressure
                    level. Clients can use this command to test their response
                    to memory pressure. Does not affect the real memory pressure
                    level on the system, or trigger any kernel reclamation
                    tasks.

signal


Usage: ffx profile memory signal <level>

Signals userspace clients with specified memory pressure level. Clients can use this command to test their response to memory pressure. Does not affect the real memory pressure level on the system, or trigger any kernel reclamation tasks.

Positional Arguments:
  level             memory pressure level. Can be CRITICAL, WARNING or NORMAL.

Options:


  --help            display usage information

power


Usage: ffx profile power <command> [<args>]

Access power-related information

Options:


  --help            display usage information

Commands:


  logger            Controls the metrics-logger component to log power. Logged
                    power samples will be available in syslog, via iquery under
                    core/metrics-logger and via tracing in the power_logger
                    category.

logger


Usage: ffx profile power logger <command> [<args>]

Controls the metrics-logger component to log power. Logged power samples will be available in syslog, via iquery under core/metrics-logger and via tracing in the power_logger category.

Options:


  --help            display usage information

Commands:


  start             Start logging on the target
  stop              Stop logging on the target

Examples:
  To poll power sensor every 500 ms indefinitely:
  
      $ ffx profile power logger start --sampling-interval 500ms
  
  To poll power sensor every 500 ms and summarize statistics every 1 second for 30 seconds with output-samples-to-syslog and output-stats-to-syslog enabled:
  
      $ ffx profile power logger start --sampling-interval 500ms --statistics-interval 1s --output-stats-to-syslog --output-samples-to-syslog

Notes:
  If the metrics-logger component is not available to the target, then this command will not work
  properly. Add --with //src/testing/metrics-logger to fx set.

start

Usage: ffx profile power logger start [-l <statistics-interval>] -s <sampling-interval> [--output-samples-to-syslog] [--output-stats-to-syslog] [-d <duration>]

Start logging on the target

Options:


  -l, --statistics-interval
                    interval for summarizing statistics; if omitted, statistics
                    is disabled
  -s, --sampling-interval
                    interval for polling the sensor
  --output-samples-to-syslog
                    toggle for logging samples to syslog
  --output-stats-to-syslog
                    toggle for logging statistics to syslog
  -d, --duration    duration for which to log; if omitted, logging will continue
                    indefinitely
  --help            display usage information

stop

Usage: ffx profile power logger stop

Stop logging on the target

Options:


  --help            display usage information

temperature


Usage: ffx profile temperature <command> [<args>]

Access temperature-related information

Options:


  --help            display usage information

Commands:


  logger            Controls the temperature-logger component

logger


Usage: ffx profile temperature logger <command> [<args>]

Controls the temperature-logger component

Options:


  --help            display usage information

Commands:


  start             Start logging on the target
  stop              Stop logging on the target

Examples:
  To log temperatures every 100ms for 30 seconds:
  
      $ ffx profile temperature logger start --interval 100ms --duration 30s
  
  To log temperatures every 1s indefinitely:
  
      $ ffx profile temperature logger start --interval 1s

Notes:
  Logged temperatures are not output by this command directly; rather, they will be available via
  iquery under core/temperature-logger and via tracing in the temperature_logger category.
  
  If the temperature-logger component is not available to the target, then this command will not work
  properly.

start

Usage: ffx profile temperature logger start -i <interval> [-d <duration>]

Start logging on the target

Options:


  -i, --interval    interval between temperature samples
  -d, --duration    duration for which to log; if omitted, logging will continue
                    indefinitely
  --help            display usage information

stop

Usage: ffx profile temperature logger stop

Stop logging on the target

Options:


  --help            display usage information

repository


Usage: ffx repository <command> [<args>]

Inspect and manage package repositories

Options:


  --help            display usage information

Commands:


  add-from-pm       Make the daemon aware of a specific pm-built repository
  default           Manage the default repository
  list              List all repositories
  package           List the packages inside a repository
  remove
  server            Inspect and manage the repository server

add-from-pm


Usage: ffx repository add-from-pm <pm_repo_path> [-r <repository>]

Make the daemon aware of a specific pm-built repository

Positional Arguments:
  pm_repo_path      path to the pm-built package repository.

Options:


  -r, --repository  repositories will be named `NAME`. Defaults to `devhost`.
  --help            display usage information

default


Usage: ffx repository default <command> [<args>]

Manage the default repository

Options:


  --help            display usage information

Commands:


  get               Get the default configured repository
  set               Set the default repository
  unset             Clears the default configured repository

Examples:
  For one-off overrides for the default use `--repository` option:
  
      $ ffx repository <subcommand> --repository <repository name> ...
  
  Or use the `--config` option:
  
      $ ffx --config repository.default=<repository name> repository <subcommand>

Notes:
  Manages the default configured repository for all operations. The default
  repository is designated by a `*` next to the name. This is an alias for the
  `repository.default` configuration key.

get


Usage: ffx repository default get

Get the default configured repository

Options:


  --help            display usage information

Notes:
  Returns the default configured repository from the 'User Configuration'.
  Returns an empty string if no default is configured.

set


Usage: ffx repository default set <name> [-l <level>] [-b <build-dir>]

Set the default repository

Positional Arguments:
  name              name of the repository

Options:


  -l, --level       config level, such as 'user', 'build', or 'global'
  -b, --build-dir   optional directory to associate the provided build config
  --help            display usage information

Examples:
  To set the default repository:
  
     $ ffx repository default set <repository name>
  
  To set the 'repository.default` key at the global configuration:
  
     $ ffx repository default set -l global <repository name>
  
  To specify a default repository for a specific build directory:
  
     $ ffx repository default set -l build -b ~/fuchsia/out <repository name>

Notes:
  Sets the `repository.default` configuration key. By default sets the key in
  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


Usage: ffx repository default unset [-l <level>] [-b <build-dir>]

Clears the default configured repository

Options:


  -l, --level       config level, such as 'user', 'build', or 'global'
  -b, --build-dir   optional directory to associate the provided build config
  --help            display usage information

Examples:
  To clear the default repository:
  
      $ ffx repository default unset
  
  To clear the `repository.default` key from global configuration:
  
      $ ffx repository default unset -l global
  
  To specify a specific build directory:
  
      $ ffx repository default unset -l build -b ~/fuchsia/out

Notes:
  Clears the `repository.default` configuration key. By default clears the
  'User Configuration'. Returns a warning if the key is already empty.

list


Usage: ffx repository list

List all repositories

Options:


  --help            display usage information

package


Usage: ffx repository package <command> [<args>]

List the packages inside a repository

Options:


  --help            display usage information

Commands:


  list              Inspect and manage package repositories
  show              Inspect content of a package

list


Usage: ffx repository package list [-r <repository>] [--full-hash] [--include-components <include-components>]

Inspect and manage package repositories

Options:


  -r, --repository  list packages from this repository.
  --full-hash       if true, package hashes will be displayed in full (i.e. not
                    truncated).
  --include-components
                    toggle whether components in each package will be fetched
                    and shown in the output table
  --help            display usage information

show


Usage: ffx repository package show <package> [-r <repository>] [--full-hash]

Inspect content of a package

Positional Arguments:
  package           list this package's contents.

Options:


  -r, --repository  list package contents from this repository.
  --full-hash       if true, package hashes will be displayed in full (i.e. not
                    truncated).
  --help            display usage information

remove


Usage: ffx repository remove <name>



Positional Arguments:
  name              name of the repository to remove.

Options:


  --help            display usage information

server


Usage: ffx repository server <command> [<args>]

Inspect and manage the repository server

Options:


  --help            display usage information

Commands:


  start             Starts the repository server
  stop              Stops the repository server

start


Usage: ffx repository server start

Starts the repository server

Options:


  --help            display usage information

stop


Usage: ffx repository server stop

Stops the repository server

Options:


  --help            display usage information

schema


Usage: ffx schema

Print out ffx schema

Options:


  --help            display usage information

scrutiny


Usage: ffx scrutiny <command> [<args>]

Audit the security of Fuchsia

Options:


  --help            display usage information

Commands:


  extract           Extracts common Fuchsia file types
  list              Lists properties about build artifacts
  shell             Launch the scrutiny shell
  verify            Verify the build

extract


Usage: ffx scrutiny extract <command> [<args>]

Extracts common Fuchsia file types

Options:


  --help            display usage information

Commands:


  blobfs            Extracts a Blobfs block file
  fvm               Extracts a FVM file
  package           Extracts a Fuchsia package from a Url
  zbi               Extracts the Zircon Boot Image

blobfs


Usage: ffx scrutiny extract blobfs <input> <output>

Extracts a Blobfs block file

Positional Arguments:
  input
  output

Options:


  --help            display usage information

Examples:
  To extract a Blobfs block file:
  
          $ffx scrutiny extract blobfs blob.blk /tmp/blobs

Notes:
  Extracts a blobfs block file to a specific directory.

fvm


Usage: ffx scrutiny extract fvm <input> <output>

Extracts a FVM file

Positional Arguments:
  input
  output

Options:


  --help            display usage information

Examples:
  To extract a FVM file:
  
          $ffx scrutiny extract fvm fvm.blk /tmp/fvm

Notes:
  Extracts a FVM to a specific directory.

package


Usage: ffx scrutiny extract package <url> <output>

Extracts a Fuchsia package from a Url

Positional Arguments:
  url
  output

Options:


  --help            display usage information

Examples:
  To extract a Fuchsia package from a url:
  
          $ffx scrutiny extract package fuchsia-pkg://fuchsia.com/foo /tmp/foo

Notes:
  Extracts a package to a specific directory.

zbi


Usage: ffx scrutiny extract zbi <input> <output>

Extracts the Zircon Boot Image

Positional Arguments:
  input
  output

Options:


  --help            display usage information

Examples:
  To extract a Zircon Boot Image:
  
          $ffx scrutiny extract zbi foo.zbi /tmp/foo

Notes:
  Extracts a ZBI to a specific directory.

list


Usage: ffx scrutiny list <command> [<args>]

Lists properties about build artifacts

Options:


  --help            display usage information

Commands:


  components        Lists all the components in the build
  package           Lists all the files in a package
  packages          Lists all the packages in the build

components


Usage: ffx scrutiny list components

Lists all the components in the build

Options:


  --help            display usage information

Examples:
  To list all the components in the build:
  
          $ffx scrutiny list components 

Notes:
  Lists all the components in the build in a json format.

package


Usage: ffx scrutiny list package <url>

Lists all the files in a package

Positional Arguments:
  url

Options:


  --help            display usage information

Examples:
  To list all the files in a package:
  
          $ffx scrutiny list package fuchsia-pkg://fuchsia.com/foo

Notes:
  Lists all the package contents in json format.

packages


Usage: ffx scrutiny list packages

Lists all the packages in the build

Options:


  --help            display usage information

Examples:
  To list all the packages in the build:
  
          $ffx scrutiny list packages

Notes:
  Lists all the packages in the build in a json format.

shell


Usage: ffx scrutiny shell [<command>] [-b <build>] [-s <script>] [-m <model>] [-l <log>] [-p <port>] [-v <verbosity>]

Launch the scrutiny shell

Positional Arguments:
  command

Options:


  -b, --build       set a custom path to the build directory
  -s, --script      run a file as a scrutiny script
  -m, --model       set a custom path to the data model
  -l, --log         set a custom path output log
  -p, --port        set a custom port to run scrutiny on
  -v, --verbosity   set the verbosity level of logging
  --help            display usage information

Examples:
  To start an interactive shell session:
  
      $ ffx scrutiny shell
  
  To run commands directly:
  
      $ ffx scrutiny shell components
      $ ffx scrutiny shell "search.packages --files fdio"
      

Notes:
  Launches an interactive scrutiny shell where scrutiny specific
  commands can be run. This will also launch a server on port 127.0.0.1:8080
  by default that provides visual auditing tools.
  
  Inside the shell run help for a full list of available commands. If you wish to
  integrate Scrutiny as part of a wider script check out the --script option.

verify


Usage: ffx scrutiny verify [--depfile <depfile>] [--stamp <stamp>] <command> [<args>]

Verify the build

Options:


  --depfile         path to depfile that gathers dependencies during execution.
  --stamp           path to stamp file to write to if and only if verification
                    succeeds.
  --help            display usage information

Commands:


  bootfs            Verifies list of files in bootfs embedded in ZBI image
                    against a golden file
  component-resolvers
                    Verifies that component configured to use custom component
                    resolvers are permitted by an allowlist.
  kernel-cmdline    Verifies that kernel commandline arguments match golden
                    files.
  route-sources     Verifies that routes to designated components are routed
                    from designated sources.
  routes            Verifies capability routes in the component tree
  static-pkgs       Check the static packages extracted from the ZBI against
                    golden files

bootfs


Usage: ffx scrutiny verify bootfs --zbi <zbi> [--golden <golden...>]

Verifies list of files in bootfs embedded in ZBI image against a golden file

Options:


  --zbi             path to ZBI image file that contains bootfs.
  --golden          path(s) to golden file(s) for verifying bootfs paths.
  --help            display usage information

Examples:
  To verify bootfs on your current build:
  
          $ ffx scrutiny verify bootfs --zbi path/to/image.zbi --golden path/to/bootfs_golden

Notes:
  Verifies all file paths in bootfs.

component-resolvers


Usage: ffx scrutiny verify component-resolvers --build-path <build-path> --repository-path <repository-path> --allowlist <allowlist>

Verifies that component configured to use custom component resolvers are permitted by an allowlist.

Options:


  --build-path      path to fuchsia build directory.
  --repository-path path to fuchsia packages TUF repository.
  --allowlist       path to allowlist file that specifies which components may
                    use particular custom component resolvers.
  --help            display usage information

Examples:
  To verify component resolvers on your current eng build:
  
          $ ffx scrutiny verify component-resolvers --build-path $(fx get-build-dir) --repository-path $(fx get-build-dir)/amber-files/repository --allowlist path/to/allowlist.json5

Notes:
  Verifies all components that use a custom component resolver.

kernel-cmdline


Usage: ffx scrutiny verify kernel-cmdline --zbi <zbi> [--golden <golden...>]

Verifies that kernel commandline arguments match golden files.

Options:


  --zbi             path to ZBI image to be verified.
  --golden          path(s) to golden files to compare against during
                    verification.
  --help            display usage information

Examples:
  To verify kernel cmdline arguments on your current build:
  
          $ffx scrutiny verify kernel-cmdline --zbi path/to/image.zbi --golden path/to/golden

route-sources


Usage: ffx scrutiny verify route-sources --build-path <build-path> --repository-path <repository-path> --zbi <zbi> --blobfs-manifest <blobfs-manifest> --config <config>

Verifies that routes to designated components are routed from designated sources.

Options:


  --build-path      path to root output directory of build.
  --repository-path path to fuchsia packages TUF repository.
  --zbi             path to ZBI image to be verified.
  --blobfs-manifest path to blobfs manifest file generated by the build.
  --config          path to configuration file that specifies components and
                    their expected route sources.
  --help            display usage information

Examples:
  To verify route sources according to a configuration file on your current build:
  
          $ ffx scrutiny verify route-sources
              --build-path $(fx get-build-dir) --zbi path/to/image.zbi --blobfs-manifest path/to/blob.manifest --config path/to/verify_route_sources_config.json

routes


Usage: ffx scrutiny verify routes [--capability-type <capability-type...>] [--response-level <response-level>] --build-path <build-path> --repository-path <repository-path> [--allowlist <allowlist...>] [--component-tree-config <component-tree-config>]

Verifies capability routes in the component tree

Options:


  --capability-type capability types to verify.
  --response-level  response level to report from routes scrutiny plugin.
  --build-path      path to root output directory of build.
  --repository-path path to TUF repository that serves fuchsia packages as
                    targets.
  --allowlist       path(s) to allowlist(s) used to verify routes.
  --component-tree-config
                    path to component tree configuration file that affects how
                    component tree data is gathered.
  --help            display usage information

Examples:
  To verify routes on your current build:
  
          $ ffx scrutiny verify routes --build-path $(fx get-build-dir) --repository-path $(fx get-build-dir)/amber-files/repository

static-pkgs


Usage: ffx scrutiny verify static-pkgs --build-path <build-path> --zbi <zbi> --blobfs-manifest <blobfs-manifest> [--golden <golden...>]

Check the static packages extracted from the ZBI against golden files

Options:


  --build-path      path to root output directory of build.
  --zbi             path to ZBI image generated from build.
  --blobfs-manifest path to blobfs manifest file generated by the build.
  --golden          path(s) to golden file(s) used to verify routes.
  --help            display usage information

Examples:
  To verify static packages on your current build:
  
          $ ffx scrutiny verify static-pkgs --build-path $(fx get-build-dir) --blobfs-manifest path/to/blob.manifest --golden path/to/golden

sdk


Usage: ffx sdk <command> [<args>]

Modify or query the installed SDKs

Options:


  --help            display usage information

Commands:


  version           Retrieve the version of the current SDK
  set               Set sdk-related configuration options
  list              List various metadata about the SDK

list


Usage: ffx sdk list <command> [<args>]

List various metadata about the SDK

Options:


  --help            display usage information

Commands:



set


Usage: ffx sdk set <command> [<args>]

Set sdk-related configuration options

Options:


  --help            display usage information

Commands:


  root              Sets the path to the root of the preferred SDK

root


Usage: ffx sdk set root <path>

Sets the path to the root of the preferred SDK

Positional Arguments:
  path              path to the sdk root

Options:


  --help            display usage information

version


Usage: ffx sdk version

Retrieve the version of the current SDK

Options:


  --help            display usage information

self-test


Usage: ffx self-test [--timeout <timeout>] [--case-timeout <case-timeout>] [--include-target <include-target>] [--filter <filter>] [<command>] [<args>]

Execute the ffx self-test (e2e) suite

Options:


  --timeout         maximum runtime of entire test suite in seconds
  --case-timeout    maximum run time of a single test case in seconds
  --include-target  include target interaction tests
  --filter          filter test cases
  --help            display usage information

Commands:


  experiment        A fake experiment for the ffx self-test (e2e) suite

experiment


Usage: ffx self-test experiment

A fake experiment for the ffx self-test (e2e) suite

Options:


  --help            display usage information

session


Usage: ffx session <command> [<args>]

Control the current session. See https://fuchsia.dev/fuchsia-src/concepts/session/introduction for details.

Options:


  --help            display usage information

Commands:


  add               Add an element to the current session
  launch            Launch a session
  restart           Restart the current session. See
                    https://fuchsia.dev/fuchsia-src/concepts/session/introduction
                    for details.
  show              Show information about the current session

add


Usage: ffx session add <url> [<args...>]

Add an element to the current session

Positional Arguments:
  url               component URL for the element to add
  args              arguments passed to the element

Options:


  --help            display usage information

Examples:
  To add the bouncing_ball.cm component as an element:
  
      $ ffx session add fuchsia-pkg://fuchsia.com/bouncing_ball#meta/bouncing_ball.cm
  
  To pass arguments to a legacy (cmx) component, specify them after the component URL:
  
      $ ffx session add fuchsia-pkg://fuchsia.com/spinning-square-rs#meta/spinning-square-rs.cmx foo --bar=baz
  
  Arguments are not supported for modern (cm) components.

launch


Usage: ffx session launch <url>

Launch a session

Positional Arguments:
  url               the component URL of a session.

Options:


  --help            display usage information

Examples:
  To use the tiling session manager:
  
         $ fx set workstation.x64 --with //src/session/examples/tiles-session:packages
  
         $ ffx session launch fuchsia-pkg://fuchsia.com/tiles-session-routing#meta/tiles-session-routing.cm
  
  This will launch the tiling session manager if a session is not already active. For a detailed explanation of sessions, see https://fuchsia.dev/fuchsia-src/concepts/session/introduction
  

restart


Usage: ffx session restart

Restart the current session. See https://fuchsia.dev/fuchsia-src/concepts/session/introduction for details.

Options:


  --help            display usage information

show


Usage: ffx session show

Show information about the current session

Options:


  --help            display usage information

setui


Usage: ffx setui <command> [<args>]

Modify and query settings.

Options:


  --help            display usage information

Commands:


  accessibility     watch or set accessibility settings
  audio             get or set audio settings
  display           get or set display settings
  do_not_disturb    get or set DnD settings
  factory_reset     get or set factory reset settings
  input             get or set input settings
  input2            get or set input settings
  intl              get or set internationalization settings
  keyboard          get or set keyboard settings
  light             get or set light settings
  night_mode        get or set night mode settings
  privacy           get or set privacy settings
  setup             get or set setup settings
  volume_policy     read or configure volume policy

accessibility


Usage: ffx setui accessibility <command> [<args>]

watch or set accessibility settings

Options:


  --help            display usage information

Commands:


  add-caption       add caption options, the configuration for which sources get
                    closed caption and how they look
  set               set other accessibility options
  watch             watch current accessibility settings

add-caption


Usage: ffx setui accessibility add-caption [-m <for-media>] [-t <for-tts>] [-w <window-color>] [-b <background-color>] [-f <font-family>] [-c <font-color>] [-r <relative-size>] [-e <char-edge-style>]

add caption options, the configuration for which sources get closed caption and how they look

Options:


  -m, --for-media   enable closed captions for media sources of audio
  -t, --for-tts     enable closed captions for Text-To-Speech sources of audio
  -w, --window-color
                    border color used around the closed captions window. Valid
                    options are red, green, and blue
  -b, --background-color
                    border color used around the closed captions window. Valid
                    options are red, green, and blue
  -f, --font-family font family for captions as specified by 47 CFR §79.102(k).
                    Valid options are unknown, monospaced_serif,
                    proportional_serif, monospaced_sans_serif,
                    proportional_sans_serif, casual, cursive, and small_capitals
  -c, --font-color  color of the closed caption text. Valid options are red,
                    green, and blue
  -r, --relative-size
                    size of closed captions text relative to the default
                    captions size, specified in the range [0.5, 2] as per 47 CFR
                    §79.103(c)(4)
  -e, --char-edge-style
                    edge style for fonts as specified in 47 CFR §79.103(c)(7).
                    Valid options are none, drop_shadow, raised, depressed,
                    outline
  --help            display usage information

set


Usage: ffx setui accessibility set [-a <audio-description>] [-s <screen-reader>] [-i <color-inversion>] [-m <enable-magnification>] [-c <color-correction>]

set other accessibility options

Options:


  -a, --audio-description
                    when set to 'true', will turn on an audio track for videos
                    that includes a description of what is occurring in the
                    video
  -s, --screen-reader
                    when set to 'true', will read aloud elements of the screen
                    selected by the user
  -i, --color-inversion
                    when set to 'true', will invert the colors on the screen
  -m, --enable-magnification
                    when set to 'true', will interpret triple-taps on the
                    touchscreen as a command to zoom in
  -c, --color-correction
                    configures the type of color-blindness to correct for. Valid
                    options are none, protanomaly, deuteranomaly, and
                    tritanomaly
  --help            display usage information

watch


Usage: ffx setui accessibility watch

watch current accessibility settings

Options:


  --help            display usage information

audio


Usage: ffx setui audio [-t <stream>] [-s <source>] [-l <level>] [-v <volume-muted>] [-m <input-muted>]

get or set audio settings

Options:


  -t, --stream      which stream should be modified. Valid options are
                    background, media, interruption, system_agent, and
                    communication
  -s, --source      which source is changing the stream. Valid options are user,
                    system, and system_with_feedback
  -l, --level       the volume level specified as a float in the range [0, 1]
  -v, --volume-muted
                    whether or not the volume is muted
  -m, --input-muted whether or not the input, e.g. microphone, is muted
  --help            display usage information

display


Usage: ffx setui display [-b <brightness>] [-o <auto-brightness-level>] [-a <auto-brightness>] [-m <low-light-mode>] [-t <theme>] [-s <screen-enabled>]

get or set display settings

Options:


  -b, --brightness  the brightness value specified as a float in the range [0,
                    1]
  -o, --auto-brightness-level
                    the brightness values used to control auto brightness as a
                    float in the range [0, 1]
  -a, --auto-brightness
                    when set to 'true', enables auto brightness
  -m, --low-light-mode
                    which low light mode setting to enable. Valid options are
                    enable, disable, and disable_immediately
  -t, --theme       which theme to set for the device. Valid options are
                    default, dark, light, darkauto, and lightauto
  -s, --screen-enabled
                    when set to 'true' the screen is enabled
  --help            display usage information

do_not_disturb


Usage: ffx setui do_not_disturb [-u <user-dnd>] [-n <night-mode-dnd>]

get or set DnD settings

Options:


  -u, --user-dnd    when set to 'true', allows the device to enter do not
                    disturb mode
  -n, --night-mode-dnd
                    when set to 'true', forces the device into do not disturb
                    mode
  --help            display usage information

factory_reset


Usage: ffx setui factory_reset [-l <is-local-reset-allowed>]

get or set factory reset settings

Options:


  -l, --is-local-reset-allowed
                    when set to 'true', factory reset can be performed on the
                    device
  --help            display usage information

input


Usage: ffx setui input [-t <device-type>] [-n <name>] [-s <state>]

get or set input settings

Options:


  -t, --device-type the type of input device. Valid options are camera and
                    microphone
  -n, --name        the name of the device. Must be unique within a device type
  -s, --state       the device state flags, pass a comma separated string of the
                    values available, active, muted, disabled and error. E.g.
                    "-s available,active"
  --help            display usage information

input2


Usage: ffx setui input2 [-t <device-type>] [-n <name>] [-s <state>]

get or set input settings

Options:


  -t, --device-type the type of input device. Valid options are camera and
                    microphone
  -n, --name        the name of the device. Must be unique within a device type
  -s, --state       the device state flags, pass a comma separated string of the
                    values available, active, muted, disabled and error. E.g.
                    "-s available,active"
  --help            display usage information

intl


Usage: ffx setui intl [-z <time-zone>] [-u <temperature-unit>] [-l <locales...>] [-h <hour-cycle>] [--clear-locales]

get or set internationalization settings

Options:


  -z, --time-zone   a valid timezone matching the data available at
                    https://www.iana.org/time-zones
  -u, --temperature-unit
                    the unit to use for temperature. Valid options are celsius
                    and fahrenheit
  -l, --locales     list of locales, separated by spaces, formatted by Unicode
                    BCP-47 Locale Identifier, e.g. en-us
  -h, --hour-cycle  the hour cycle to use. Valid options are h11 for 12-hour
                    clock with 0:10 am after midnight, h12 for 12-hour clock
                    with 12:10am after midnight, h23 for 24-hour clock with 0:10
                    after midnight, and h24 for 24-hour clock with 24:10 after
                    midnight
  --clear-locales   if set, this flag will set locales as an empty list.
                    Overrides the locales arguments
  --help            display usage information

keyboard


Usage: ffx setui keyboard [-k <keymap>] [-d <autorepeat-delay>] [-p <autorepeat-period>]

get or set keyboard settings

Options:


  -k, --keymap      keymap selection for the keyboard. Valid options are
                    UsQwerty, FrAzerty, and UsDvorak.
  -d, --autorepeat-delay
                    delay value of autorepeat values for the keyboard. Values
                    should be a positive integer plus an SI time unit. Valid
                    units are s, ms. If this value and autorepeat_period are
                    zero, the autorepeat field of KeyboardSettings will be
                    cleaned as None.
  -p, --autorepeat-period
                    period value of autorepeat values for the keyboard. Values
                    should be a positive integer plus an SI time unit. Valid
                    units are s, ms. If this value and autorepeat_delay are
                    zero, the autorepeat field of KeyboardSettings will be
                    cleaned as None.
  --help            display usage information

light


Usage: ffx setui light [-n <name>] [-s <simple...>] [-b <brightness...>] [-r <rgb...>]

get or set light settings

Options:


  -n, --name        name of a light group to set values for. Required if setting
                    the value of a light group
  -s, --simple      repeated parameter for a list of simple on/off values to set
                    for a light group.
  -b, --brightness  repeated parameter for a list of floating point brightness
                    values in the range [0, 1] for a light group
  -r, --rgb         repeated parameter for a list of RGB values to set for a
                    light group. Values should be in the range [0, 1] and
                    specified as a comma-separated list of the red, green, and
                    blue components. Ex. 0.1,0.4,0.23
  --help            display usage information

night_mode


Usage: ffx setui night_mode [-n <night-mode-enabled>]

get or set night mode settings

Options:


  -n, --night-mode-enabled
                    when 'true', enables night mode
  --help            display usage information

privacy


Usage: ffx setui privacy [-u <user-data-sharing-consent>]

get or set privacy settings

Options:


  -u, --user-data-sharing-consent
                    when 'true', is considered to be user giving consent to have
                    their data shared with product owner, e.g. for metrics
                    collection and crash reporting
  --help            display usage information

setup


Usage: ffx setui setup [-i <interfaces>]

get or set setup settings

Options:


  -i, --interfaces  a supported group of interfaces, specified as a
                    comma-delimited string of the valid values eth and wifi,
                    e.g. "-i eth,wifi" or "-i wifi"
  --help            display usage information

volume_policy


Usage: ffx setui volume_policy <command> [<args>]

read or configure volume policy

Options:


  --help            display usage information

Commands:


  add               Adds a new volume policy.
  get               Get the current volume policy.
  remove            Remove a policy transform by its policy ID.

add


Usage: ffx setui volume_policy add <target> [--min <min>] [--max <max>]

Adds a new volume policy.

Positional Arguments:
  target            target stream to apply the policy transform to. Valid
                    options are (non-case sensitive): background, b; media, m;
                    interruption, i; system_agent, s; communication, c.

Options:


  --min             the minimum allowed value for the target
  --max             the maximum allowed value for the target
  --help            display usage information

get


Usage: ffx setui volume_policy get

Get the current volume policy.

Options:


  --help            display usage information

remove


Usage: ffx setui volume_policy remove -p <policy-id>

Remove a policy transform by its policy ID.

Options:


  -p, --policy-id   removes a policy transform by its policy ID.
  --help            display usage information

starnix


Usage: ffx starnix <command> [<args>]

Control starnix processes

Options:


  --help            display usage information

Commands:


  shell             Start a shell inside starnix
  start             Start a component inside starnix

shell


Usage: ffx starnix shell

Start a shell inside starnix

Options:


  --help            display usage information

Examples:
  To start a shell inside starnix:
  
      $ ffx starnix shell

start


Usage: ffx starnix start <url>

Start a component inside starnix

Positional Arguments:
  url

Options:


  --help            display usage information

Examples:
  To start a component inside starnix:
  
      $ ffx starnix start <url>

storage


Usage: ffx storage <command> [<args>]

Manage Fuchsia Filesystems

Options:


  --help            display usage information

Commands:


  blackout          Power failure testing for the filesystems

blackout


Usage: ffx storage blackout <command> [<args>]

Power failure testing for the filesystems

Options:


  --help            display usage information

Commands:


  integration       Run a blackout e2e integration test
  blobfs-checkerboard
                    Run a power-failure test on blobfs with a checkerboard load
                    pattern

blobfs-checkerboard


Usage: ffx storage blackout blobfs-checkerboard <block_device> [-s <seed>] [-r <relay>] [-i <iterations>] [-f]

Run a power-failure test on blobfs with a checkerboard load pattern

Positional Arguments:
  block_device      the block device on the target device to use for testing.
                    WARNING: the test can (and likely will!) format this device.
                    Don't use a main system partition!

Options:


  -s, --seed        a seed to use for all random operations. Tests are NOT
                    deterministic relative to the provided seed. The operations
                    will be identical, but because of the non-deterministic
                    timing-dependent nature of the tests, the exact time the
                    reboot is triggered in relation to the operations is not
                    guaranteed. One will be randomly generated if not provided.
                    When performing the same test multiple times in one run, a
                    new seed will be generated for each run if one was not
                    provided.
  -r, --relay       path to a power relay for cutting the power to a device.
                    Probably the highest-numbered /dev/ttyUSB[N]. If in doubt,
                    try removing it and seeing what disappears from /dev. When a
                    relay is provided, the harness automatically switches to use
                    hardware reboots.
  -i, --iterations  run the test N number of times, collecting statistics on the
                    number of failures.
  -f, --run-until-failure
                    run the test until a verification failure is detected, then
                    exit.
  --help            display usage information

integration


Usage: ffx storage blackout integration [--ghost]

Run a blackout e2e integration test

Options:


  --ghost           ghost arg, doesn't do anything. There doesn't seem to be a
                    way to have a subcommand with no options.
  --help            display usage information

target


Usage: ffx target <command> [<args>]

Interact with a target device or emulator

Options:


  --help            display usage information

Commands:


  add               Make the daemon aware of a specific target
  bootloader        Communicates with the bootloader
  clear-preferred-ssh-address
                    Clears a previously configured SSH address
  default           Manage the default target
  echo              run echo test against the target
  flash             Flash an image to a target device
  forward           Forward ports from a target
  get-ssh-address   Get the target's ssh address
  list              List all targets
  off               Powers off a target
  reboot            Reboots a target
  remove            Make the daemon forget a specific target
  repository        Interact with target repository registration
  set-preferred-ssh-address
                    Sets the preferred SSH address
  show              Display relevant information for the target
  snapshot          Takes a snapshot of the target's state
  update            Update base system software on target
  wait              Wait until able to establish a remote control connection to
                    the target.

Notes:
  The `target` subcommand contains various commands for target management
  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


Usage: ffx target add <addr> [-w]

Make the daemon aware of a specific target

Positional Arguments:
  addr              IP of the target.

Options:


  -w, --wait        determines whether to wait for the target after adding it.
                    This will verify whether o not an RCS connection can be
                    established.
  --help            display usage information

Examples:
  To add a remote target forwarded via ssh:
  
      $ ffx target add 127.0.0.1:8022
  
  Or to add a target using its IPV6:
  
      $ ffx target add fe80::32fd:38ff:fea8:a00a

Notes:
  Manually add a target based on its IP address. The command accepts IPV4
  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.

bootloader


Usage: ffx target bootloader [-m <manifest>] [-p <product>] [-b <product-bundle>] [--skip-verify] <command> [<args>]

Communicates with the bootloader

Options:


  -m, --manifest    path to flashing manifest or zip file containing images and
                    manifest
  -p, --product     product entry in manifest - defaults to `fuchsia`
  -b, --product-bundle
                    optional product bundle name
  --skip-verify     skip hardware verification.  This is dangerous, please be
                    sure the images you are using match the device
  --help            display usage information

Commands:


  lock              Locks a fastboot target.
  unlock            Unlocks a fastboot target.
  boot              RAM boots a fastboot target.
  info              Prints fastboot variables for target.

boot


Usage: ffx target bootloader boot [-z <zbi>] [-v <vbmeta>] [-s <slot>]

RAM boots a fastboot target.

Options:


  -z, --zbi         optional zbi image file path to use
  -v, --vbmeta      optional vbmeta image file path to use
  -s, --slot        slot corresponding to partitions in the flash manifest -
                    
only used if zbi and vbmeta files are not present
  --help            display usage information

info


Usage: ffx target bootloader info

Prints fastboot variables for target.

Options:


  --help            display usage information

lock


Usage: ffx target bootloader lock

Locks a fastboot target.

Options:


  --help            display usage information

unlock


Usage: ffx target bootloader unlock [-c <cred>] [--force]

Unlocks a fastboot target.

Options:


  -c, --cred        optional path to credential file to use to unlock the device
  --force           skips the warning message that this command is dangerous
  --help            display usage information

clear-preferred-ssh-address


Usage: ffx target clear-preferred-ssh-address

Clears a previously configured SSH address

Options:


  --help            display usage information

Notes:
  Clears a preferred SSH address that was set using the
  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


Usage: ffx target default <command> [<args>]

Manage the default target

Options:


  --help            display usage information

Commands:


  get               Get the default configured target
  set               Set the default target
  unset             Clears the default configured target

Examples:
  For one-off overrides for the default use `--target` option:
  
      $ ffx --target <target name> <subcommand>
  
  Or use the `--config` option:
  
      $ ffx --config target.default=<target name> <subcommand>

Notes:
  Manages the default configured target for all operations. The default
  target is designated by a `*` next to the name. This is an alias for the
  `target.default` configuration key.

get


Usage: ffx target default get

Get the default configured target

Options:


  --help            display usage information

Notes:
  Returns the default configured target from the 'User Configuration'.
  Returns an empty string if no default is configured.

set


Usage: ffx target default set <nodename> [-l <level>] [-b <build-dir>]

Set the default target

Positional Arguments:
  nodename          node name of the target

Options:


  -l, --level       config level, such as 'user', 'build', or 'global'
  -b, --build-dir   optional directory to associate the provided build config
  --help            display usage information

Examples:
  To set the default target:
  
     $ ffx target default set <target name>
  
  To set the 'target.default` key at the global configuration:
  
     $ ffx target default set -l global <target name>
  
  To specify a default target for a specific build directory:
  
     $ ffx target default set -l build -b ~/fuchsia/out <target name>

Notes:
  Sets the `target.default` configuration key. By default sets the key in
  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


Usage: ffx target default unset [-l <level>] [-b <build-dir>]

Clears the default configured target

Options:


  -l, --level       config level, such as 'user', 'build', or 'global'
  -b, --build-dir   optional directory to associate the provided build config
  --help            display usage information

Examples:
  To clear the default target:
  
      $ ffx target default unset
  
  To clear the `target.default` key from global configuration:
  
      $ ffx target default unset -l global
  
  To specify a specific build directory:
  
      $ ffx target default unset -l build -b ~/fuchsia/out

Notes:
  Clears the `target.default` configuration key. By default clears the
  'User Configuration'. Returns a warning if the key is already empty.

echo


Usage: ffx target echo [<text>]

run echo test against the target

Positional Arguments:
  text              text string to echo back and forth

Options:


  --help            display usage information

flash


Usage: ffx target flash [<manifest>] [-p <product>] [-b <product-bundle>] [--oem-stage <oem-stage...>] [--authorized-keys <authorized-keys>] [--no-bootloader-reboot] [--skip-verify]

Flash an image to a target device

Positional Arguments:
  manifest          path to flashing manifest or zip file containing images and
                    manifest

Options:


  -p, --product     product entry in manifest - defaults to `fuchsia`
  -b, --product-bundle
                    optional product bundle name
  --oem-stage       oem staged file - can be supplied multiple times
  --authorized-keys path to authorized keys file - will default to the `ssh.pub`
                    key in ffx config
  --no-bootloader-reboot
                    the device should not reboot after bootloader images are
                    flashed
  --skip-verify     skip hardware verification. This is dangerous, please be
                    sure the images you are flashing match the device
  --help            display usage information

Examples:
  To flash a specific image:
  
      $ ffx target flash $(fx get-build-dir)/flash.json --product fuchsia
  
  To include SSH keys as well:
  
      $ ffx target flash
      --authorized-keys ~/fuchsia/.ssh/authorized_keys
      $(fx get-build-dir)/flash.json
      --product fuchsia

Notes:
  Flashes an image to a target device using the fastboot protocol.
  Requires a specific <manifest> file and <product> 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 <manifest> format is a JSON file generated when building a fuchsia
  <product> 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>'

forward


Usage: ffx target forward <command> [<args>]

Forward ports from a target

Options:


  --help            display usage information

Commands:


  tcp               Forward a TCP port from the target to the host

tcp


Usage: ffx target forward tcp <host_address> <target_address>

Forward a TCP port from the target to the host

Positional Arguments:
  host_address
  target_address

Options:


  --help            display usage information

get-ssh-address


Usage: ffx target get-ssh-address [-t <timeout>]

Get the target's ssh address

Options:


  -t, --timeout     the timeout in seconds [default = 1.0]
  --help            display usage information

Notes:
  Return the SSH address of the default target defined in the
  `target.default` key. By default this comes from the 'User Configuration'.
  
  The command takes a <timeout> value in seconds with a default of `1.0`
  and overrides the value in the `target.interaction.timeout` key.

Error codes:
  1 Timeout while getting ssh address
  2 Unable to get ssh address from target

list


Usage: ffx target list [<nodename>] [-f <format>]

List all targets

Positional Arguments:
  nodename

Options:


  -f, --format      determines the output format for the list operation
  --help            display usage information

Examples:
  To list targets in short form:
  
      $ ffx target list --format s
      fe80::4415:3606:fb52:e2bc%zx-f80ff974f283 pecan-guru-clerk-rhyme
  
  To list targets with only their addresses:
  
      $ ffx target list --format a
      fe80::4415:3606:fb52:e2bc%zx-f80ff974f283

Notes:
  List all targets that the daemon currently has in memory. This includes
  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
  

Error codes:
  2 If a nodename is supplied, an error code of 2 will be returned if the nodename cannot be resolved

off


Usage: ffx target off

Powers off a target

Options:


  --help            display usage information

Notes:
  Power off a target. Uses the 'fuchsia.hardware.power.statecontrol.Admin'
  FIDL API to send the power off command.
  
  The 'fuchsia.hardware.power.statecontrol.Admin' is exposed via the 'appmgr'
  component. To verify that the target exposes this service, `ffx component
  select` or `ffx component knock` can be used.

Error codes:
  1 Timeout while powering off target.

reboot


Usage: ffx target reboot [-b] [-r]

Reboots a target

Options:


  -b, --bootloader  reboot to bootloader
  -r, --recovery    reboot to recovery
  --help            display usage information

Notes:
  Reboot a target. Uses the 'fuchsia.hardware.power.statecontrol.Admin'
  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.
  
  The 'fuchsia.hardware.power.statecontrol.Admin' is exposed via the 'appmgr'
  component. To verify that the target exposes this service, `ffx component
  select` or `ffx component knock` can be used.

Error codes:
  1 Timeout while powering off target.

remove


Usage: ffx target remove <id>

Make the daemon forget a specific target

Positional Arguments:
  id                name or IP of the target.

Options:


  --help            display usage information

Examples:
  To remove a target by its target name:
  
      $ ffx target remove correct-horse-battery-staple
  
  Or to remove a target using its IP address:
  
      $ ffx target remove fe80::32fd:38ff:fea8:a00a

Notes:
  IP addresses are matched by their full string representation.
  for best results, copy the exact address from ffx target list.

repository


Usage: ffx target repository <command> [<args>]

Interact with target repository registration

Options:


  --help            display usage information

Commands:


  deregister        Make the target forget a specific repository
  list              List all the repositories on a target
  register          Make the target aware of a specific repository

Notes:
  The `repository` subcommand contains various commands for repository management
      and interaction on targets.
  
      Most of the commands depend on the RCS (Remote Control Service) on the target.

deregister


Usage: ffx target repository deregister [-r <repository>]

Make the target forget a specific repository

Options:


  -r, --repository  remove the repository named `name` from the target, rather
                    than the default.
  --help            display usage information

list


Usage: ffx target repository list

List all the repositories on a target

Options:


  --help            display usage information

register


Usage: ffx target repository register [-r <repository>] [--storage-type <storage-type>] [--alias <alias...>]

Make the target aware of a specific repository

Options:


  -r, --repository  register this repository, rather than the default.
  --storage-type    enable persisting this repository across reboots.
  --alias           set up a rewrite rule mapping each `alias` host to to the
                    repository identified by `name`.
  --help            display usage information

set-preferred-ssh-address


Usage: ffx target set-preferred-ssh-address <addr>

Sets the preferred SSH address

Positional Arguments:
  addr              the SSH IP address to use. This must correspond to a known
                    address on the target.

Options:


  --help            display usage information

Examples:
  To set a preferred IPv4 SSH address:
  
      $ ffx target set-preferred-ssh-address 127.0.0.1
  
  Or to set a preferred IPv6 SSH address:
  
      $ ffx target set-preferred-ssh-addres fe80::32fd:38ff:fea8:a00a%qemu
  
  If provided, the scope may either correspond to the numerical ID or the
  interface name.

Notes:
  Manually set the preferred SSH address on the default target. If
  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


Usage: ffx target show [--desc] [--label] [--json] [--version]

Display relevant information for the target

Options:


  --desc            display descriptions of entries
  --label           display label of entries
  --json            formats output as json objects
  --version         display version
  --help            display usage information

Notes:
  Displays a detailed information about the target.
  
  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.

Error codes:
  1 Timeout retrieving target information.

snapshot


Usage: ffx target snapshot [-d <dir>] [--dump-annotations]

Takes a snapshot of the target's state

Options:


  -d, --dir         valid directory where the snapshot will be stored
  --dump-annotations
                    print annotations without capturing the snapshot, ignores
                    `dir` flag
  --help            display usage information

Examples:
  Store the target's snapshot in the current directory:
  
      $ ffx target snapshot -d .
      Exported ./snapshot.zip

Notes:
  This command connects to a running target to acquire its snapshot, which contains
  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

update


Usage: ffx target update <command> [<args>]

Update base system software on target

Options:


  --help            display usage information

Commands:


  channel           View and manage update channels
  check-now         Check and perform the system update operation
  force-install     Trigger the system updater manually

Notes:
  This command interfaces with system update services on the target.

channel


Usage: ffx target update channel <command> [<args>]

View and manage update channels

Options:


  --help            display usage information

Commands:


  get-current       Return the currently configured update channel
  get-next          Return the next or target update channel
  set               Sets the update channel
  list              List the known update channels

Notes:
  Channel management commands and operations. Interfaces directly with
  the 'fuchsia.update.channelcontrol.ChannelControl' service on the target
  system.

get-current

Usage: ffx target update channel get-current

Return the currently configured update channel

Options:


  --help            display usage information

Notes:
  For developer product configurations, this is by default 'devhost'.

Error codes:
  1 Timeout while getting update channel.

get-next

Usage: ffx target update channel get-next

Return the next or target update channel

Options:


  --help            display usage information

Notes:
  Returns the next or target channel. This differs from `get` when the
  next successful update changes the configured update channel on the
  system.

Error codes:
  1 Timeout while getting update channel.

list

Usage: ffx target update channel list

List the known update channels

Options:


  --help            display usage information

Notes:
  This lists all the known next or target update channels on the system.
  
  Returns an empty list if no other update channels are configured.

Error codes:
  1 Timeout while getting list of update channel.

set

Usage: ffx target update channel set <channel>

Sets the update channel

Positional Arguments:
  channel

Options:


  --help            display usage information

Examples:
  To list all the known update channels:
  
      $ ffx target update channel list
  
  Then, use a valid channel from the list:
  
      $ ffx target update channel set <channel>

Notes:
  Sets the next or target update channel on the device. When paired with
  `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.

Error codes:
  1 Timeout while setting update channel.

check-now


Usage: ffx target update check-now [--service-initiated] [--monitor]

Check and perform the system update operation

Options:


  --service-initiated
                    the update check was initiated by a service, in the
                    background.
  --monitor         monitor for state update.
  --help            display usage information

Examples:
  To check for update and monitor progress:
  
      $ ffx target update check-now --monitor

Notes:
  Triggers an update check operation and performs the update if available.
  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


Usage: ffx target update force-install <update_pkg_url> [--reboot <reboot>]

Trigger the system updater manually

Positional Arguments:
  update_pkg_url    the url of the update package describing the update to
                    install

Options:


  --reboot          automatically trigger a reboot into the new system
  --help            display usage information

Examples:
  With a known update package URL, trigger an update:
  
      $ ffx target update force-install fuchsia-pkg://fuchsia.com/update
  
  Also trigger a reboot after update:
  
      $ ffx target update force-install
      fuchsia-pkg://fuchsia.com/update
      --reboot

Notes:
  Directly invoke the system updater to install the provided update,
  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


Usage: ffx target wait [-t <timeout>]

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

Options:


  -t, --timeout     the timeout in seconds [default = 120]
  --help            display usage information

Error codes:
  1 Timeout while getting ssh address

test


Usage: ffx test <command> [<args>]

Run test suite

Options:


  --help            display usage information

Commands:


  run               Entry point for executing tests
  list-cases        List test suite cases
  result            Manage test results

Notes:
  Run tests or inspect output from a previous test run.

list-cases


Usage: ffx test list-cases <test_url>

List test suite cases

Positional Arguments:
  test_url          test url

Options:


  --help            display usage information

Notes:
  Lists the set of test cases available in a test suite

result


Usage: ffx test result <command> [<args>]

Manage test results

Options:


  --help            display usage information

Commands:


  show              Display test results
  list              List test results
  delete            Delete test results
  save              Save test results

Notes:
  Inspect and manage the results from previous test runs

delete


Usage: ffx test result delete [--index <index>] [--name <name>]

Delete test results

Options:


  --index           when set, display the results of a run with specified index.
  --name            when set, display the results of a run with specified name.
  --help            display usage information

Notes:
  Manually delete a previous test run result.
  
  Either --index or --name must be specified.

list


Usage: ffx test result list

List test results

Options:


  --help            display usage information

Notes:
  Display a list of previous test runs

save


Usage: ffx test result save --index <index> --name <name>

Save test results

Options:


  --index           the index of the test result to save.
  --name            the name to assign the saved test result.
  --help            display usage information

Notes:
  Mark a test result so it is not garbage collected.
  
  By default, ffx test only retains the last 'n' test results, as configured
  with 'test.save_count'. A test result saved and given a name using the save
  command will be exempted from this cleanup and will not be counted towards the
  total number of saved test results.

show


Usage: ffx test result show [--directory <directory>] [--index <index>] [--name <name>]

Display test results

Options:


  --directory       when set, display the results of the specified directory.
  --index           when set, display the results of a run with specified index.
  --name            when set, display the results of a run with specified name.
  --help            display usage information

Notes:
  Display the results of a previous test run.
  
  When no options are provided, displays the results of the most recent test run.
  

run


Usage: ffx test run [<test_args...>] [-t <timeout>] [--test-file <test-file>] [--test-filter <test-filter...>] [--run-disabled] [--filter-ansi] [--continue-on-timeout] [--stop-after-failures <stop-after-failures>] [--parallel <parallel>] [--count <count>] [--min-severity-logs <min-severity-logs>] [--max-severity-logs <max-severity-logs>] [--output-directory <output-directory>] [--disable-output-directory]

Entry point for executing tests

Positional Arguments:
  test_args         test url, and any arguments passed to tests, following `--`.
                    When --test-file is specified test_args should not be
                    specified.

Options:


  -t, --timeout     test timeout in seconds
  --test-file       read test url and options from the specified file instead of
                    from the command line. Stdin may be specified by passing
                    `--test-file -`. May not be used in conjunction with
                    `test_args`, `--test-file`, `--test-filter`,
                    `--run-disabled`, `--parallel`, `--max-severity-logs` This
                    option is currently unstable and the format of the file is
                    subject to change. For current details, see test-list.json
                    format at
                    https://fuchsia.googlesource.com/fuchsia/+/refs/heads/main/src/lib/testing/test_list/
  --test-filter     test filter. Glob pattern for matching tests. Can be
                    specified multiple times to pass in multiple patterns. Tests
                    may be excluded by prepending a '-' to the glob pattern.
                    example: --test-filter glob1 --test-filter glob2
                    --test-filter -glob3.
  --run-disabled    whether to also run tests that have been marked
                    disabled/ignored by the test author.
  --filter-ansi     whether to filter ANSI escape sequences from output
  --continue-on-timeout
                    continue running unfinished suites if a suite times out. By
                    default, unfinished suites are immediately terminated if a
                    suite times out. This option is only relevant when multiple
                    suites are run.
  --stop-after-failures
                    stop running unfinished suites after the number of provided
                    failures has occurred. By default, all suites are run to
                    completion if a suite fails.
  --parallel        run tests in parallel, up to the number provided.
  --count           number of times to run the test. By default run 1 time. If
                    an iteration of the test times out, no further iterations
                    are executed.
  --min-severity-logs
                    when set, only logs with a severity equal to the given one
                    or higher will be printed.
  --max-severity-logs
                    when set, the test will fail if any log with a higher
                    severity is emitted.
  --output-directory
                    when set, output test results to the specified directory.
  --disable-output-directory
                    when set, disables structured output to a directory.
  --help            display usage information

Notes:
  Runs test suites implementing the `fuchsia.test.Suite` protocol.
  
  Tests are specified either as a command line argument, or via JSON file.
  
  For example, when specifying a test via command line:
      ffx test run fuchsia-pkg://fuchsia.com/my_test#meta/my_test.cm
  When specifying a test via command line and passing arguments to the test:
      ffx test run fuchsia-pkg://fuchsia.com/my_test#meta/my_test.cm -- arg1 arg2
  
  Specifying tests via JSON file is currently unstable, but may be done with the
  --test-file option.
  
  Note that if running multiple iterations of a test and an iteration times
  out, no further iterations will be executed.

trace


Usage: ffx trace <command> [<args>]

Interact with the tracing subsystem.

Options:


  --help            display usage information

Commands:


  list-categories   List the target's known trace categories.
  list-providers    List the target's trace providers.
  start             Record a trace.
  stop              Stops an active running trace.
  status            Gets status of all running traces.

list-categories


Usage: ffx trace list-categories

List the target's known trace categories.

Options:


  --help            display usage information

list-providers


Usage: ffx trace list-providers

List the target's trace providers.

Options:


  --help            display usage information

start


Usage: ffx trace start [--buffering-mode <buffering-mode>] [--buffer-size <buffer-size>] [--categories <categories>] [--duration <duration>] [--output <output>] [--background] [--trigger <trigger...>]

Record a trace.

Options:


  --buffering-mode  the buffering to use on the trace. Defaults to "oneshot".
                    Accepted values are "oneshot," "circular," and "streaming."
  --buffer-size     size of per-provider trace buffer in MB.  Defaults to 4.
  --categories      comma-separated list of categories to enable.  Defaults to
                    "app,audio,benchmark,blobfs,gfx,input,kernel:meta,
                    kernel:sched,ledger,magma,minfs,modular,view,flutter,
                    dart,dart:compiler,dart:dart,dart:debugger,dart:embedder,
                    dart:gc,dart:isolate,dart:profiler,dart:vm"
  --duration        duration of trace capture in seconds.
  --output          name of output trace file.  Defaults to trace.fxt.
  --background      whether to run the trace in the background. Defaults to
                    false, which means the trace will run in "interactive" mode.
  --trigger         a trigger consists of an alert leading to an action. An
                    alert is written into the code being traced, and an action
                    here is what to do when the alert has happened. The list of
                    supported actions are: 'terminate'. The expected format is
                    "<alert>:<action>" ex:   -trigger "my_alert:terminate" This
                    can be used with a duration, but keep in mind that this
                    introduces a race between whether the alert leads to an
                    action, and when the trace stops from the duration being
                    reached. Triggers can only be used in the background outside
                    of interactive mode.
  --help            display usage information

status


Usage: ffx trace status

Gets status of all running traces.

Options:


  --help            display usage information

stop


Usage: ffx trace stop [--output <output>]

Stops an active running trace.

Options:


  --output          name of output trace file. Relative or absolute paths are
                    both supported. If this is not supplied (the default), then
                    the default target will be used as the method to stop the
                    trace.
  --help            display usage information

triage


Usage: ffx triage [--config <config...>] [--data <data>] [--tag <tag...>] [--exclude-tag <exclude-tag...>]

Analyze Logs and Inspect in snapshots to find problems.

Options:


  --config          path to config file or dir
  --data            path to snapshot.zip or uncompressed dir
  --tag             adds an action tags to include
  --exclude-tag     adds an action tags to exclude
  --help            display usage information

version


Usage: ffx version [-v]

Print out ffx tool and daemon versions

Options:


  -v, --verbose     if true, includes details about both ffx and the daemon
  --help            display usage information

wlan


Usage: ffx wlan <command> [<args>]

Developer tool for manipulating WLAN state.

Options:


  --help            display usage information

Commands:


  ap                Controls WLAN AP policy API.
  client            Controls WLAN client policy API.
  deprecated        Controls to-be-deleted WLAN functionality.
  dev               Warning: this tool may cause state mismatches between layers
                    of the WLAN
subsystem. It is intended for use by WLAN
                    developers only. Please reach out
to the WLAN team if your
                    use case relies on it.

To disable the WLAN policy
                    layer:

ffx wlan client stop
ffx wlan ap stop-all

To enable
                    WLAN policy layer and begin automated WLAN behavior:

ffx
                    wlan client start
ffx wlan ap start --ssid <SSID_HERE>

ap


Usage: ffx wlan ap <command> [<args>]

Controls WLAN AP policy API.

Options:


  --help            display usage information

Commands:


  listen            Listens for policy AP updates
  start             Start an access point interface
  stop              Stop an access point interface
  stop-all          Stops all active APs

listen


Usage: ffx wlan ap listen

Listens for policy AP updates

Options:


  --help            display usage information

Examples:
  To begin listening for AP events
  
      $ ffx wlan ap listen

start


Usage: ffx wlan ap start [--ssid <ssid>] [--security-type <security-type>] [--credential-type <credential-type>] [--credential <credential>]

Start an access point interface

Options:


  --ssid            WLAN network name
  --security-type   one of None, WEP, WPA, WPA2, WPA3
  --credential-type one of None, PSK, Password
  --credential      WLAN Password or PSK
  --help            display usage information

Examples:
  To start an AP
  
      $ffx wlan ap start
  
          --ssid TestNetwork
  
          --security-type wpa2
  
          --credential-type password
  
          --credential "Your very secure password here"

Notes:
  Only one application at a time can interact with the WLAN policy layer.

stop


Usage: ffx wlan ap stop [--ssid <ssid>] [--security-type <security-type>] [--credential-type <credential-type>] [--credential <credential>]

Stop an access point interface

Options:


  --ssid            WLAN network name
  --security-type   one of None, WEP, WPA, WPA2, WPA3
  --credential-type one of None, PSK, Password
  --credential      WLAN Password or PSK
  --help            display usage information

Examples:
  To stop an AP
  
      $ffx wlan ap stop
  
          --ssid TestNetwork
  
          --security-type wpa2
  
          --credential-type password
  
          --credential "Your very secure password here"

Notes:
  Only one application at a time can interact with the WLAN policy layer.

stop-all


Usage: ffx wlan ap stop-all

Stops all active APs

Options:


  --help            display usage information

Examples:
  To stop all APs
  
      $ ffx wlan ap stop-all

Notes:
  Only one application at a time can interact with the WLAN policy layer.

client


Usage: ffx wlan client <command> [<args>]

Controls WLAN client policy API.

Options:


  --help            display usage information

Commands:


  batch-config      Allows WLAN credentials to be extracted and restored.
  connect           Connect to the specified WLAN network
  listen            Listens for policy client connections updates
  list-saved-networks
                    Lists all networks saved by the WLAN policy layer.
  remove-network    WLAN policy network storage container
  save-network      WLAN policy network storage container
  scan              Scan for nearby WLAN networks.
  start             Allows wlancfg to automate WLAN client operation
  stop              Stops automated WLAN policy control of client interfaces
                    and
destroys all client interfaces.

batch-config


Usage: ffx wlan client batch-config <command> [<args>]

Allows WLAN credentials to be extracted and restored.

Options:


  --help            display usage information

Commands:


  dump              Extracts a structured representation of the device's saved
                    WLAN credentials.
  restore           Injects a structure representation of WLAN credentials into
                    a device.

dump

Usage: ffx wlan client batch-config dump

Extracts a structured representation of the device's saved WLAN credentials.

Options:


  --help            display usage information

Examples:
  To dump WLAN client configs
  
      $ ffx wlan client batch-config dump

Notes:
  Only one application at a time can interact with the WLAN policy layer.

restore

Usage: ffx wlan client batch-config restore <serialized_config>

Injects a structure representation of WLAN credentials into a device.

Positional Arguments:
  serialized_config structured representation of WLAN credentials.

Options:


  --help            display usage information

Examples:
  To restore WLAN client configs
  
      $ ffx wlan client batch-config restore <STRUCTURE_CONFIG_DATA>

Notes:
  Only one application at a time can interact with the WLAN policy layer.

connect


Usage: ffx wlan client connect [--ssid <ssid>] [--security-type <security-type>]

Connect to the specified WLAN network

Options:


  --ssid            WLAN network name
  --security-type   one of None, WEP, WPA, WPA2, WPA3
  --help            display usage information

Examples:
  To remove a WLAN network
  
      $ffx wlan client connect
  
          --ssid TestNetwork
  
          --security-type wpa2

Notes:
  Only one application at a time can interact with the WLAN policy layer.

list-saved-networks


Usage: ffx wlan client list-saved-networks

Lists all networks saved by the WLAN policy layer.

Options:


  --help            display usage information

Examples:
  To list saved networks
  
      $ ffx wlan client list-saved-networks

Notes:
  Only one application at a time can interact with the WLAN policy
  layer.

listen


Usage: ffx wlan client listen

Listens for policy client connections updates

Options:


  --help            display usage information

Examples:
  To begin listening for client events
  
      $ ffx wlan client listen

remove-network


Usage: ffx wlan client remove-network [--ssid <ssid>] [--security-type <security-type>] [--credential-type <credential-type>] [--credential <credential>]

WLAN policy network storage container

Options:


  --ssid            WLAN network name
  --security-type   one of None, WEP, WPA, WPA2, WPA3
  --credential-type one of None, PSK, Password
  --credential      WLAN Password or PSK
  --help            display usage information

Examples:
  To remove a WLAN network
  
      $ffx wlan client remove-network
  
          --ssid TestNetwork
  
          --security-type wpa2
  
          --credential-type password
  
          --credential "Your very secure password here"

Notes:
  Only one application at a time can interact with the WLAN policy layer.

save-network


Usage: ffx wlan client save-network [--ssid <ssid>] [--security-type <security-type>] [--credential-type <credential-type>] [--credential <credential>]

WLAN policy network storage container

Options:


  --ssid            WLAN network name
  --security-type   one of None, WEP, WPA, WPA2, WPA3
  --credential-type one of None, PSK, Password
  --credential      WLAN Password or PSK
  --help            display usage information

Examples:
  To save a WLAN network
  
      $ffx wlan client save-network
  
          --ssid TestNetwork
  
          --security-type wpa2
  
          --credential-type password
  
          --credential "Your very secure password here"

Notes:
  Only one application at a time can interact with the WLAN policy layer.

scan


Usage: ffx wlan client scan

Scan for nearby WLAN networks.

Options:


  --help            display usage information

Examples:
  To scan
  
      $ ffx wlan client scan

Notes:
  Only one application at a time can interact with the WLAN policy
  layer.

start


Usage: ffx wlan client start

Allows wlancfg to automate WLAN client operation

Options:


  --help            display usage information

Examples:
  To start client connections
  
      $ ffx wlan client start

Notes:
  Only one application at a time can interact with the WLAN policy
  layer.

stop


Usage: ffx wlan client stop

Stops automated WLAN policy control of client interfaces and
destroys all client interfaces.

Options:


  --help            display usage information

Examples:
  To stop client connections
  
      $ ffx wlan client stop

Notes:
  Only one application at a time can interact with the WLAN policy
  layer.

deprecated


Usage: ffx wlan deprecated <command> [<args>]

Controls to-be-deleted WLAN functionality.

Options:


  --help            display usage information

Commands:


  suggest-mac       Notifies WLAN policy of a MAC address that ought to be used
                    when creating new AP interfaces

suggest-mac


Usage: ffx wlan deprecated suggest-mac <mac>

Notifies WLAN policy of a MAC address that ought to be used when creating new AP interfaces

Positional Arguments:
  mac               WLAN MAC address

Options:


  --help            display usage information

Examples:
  To suggest an AP MAC address
  
      $ ffx wlan deprecated suggest-mac 01:02:03:04:05:06

dev


Usage: ffx wlan dev <command> [<args>]

Warning: this tool may cause state mismatches between layers of the WLAN
subsystem. It is intended for use by WLAN developers only. Please reach out
to the WLAN team if your use case relies on it.

To disable the WLAN policy layer:

ffx wlan client stop
ffx wlan ap stop-all

To enable WLAN policy layer and begin automated WLAN behavior:

ffx wlan client start
ffx wlan ap start --ssid <SSID_HERE>

Options:


  --help            display usage information

Commands:


  phy               Configure WLAN PHY device.
  iface             Create, destroy, and query the states of WLAN interfaces.
  client            Controls a WLAN client interface.
  ap                Controls a WLAN AP interface.
  mesh              Controls a WLAN mesh interface.

ap


Usage: ffx wlan dev ap <command> [<args>]

Controls a WLAN AP interface.

Options:


  --help            display usage information

Commands:


  start             Starts an AP interface.
  stop              Stops an AP interface.

start

Usage: ffx wlan dev ap start [-i <iface>] -s <ssid> [-p <password>] -c <channel>

Starts an AP interface.

Options:


  -i, --iface       interface ID to start AP on
  -s, --ssid        AP SSID
  -p, --password    AP password
  -c, --channel     channel to start AP on
  --help            display usage information

stop

Usage: ffx wlan dev ap stop [-i <iface>]

Stops an AP interface.

Options:


  -i, --iface       interface ID to stop AP on
  --help            display usage information

client


Usage: ffx wlan dev client <command> [<args>]

Controls a WLAN client interface.

Options:


  --help            display usage information

Commands:


  connect           Connects to the target network.
  scan              Scans for nearby networks.
  disconnect        Causes client to disconnect.
  wmm_status        Queries client WMM status.

connect

Usage: ffx wlan dev client connect <ssid> [-i <iface>] [-p <password>] [--hash <hash>] [-s <scan-type>]

Connects to the target network.

Positional Arguments:
  ssid              SSID of the target network. Connecting via only an SSID is
                    deprecated and will be removed; use `ffx wlan client`
                    instead.

Options:


  -i, --iface       iface ID to connect on.
  -p, --password    WPA2 PSK
  --hash            WPA2 PSK as hex string
  -s, --scan-type   determines the type of scan performed on non-DFS channels
                    when connecting.
  --help            display usage information

disconnect

Usage: ffx wlan dev client disconnect [-i <iface>]

Causes client to disconnect.

Options:


  -i, --iface       iface ID to disconnect.
  --help            display usage information

scan

Usage: ffx wlan dev client scan [-i <iface>] [-s <scan-type>]

Scans for nearby networks.

Options:


  -i, --iface       iface ID to scan on.
  -s, --scan-type   experimental. Default scan type on each channel. Behavior
                    may differ on DFS channel
  --help            display usage information

wmm_status

Usage: ffx wlan dev client wmm_status [-i <iface>]

Queries client WMM status.

Options:


  -i, --iface       iface ID to disconnect.
  --help            display usage information

iface


Usage: ffx wlan dev iface <command> [<args>]

Create, destroy, and query the states of WLAN interfaces.

Options:


  --help            display usage information

Commands:


  new               Create a new WLAN interface.
  del               Destroy a WLAN interface.
  list              Lists all interface IDs.
  query             Query the properties of a WLAN interface.
  stats             Query WLAN interface stats.
  minstrel          Query interface minstrel stats.
  status            Query status of the target interface.

del

Usage: ffx wlan dev iface del <iface_id>

Destroy a WLAN interface.

Positional Arguments:
  iface_id          interface ID to destroy.

Options:


  --help            display usage information

list

Usage: ffx wlan dev iface list

Lists all interface IDs.

Options:


  --help            display usage information

minstrel

Usage: ffx wlan dev iface minstrel <command> [<args>]

Query interface minstrel stats.

Options:


  --help            display usage information

Commands:


  list              List minstrel peers.
  show              Show stats for minstrel peers.

list

Usage: ffx wlan dev iface minstrel list [<iface_id>]

List minstrel peers.

Positional Arguments:
  iface_id          interface ID to query, if no ID is provided, all interfaces
                    are queried.

Options:


  --help            display usage information

show

Usage: ffx wlan dev iface minstrel show [-i <iface>] [-p <peer>]

Show stats for minstrel peers.

Options:


  -i, --iface       interface ID to query, if no ID is provided, all interfaces
                    are queried.
  -p, --peer        target peer address, if none is provided, all will be shown.
  --help            display usage information

new

Usage: ffx wlan dev iface new -p <phy> -r <role> [-m <sta-addr>]

Create a new WLAN interface.

Options:


  -p, --phy         PHY ID on which to create the interface.
  -r, --role        MAC role for the new interface.
  -m, --sta-addr    MAC address for the new interface.
  --help            display usage information

query

Usage: ffx wlan dev iface query <iface_id>

Query the properties of a WLAN interface.

Positional Arguments:
  iface_id          interface ID to query.

Options:


  --help            display usage information

stats

Usage: ffx wlan dev iface stats [<iface_id>]

Query WLAN interface stats.

Positional Arguments:
  iface_id          interface ID to display stats from, if no ID is provided,
                    all interfaces are queried.

Options:


  --help            display usage information

status

Usage: ffx wlan dev iface status [-i <iface>]

Query status of the target interface.

Options:


  -i, --iface       iface ID to query status on.
  --help            display usage information

mesh


Usage: ffx wlan dev mesh <command> [<args>]

Controls a WLAN mesh interface.

Options:


  --help            display usage information

Commands:


  join              Joins a mesh
  leave             Leaves a mesh
  paths             Retrieves mesh paths

join

Usage: ffx wlan dev mesh join [-i <iface>] -m <mesh-id> -c <channel>

Joins a mesh

Options:


  -i, --iface       interface ID to join mesh on
  -m, --mesh-id     WLAN mesh ID to join
  -c, --channel     channel to start AP on
  --help            display usage information

leave

Usage: ffx wlan dev mesh leave [-i <iface>]

Leaves a mesh

Options:


  -i, --iface       interface ID that should leave a mesh
  --help            display usage information

paths

Usage: ffx wlan dev mesh paths [-i <iface>]

Retrieves mesh paths

Options:


  -i, --iface       interface ID for which mesh paths will be queried
  --help            display usage information

phy


Usage: ffx wlan dev phy <command> [<args>]

Configure WLAN PHY device.

Options:


  --help            display usage information

Commands:


  list              List WLAN PHYs
  query             Query WLAN PHY properties by ID.
  get-country       Query PHY country code by ID.
  set-country       Set country code for target PHY.
  clear-country     Clear country code on target PHY.
  set-ps-mode       Sets the power save state of the target PHY.
  get-ps-mode       Query power save mode of target PHY.

clear-country

Usage: ffx wlan dev phy clear-country <phy_id>

Clear country code on target PHY.

Positional Arguments:
  phy_id            PHY ID where country code should be cleared.

Options:


  --help            display usage information

get-country

Usage: ffx wlan dev phy get-country <phy_id>

Query PHY country code by ID.

Positional Arguments:
  phy_id            PHY ID to query

Options:


  --help            display usage information

get-ps-mode

Usage: ffx wlan dev phy get-ps-mode <phy_id>

Query power save mode of target PHY.

Positional Arguments:
  phy_id            PHY ID on which power save mode should be set.

Options:


  --help            display usage information

list

Usage: ffx wlan dev phy list

List WLAN PHYs

Options:


  --help            display usage information

query

Usage: ffx wlan dev phy query <phy_id>

Query WLAN PHY properties by ID.

Positional Arguments:
  phy_id            PHY ID to query

Options:


  --help            display usage information

set-country

Usage: ffx wlan dev phy set-country <phy_id> <country>

Set country code for target PHY.

Positional Arguments:
  phy_id            PHY ID on which country code should be set.
  country           two-character country code to apply to target PHY.

Options:


  --help            display usage information

set-ps-mode

Usage: ffx wlan dev phy set-ps-mode <phy_id> <mode>

Sets the power save state of the target PHY.

Positional Arguments:
  phy_id            PHY ID on which power save mode should be set.
  mode              desired power save mode.

Options:


  --help            display usage information