man diald-monitor (Formats) - output format of the diald monitor command
NAME
diald-monitor - output format of the diald monitor command
SYNOPSIS
Output on named pipes and TCP connections specified by monitor command.
DESCRIPTION
This manual page documents the format of the output generated by the monitor command. This output is intended to be used by an external program to report on the state of diald.
There are five types of status updates that have a fixed number of parameters. Each of these is issued on a fixed number of lines. The first line contains a keyword indicating the type of data that should be expected. The keywords are STATE, TITLE, INTERFACE, STATUS/STATUS2 and MESSAGE. Each of the remaining parameters is issued on a separate line.
- STATE <fsm-state>
This is issued any time the state of the FSM that controls diald changes. The variable <fsm-state> gives the name of the state that diald enters. This gives some indication of what diald is currently trying to do to the line.
- TITLE <title> This is currently issued after the STATE message when the state of the FSM changes. The variable <title> gives the description of the link as specified in the diald configuration and may be displayed by the monitor for identification purposes.
- INTERFACE <interface-name> <local-ip> <remote-ip>
This is issued any time diald changes the link that it is doing its policy monitoring on. When diald has a physical link up, this will be the physical link, otherwise it will be the proxy link. The string <interface-name> names the device being monitored, and <local-ip> and <remote-ip> give the local and remote IP address that are associated with the link.
- STATUS <up> <force> <im> <im_itm> <im_tm> <im_fuzz> <im_to> <force_to> <to> STATUS2 <blocked> <forced>
These are issued every second. They detail the state of a variety of diald's internal timers and state variables.
The STATUS2 line is only written to monitors that have identified themselves as supporting the version 2 monitor protocol.
The <up> parameter is 0 if diald thinks the physical link should currently be down, and 1 otherwise. This does not indicate the actual state of the link, since it might be in transition. The actual state of the link can be determined by the state of the FSM.
The <force> parameter is 1 if in the current state diald wishes to force the link to be up constantly. The <force> parameter is 2 if in the current state diald wishes to force the link to be down constantly. Otherwise it is 0. The status of this parameter changes due to "up" or "down" rule in the configuration commands.
The <im> parameter gives the current impulse timer mode.
The <im_itm> parameter gives the current primary impulse length.
The <im_tm> parameter gives the current secondary impulse length.
The <im_fuzz> parameter gives the current impulse fuzz parameter.
The <forced-link> and <blocked-link> are set to 1 if the link has been respectively forced up or blocked down through "force" or "block" FIFO commands.
The <im_to> parameter gives the time left before the current impulse times out.
The <force_to> parameter gives the time left before the next forcing timeout.
The <to> parameter gives the time left before the next timeout for a connection.
- LOAD <itxtotal> <irxtotal>
- This is intended to be used to compute a load average over the link. It is issued every second. The <itxtotal> parameter gives the total number of bytes transmitted in the last second. The <irxtotal> parameter gives the total number of bytes received in the last second.
- MESSAGE <message>
- This is issued by diald whenever it receives a message command on the command fifo. The purpose of this is to allow external programs, such as connect, to pass informational messages through diald to the monitoring protocol. The most likely use of this is to allow a monitoring tool to report on the progress of the current attempt to dial out.
As well, once a second diald will issue groups of lines beginning with a single line containing QUEUE and ending with a single line containing END QUEUE that describe the contents of its connection queue. There will be zero or more lines between these two lines, each describing a single connection. Each of these lines has four parameters: <protocol> <ip-1> <ip-2> <time-to-live>. The <protocol> is a string naming the protocol for the connection. <ip-1> and <ip-2> are the two ip address/port pairs that define the endpoints of the connection. Note that the order that these are printed in depends on the numeric ordering of the ip addresses and ports, and has no relationship with which is the local and which is remote ip address. The <time-to-live> parameter gives the number of seconds that this connection is currently scheduled to remain in the queue.
SEE ALSO
diald(8), dctrl(1), diald-control(5), diald-examples(5)
AUTHOR
Eric Schenk (Eric.Schenk@dna.lth.se)