.TH IP\-MONITOR 8 "13 Dec 2012" "iproute2" "Linux"
.SH "NAME"
ip-monitor, rtmon \- state monitoring
.SH "SYNOPSIS"
.sp
.ad l
.in +8
.ti -8
.BR "ip " " [ "
.IR ip-OPTIONS " ]"
.BR  "monitor" " [ " all " |"
.IR OBJECT-LIST " ] ["
.BI file " FILENAME "
] [
.BI label
] [
.BI all-nsid
] [
.BI dev " DEVICE "
]
.sp

.SH OPTIONS

.TP
.BR "\-t" , " \-timestamp"
Prints timestamp before the event message on the separated line in format:
    Timestamp: <Day> <Month> <DD> <hh:mm:ss> <YYYY> <usecs> usec
    <EVENT>

.TP
.BR "\-ts" , " \-tshort"
Prints short timestamp before the event message on the same line in format:
    [<YYYY>-<MM>-<DD>T<hh:mm:ss>.<ms>] <EVENT>

.SH DESCRIPTION
The
.B ip
utility can monitor the state of devices, addresses
and routes continuously. This option has a slightly different format.
Namely, the
.B monitor
command is the first in the command line and then the object list follows:

.BR "ip monitor" " [ " all " |"
.IR OBJECT-LIST " ] ["
.BI file " FILENAME "
] [
.BI label
] [
.BI all-nsid
] [
.BI dev " DEVICE "
]

.I OBJECT-LIST
is the list of object types that we want to monitor.
It may contain
.BR link ", " address ", " route ", " mroute ", " prefix ", "
.BR neigh ", " netconf ", "  rule " and " nsid "."
If no
.B file
argument is given,
.B ip
opens RTNETLINK, listens on it and dumps state changes in the format
described in previous sections.

.P
If the
.BI label
option is set, a prefix is displayed before each message to
show the family of the message. For example:
.sp
.in +2
[NEIGH]10.16.0.112 dev eth0 lladdr 00:04:23:df:2f:d0 REACHABLE
[LINK]3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc pfifo_fast state DOWN group default
    link/ether 52:54:00:12:34:57 brd ff:ff:ff:ff:ff:ff
.in -2
.sp

.P
If the
.BI all-nsid
option is set, the program listens to all network namespaces that have a
nsid assigned into the network namespace were the program is running.
A prefix is displayed to show the network namespace where the message
originates. Example:
.sp
.in +2
[nsid 0]10.16.0.112 dev eth0 lladdr 00:04:23:df:2f:d0 REACHABLE
.in -2
.sp

.P
If the
.BI file
option is given, the program does not listen on RTNETLINK,
but opens the given file, and dumps its contents. The file
should contain RTNETLINK messages saved in binary format.
Such a file can be generated with the
.B rtmon
utility. This utility has a command line syntax similar to
.BR "ip monitor" .
Ideally,
.B rtmon
should be started before the first network configuration command
is issued. F.e. if you insert:
.sp
.in +8
rtmon file /var/log/rtmon.log
.in -8
.sp
in a startup script, you will be able to view the full history
later.

.P
Nevertheless, it is possible to start
.B rtmon
at any time.
It prepends the history with the state snapshot dumped at the moment
of starting.

.P
If the
.BI dev
option is given, the program prints only events related to this device.

.SH SEE ALSO
.br
.BR ip (8)

.SH AUTHOR
Original Manpage by Michail Litvak <mci@owl.openwall.com>
.br
Manpage revised by Nicolas Dichtel <nicolas.dichtel@6wind.com>
