frr-pimd

title: frr-pimd(8)

text:
# frr-pimd(8)

## NAME
frr-pimd - a PIM routing engine for use with FRRouting.

## SYNOPSIS
pimd [-h] [-v]

pimd [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z zclient-path] [-u user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]] [-N pathspace] [--vty_socket vty-path] [--moduledir module-path]

## DESCRIPTION
pimd is a routing component that works with the FRRouting routing engine.

## OPTIONS
OPTIONS available for the pimd command:

### HELP AND VERSION
-h, --help

Print a short description of the daemon's command line options.

-v, --version

Print version and build information for the daemon.

Both of these options inhibit normal operation and will immediately exit.

### PROCESS CONTROL
These options control background operation:

-d, --daemon

Launches the process in background/daemon mode, forking and detaching from the terminal.

The parent process will delay its exit until the daemon/child has finished its initialization and has entered its main loop. This is important for zebra startup because the other daemons will attempt to connect to zebra. A return from zebra -d guarantees its readiness to accept these connections.

-t, --terminal

Opens an interactive VTY session on the terminal, allowing for both state and configuration operations. Note that the terminal starts operating after startup has completed and the configuration file has been loaded. The process will exit when end of file is detected on the terminal. It is possible to daemonize a process started with -t (but without -d) by sending SIGQUIT to the process (normally mapped to a ^keypress.)

The combination of --daemon <#cmdoption-d> and --terminal <#cmdoption-t> will delay the daemon from going into background until the terminal session ends (by end of file.)

If the process receives SIGINT (e.g. a ^C keypress) in this mode, it will exit instead of daemonizing.

It is safe to suspend (SIGTSTP / ^Z) the terminal session opened by the previous two options; this will only stop the terminal but not the protocol daemon itself (which runs in a separate second process.)

### CONFIGURATION AND PATHS
The following options control configuration and file system locations for frr processes:

-f, --config_file config-file

Specify a configuration file to be used instead of the default /etc/frr/<daemon>.conf file. Note that the daemon will attempt to write to this file if the write file command is issued on its VTY interface or through vtysh.

-C, --dryrun

Load the configuration file and check its validity, then exit.

-i, --pid_file pid-file

Output a pid file to a location other than the default /var/run/frr/<daemon>.pid.

-z, --socket zclient-path

Override the path of the ZAPI socket used to communicate between zebra and the various protocol daemons. The default is /var/run/frr/zserv.api. The value of this option must be the same across all daemons.

-N, --pathspace pathspace

Insert pathspace into all default paths, changing the defaults to: /etc/frr/pathspace/<daemon>.conf /var/run/frr/pathspace/<daemon>.pid /var/run/frr/pathspace/<daemon>.vty /var/run/frr/pathspace/zserv.api

´.´ and ´/´ characters will not be accepted in pathspace, but the empty string will be accepted.

Note that this only changes the respective defaults, it has no effect on the respective path if the -f, -i, -z or --vty_socket options are used.

The purpose of this option is to easily group all file system related bits together for running multiple fully-separate "logical routers" on a system, particularly with Linux network namespaces. Groups of daemons running with distinct pathspace values will be completely unaware of each other and not interact in any way.

This option does not do any system setup (like network namespaces.) This must be done by the user, for example by running:

ip netns exec namespace <daemon> -N namespace

### PROCESS CREDENTIALS
-u, --user user

(default: frr)

-g, --group group

(default: frr) Change the user/group which the daemon will switch to.

-S, --skip_runas

Skip setting the process effective user and group.

Note that there is an additional group, frrvty, which controls group ownership of the VTY sockets. The name of this group cannot currently be changed, and user must be a member of this group.

### VTY SETUP
These following options control the daemon's VTY (interactive command line) interface. The interface is available over TCP, using the telnet protocol, as well as through the vtysh frontend.

-A, --vty_addr vty-addr

Specify an IP/IPv6 address to bind the TCP VTY interface to. It is generally recommended to specify ::1 or 127.0.0.1. For reasons of backwards compatibility, the default is to listen on all interfaces.

-P, --vty_port vty-port

Override the daemon's default TCP VTY port (each daemon has a different default value upwards of 2600, listed below.) Specifying 0 disables the TCP VTY interface. Default ports are::

```
zebra           2601
ripd            2602
ripngd          2603
ospfd           2604
bgpd            2605
ospf6d          2606
isisd           2608
babeld          2609
nhrpd           2610
pimd            2611
ldpd            2612
eigrpd          2613
pbrd            2615
staticd         2616
bfdd            2617
fabricd         2618
vrrpd           2619
```

Port 2607 is used for ospfd's Opaque LSA API.

--vty_socket vty-path

Overrides the directory used for the <daemon>.vty sockets. vtysh connects to these sockets in order to access each daemon's VTY. Default: /var/run/frr[/<pathspace>] NB: Unlike the other options, this option specifies a directory, not a full path.

This option is primarily used by the SNAP packaging system, its semantics may change. It should not be necessary in most other scenarios.

### MODULE LOADING
frr supports optional dynamically loadable modules, although these can only be loaded at startup. The set of available modules may vary across distributions and packages, and modules may be available for installation as separate packages.

-M, --module module[:options]

Load a module named module, optionally passing options to it. If there is a ´/´ character in module, the value is assumed to be a pathname to a module.

If there is no ´/´ character, the module directory (see next option) is searched first for a module named "<daemon>_<module>.so", then for "<module>.so". This allows for a module to exist in variations appropriate for particular daemons, e.g. zebra_snmp and bgp_snmp, with the correct one selected by -M snmp.

The meaning of options is specific to the module being loaded. Most modules currently ignore it.

Modules are loaded in the order as listed on the command line. This is not generally relevant.

--moduledir module-path

Look for modules in the module-path directory instead of the default /usr/lib/frr/modules. (This path is not affected by the -N option.)

The list of loaded modules can be inspected at runtime with the show modules VTY command.

## FILES
/usr/lib/frr/pimd

The default location of the pimd binary.

/etc/frr/pimd.conf

The default location of the pimd config file.

$(PWD)/pimd.log

If the pimd process is configured to output logs to a file, then you will find this file in the directory where you started pimd.

## WARNING
This man page is intended to be a quick reference for command line options. The definitive document is the info file frr 10.6.0 or the documentation available on the project website at <https://frrouting.org/>.

## DIAGNOSTICS
The daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. FRR supports many debugging options, see the Info file, web docs or source for details.

## SEE ALSO
frr-zebra(8), vtysh(1), frr-ripd(8), frr-ripngd(8), frr-ospfd(8), frr-ospf6d(8), frr-bgpd(8), frr-isisd(8), frr-babeld(8), frr-nhrpd(8), frr-pimd(8), frr-pbrd(8), frr-ldpd(8), frr-eigrpd(8), frr-staticd(8), frr-fabricd(8), frr-vrrpd(8), mtracebis(8) <https://frrouting.org/>

## BUGS
FRR eats bugs for breakfast. If you have food for the maintainers, please email <<dev@lists.frrouting.org>>.

## Copyright
2017, FRR


frr-ripd

package: frr

title: frr-ripd(8)

text:
# frr-ripd(8)

## NAME
frr-ripd - a RIP routing engine for use with FRRouting.

## SYNOPSIS
ripd [-h] [-v]

ripd [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z zclient-path] [-u user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]] [-N pathspace] [--vty_socket vty-path] [--moduledir module-path]

## DESCRIPTION
ripd is a routing component that works with the FRRouting routing engine.

## OPTIONS
OPTIONS available for the ripd command:

### HELP AND VERSION
-h, --help

Print a short description of the daemon's command line options.

-v, --version

Print version and build information for the daemon.

Both of these options inhibit normal operation and will immediately exit.

### PROCESS CONTROL
These options control background operation:

-d, --daemon

Launches the process in background/daemon mode, forking and detaching from the terminal.

The parent process will delay its exit until the daemon/child has finished its initialization and has entered its main loop. This is important for zebra startup because the other daemons will attempt to connect to zebra. A return from zebra -d guarantees its readiness to accept these connections.

-t, --terminal

Opens an interactive VTY session on the terminal, allowing for both state and configuration operations. Note that the terminal starts operating after startup has completed and the configuration file has been loaded. The process will exit when end of file is detected on the terminal. It is possible to daemonize a process started with -t (but without -d) by sending SIGQUIT to the process (normally mapped to a ^keypress.)

The combination of --daemon <#cmdoption-d> and --terminal <#cmdoption-t> will delay the daemon from going into background until the terminal session ends (by end of file.)

If the process receives SIGINT (e.g. a ^C keypress) in this mode, it will exit instead of daemonizing.

It is safe to suspend (SIGTSTP / ^Z) the terminal session opened by the previous two options; this will only stop the terminal but not the protocol daemon itself (which runs in a separate second process.)

### CONFIGURATION AND PATHS
The following options control configuration and file system locations for frr processes:

-f, --config_file config-file

Specify a configuration file to be used instead of the default /etc/frr/<daemon>.conf file. Note that the daemon will attempt to write to this file if the write file command is issued on its VTY interface or through vtysh.

-C, --dryrun

Load the configuration file and check its validity, then exit.

-i, --pid_file pid-file

Output a pid file to a location other than the default /var/run/frr/<daemon>.pid.

-z, --socket zclient-path

Override the path of the ZAPI socket used to communicate between zebra and the various protocol daemons. The default is /var/run/frr/zserv.api. The value of this option must be the same across all daemons.

-N, --pathspace pathspace

Insert pathspace into all default paths, changing the defaults to: /etc/frr/pathspace/<daemon>.conf /var/run/frr/pathspace/<daemon>.pid /var/run/frr/pathspace/<daemon>.vty /var/run/frr/pathspace/zserv.api

´.´ and ´/´ characters will not be accepted in pathspace, but the empty string will be accepted.

Note that this only changes the respective defaults, it has no effect on the respective path if the -f, -i, -z or --vty_socket options are used.

The purpose of this option is to easily group all file system related bits together for running multiple fully-separate "logical routers" on a system, particularly with Linux network namespaces. Groups of daemons running with distinct pathspace values will be completely unaware of each other and not interact in any way.

This option does not do any system setup (like network namespaces.) This must be done by the user, for example by running:

ip netns exec namespace <daemon> -N namespace

### PROCESS CREDENTIALS
-u, --user user

(default: frr)

-g, --group group

(default: frr) Change the user/group which the daemon will switch to.

-S, --skip_runas

Skip setting the process effective user and group.

Note that there is an additional group, frrvty, which controls group ownership of the VTY sockets. The name of this group cannot currently be changed, and user must be a member of this group.

### VTY SETUP
These following options control the daemon's VTY (interactive command line) interface. The interface is available over TCP, using the telnet protocol, as well as through the vtysh frontend.

-A, --vty_addr vty-addr

Specify an IP/IPv6 address to bind the TCP VTY interface to. It is generally recommended to specify ::1 or 127.0.0.1. For reasons of backwards compatibility, the default is to listen on all interfaces.

-P, --vty_port vty-port

Override the daemon's default TCP VTY port (each daemon has a different default value upwards of 2600, listed below.) Specifying 0 disables the TCP VTY interface. Default ports are::

```
zebra           2601
ripd            2602
ripngd          2603
ospfd           2604
bgpd            2605
ospf6d          2606
isisd           2608
babeld          2609
nhrpd           2610
pimd            2611
ldpd            2612
eigrpd          2613
pbrd            2615
staticd         2616
bfdd            2617
fabricd         2618
vrrpd           2619
```

Port 2607 is used for ospfd's Opaque LSA API.

--vty_socket vty-path

Overrides the directory used for the <daemon>.vty sockets. vtysh connects to these sockets in order to access each daemon's VTY. Default: /var/run/frr[/<pathspace>] NB: Unlike the other options, this option specifies a directory, not a full path.

This option is primarily used by the SNAP packaging system, its semantics may change. It should not be necessary in most other scenarios.

### MODULE LOADING
frr supports optional dynamically loadable modules, although these can only be loaded at startup. The set of available modules may vary across distributions and packages, and modules may be available for installation as separate packages.

-M, --module module[:options]

Load a module named module, optionally passing options to it. If there is a ´/´ character in module, the value is assumed to be a pathname to a module.

If there is no ´/´ character, the module directory (see next option) is searched first for a module named "<daemon>_<module>.so", then for "<module>.so". This allows for a module to exist in variations appropriate for particular daemons, e.g. zebra_snmp and bgp_snmp, with the correct one selected by -M snmp.

The meaning of options is specific to the module being loaded. Most modules currently ignore it.

Modules are loaded in the order as listed on the command line. This is not generally relevant.

--moduledir module-path

Look for modules in the module-path directory instead of the default /usr/lib/frr/modules. (This path is not affected by the -N option.)

The list of loaded modules can be inspected at runtime with the show modules VTY command.

## FILES
/usr/lib/frr/ripd

The default location of the ripd binary.

/etc/frr/ripd.conf

The default location of the ripd config file.

$(PWD)/ripd.log

If the ripd process is configured to output logs to a file, then you will find this file in the directory where you started ripd.

## WARNING
This man page is intended to be a quick reference for command line options. The definitive document is the info file frr 10.6.0 or the documentation available on the project website at <https://frrouting.org/>.

## DIAGNOSTICS
The daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. FRR supports many debugging options, see the Info file, web docs or source for details.

## SEE ALSO
frr-zebra(8), vtysh(1), frr-ripd(8), frr-ripngd(8), frr-ospfd(8), frr-ospf6d(8), frr-bgpd(8), frr-isisd(8), frr-babeld(8), frr-nhrpd(8), frr-pimd(8), frr-pbrd(8), frr-ldpd(8), frr-eigrpd(8), frr-staticd(8), frr-fabricd(8), frr-vrrpd(8), mtracebis(8) <https://frrouting.org/>

## BUGS
FRR eats bugs for breakfast. If you have food for the maintainers, please email <<dev@lists.frrouting.org>>.

## Copyright
2017, FRR

branch: sisyphus


frr-ripngd

title: frr-ripngd(8)

text:
# frr-ripngd(8)

## NAME
frr-ripngd - a RIPNG routing engine for use with FRRouting.

## SYNOPSIS
ripngd [-h] [-v]

ripngd [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z zclient-path] [-u user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]] [-N pathspace] [--vty_socket vty-path] [--moduledir module-path]

## DESCRIPTION
ripngd is a routing component that works with the FRRouting routing engine.

## OPTIONS
OPTIONS available for the ripngd command:

### HELP AND VERSION
-h, --help

Print a short description of the daemon's command line options.

-v, --version

Print version and build information for the daemon.

Both of these options inhibit normal operation and will immediately exit.

### PROCESS CONTROL
These options control background operation:

-d, --daemon

Launches the process in background/daemon mode, forking and detaching from the terminal.

The parent process will delay its exit until the daemon/child has finished its initialization and has entered its main loop. This is important for zebra startup because the other daemons will attempt to connect to zebra. A return from zebra -d guarantees its readiness to accept these connections.

-t, --terminal

Opens an interactive VTY session on the terminal, allowing for both state and configuration operations. Note that the terminal starts operating after startup has completed and the configuration file has been loaded. The process will exit when end of file is detected on the terminal. It is possible to daemonize a process started with -t (but without -d) by sending SIGQUIT to the process (normally mapped to a ^keypress.)

The combination of --daemon <#cmdoption-d> and --terminal <#cmdoption-t> will delay the daemon from going into background until the terminal session ends (by end of file.)

If the process receives SIGINT (e.g. a ^C keypress) in this mode, it will exit instead of daemonizing.

It is safe to suspend (SIGTSTP / ^Z) the terminal session opened by the previous two options; this will only stop the terminal but not the protocol daemon itself (which runs in a separate second process.)

### CONFIGURATION AND PATHS
The following options control configuration and file system locations for frr processes:

-f, --config_file config-file

Specify a configuration file to be used instead of the default /etc/frr/<daemon>.conf file. Note that the daemon will attempt to write to this file if the write file command is issued on its VTY interface or through vtysh.

-C, --dryrun

Load the configuration file and check its validity, then exit.

-i, --pid_file pid-file

Output a pid file to a location other than the default /var/run/frr/<daemon>.pid.

-z, --socket zclient-path

Override the path of the ZAPI socket used to communicate between zebra and the various protocol daemons. The default is /var/run/frr/zserv.api. The value of this option must be the same across all daemons.

-N, --pathspace pathspace

Insert pathspace into all default paths, changing the defaults to: /etc/frr/pathspace/<daemon>.conf /var/run/frr/pathspace/<daemon>.pid /var/run/frr/pathspace/<daemon>.vty /var/run/frr/pathspace/zserv.api

´.´ and ´/´ characters will not be accepted in pathspace, but the empty string will be accepted.

Note that this only changes the respective defaults, it has no effect on the respective path if the -f, -i, -z or --vty_socket options are used.

The purpose of this option is to easily group all file system related bits together for running multiple fully-separate "logical routers" on a system, particularly with Linux network namespaces. Groups of daemons running with distinct pathspace values will be completely unaware of each other and not interact in any way.

This option does not do any system setup (like network namespaces.) This must be done by the user, for example by running:

ip netns exec namespace <daemon> -N namespace

### PROCESS CREDENTIALS
-u, --user user

(default: frr)

-g, --group group

(default: frr) Change the user/group which the daemon will switch to.

-S, --skip_runas

Skip setting the process effective user and group.

Note that there is an additional group, frrvty, which controls group ownership of the VTY sockets. The name of this group cannot currently be changed, and user must be a member of this group.

### VTY SETUP
These following options control the daemon's VTY (interactive command line) interface. The interface is available over TCP, using the telnet protocol, as well as through the vtysh frontend.

-A, --vty_addr vty-addr

Specify an IP/IPv6 address to bind the TCP VTY interface to. It is generally recommended to specify ::1 or 127.0.0.1. For reasons of backwards compatibility, the default is to listen on all interfaces.

-P, --vty_port vty-port

Override the daemon's default TCP VTY port (each daemon has a different default value upwards of 2600, listed below.) Specifying 0 disables the TCP VTY interface. Default ports are::

```
zebra           2601
ripd            2602
ripngd          2603
ospfd           2604
bgpd            2605
ospf6d          2606
isisd           2608
babeld          2609
nhrpd           2610
pimd            2611
ldpd            2612
eigrpd          2613
pbrd            2615
staticd         2616
bfdd            2617
fabricd         2618
vrrpd           2619
```

Port 2607 is used for ospfd's Opaque LSA API.

--vty_socket vty-path

Overrides the directory used for the <daemon>.vty sockets. vtysh connects to these sockets in order to access each daemon's VTY. Default: /var/run/frr[/<pathspace>] NB: Unlike the other options, this option specifies a directory, not a full path.

This option is primarily used by the SNAP packaging system, its semantics may change. It should not be necessary in most other scenarios.

### MODULE LOADING
frr supports optional dynamically loadable modules, although these can only be loaded at startup. The set of available modules may vary across distributions and packages, and modules may be available for installation as separate packages.

-M, --module module[:options]

Load a module named module, optionally passing options to it. If there is a ´/´ character in module, the value is assumed to be a pathname to a module.

If there is no ´/´ character, the module directory (see next option) is searched first for a module named "<daemon>_<module>.so", then for "<module>.so". This allows for a module to exist in variations appropriate for particular daemons, e.g. zebra_snmp and bgp_snmp, with the correct one selected by -M snmp.

The meaning of options is specific to the module being loaded. Most modules currently ignore it.

Modules are loaded in the order as listed on the command line. This is not generally relevant.

--moduledir module-path

Look for modules in the module-path directory instead of the default /usr/lib/frr/modules. (This path is not affected by the -N option.)

The list of loaded modules can be inspected at runtime with the show modules VTY command.

## FILES
/usr/lib/frr/ripngd

The default location of the ripngd binary.

/etc/frr/ripngd.conf

The default location of the ripngd config file.

$(PWD)/ripngd.log

If the ripngd process is configured to output logs to a file, then you will find this file in the directory where you started ripngd.

## WARNING
This man page is intended to be a quick reference for command line options. The definitive document is the info file frr 10.6.0 or the documentation available on the project website at <https://frrouting.org/>.

## DIAGNOSTICS
The daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. FRR supports many debugging options, see the Info file, web docs or source for details.

## SEE ALSO
frr-zebra(8), vtysh(1), frr-ripd(8), frr-ripngd(8), frr-ospfd(8), frr-ospf6d(8), frr-bgpd(8), frr-isisd(8), frr-babeld(8), frr-nhrpd(8), frr-pimd(8), frr-pbrd(8), frr-ldpd(8), frr-eigrpd(8), frr-staticd(8), frr-fabricd(8), frr-vrrpd(8), mtracebis(8) <https://frrouting.org/>

## BUGS
FRR eats bugs for breakfast. If you have food for the maintainers, please email <<dev@lists.frrouting.org>>.

## Copyright
2017, FRR


frr-staticd

title: frr-staticd(8)

text:
# frr-staticd(8)

## NAME
frr-staticd - a static route manager routing engine for use with FRRouting.

## SYNOPSIS
staticd [-h] [-v]

staticd [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z zclient-path] [-u user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]] [-N pathspace] [--vty_socket vty-path] [--moduledir module-path]

## DESCRIPTION
staticd is a routing component that works with the FRRouting engine.

## OPTIONS
OPTIONS available for the staticd command:

### HELP AND VERSION
-h, --help

Print a short description of the daemon's command line options.

-v, --version

Print version and build information for the daemon.

Both of these options inhibit normal operation and will immediately exit.

### PROCESS CONTROL
These options control background operation:

-d, --daemon

Launches the process in background/daemon mode, forking and detaching from the terminal.

The parent process will delay its exit until the daemon/child has finished its initialization and has entered its main loop. This is important for zebra startup because the other daemons will attempt to connect to zebra. A return from zebra -d guarantees its readiness to accept these connections.

-t, --terminal

Opens an interactive VTY session on the terminal, allowing for both state and configuration operations. Note that the terminal starts operating after startup has completed and the configuration file has been loaded. The process will exit when end of file is detected on the terminal. It is possible to daemonize a process started with -t (but without -d) by sending SIGQUIT to the process (normally mapped to a ^keypress.)

The combination of --daemon <#cmdoption-d> and --terminal <#cmdoption-t> will delay the daemon from going into background until the terminal session ends (by end of file.)

If the process receives SIGINT (e.g. a ^C keypress) in this mode, it will exit instead of daemonizing.

It is safe to suspend (SIGTSTP / ^Z) the terminal session opened by the previous two options; this will only stop the terminal but not the protocol daemon itself (which runs in a separate second process.)

### CONFIGURATION AND PATHS
The following options control configuration and file system locations for frr processes:

-f, --config_file config-file

Specify a configuration file to be used instead of the default /etc/frr/<daemon>.conf file. Note that the daemon will attempt to write to this file if the write file command is issued on its VTY interface or through vtysh.

-C, --dryrun

Load the configuration file and check its validity, then exit.

-i, --pid_file pid-file

Output a pid file to a location other than the default /var/run/frr/<daemon>.pid.

-z, --socket zclient-path

Override the path of the ZAPI socket used to communicate between zebra and the various protocol daemons. The default is /var/run/frr/zserv.api. The value of this option must be the same across all daemons.

-N, --pathspace pathspace

Insert pathspace into all default paths, changing the defaults to: /etc/frr/pathspace/<daemon>.conf /var/run/frr/pathspace/<daemon>.pid /var/run/frr/pathspace/<daemon>.vty /var/run/frr/pathspace/zserv.api

´.´ and ´/´ characters will not be accepted in pathspace, but the empty string will be accepted.

Note that this only changes the respective defaults, it has no effect on the respective path if the -f, -i, -z or --vty_socket options are used.

The purpose of this option is to easily group all file system related bits together for running multiple fully-separate "logical routers" on a system, particularly with Linux network namespaces. Groups of daemons running with distinct pathspace values will be completely unaware of each other and not interact in any way.

This option does not do any system setup (like network namespaces.) This must be done by the user, for example by running:

ip netns exec namespace <daemon> -N namespace

### PROCESS CREDENTIALS
-u, --user user

(default: frr)

-g, --group group

(default: frr) Change the user/group which the daemon will switch to.

-S, --skip_runas

Skip setting the process effective user and group.

Note that there is an additional group, frrvty, which controls group ownership of the VTY sockets. The name of this group cannot currently be changed, and user must be a member of this group.

### VTY SETUP
These following options control the daemon's VTY (interactive command line) interface. The interface is available over TCP, using the telnet protocol, as well as through the vtysh frontend.

-A, --vty_addr vty-addr

Specify an IP/IPv6 address to bind the TCP VTY interface to. It is generally recommended to specify ::1 or 127.0.0.1. For reasons of backwards compatibility, the default is to listen on all interfaces.

-P, --vty_port vty-port

Override the daemon's default TCP VTY port (each daemon has a different default value upwards of 2600, listed below.) Specifying 0 disables the TCP VTY interface. Default ports are::

```
zebra           2601
ripd            2602
ripngd          2603
ospfd           2604
bgpd            2605
ospf6d          2606
isisd           2608
babeld          2609
nhrpd           2610
pimd            2611
ldpd            2612
eigrpd          2613
pbrd            2615
staticd         2616
bfdd            2617
fabricd         2618
vrrpd           2619
```

Port 2607 is used for ospfd's Opaque LSA API.

--vty_socket vty-path

Overrides the directory used for the <daemon>.vty sockets. vtysh connects to these sockets in order to access each daemon's VTY. Default: /var/run/frr[/<pathspace>] NB: Unlike the other options, this option specifies a directory, not a full path.

This option is primarily used by the SNAP packaging system, its semantics may change. It should not be necessary in most other scenarios.

### MODULE LOADING
frr supports optional dynamically loadable modules, although these can only be loaded at startup. The set of available modules may vary across distributions and packages, and modules may be available for installation as separate packages.

-M, --module module[:options]

Load a module named module, optionally passing options to it. If there is a ´/´ character in module, the value is assumed to be a pathname to a module.

If there is no ´/´ character, the module directory (see next option) is searched first for a module named "<daemon>_<module>.so", then for "<module>.so". This allows for a module to exist in variations appropriate for particular daemons, e.g. zebra_snmp and bgp_snmp, with the correct one selected by -M snmp.

The meaning of options is specific to the module being loaded. Most modules currently ignore it.

Modules are loaded in the order as listed on the command line. This is not generally relevant.

--moduledir module-path

Look for modules in the module-path directory instead of the default /usr/lib/frr/modules. (This path is not affected by the -N option.)

The list of loaded modules can be inspected at runtime with the show modules VTY command.

## FILES
/usr/lib/frr/staticd

The default location of the staticd binary.

/etc/frr/staticd.conf

The default location of the staticd config file.

$(PWD)/staticd.log

If the staticd process is configured to output logs to a file, then you will find this file in the directory where you started staticd.

## WARNING
This man page is intended to be a quick reference for command line options. The definitive document is the info file frr 10.6.0 or the documentation available on the project website at <https://frrouting.org/>.

## DIAGNOSTICS
The daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. FRR supports many debugging options, see the Info file, web docs or source for details.

## SEE ALSO
frr-zebra(8), vtysh(1), frr-ripd(8), frr-ripngd(8), frr-ospfd(8), frr-ospf6d(8), frr-bgpd(8), frr-isisd(8), frr-babeld(8), frr-nhrpd(8), frr-pimd(8), frr-pbrd(8), frr-ldpd(8), frr-eigrpd(8), frr-staticd(8), frr-fabricd(8), frr-vrrpd(8), mtracebis(8) <https://frrouting.org/>

## BUGS
FRR eats bugs for breakfast. If you have food for the maintainers, please email <<dev@lists.frrouting.org>>.

## Copyright
2017, FRR


frr-vrrpd

title: frr-vrrpd(8)

text:
# frr-vrrpd(8)

## NAME
frr-vrrpd - a VRRP routing engine for use with FRRouting.

## SYNOPSIS
vrrpd [-h] [-v]

vrrpd [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z zclient-path] [-u user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]] [-N pathspace] [--vty_socket vty-path] [--moduledir module-path]

## DESCRIPTION
vrrpd is a routing component that works with the FRRouting routing engine. It implements the Virtual Router Redundancy Protocol. Support for both VRRPv2 and VRRPv3 is present.

## OPTIONS
OPTIONS available for the vrrpd command:

### HELP AND VERSION
-h, --help

Print a short description of the daemon's command line options.

-v, --version

Print version and build information for the daemon.

Both of these options inhibit normal operation and will immediately exit.

### PROCESS CONTROL
These options control background operation:

-d, --daemon

Launches the process in background/daemon mode, forking and detaching from the terminal.

The parent process will delay its exit until the daemon/child has finished its initialization and has entered its main loop. This is important for zebra startup because the other daemons will attempt to connect to zebra. A return from zebra -d guarantees its readiness to accept these connections.

-t, --terminal

Opens an interactive VTY session on the terminal, allowing for both state and configuration operations. Note that the terminal starts operating after startup has completed and the configuration file has been loaded. The process will exit when end of file is detected on the terminal. It is possible to daemonize a process started with -t (but without -d) by sending SIGQUIT to the process (normally mapped to a ^keypress.)

The combination of --daemon <#cmdoption-d> and --terminal <#cmdoption-t> will delay the daemon from going into background until the terminal session ends (by end of file.)

If the process receives SIGINT (e.g. a ^C keypress) in this mode, it will exit instead of daemonizing.

It is safe to suspend (SIGTSTP / ^Z) the terminal session opened by the previous two options; this will only stop the terminal but not the protocol daemon itself (which runs in a separate second process.)

### CONFIGURATION AND PATHS
The following options control configuration and file system locations for frr processes:

-f, --config_file config-file

Specify a configuration file to be used instead of the default /etc/frr/<daemon>.conf file. Note that the daemon will attempt to write to this file if the write file command is issued on its VTY interface or through vtysh.

-C, --dryrun

Load the configuration file and check its validity, then exit.

-i, --pid_file pid-file

Output a pid file to a location other than the default /var/run/frr/<daemon>.pid.

-z, --socket zclient-path

Override the path of the ZAPI socket used to communicate between zebra and the various protocol daemons. The default is /var/run/frr/zserv.api. The value of this option must be the same across all daemons.

-N, --pathspace pathspace

Insert pathspace into all default paths, changing the defaults to: /etc/frr/pathspace/<daemon>.conf /var/run/frr/pathspace/<daemon>.pid /var/run/frr/pathspace/<daemon>.vty /var/run/frr/pathspace/zserv.api

´.´ and ´/´ characters will not be accepted in pathspace, but the empty string will be accepted.

Note that this only changes the respective defaults, it has no effect on the respective path if the -f, -i, -z or --vty_socket options are used.

The purpose of this option is to easily group all file system related bits together for running multiple fully-separate "logical routers" on a system, particularly with Linux network namespaces. Groups of daemons running with distinct pathspace values will be completely unaware of each other and not interact in any way.

This option does not do any system setup (like network namespaces.) This must be done by the user, for example by running:

ip netns exec namespace <daemon> -N namespace

### PROCESS CREDENTIALS
-u, --user user

(default: frr)

-g, --group group

(default: frr) Change the user/group which the daemon will switch to.

-S, --skip_runas

Skip setting the process effective user and group.

Note that there is an additional group, frrvty, which controls group ownership of the VTY sockets. The name of this group cannot currently be changed, and user must be a member of this group.

### VTY SETUP
These following options control the daemon's VTY (interactive command line) interface. The interface is available over TCP, using the telnet protocol, as well as through the vtysh frontend.

-A, --vty_addr vty-addr

Specify an IP/IPv6 address to bind the TCP VTY interface to. It is generally recommended to specify ::1 or 127.0.0.1. For reasons of backwards compatibility, the default is to listen on all interfaces.

-P, --vty_port vty-port

Override the daemon's default TCP VTY port (each daemon has a different default value upwards of 2600, listed below.) Specifying 0 disables the TCP VTY interface. Default ports are::

```
zebra           2601
ripd            2602
ripngd          2603
ospfd           2604
bgpd            2605
ospf6d          2606
isisd           2608
babeld          2609
nhrpd           2610
pimd            2611
ldpd            2612
eigrpd          2613
pbrd            2615
staticd         2616
bfdd            2617
fabricd         2618
vrrpd           2619
```

Port 2607 is used for ospfd's Opaque LSA API.

--vty_socket vty-path

Overrides the directory used for the <daemon>.vty sockets. vtysh connects to these sockets in order to access each daemon's VTY. Default: /var/run/frr[/<pathspace>] NB: Unlike the other options, this option specifies a directory, not a full path.

This option is primarily used by the SNAP packaging system, its semantics may change. It should not be necessary in most other scenarios.

### MODULE LOADING
frr supports optional dynamically loadable modules, although these can only be loaded at startup. The set of available modules may vary across distributions and packages, and modules may be available for installation as separate packages.

-M, --module module[:options]

Load a module named module, optionally passing options to it. If there is a ´/´ character in module, the value is assumed to be a pathname to a module.

If there is no ´/´ character, the module directory (see next option) is searched first for a module named "<daemon>_<module>.so", then for "<module>.so". This allows for a module to exist in variations appropriate for particular daemons, e.g. zebra_snmp and bgp_snmp, with the correct one selected by -M snmp.

The meaning of options is specific to the module being loaded. Most modules currently ignore it.

Modules are loaded in the order as listed on the command line. This is not generally relevant.

--moduledir module-path

Look for modules in the module-path directory instead of the default /usr/lib/frr/modules. (This path is not affected by the -N option.)

The list of loaded modules can be inspected at runtime with the show modules VTY command.

## FILES
/usr/lib/frr/vrrpd

The default location of the vrrpd binary.

/etc/frr/vrrpd.conf

The default location of the vrrpd config file.

$(PWD)/vrrpd.log

If the vrrpd process is configured to output logs to a file, then you will find this file in the directory where you started vrrpd.

## WARNING
This man page is intended to be a quick reference for command line options. The definitive document is the info file frr 10.6.0 or the documentation available on the project website at <https://frrouting.org/>.

## DIAGNOSTICS
The daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. FRR supports many debugging options, see the Info file, web docs or source for details.

## SEE ALSO
frr-zebra(8), vtysh(1), frr-ripd(8), frr-ripngd(8), frr-ospfd(8), frr-ospf6d(8), frr-bgpd(8), frr-isisd(8), frr-babeld(8), frr-nhrpd(8), frr-pimd(8), frr-pbrd(8), frr-ldpd(8), frr-eigrpd(8), frr-staticd(8), frr-fabricd(8), frr-vrrpd(8), mtracebis(8) <https://frrouting.org/>

## BUGS
FRR eats bugs for breakfast. If you have food for the maintainers, please email <<dev@lists.frrouting.org>>.

## Copyright
2017, FRR


frr-watchfrr

title: frr-watchfrr(8)

text:
# frr-watchfrr(8)

## NAME
frr-watchfrr - a program to monitor the status of FRRouting daemons

## SYNOPSIS
watchfrr [-h] [-v]

watchfrr [option...] <daemon>...

## DESCRIPTION
watchfrr is a watchdog program that monitors the status of supplied frr daemons and tries to restart them in case they become unresponsive or shut down.

To determine whether a daemon is running, it tries to connect to the daemon's VTY UNIX stream socket, and send echo commands to ensure the daemon responds. When the daemon crashes, EOF is received from the socket, so that watchfrr can react immediately.

In order to avoid restarting the daemons in quick succession, you can supply the -m and -M options to set the minimum and maximum delay between the restart commands. The minimum restart delay is recalculated each time a restart is attempted. If the time since the last restart attempt exceeds twice the value of -M, the restart delay is set to the value of -m, otherwise the interval is doubled (but capped at the value of -M).

## OPTIONS
--dry

Run watchfrr in "dry-run" mode, only monitoring the specified daemons but not performing any start/stop/restart actions.

-d, --daemon

Run in daemon mode. When supplied, error messages are sent to Syslog instead of standard output (stdout).

-S <directory>, --statedir <directory>

Set the VTY socket directory (the default value is "/var/run/frr").

-N <name>, --pathspace <name>

Insert the given name into paths used by the FRR daemons. This is appended to the VTY socket directory and passed to the daemons which also add it to their paths in /etc.

--netns[=<name>]

(Linux only.) Switch network namespaces when starting watchfrr. The name defaults to the value passed with -N (which it should be used in conjunction with.) If the name is not specified, the option has no effect. If the network namespace does not exist, it is created in a manner compatible with iproute2. Network namespaces are not removed by FRR, this must be done with "ip netns delete".

-l <level>, --loglevel <level>

Set the logging level (the default value is "6"). The value should range from 0 (LOG_EMERG) to 7 (LOG_DEBUG), but higher number can be supplied if extra debugging messages are required.

--min-restart-interval <number>

Set the minimum number of seconds to wait between invocations of the daemon restart commands (the default value is "60").

--max-restart-interval <number>

Set the maximum number of seconds to wait between invocations of the daemon restart commands (the default value is "600").

-i <number>, --interval <number>

Set the status polling interval in seconds (the default value is "5").

-t <number>, --timeout <number>

Set the unresponsiveness timeout in seconds (the default value is "10").

-T <number>, --restart-timeout <number>

Set the restart (kill) timeout in seconds (the default value is "20"). If any background jobs are still running after this period has elapsed, they will be killed.

-p <filename>, --pid-file <filename>

Set the process identifier filename (the default value is "/var/run/frr/watchfrr.pid").

-b <string>, --blank-string <string>

When the supplied string is found in any of the command line option arguments (i.e., -r, -s, or -k), replace it with a space. This is an ugly hack to circumvent problems with passing the command line arguments containing embedded spaces.

-v, --version

Display the version information and exit.

-h, --help

Display the usage information and exit.

The following 3 options specify scripts that watchfrr uses to perform start/stop/restart actions. Reasonable default values are built into watchfrr, so the use of these options should no longer be necessary:

-s command, --start-command command

Supply a Bourne shell command to start a single daemon. The command string should contain the '%s' placeholder to be substituted with the daemon name.

-k command, --kill-command command

Supply a Bourne shell command to stop a single daemon. The command string should contain the '%s' placeholder to be substituted with the daemon name.

-r command, --restart command

Supply a Bourne shell command to restart a single daemon. The command string should contain the '%s' placeholder to be substituted with the daemon name.

## PREVIOUS OPTIONS
Prior versions of watchfrr supported some additional options that no longer exist::

```
-a, -A, -e, -R, -z
```

The -a, -A and -R options were used to select alternate monitoring modes that offered different patterns of restarting daemons. The "correct" mode (phased restart) is now the default. The -e and -z options used to disable some monitoring aspects, watchfrr now always has all monitoring features enabled.

Removing these options should result in correct operation, if it does not please file a bug report.

## FILES
/usr/lib/frr/watchfrr

The default location of the watchfrr binary.

/etc/frr/watchfrr.conf

The default location of the watchfrr config file.

$(PWD)/watchfrr.log

If the watchfrr process is configured to output logs to a file, then you will find this file in the directory where you started watchfrr.

## WARNING
This man page is intended to be a quick reference for command line options. The definitive document is the info file frr 10.6.0 or the documentation available on the project website at <https://frrouting.org/>.

## DIAGNOSTICS
The daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. FRR supports many debugging options, see the Info file, web docs or source for details.

## SEE ALSO
frr-zebra(8), vtysh(1), frr-ripd(8), frr-ripngd(8), frr-ospfd(8), frr-ospf6d(8), frr-bgpd(8), frr-isisd(8), frr-babeld(8), frr-nhrpd(8), frr-pimd(8), frr-pbrd(8), frr-ldpd(8), frr-eigrpd(8), frr-staticd(8), frr-fabricd(8), frr-vrrpd(8), mtracebis(8) <https://frrouting.org/>

## BUGS
FRR eats bugs for breakfast. If you have food for the maintainers, please email <<dev@lists.frrouting.org>>.

## Copyright
2017, FRR


frr-zebra

title: frr-zebra(8)

text:
# frr-zebra(8)

## NAME
frr-zebra - a routing manager for use with associated FRRouting components.

## SYNOPSIS
zebra [-h] [-v]

zebra [-d|-t|-dt] [-C] [-f config-file] [-i pid-file] [-z zclient-path] [-u user] [-g group] [-A vty-addr] [-P vty-port] [-M module[:options]] [-N pathspace] [--vty_socket vty-path] [--moduledir module-path]

## DESCRIPTION
zebra is a routing manager that implements the zebra route engine. zebra supports all protocol daemons in the FRRouting suite.

## OPTIONS
OPTIONS available for the zebra command:

### HELP AND VERSION
-h, --help

Print a short description of the daemon's command line options.

-v, --version

Print version and build information for the daemon.

Both of these options inhibit normal operation and will immediately exit.

### PROCESS CONTROL
These options control background operation:

-d, --daemon

Launches the process in background/daemon mode, forking and detaching from the terminal.

The parent process will delay its exit until the daemon/child has finished its initialization and has entered its main loop. This is important for zebra startup because the other daemons will attempt to connect to zebra. A return from zebra -d guarantees its readiness to accept these connections.

-t, --terminal

Opens an interactive VTY session on the terminal, allowing for both state and configuration operations. Note that the terminal starts operating after startup has completed and the configuration file has been loaded. The process will exit when end of file is detected on the terminal. It is possible to daemonize a process started with -t (but without -d) by sending SIGQUIT to the process (normally mapped to a ^keypress.)

The combination of --daemon <#cmdoption-d> and --terminal <#cmdoption-t> will delay the daemon from going into background until the terminal session ends (by end of file.)

If the process receives SIGINT (e.g. a ^C keypress) in this mode, it will exit instead of daemonizing.

It is safe to suspend (SIGTSTP / ^Z) the terminal session opened by the previous two options; this will only stop the terminal but not the protocol daemon itself (which runs in a separate second process.)

### CONFIGURATION AND PATHS
The following options control configuration and file system locations for frr processes:

-f, --config_file config-file

Specify a configuration file to be used instead of the default /etc/frr/<daemon>.conf file. Note that the daemon will attempt to write to this file if the write file command is issued on its VTY interface or through vtysh.

-C, --dryrun

Load the configuration file and check its validity, then exit.

-i, --pid_file pid-file

Output a pid file to a location other than the default /var/run/frr/<daemon>.pid.

-z, --socket zclient-path

Override the path of the ZAPI socket used to communicate between zebra and the various protocol daemons. The default is /var/run/frr/zserv.api. The value of this option must be the same across all daemons.

-N, --pathspace pathspace

Insert pathspace into all default paths, changing the defaults to: /etc/frr/pathspace/<daemon>.conf /var/run/frr/pathspace/<daemon>.pid /var/run/frr/pathspace/<daemon>.vty /var/run/frr/pathspace/zserv.api

´.´ and ´/´ characters will not be accepted in pathspace, but the empty string will be accepted.

Note that this only changes the respective defaults, it has no effect on the respective path if the -f, -i, -z or --vty_socket options are used.

The purpose of this option is to easily group all file system related bits together for running multiple fully-separate "logical routers" on a system, particularly with Linux network namespaces. Groups of daemons running with distinct pathspace values will be completely unaware of each other and not interact in any way.

This option does not do any system setup (like network namespaces.) This must be done by the user, for example by running:

ip netns exec namespace <daemon> -N namespace

### PROCESS CREDENTIALS
-u, --user user

(default: frr)

-g, --group group

(default: frr) Change the user/group which the daemon will switch to.

-S, --skip_runas

Skip setting the process effective user and group.

Note that there is an additional group, frrvty, which controls group ownership of the VTY sockets. The name of this group cannot currently be changed, and user must be a member of this group.

### VTY SETUP
These following options control the daemon's VTY (interactive command line) interface. The interface is available over TCP, using the telnet protocol, as well as through the vtysh frontend.

-A, --vty_addr vty-addr

Specify an IP/IPv6 address to bind the TCP VTY interface to. It is generally recommended to specify ::1 or 127.0.0.1. For reasons of backwards compatibility, the default is to listen on all interfaces.

-P, --vty_port vty-port

Override the daemon's default TCP VTY port (each daemon has a different default value upwards of 2600, listed below.) Specifying 0 disables the TCP VTY interface. Default ports are::

```
zebra           2601
ripd            2602
ripngd          2603
ospfd           2604
bgpd            2605
ospf6d          2606
isisd           2608
babeld          2609
nhrpd           2610
pimd            2611
ldpd            2612
eigrpd          2613
pbrd            2615
staticd         2616
bfdd            2617
fabricd         2618
vrrpd           2619
```

Port 2607 is used for ospfd's Opaque LSA API.

--vty_socket vty-path

Overrides the directory used for the <daemon>.vty sockets. vtysh connects to these sockets in order to access each daemon's VTY. Default: /var/run/frr[/<pathspace>] NB: Unlike the other options, this option specifies a directory, not a full path.

This option is primarily used by the SNAP packaging system, its semantics may change. It should not be necessary in most other scenarios.

### MODULE LOADING
frr supports optional dynamically loadable modules, although these can only be loaded at startup. The set of available modules may vary across distributions and packages, and modules may be available for installation as separate packages.

-M, --module module[:options]

Load a module named module, optionally passing options to it. If there is a ´/´ character in module, the value is assumed to be a pathname to a module.

If there is no ´/´ character, the module directory (see next option) is searched first for a module named "<daemon>_<module>.so", then for "<module>.so". This allows for a module to exist in variations appropriate for particular daemons, e.g. zebra_snmp and bgp_snmp, with the correct one selected by -M snmp.

The meaning of options is specific to the module being loaded. Most modules currently ignore it.

Modules are loaded in the order as listed on the command line. This is not generally relevant.

--moduledir module-path

Look for modules in the module-path directory instead of the default /usr/lib/frr/modules. (This path is not affected by the -N option.)

The list of loaded modules can be inspected at runtime with the show modules VTY command.

-b, --batch

Runs in batch mode, zebra parses its config and exits.

-s, --nl-bufsize <netlink-buffer-size>

Set netlink receive buffer size. There are cases where zebra daemon can't handle flood of netlink messages from kernel. If you ever see "recvmsg overrun" messages in zebra log, you are in trouble. Solution is to increase receive buffer of netlink socket. Note that kernel < 2.6.14 doesn't allow increasing it over maximum value defined in /proc/sys/net/core/rmem_max. If you want to do it, you have to increase maximum before starting zebra.

Note that this affects Linux only.

-n, --vrfwnetns

Enable namespace VRF backend. By default, the VRF backend relies on VRF-lite support from the Linux kernel. This option permits discovering Linux named network namespaces and mapping it to FRR VRF contexts. This option is deprecated. Please use the global -w option instead.

### ROUTES
-r, --retain

When the program terminates, do not flush routes installed by zebra from the kernel.

-R, --routing-table <tableno>

Specify which kernel routing table Zebra should communicate with. If this option is not specified the default table (RT_TABLE_MAIN) is used.

## FILES
/usr/lib/frr/zebra

The default location of the zebra binary.

/etc/frr/zebra.conf

The default location of the zebra config file.

$(PWD)/zebra.log

If the zebra process is configured to output logs to a file, then you will find this file in the directory where you started zebra.

## WARNING
This man page is intended to be a quick reference for command line options. The definitive document is the info file frr 10.6.0 or the documentation available on the project website at <https://frrouting.org/>.

## DIAGNOSTICS
The daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. FRR supports many debugging options, see the Info file, web docs or source for details.

## SEE ALSO
frr-zebra(8), vtysh(1), frr-ripd(8), frr-ripngd(8), frr-ospfd(8), frr-ospf6d(8), frr-bgpd(8), frr-isisd(8), frr-babeld(8), frr-nhrpd(8), frr-pimd(8), frr-pbrd(8), frr-ldpd(8), frr-eigrpd(8), frr-staticd(8), frr-fabricd(8), frr-vrrpd(8), mtracebis(8) <https://frrouting.org/>

## BUGS
FRR eats bugs for breakfast. If you have food for the maintainers, please email <<dev@lists.frrouting.org>>.

## Copyright
2017, FRR


mtracebis

title: mtracebis(8)

summary: a multicast trace client

text:
# mtracebis(8)

## NAME
mtracebis - a multicast trace client

## SYNOPSIS
mtracebis [-h] [-v]

mtracebis <multicast source> [<multicast group>]

## DESCRIPTION
mtracebis is a program for initiating multicast traceroute, or "mtrace", queries.

It can initiate two types of mtrace queries: weak and group.

Weak tests whether the interfaces towards the source are multicast enabled and is initiated by supplying only the multicast source address.

Group tests whether there is multicast routing protocol state for particular multicast group and is initiated by supplying mutlicast source and group.

The first query sent is a full query, capable of crossing the network all the way to the source. If this fails, hop-by-hop queries are initiated.

Hop-by-hop queries start by requesting only a response from the nearest router. Following that, next query is extended to the next two routers, and so on... until a set of routers is tested for connectivity.

## FILES
/usr/lib/frr/mtracebis

The default location of the mtracebis binary.

## WARNING
This man page is intended to be a quick reference for command line options. The definitive document is the info file frr 10.6.0 or the documentation available on the project website at <https://frrouting.org/>.

## DIAGNOSTICS
The daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. FRR supports many debugging options, see the Info file, web docs or source for details.

## SEE ALSO
frr-zebra(8), vtysh(1), frr-ripd(8), frr-ripngd(8), frr-ospfd(8), frr-ospf6d(8), frr-bgpd(8), frr-isisd(8), frr-babeld(8), frr-nhrpd(8), frr-pimd(8), frr-pbrd(8), frr-ldpd(8), frr-eigrpd(8), frr-staticd(8), frr-fabricd(8), frr-vrrpd(8), mtracebis(8) <https://frrouting.org/>

## BUGS
FRR eats bugs for breakfast. If you have food for the maintainers, please email <<dev@lists.frrouting.org>>.

## AUTHORS
Mladen Sablic

## Copyright
2017, FRR


fsarchiver

package: fsarchiver

title: fsarchiver(8)

summary: filesystem archiver

text:
# fsarchiver(8)

## NAME
fsarchiver - filesystem archiver

## DESCRIPTION
fsarchiver is a system tool that allows you to save the contents of a filesystem to a compressed archive file. The filesystem contents can be restored on a device which has a different size and it can be restored on a different filesystem. Unlike tar/dar, fsarchiver also creates the filesystem when it extracts the data to devices. Everything is checksummed in the archive in order to protect the data. If the archive is corrupt, you just lose the current file, not the whole archive.

## LINKS

### Official project homepage:
http://www.fsarchiver.org

### Quick Start guide:
http://www.fsarchiver.org/quickstart/

### Git repository:
https://github.com/fdupoux/fsarchiver

### Report a bug:
https://github.com/fdupoux/fsarchiver/issues

## SYNOPSIS
fsarchiver [ options ] savefs archive device ...

fsarchiver [ options ] restfs archive id=n,dest=device[,mkfs=fstype,mkfsopt=options,label=newlabel,uuid=newuuid] ...

fsarchiver [ options ] savedir archive directory ...

fsarchiver [ options ] restdir archive destination

fsarchiver [ options ] archinfo archive

fsarchiver [ options ] probe [detailed]

## COMMANDS
savefs

Save device filesystem to archive.

restfs

Restore filesystems from archive. This overwrites the existing data on device. Zero-based index n indicates the part of the archive to restore. Optionally, a filesystem may be converted to fstype and extra mkfs options specified. newlabel and newuuid override values stored in the archive.

savedir

Save directories to archive (similar to a compressed tarball).

restdir

Restore data from archive which is not based on a filesystem to destination.

archinfo

Show information about an existing archive file and its contents.

probe

Show list of filesystems detected on the disks.

## OPTIONS
-h, --help

Show help and information about how to use fsarchiver with examples.

-V, --version

Show program version and exit.

-v, --verbose

Verbose mode (can be used several times to increase the level of details). The details will be printed to the console.

-o, --overwrite

Overwrite the archive if it already exists instead of failing.

-d, --debug

Debug mode (can be used several times to increase the level of details). The details will be written in /var/log/fsarchiver.log.

-x, --experimental

Allow to save filesystems which support is considered experimental in fsarchiver.

-A, --allow-rw-mounted

Allow to save a filesystem which is mounted in read-write (live backup). By default fsarchiver fails with an error if the device is mounted in read-write mode which allows modifications to be done on the filesystem during the backup. Modifications can drive to inconsistencies in the backup. Using LVM snapshots is the recommended way to make backups since it will provide consistency, but it is only available for filesystems which are on LVM logical volumes. Deleted files during the backup process are ignored when this option is used.

-a, --allow-no-acl-xattr

Allow to save a filesystem when ACLs and extended attributes are not supported (or are disabled) by the kernel. By default fsarchiver fails with an error if it cannot access ACLs and extended attributes, since they would not be saved. If you do not need ACLs and extended attributes preserved then it is safe to use this option.

-e pattern, --exclude=pattern

Exclude files and directories that match specified pattern. The pattern can contain shell wildcards such as * and ? or may be either a simple file/dir name or an absolute file/dir path. You must use quotes around the pattern each time you use wildcards, else it would be interpreted by the shell. The wildcards must be interpreted by fsarchiver. See examples below for more details about this option.

-L label, --label=label

Set the label of the archive: it is just a comment about its contents. It can be used to remember a particular thing about the archive or the state of the filesystem for instance.

-z level, --compress=level

Legacy compression levels are between 0 (very fast) and 9 (very good). The memory requirement increases a lot with the best compression levels, and it is multiplied by the number of compression threads (option -j). Level 9 is considered as an extreme compression level and requires an huge amount of memory to run. For more details please read this page: http://www.fsarchiver.org/compression/

-Z level, --zstd=level

Zstd compression levels are between 1 (very fast) and 22 (very good). The memory requirement increases a lot with the best compression levels, and it is multiplied by the number of compression threads (option -j). Levels above 20 are considered as extreme compression levels and requires an huge amount of memory to run. For more details please read this page: http://www.fsarchiver.org/compression/

-s mbsize, --split=mbsize

Split the archive into several files of mbsize megabytes each.

-j count, --jobs=count

Create more than one (de)compression thread. Useful on multi-core CPUs. By default fsarchiver will only use one (de)compression thread (-j 1) and then only one logical processor will be used for the task. You should use this option if you have a multi-core CPU or more than one physical CPU on your computer. The typical way to use it is to specify the number of logical processors available so that all the processing power is used to (de)compress the archive very quickly. You may also want to use all logical processors but one so that your system stays responsive for other applications.

-c password, --cryptpass=password

Encrypt/decrypt data in archive. Password length: 6 to 64 characters. You can either provide a real password or a dash (-c -). Use the dash if you do not want to provide the password in the command line. It will be prompted in the terminal instead.

## EXAMPLES

### save only one filesystem (/dev/sda1) to an archive:
fsarchiver savefs /data/myarchive1.fsa /dev/sda1

### save two filesystems (/dev/sda1 and /dev/sdb1) to an archive:
fsarchiver savefs /data/myarchive2.fsa /dev/sda1 /dev/sdb1

### restore the first filesystem from an archive (first = number 0):
fsarchiver restfs /data/myarchive2.fsa id=0,dest=/dev/sda1

### restore the second filesystem from an archive (second = number 1):
fsarchiver restfs /data/myarchive2.fsa id=1,dest=/dev/sdb1

### restore two filesystems from an archive (number 0 and 1):
fsarchiver restfs /data/arch2.fsa id=0,dest=/dev/sda1 id=1,dest=/dev/sdb1

### restore a filesystem from an archive and convert it to reiserfs:
fsarchiver restfs /data/myarchive1.fsa id=0,dest=/dev/sda1,mkfs=reiserfs

### restore a filesystem from an archive and specify extra mkfs options:
fsarchiver restfs /data/myarchive1.fsa id=0,dest=/dev/sda1,mkfs=ext4,mkfsopt="-I 256"

### restore a filesystem from an archive and specify a new filesystem label:
fsarchiver restfs /data/myarchive1.fsa id=0,dest=/dev/sda1,label=root

### restore a filesystem from an archive and specify a new filesystem UUID:
fsarchiver restfs /data/myarchive1.fsa id=0,dest=/dev/sda1,uuid=5f6e5f4f-dc2a-4dbd-a6ea-9ca997cde75e

### save the contents of /usr/src/linux to an archive (similar to tar):
fsarchiver savedir /data/linux-sources.fsa /usr/src/linux

### save a filesystem (/dev/sda1) to an archive split into volumes of 680MB:
fsarchiver savefs -s 680 /data/myarchive1.fsa /dev/sda1

### save a filesystem and exclude all files/dirs called 'pagefile.*':
fsarchiver savefs /data/myarchive.fsa /dev/sda1 --exclude='pagefile.*'

### generic exclude for 'share' such as '/usr/share' and '/usr/local/share':
fsarchiver savefs /data/myarchive.fsa --exclude=share

### absolute exclude valid for '/usr/share' but not for '/usr/local/share':
fsarchiver savefs /data/myarchive.fsa --exclude=/usr/share

### save a filesystem (/dev/sda1) to an encrypted archive:
fsarchiver savefs -c mypassword /data/myarchive1.fsa /dev/sda1

### same as before but prompt for password in the terminal:
fsarchiver savefs -c - /data/myarchive1.fsa /dev/sda1

### extract an archive made of simple files to /tmp/extract:
fsarchiver restdir /data/linux-sources.fsa /tmp/extract

### show information about an archive and its filesystems:
fsarchiver archinfo /data/myarchive2.fsa

## WARNING
fsarchiver is considered stable for Linux filesystems such as EXT4 and XFS but unstable for NTFS.

## AUTHOR
fsarchiver was written by Francois Dupoux. It is released under the GPL2 (GNU General Public License version 2). This manpage was written by Ilya Barygin and Francois Dupoux.


fsattr

package: fstransform

title: fsattr(8)

summary: manual page for fsattr 0.9.4

text:
# fsattr(8)

## NAME
fsattr - manual page for fsattr 0.9.4

## SYNOPSIS
fsattr --files={normal|prealloc} DEVICE

## DESCRIPTION
Modify file-system internal data structures Options:

--

end of options. treat subsequent parameters as arguments even if they start with '-'

--files=normal

set files to normal mode, i.e. show their contents.

--files=prealloc set files to 'preallocated', i.e. clear their contents.

--fstype=FSTYPE

specify file system inside device.

--help

display this help and exit

--version

output version information and exit


title: fsmount_kernel(8)

summary: manual page for fsmount_kernel 0.9.4

text:
# fsmount_kernel(8)

## NAME
fsmount_kernel - manual page for fsmount_kernel 0.9.4

## SYNOPSIS
fsmount_kernel [-o OPTIONS] -t FILESYSTEM_TYPE SOURCE TARGET

## DESCRIPTION
Call the kernel to mount a filesystem, ignoring any userspace helper or wrapper (fuse...) Options:

--

end of options. treat subsequent parameters as arguments even if they start with '-'

-t <type>

set the filesystem type. MANDATORY.

-o <list>

comma-separated list of mount options.

-h, --help

display this help and exit

--version

output version information and exit


fsmove

title: fsmove(8)

summary: manual page for fsmove 0.9.4

text:
# fsmove(8)

## NAME
fsmove - manual page for fsmove 0.9.4

## SYNOPSIS
fsmove [OPTION]... SOURCE TARGET [--exclude FILE...]

## DESCRIPTION
Recursively move files and folders from SOURCE to TARGET, even if SOURCE and TARGET are almost full or share their free space (for example if TARGET is a file system inside a loop-file _inside_ SOURCE)

Mandatory arguments to long options are mandatory for short options too.

--

end of options. treat subsequent parameters as arguments even if they start with '-'

-e, --exclude FILE... skip these files, i.e. do not move them.

must be last argument

-f, --force-run

run even if some safety checks fail

--io=posix

use POSIX I/O and move files (default)

--io=prealloc

use POSIX I/O and preallocate files (do NOT move them)

--inode-cache-mem use in-memory inode cache (default)

--inode-cache=DIR create and use directory DIR for inode cache

--log-color=MODE

set messages color. MODE is one of: auto (default), none, ansi

--log-format=FMT

set messages format. FMT is one of: msg (default), level_msg, time_level_msg, time_level_function_msg

-n, --no-action, --simulate-run

do not actually move any file or directory

-q, --quiet

be quiet

-qq

be very quiet, only print warnings or errors

-v, --verbose

be verbose, print what is being done

-vv

be very verbose, print a lot of detailed output

-vvv

be incredibly verbose (warning: prints LOTS of output)

--help

display this help and exit

--version

output version information and exit


fsremap

title: fsremap(8)

summary: manual page for fsremap 0.9.4

text:
# fsremap(8)

## NAME
fsremap - manual page for fsremap 0.9.4

## SYNOPSIS
fsremap [OPTION]... DEVICE LOOP-FILE [ZERO-FILE]

fsremap [OPTION]... --resume-job=JOB_ID DEVICE

## DESCRIPTION
Replace the contents of DEVICE with the contents of LOOP-FILE, i.e. write LOOP-FILE onto DEVICE even if LOOP-FILE is inside a file system _inside_ DEVICE

Mandatory arguments to long options are mandatory for short options too.

--

end of options. treat subsequent parameters as arguments even if they start with '-'

-a, --no-questions

automatic run: do not ask any question

--clear=all

clear all free blocks after remapping (default)

--clear=minimal

(DANGEROUS) clear only overwritten free blocks after remapping

--clear=none

(DANGEROUS) do not clear any free blocks after remapping

--cmd-umount=CMD

command to unmount DEVICE (default: /bin/umount)

--cmd-losetup=CMD 'losetup' command (default: /sbin/losetup)

--color=MODE

set messages color. MODE is one of: auto (default), none, ansi

--device-mount-point=DIR

set device mount point (needed by --io=prealloc)

-f, --force-run

continue even if some sanity checks fail

-i, --interactive

ask confirmation after analysis, before actual work

--io=posix

use posix I/O (default)

--io=prealloc

use posix I/O with EXPERIMENTAL preallocated files

--io=self-test

perform in-memory self-test with random data

--io=test

use test I/O. Arguments are: DEVICE-LENGTH LOOP-FILE-EXTENTS FREE-SPACE-EXTENTS

--loop-device=LOOP-DEVICE

loop device to disconnect (needed by --io=prealloc)

--loop-mount-point=DIR

set loop file mount point (needed by --io=prealloc)

-m, --mem-buffer=RAM_SIZE[k|M|G|T|P|E|Z|Y]

set RAM buffer size (default: autodetect)

-n, --no-action, --simulate-run

do not actually read or write any disk block

--questions=MODE

set interactive mode. MODE is one of: no: never ask questions, abort on errors (default) yes: ask questions in case of user-fixable errors extra: also ask confirmation before dangerous steps

-q, --quiet

be quiet, print less output

-qq

be very quiet, only print warnings or errors

--resume-job=NUM

resume the interrupted job NUM. The only non-option argument must be DEVICE. Do _not_ pass LOOP-FILE as argument, or you will LOSE YOUR DATA!

-s, --secondary-storage=SECONDARY_SIZE[k|M|G|T|P|E|Z|Y]

set secondary storage file length (default: autodetect)

-t, --temp-dir=DIR

write storage and log files inside DIR (default: /var/tmp/fstransform)

--ui-tty=TTY

show full-text progress on tty device TTY

-v, --verbose

be verbose

-vv

be very verbose

-vvv

be incredibly verbose (warning: prints lots of output)

