FRR-OSPF6D(8)
π frr-ospf6d β bestie edition π
okay so you found frr-ospf6d(8), which is one of the FRR (FRRouting) manual pages, and honestly? you're about to understand OSPFv3 daemon command-line flags better than half the internet. sit down, grab a π, let's go.
β¨ NAME β¨
frr-ospf6d β an OSPFv3 routing engine for use with FRRouting. that's it, that's the whole vibe. it's the OSPFv3 girlie of the FRR family π
β¨ SYNOPSIS β¨
ospf6d [-h] [-v]
ospf6d [-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]
two whole moods: "just tell me who you are" (that's the -h/-v line) or "let's actually run this thing" (the big one). no cap.
β¨ DESCRIPTION β¨
ospf6d is a routing component that works with the FRRouting routing engine. lowkey that's the entire description. it does OSPFv3 and it vibes with the rest of FRR. periodt.
β¨ OPTIONS β¨
here's everything you can throw at the ospf6d command π
πΈ HELP AND VERSION πΈ
-h,--helpβ prints a short lil description of the daemon's command line options. your "what does this even do" button.-v,--versionβ prints version and build info for the daemon. receipts π
heads up bestie: both of these options inhibit normal operation and will immediately exit. like, they do NOT start the daemon. they're the "hi bye" of options. no notes.
π¦ PROCESS CONTROL π¦
these options control background operation, aka "does this thing run in your face or behind the scenes":
-d,--daemonβ launches the process in background/daemon mode, forking and detaching from the terminal. it's giving β¨independentβ¨.
the parent process will delay its exit until the daemon/child has finished its initialization and has entered its main loop. why does that matter? because it's important for zebra startup β the other daemons will attempt to connect to zebra, and a return from zebra -d guarantees its readiness to accept these connections. so like, when it says done, it means done. fr fr.
-t,--terminalβ opens an interactive VTY session on the terminal, so you can do both state and configuration operations right there. cute. note that the terminal starts operating after startup has completed and the configuration file has been loaded β no jumping the queue.
the process will exit when end of file is detected on the terminal. and plot twist: it is possible to daemonize a process started with -t (but without -d) by sending SIGQUIT to the process (normally mapped to a ^keypress.) sneaky but valid π
the combination of --daemon and --terminal 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. so ^C is a hard no, bestie.
and 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.) so the daemon keeps living its best life while the terminal takes a nap π΄ iconic.
π§ CONFIGURATION AND PATHS π§
the following options control configuration and file system locations for frr processes:
-f,--config_fileconfig-file β specify a configuration file to be used instead of the default/etc/frr/<daemon>.conffile.
note that the daemon will attempt to write to this file if thewrite filecommand is issued on its VTY interface or throughvtysh. so like... it's not read-only, bestie. keep that in mind.
-C,--dryrunβ load the configuration file and check its validity, then exit. literally the "does this outfit work" mirror check before you leave the house β¨-i,--pid_filepid-file β output a pid file to a location other than the default/var/run/frr/<daemon>.pid.-z,--socketzclient-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 β everyone has to be on the same page, no group chat drama π-N,--pathspacepathspace β insertpathspaceinto 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. weird but ok.
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. so if you also specified those, they win. sorry.
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. literally parallel universes π
this option does not do any system setup (like network namespaces.) that's on you, bestie. this must be done by the user, for example by running:
ip netns exec namespace <daemon> -N namespace
π PROCESS CREDENTIALS π
-u,--useruser β (default:frr)-g,--groupgroup β (default:frr)
these change the user/group which the daemon will switch to. glow-up via privilege drop, basically.
-S,--skip_runasβ skip setting the process effective user and group. just rawdogging it as whatever you ran it as.
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. non-negotiable, it's the rules π
β 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. two ways to say hi π
-A,--vty_addrvty-addr β specify an IP/IPv6 address to bind the TCP VTY interface to. it is generally recommended to specify::1or127.0.0.1. for reasons of backwards compatibility, the default is to listen on all interfaces. (yes, all of them. for legacy reasons. we don't make the rules.)-P,--vty_portvty-port β override the daemon's default TCP VTY port (each daemon has a different default value upwards of2600, listed below.) specifying0disables the TCP VTY interface entirely.
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. so like, it's taken. don't @ it.
--vty_socketvty-path β overrides the directory used for the<daemon>.vtysockets.vtyshconnects 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. read that again bestie, it's a directory π
this option is primarily used by the SNAP packaging system, its semantics may change. it should not be necessary in most other scenarios. so like, if you don't need it, don't touch it.
π 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. so your mileage may vary depending on which distro's laptop you're on.
-M,--modulemodule[: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. matching service, honestly π
the meaning of options is specific to the module being loaded. most modules currently ignore it. (they're just not listening, and that's fine.)
modules are loaded in the order as listed on the command line. this is not generally relevant. lowkey don't worry about it.
--moduledirmodule-path β look for modules in the module-path directory instead of the default/usr/lib/frr/modules. (this path is not affected by the-Noption.) important lil asterisk β
the list of loaded modules can be inspected at runtime with the show modules VTY command. go look, she'll tell you everything.
β¨ FILES β¨
/usr/lib/frr/ospf6dβ the default location of theospf6dbinary. where the girl lives π/etc/frr/ospf6d.confβ the default location of theospf6dconfig file.$(PWD)/ospf6d.logβ if theospf6dprocess is configured to output logs to a file, then you will find this file in the directory where you startedospf6d. so it drops the log right where you were standing. rude but convenient.
β¨ WARNING β¨
this man page is intended to be a quick reference for command line options. the definitive document is the info file frr latest or the documentation available on the project website at <https://frrouting.org/>. so like, this is the snack, not the meal π
β¨ DIAGNOSTICS β¨
the daemon may log to standard output, to a VTY, to a log file, or through syslog to the system logs. it's giving multi-platform π 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/>
the whole friend group, basically π
β¨ BUGS β¨
FRR eats bugs for breakfast. if you have food for the maintainers, please email <dev@lists.frrouting.org>. they're hungry, bestie π
β¨ COPYRIGHT β¨
Copyright 2017, FRR
and that's the whole page, no cap π«Ά this was frr-ospf6d from the FRR manual set, latest edition, dated Sep 22, 2026. stay slay, read your man pages, and may your OSPFv3 adjacencies always come up on the first try πβ¨π¦
π¦ where this page comes from
- ubuntu stonking: frr 10.7.1-3ubuntu1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms