gdc(1M)gdc(1M)NAMEgdc - operational user interface for gated
SYNOPSIS
coresize] filesize] datasize] stacksize]
seconds] command
DESCRIPTION
provides a user-oriented interface for the operation of the routing
daemon. It provides support for starting and stopping the daemon, for
the delivery of signals to manipulate the daemon when it is operating,
for the maintenance and syntax checking of configuration files, and for
the production and removal of state dumps and core dumps.
can reliably determine running state and produces a reliable exit sta‐
tus when errors occur, making it advantageous for use in shell scripts
which manipulate Commands executed using and, optionally, error mes‐
sages produced by the execution of those commands, are logged via the
same facility which itself uses, providing an audit trail of operations
performed on the daemon.
If installed as a setuid root program will allow non-root users who are
members of a trusted group (by default the group) to manipulate the
routing daemon while denying access to others. The name of the user is
logged along via along with an indication of each command executed, for
audit purposes.
The command-line options are:
Run without changing the kernel forwarding table. Useful for
testing, and when operating as a route server which does
no forwarding.
Run quietly. With this option informational messages which are
normally printed to the standard output are suppressed
and error messages are logged via instead of being
printed to the standard error output. This is often con‐
venient when running from a shell script.
Specifies the time in seconds which
will spend waiting for to complete certain operations,
in particular at termination and startup. By default
this value is set to 10 seconds.
These additional command-line options may be present, depending on the
options used to compile
Sets the maximum size of a core dump a
started with will produce. Useful on systems where the
default maximum core dump size is too small for to pro‐
duce a full core dump on errors.
Sets the maximum file size a
started with will produce. Useful on systems where the
default maximum file dump size is too small for to pro‐
duce a full state dump when requested.
Sets the maximum size of the data segment of a
started with Useful on systems where the default data
segment size is too small for to run.
Sets the maximum size of stack of a
started with Useful on systems where the default maximum
stack size is too small for to run.
The following commands cause signals to be delivered to for various
purpose:
Sends an abort signal to
causing it to terminate with a core dump.
Signal to dump its current state into the file
Signal to recheck the interface configuration. normally does
this periodically in any event, but the facility can be
used to force the daemon to check interface status imme‐
diately when changes are known to have occurred.
Cause to terminate ungracefully. Normally useful when the dae‐
mon has hung.
Signal to reread its configuration file, reconfiguring its cur‐
rent state as appropriate.
Signal to terminate after shutting down all operating routing
protocols gracefully. Executing this command a second
time should cause to terminate even if some protocols
have not yet fully shut down.
If is currently tracing to a file, cause tracing to be sus‐
pended and the trace file to be closed. If tracing is
current suspended, cause the trace file to be reopened
and tracing initiated. This is useful for moving trace
files.
By default obtains its configuration from a file normally named The
program also maintains several other versions of the configuration
file, in particular named:
The new configuration file. When is requested to
install a new configuration file, this file is
renamed
The old configuration file. When is requested to
install a new configuration file, the previous
is renamed to this name.
The really old configuration file. retains the
previous old configuration file under this
name.
The following commands perform operations related to configuration
files:
Check for syntax errors. This is usefully done after changes
to the configuration file but before sending a signal to
the currently running to ensure that there are no errors
in the configuration which would cause the running to
terminate on reconfiguration. When this command is used,
issues an informational message indicating whether there
were parse errors or not, and if so saves the error out‐
put in a file for inspection.
Like except that the new configuration file, is checked
instead.
Move the file into place as retaining the older versions of the
file as described above. will decline to do anything
when given this command if the new configuration file
doesn't exist or otherwise looks suspect.
Rotate the configuration files in the
direction, in effect moving the old configuration file
to The command will decline to perform the operation if
doesn't exist or is zero length, or if the operation
would delete an existing, non-zero length file.
Perform a operation even if exists and is of non-zero length.
Set all configuration files to mode 664, owner root, group
gdmaint. This allows a trusted non-root user to modify
the configuration files.
If does not exist, create a zero length file with the file
mode set to 664, owner root, group gdmaint. This allows
a trusted non-root user to install a new configuration
file.
The following commands provide support for starting and stopping and
for determining its running state:
Determine if is currently running. This is done by checking to see if
has a lock on the file containing its pid, if the pid in
the file is sensible and if there is a running process
with that pid. Exits with zero status if is running,
non-zero otherwise.
Start The command returns an error if is already running. Oth‐
erwise it executes the binary and waits for up to the
delay interval (10 seconds by default, as set with the
option otherwise) until the newly started process
obtains a lock on the pid file. A non-zero exit status
is returned if an error is detected while executing the
binary, or if a lock is not obtained on the pid file
within the specified wait time.
Stop gracefully if possible, ungracefully if not. The com‐
mand returns an error (with non-zero exit status) if is
not currently running. Otherwise it sends a terminate
signal to and waits for up to the delay interval (10
seconds by default, as specified with the option other‐
wise) for the process to exit. Should fail to exit
within the delay interval it is then signaled again with
a second terminate signal. Should it fail to exit by the
end of the second delay interval it is signaled for a
third time with a kill signal. This should force immedi‐
ate termination unless something is very broken. The
command terminates with zero exit status when it detects
that has terminated, non-zero otherwise.
If is running it is terminated via the same procedure as is
used for the command above. When the previous termi‐
nates, or if it was not running prior to command execu‐
tion, a new process is executed using the procedures
described for the command above. A non-zero exit status
is returned if any step in this procedure appears to
have failed.
The following commands allow the removal of files created by the execu‐
tion of some of the commands above:
Removes any existing
core dump file.
Removes any existing
state dump file.
Removes the parse error file generated when a
or command is executed and syntax errors are encountered
in the configuration file being checked.
WARNINGS
Many commands only work when is installed in the system directory it
was configured with.
There is not yet any way to tell about systems which name their core
dump other than (is a less common possibility).
AUTHOR
was developed by Dennis Ferguson and Cornell University.
FILES
Many of default filenames listed below contain the string %s, which is
replaced by the name with which gated is invoked. Normally this is but
if invoked as will by default look for These paths may all be changed
at compilation time.
The binary.
Current configuration file.
Newer configuration file.
Older configuration file.
Much older configuration file.
Where stores its pid.
state dump file.
Where config file parse errors go.
Where drops its core file.
SEE ALSOgated(1M), ospf_monitor(1M), ripquery(1M), syslogd(1M), gated.conf(4),
gdc(1M)