-xp, --exact-primary-storage=PRIMARY_SIZE[k|M|G|T|P|E|Z|Y]

set _exact_ primary storage length, or fail

(default: autodetect)

-xs, --exact-secondary-storage=SECONDARY_SIZE[k|M|G|T|P|E|Z|Y]

set _exact_ secondary storage length, or fail

(default: autodetect)

--x-OPTION=VALUE

set internal, undocumented option. for maintainers only

--help

display this help and exit

--version

output version information and exit


fstransform

title: fstransform(8)

summary: manual page for fstransform 0.9.4

text:
# fstransform(8)

## NAME
fstransform - manual page for fstransform 0.9.4

## SYNOPSIS
fstransform [OPTION]... DEVICE NEW-FILE-SYSTEM-TYPE

## DESCRIPTION
Transform file system inside DEVICE to NEW-FILE-SYSTEM-TYPE, preserving its contents and without need for backup

## OPTIONS
--cmd-CMD-NAME=CMD-PATH

set external command CMD-NAME to use. default: autodetect

--force-untested-file-systems also transform untested file systems (DANGEROUS)

--list-source-file-systems

list file systems supported as source and exit

--list-target-file-systems

list file systems supported as target and exit

--loop-file=LOOP-FILE

override loop-file path

--loop-mount-point=PATH

override loop-file mount point

--new-size=SIZE

set new file system length. default: device length

--current-fstype=OLD-TYPE

override current (old) file system type autodetection required for 'ntfs' file system

--opts-fsmove=OPTS

pass OPTS as additional options to 'fsmove'

--opts-fsremap=OPTS

pass OPTS as additional options to 'fsremap'

--opts-mkfs=OPTS

pass OPTS as options to 'mkfs'. default: '-q'

--opts-fsck-source=OPTS

override 'fsck' options for old file system. default: '-p -f'

--opts-fsck-target=OPTS

override 'fsck' options for new file system. default: '-p -f'

--show-time[=yes|=no]

show current time before each message. default: yes

--prealloc[=yes|no]

use EXPERIMENTAL files preallocation. default: no

--questions=[yes|no|on-error] whether to ask questions interactively. default: on-error

--reversible[=yes|no]

create zero-file, fsremap will do a reversible transformation default: no

--x-OPTION=VALUE

set internal, undocumented option. For maintainers only.

--zero-file=ZERO-FILE

override zero-file path

--help

display this help and exit

--version

output version information and exit


mount.fuse

package: fuse

title: mount.fuse(8)

text:
# mount.fuse(8)

## NAME
fuse - format and options for the fuse file systems

## DESCRIPTION
FUSE (Filesystem in Userspace) is a simple interface for userspace programs to export a virtual filesystem to the Linux kernel. FUSE also aims to provide a secure method for non privileged users to create and mount their own filesystem implementations.

## CONFIGURATION
Some options regarding mount policy can be set in the file /etc/fuse.conf. Currently these options are:

mount_max = NNN

Set the maximum number of FUSE mounts allowed to non-root users. The default is 1000.

user_allow_other

Allow non-root users to specify the allow_other or allow_root mount options (see below).

## OPTIONS
Most of the generic mount options described in mount are supported (ro, rw, suid, nosuid, dev, nodev, exec, noexec, atime, noatime, sync, async, dirsync). Filesystems are mounted with nodev,nosuid by default, which can only be overridden by a privileged user.

### General mount options:
These are FUSE specific mount options that can be specified for all filesystems:

default_permissions

By default FUSE doesn't check file access permissions, the filesystem is free to implement it's access policy or leave it to the underlying file access mechanism (e.g. in case of network filesystems). This option enables permission checking, restricting access based on file mode. This is option is usually useful together with the allow_other mount option.

allow_other

This option overrides the security measure restricting file access to the user mounting the filesystem. So all users (including root) can access the files. This option is by default only allowed to root, but this restriction can be removed with a configuration option described in the previous section.

allow_root

This option is similar to allow_other but file access is limited to the user mounting the filesystem and root. This option and allow_other are mutually exclusive.

kernel_cache

This option disables flushing the cache of the file contents on every open(2). This should only be enabled on filesystems, where the file data is never changed externally (not through the mounted FUSE filesystem). Thus it is not suitable for network filesystems and other intermediate filesystems. NOTE: if this option is not specified (and neither direct_io) data is still cached after the open(2), so a read(2) system call will not always initiate a read operation.

auto_cache

This option enables automatic flushing of the data cache on open(2). The cache will only be flushed if the modification time or the size of the file has changed.

large_read

Issue large read requests. This can improve performance for some filesystems, but can also degrade performance. This option is only useful on 2.4.X kernels, as on 2.6 kernels requests size is automatically determined for optimum performance.

direct_io

This option disables the use of page cache (file content cache) in the kernel for this filesystem. This has several affects:

1.

Each read(2) or write(2) system call will initiate one or more read or write operations, data will not be cached in the kernel.

2.

The return value of the read() and write() system calls will correspond to the return values of the read and write operations. This is useful for example if the file size is not known in advance (before reading it).

max_read=N

With this option the maximum size of read operations can be set. The default is infinite. Note that the size of read requests is limited anyway to 32 pages (which is 128kbyte on i386).

max_readahead=N

Set the maximum number of bytes to read-ahead. The default is determined by the kernel. On linux-2.6.22 or earlier it's 131072 (128kbytes)

max_write=N

Set the maximum number of bytes in a single write operation. The default is 128kbytes. Note, that due to various limitations, the size of write requests can be much smaller (4kbytes). This limitation will be removed in the future.

async_read

Perform reads asynchronously. This is the default

sync_read

Perform all reads (even read-ahead) synchronously.

hard_remove

The default behavior is that if an open file is deleted, the file is renamed to a hidden file (.fuse_hiddenXXX), and only removed when the file is finally released. This relieves the filesystem implementation of having to deal with this problem. This option disables the hiding behavior, and files are removed immediately in an unlink operation (or in a rename operation which overwrites an existing file). It is recommended that you not use the hard_remove option. When hard_remove is set, the following libc functions fail on unlinked files (returning errno of ENOENT): read(2), write(2), fsync(2), close(2), f*xattr(2), ftruncate(2), fstat(2), fchmod(2), fchown(2)

debug

Turns on debug information printing by the library.

fsname=NAME

Sets the filesystem source (first field in /etc/mtab). The default is the mount program name.

subtype=TYPE

Sets the filesystem type (third field in /etc/mtab). The default is the mount program name. If the kernel suppports it, /etc/mtab and /proc/mounts will show the filesystem type as fuse.TYPE If the kernel doesn't support subtypes, the source filed will be TYPE#NAME, or if fsname option is not specified, just TYPE.

use_ino

Honor the st_ino field in kernel functions getattr() and fill_dir(). This value is used to fill in the st_ino field in the stat(2), lstat(2), fstat(2) functions and the d_ino field in the readdir(2) function. The filesystem does not have to guarantee uniqueness, however some applications rely on this value being unique for the whole filesystem.

readdir_ino

If use_ino option is not given, still try to fill in the d_ino field in readdir(2). If the name was previously looked up, and is still in the cache, the inode number found there will be used. Otherwise it will be set to -1. If use_ino option is given, this option is ignored.

nonempty

Allows mounts over a non-empty file or directory. By default these mounts are rejected to prevent accidental covering up of data, which could for example prevent automatic backup.

umask=M

Override the permission bits in st_mode set by the filesystem. The resulting permission bits are the ones missing from the given umask value. The value is given in octal representation.

uid=N

Override the st_uid field set by the filesystem (N is numeric).

gid=N

Override the st_gid field set by the filesystem (N is numeric).

blkdev

Mount a filesystem backed by a block device. This is a privileged option. The device must be specified with the fsname=NAME option.

entry_timeout=T

The timeout in seconds for which name lookups will be cached. The default is 1.0 second. For all the timeout options, it is possible to give fractions of a second as well (e.g. entry_timeout=2.8)

negative_timeout=T

The timeout in seconds for which a negative lookup will be cached. This means, that if file did not exist (lookup retuned ENOENT), the lookup will only be redone after the timeout, and the file/directory will be assumed to not exist until then. The default is 0.0 second, meaning that caching negative lookups are disabled.

attr_timeout=T

The timeout in seconds for which file/directory attributes are cached. The default is 1.0 second.

ac_attr_timeout=T

The timeout in seconds for which file attributes are cached for the purpose of checking if auto_cache should flush the file data on open. The default is the value of attr_timeout

intr

Allow requests to be interrupted. Turning on this option may result in unexpected behavior, if the filesystem does not support request interruption.

intr_signal=NUM

Specify which signal number to send to the filesystem when a request is interrupted. The default is hardcoded to USR1.

modules=M1[:M2...]

Add modules to the filesystem stack. Modules are pushed in the order they are specified, with the original filesystem being on the bottom of the stack.

## FUSE MODULES (STACKING)
Modules are filesystem stacking support to high level API. Filesystem modules can be built into libfuse or loaded from shared object

### iconv
Perform file name character set conversion. Options are:

from_code=CHARSET

Character set to convert from (see iconv -l for a list of possible values). Default is UTF-8.

to_code=CHARSET

Character set to convert to. Default is determined by the current locale.

### subdir
Prepend a given directory to each path. Options are:

subdir=DIR

Directory to prepend to all paths. This option is mandatory.

rellinks

Transform absolute symlinks into relative

norellinks

Do not transform absolute symlinks into relative. This is the default.

## SECURITY
The fusermount program is installed set-user-gid to fuse. This is done to allow users from fuse group to mount their own filesystem implementations. There must however be some limitations, in order to prevent Bad User from doing nasty things. Currently those limitations are:

1.

The user can only mount on a mountpoint, for which it has write permission

2.

The mountpoint is not a sticky directory which isn't owned by the user (like /tmp usually is)

3.

No other user (including root) can access the contents of the mounted filesystem.

## NOTE
FUSE filesystems are unmounted using the fusermount(1) command (fusermount -u mountpoint).

## AUTHORS
The main author of FUSE is Miklos Szeredi <mszeredi@inf.bme.hu>.

This man page was written by Bastien Roucaries <roucaries.bastien+debian@gmail.com> for the Debian GNU/Linux distribution (but it may be used by others) from README file.

## SEE ALSO
fusermount(1) mount(8)


title: mount.fuse3(8)

text:
# mount.fuse3(8)

## NAME
fuse - configuration and mount options for FUSE file systems

## DESCRIPTION
FUSE (Filesystem in Userspace) is a simple interface for userspace programs to export a virtual filesystem to the Linux kernel. FUSE also aims to provide a secure method for non privileged users to create and mount their own filesystem implementations.

## DEFINITIONS
FUSE

The in-kernel filesystem that forwards requests to a user-space process.

filesystem

The user-space process that responds to requests received from the kernel.

libfuse

The shared library that most (user-space) filesystems use to communicate with FUSE (the kernel filesystem). libfuse also provides the fusermount3 (or fusermount if you have older version of libfuse) helper to allow non-privileged users to mount filesystems.

filesystem owner

The user that starts the filesystem and instructs the kernel to associate it with a particular mountpoint. The latter is typically done by the filesystem itself on start-up. When using libfuse, this is done by calling the fusermount3 utility.

client

Any process that interacts with the mountpoint.

## CONFIGURATION
Some options regarding mount policy can be set in the file /etc/fuse.conf. Currently these options are:

mount_max = NNN

Set the maximum number of FUSE mounts allowed to non-root users. The default is 1000.

user_allow_other

Allow non-root users to specify the allow_other or allow_root mount options (see below).

These limits are enforced by the fusermount3 helper, so they can be avoided by filesystems that run as root.

## OPTIONS
Most of the generic mount options described in mount are supported (ro, rw, suid, nosuid, dev, nodev, exec, noexec, atime, noatime, sync, async, dirsync). Filesystems are mounted with nodev,nosuid by default, which can only be overridden by a privileged user.

### General mount options:
These are FUSE specific mount options that can be specified for all filesystems:

default_permissions

This option instructs the kernel to perform its own permission check instead of deferring all permission checking to the filesystem. The check by the kernel is done in addition to any permission checks by the filesystem, and both have to succeed for an operation to be allowed. The kernel performs a standard UNIX permission check (based on mode bits and ownership of the directory entry, and uid/gid of the client). This mount option is activated implicitly if the filesystem enables ACL support during the initial feature negotiation when opening the device fd. In this case, the kernel performs both ACL and standard unix permission checking.

Filesystems that do not implement any permission checking should generally add this option internally.

allow_other

This option overrides the security measure restricting file access to the filesystem owner, so that all users (including root) can access the files.

rootmode=M

Specifies the file mode of the filesystem's root (in octal representation).

blkdev

Mount a filesystem backed by a block device. This is a privileged option. The device must be specified with the fsname=NAME option.

blksize=N

Set the block size for the filesystem. This option is only valid for 'fuseblk' type mounts. The default is 512. In most cases, this option should not be specified by the filesystem owner but set internally by the filesystem.

max_read=N

With this option the maximum size of read operations can be set. The default is infinite, but typically the kernel enforces its own limit in addition to this one. A value of zero corresponds to no limit. This option should not be specified by the filesystem owner. The correct (or optimum) value depends on the filesystem implementation and should thus be set by the filesystem internally.

This mount option is deprecated in favor of direct negotiation over the device fd (as done for e.g. the maximum size of write operations). For the time being, libfuse-using filesystems that want to limit the read size must therefore use this mount option and set the same value again in the init() handler.

fd=N

The file descriptor to use for communication between the userspace filesystem and the kernel. The file descriptor must have been obtained by opening the FUSE device (/dev/fuse). This option should not be specified by the filesystem owner. It is set by libfuse (or, if libfuse is not used, must be set by the filesystem itself).

user_id=N

group_id=N Specifies the numeric uid/gid of the mount owner. This option should not be specified by the filesystem owner. It is set by libfuse (or, if libfuse is not used, must be set by the filesystem itself).

fsname=NAME

Sets the filesystem source (first field in /etc/mtab). The default is the name of the filesystem process.

subtype=TYPE

Sets the filesystem type (third field in /etc/mtab). The default is the name of the filesystem process. If the kernel supports it, /etc/mtab and /proc/mounts will show the filesystem type as fuse.TYPE If the kernel doesn't support subtypes, the source field will be TYPE#NAME, or if fsname option is not specified, just TYPE.

### libfuse-specific mount options:
These following options are not actually passed to the kernel but interpreted by libfuse. They can be specified for all filesystems that use libfuse:

allow_root

This option is similar to allow_other but file access is limited to the filesystem owner and root. This option and allow_other are mutually exclusive.

auto_unmount

This option enables automatic release of the mountpoint if filesystem terminates for any reason. Normally the filesystem is responsible for releasing the mountpoint, which means that the mountpoint becomes inaccessible if the filesystem terminates without first unmounting. This option is dangerous and should only be used after careful consideration of the risks.

Automatically unmounting the filesystem means that if the filesystem crashes the mountpoint may suddenly appear empty, which may have unintended consequences. For example, a running backup and mirroring program may conclude that all the data in the filesystem has been deleted and proceed to propagate this deletion to the backup / remote system. If the mountpoint instead becomes inaccessible (the default), most programs will behave correctly (report an error).

This feature may also accidentally unmount the wrong filesystem due to race conditions. For example, if another filesystem was mounted underneath the same mountpoint, or if a new filesystem is mounted after the FUSE process has crashed, it may accidentally get unmounted.

At the moment, this option implies that the filesystem will also be mounted with nodev and nosuid (even when mounted by root). This restriction may be lifted in the future.

### High-level mount options:
These following options are not actually passed to the kernel but interpreted by libfuse. They can only be specified for filesystems that use the high-level libfuse API:

kernel_cache

This option disables flushing the cache of the file contents on every open(2). This should only be enabled on filesystems, where the file data is never changed externally (not through the mounted FUSE filesystem). Thus it is not suitable for network filesystems and other "intermediate" filesystems. NOTE: if this option is not specified (and neither direct_io) data is still cached after the open(2), so a read(2) system call will not always initiate a read operation.

auto_cache

This option is an alternative to kernel_cache. Instead of unconditionally keeping cached data, the cached data is invalidated on open(2) if the modification time or the size of the file has changed since it was last opened.

umask=M fmask=M dmask=M

Override the permission bits set by the filesystem in st_mode. The resulting permission bits are the ones missing from the mask value, which is given in octal representation. fmask and dmask (respectively) may be used to control the permission bits of files and directories separately. umask is overridden by the individual fmask and dmask options.

uid=N

Override the st_uid field set by the filesystem (N is numeric).

gid=N

Override the st_gid field set by the filesystem (N is numeric).

entry_timeout=T

The timeout in seconds for which name lookups will be cached. The default is 1.0 second. For all the timeout options, it is possible to give fractions of a second as well (e.g. entry_timeout=2.8)

negative_timeout=T

The timeout in seconds for which a negative lookup will be cached. This means, that if file did not exist (lookup returned ENOENT), the lookup will only be redone after the timeout, and the file/directory will be assumed to not exist until then. The default is 0.0 second, meaning that caching negative lookups are disabled.

attr_timeout=T

The timeout in seconds for which file/directory attributes are cached. The default is 1.0 second.

ac_attr_timeout=T

The timeout in seconds for which file attributes are cached for the purpose of checking if auto_cache should flush the file data on open. The default is the value of attr_timeout

noforget

remember=T

Normally, libfuse assigns inodes to paths only for as long as the kernel is aware of them. With this option inodes are instead assigned for at least T seconds (or, in the case of noforget, the life-time of the filesystem). This will require more memory, but may be necessary when using applications that make use of inode numbers.

modules=M1[:M2...]

Add modules to the filesystem stack. Modules are pushed in the order they are specified, with the original filesystem being on the bottom of the stack.

### mount.fuse3 options:
These options are interpreted by mount.fuse3 and are thus only available when mounting a file system via mount.fuse3 (such as when mounting via the generic mount(1) command or /etc/fstab). Supported options are:

setuid=USER

Switch to USER and its primary group before launching the FUSE file system process. mount.fuse3 must be run as root or with CAP_SETUID and CAP_SETGID for this to work.

drop_privileges

Perform setup of the FUSE file descriptor and mounting the file system before launching the FUSE file system process. mount.fuse3 requires privilege to do so, i.e. must be run as root or at least with CAP_SYS_ADMIN and CAP_SETPCAP. It will launch the file system process fully unprivileged, i.e. without capabilities(7) and prctl(2) flags set up such that privileges can't be reacquired (e.g. via setuid or fscaps binaries). This reduces risk in the event of the FUSE file system process getting compromised by malicious file system data.

## FUSE MODULES (STACKING)
Modules are filesystem stacking support to high level API. Filesystem modules can be built into libfuse or loaded from shared object

### iconv
Perform file name character set conversion. Options are:

from_code=CHARSET

Character set to convert from (see iconv -l for a list of possible values). Default is UTF-8.

to_code=CHARSET

Character set to convert to. Default is determined by the current locale.

### subdir
Prepend a given directory to each path. Options are:

subdir=DIR

Directory to prepend to all paths. This option is mandatory.

rellinks

Transform absolute symlinks into relative

norellinks

Do not transform absolute symlinks into relative. This is the default.

## SECURITY
The fusermount3 program is installed set-user-gid to fuse. This is done to allow users from fuse group to mount their own filesystem implementations. There must however be some limitations, in order to prevent Bad User from doing nasty things. Currently those limitations are:

1.

The user can only mount on a mountpoint, for which it has write permission

2.

The mountpoint is not a sticky directory which isn't owned by the user (like /tmp usually is)

3.

No other user (including root) can access the contents of the mounted filesystem.

## NOTE
FUSE filesystems are unmounted using the fusermount3(1) command (fusermount3 -u mountpoint).

## AUTHORS
FUSE is currently maintained by Nikolaus Rath <Nikolaus@rath.org>

The original author of FUSE is Miklos Szeredi <mszeredi@inf.bme.hu>.

This man page was originally written by Bastien Roucaries <roucaries.bastien+debian@gmail.com> for the Debian GNU/Linux distribution.

## SEE ALSO
fusermount3(1) fusermount(1) mount(8) fuse(4)


fwupd-refresh.service

package: fwupd

title: fwupd-refresh.service(8)

summary: message of the day integration.

text:
# fwupd-refresh.service(8)

## NAME
fwupd-refresh.service - message of the day integration.

## DESCRIPTION
Message on the day integration is used to display the availability of updates when connecting to a remote console.

It has two elements:

•

Automatic firmware metadata refresh

•

Message of the day display

This uses a systemd timer to run on a regular cadence. To enable this, run:

```

```

```
  systemctl enable fwupd-refresh.timer
```

## NOTES
The service has a timeout of 5 minutes (300 seconds) to prevent it from hanging indefinitely if network conditions are poor or if the metadata download stalls.

Motd display is dependent upon the availability of the update-motd snippet consumption service such as pam_motd.

To enable a proxy, set the systemd global environment in /etc/systemd/system.conf so all the systemd child processes have the proxy settings applied:

```

```

```
[Manager]
```

```
DefaultEnvironment=http_proxy=“http://internal.corp:3128/ ”https_proxy=“http://internal.corp:3128/”
```

## SEE ALSO
<fwupdmgr(1)> <fwupd.conf(5)>