Commit 488c41d2 authored by Martin Schwenke's avatar Martin Schwenke Committed by Stephen Hemminger

ip: Add label option to ip monitor

Prefix labelling is currently only activated when monitoring "all"
objects.  However, the output can still be confusing when monitoring
more than 1 object, so add an option to always print prefix labels.
Signed-off-by: default avatarMartin Schwenke <martin@meltin.net>
parent b8a45897
......@@ -2542,13 +2542,15 @@ Namely,
the \verb|monitor| command is the first in the command line and then
the object list follows:
\begin{verbatim}
ip monitor [ file FILE ] [ all | OBJECT-LIST ]
\end{verbatim}
\verb|OBJECT-LIST| is the list of object types that we want to monitor.
It may contain \verb|link|, \verb|address| and \verb|route|.
If no \verb|file| argument is given, \verb|ip| opens RTNETLINK,
listens on it and dumps state changes in the format described
in previous sections.
ip monitor [ file FILE ] [ all | OBJECT-LIST ] [ label ]
\end{verbatim}
\verb|OBJECT-LIST| is the list of object types that we want to
monitor. It may contain \verb|link|, \verb|address| and \verb|route|.
Specifying \verb|label| indicates that output lines should be labelled
with the type of object being printed --- this happens by default if
\verb|all| is specified. If no \verb|file| argument is given,
\verb|ip| opens RTNETLINK, listens on it and dumps state changes in
the format described in previous sections.
If a file name is given, it does not listen on RTNETLINK,
but opens the file containing RTNETLINK messages saved in binary format
......
......@@ -29,7 +29,7 @@ int prefix_banner;
static void usage(void)
{
fprintf(stderr, "Usage: ip monitor [ all | LISTofOBJECTS ] [ FILE ]\n");
fprintf(stderr, "Usage: ip monitor [ all | LISTofOBJECTS ] [ FILE ] [ label ]\n");
fprintf(stderr, "LISTofOBJECTS := link | address | route | mroute | prefix |\n");
fprintf(stderr, " neigh | netconf\n");
fprintf(stderr, "FILE := file FILENAME\n");
......@@ -157,6 +157,8 @@ int do_ipmonitor(int argc, char **argv)
if (matches(*argv, "file") == 0) {
NEXT_ARG();
file = *argv;
} else if (matches(*argv, "label") == 0) {
prefix_banner = 1;
} else if (matches(*argv, "link") == 0) {
llink=1;
groups = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment