Patchwork [IPROUTE2,2/2] Enable Type Labels For "ip monitor all"

login
register
mail settings
Submitter Varun Chandramohan
Date March 12, 2009, 8:12 a.m.
Message ID <20090312134243.1b15fc2c.varunc@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/24338/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Varun Chandramohan - March 12, 2009, 8:12 a.m.
This patch adds prefix lables for "ip monitor all" command to simplfy
understanding of the output.

Signed-off-by: Varun Chandramohan <varunc@linux.vnet.ibm.com>
---
 ip/ipmonitor.c |   16 ++++++++++++++++
 1 files changed, 16 insertions(+), 0 deletions(-)
stephen hemminger - March 27, 2009, 6:28 p.m.
On Thu, 12 Mar 2009 13:42:43 +0530
Varun Chandramohan <varunc@linux.vnet.ibm.com> wrote:

> This patch adds prefix lables for "ip monitor all" command to simplfy
> understanding of the output.
> 
> Signed-off-by: Varun Chandramohan <varunc@linux.vnet.ibm.com>
> ---
>  ip/ipmonitor.c |   16 ++++++++++++++++
>  1 files changed, 16 insertions(+), 0 deletions(-)
> 
> diff --git a/ip/ipmonitor.c b/ip/ipmonitor.c
> index a74730e..baf25a8 100644
> --- a/ip/ipmonitor.c
> +++ b/ip/ipmonitor.c
> @@ -25,6 +25,7 @@
>  #include "ip_common.h"
>  
>  static void usage(void) __attribute__((noreturn));
> +int prefix_banner;
>  
>  static void usage(void)
>  {
> @@ -42,31 +43,45 @@ int accept_msg(const struct sockaddr_nl *who,
>  		print_timestamp(fp);
>  
>  	if (n->nlmsg_type == RTM_NEWROUTE || n->nlmsg_type == RTM_DELROUTE) {
> +		if (prefix_banner)
> +			fprintf(fp, "[ROUTE]");
>  		print_route(who, n, arg);
>  		return 0;
>  	}
>  	if (n->nlmsg_type == RTM_NEWLINK || n->nlmsg_type == RTM_DELLINK) {
>  		ll_remember_index(who, n, NULL);
> +		if (prefix_banner)
> +			fprintf(fp, "[LINK]");
>  		print_linkinfo(who, n, arg);
>  		return 0;
>  	}
>  	if (n->nlmsg_type == RTM_NEWADDR || n->nlmsg_type == RTM_DELADDR) {
> +		if (prefix_banner)
> +			fprintf(fp, "[ADDR]");
>  		print_addrinfo(who, n, arg);
>  		return 0;
>  	}
>  	if (n->nlmsg_type == RTM_NEWADDRLABEL || n->nlmsg_type == RTM_DELADDRLABEL) {
> +		if (prefix_banner)
> +			fprintf(fp, "[ADDRLABEL]");
>  		print_addrlabel(who, n, arg);
>  		return 0;
>  	}
>  	if (n->nlmsg_type == RTM_NEWNEIGH || n->nlmsg_type == RTM_DELNEIGH) {
> +		if (prefix_banner)
> +			fprintf(fp, "[NEIGH]");
>  		print_neigh(who, n, arg);
>  		return 0;
>  	}
>  	if (n->nlmsg_type == RTM_NEWPREFIX) {
> +		if (prefix_banner)
> +			fprintf(fp, "[PREFIX]");
>  		print_prefix(who, n, arg);
>  		return 0;
>  	}
>  	if (n->nlmsg_type == RTM_NEWRULE || n->nlmsg_type == RTM_DELRULE) {
> +		if (prefix_banner)
> +			fprintf(fp, "[RULE]");
>  		print_rule(who, n, arg);
>  		return 0;
>  	}
> @@ -130,6 +145,7 @@ int do_ipmonitor(int argc, char **argv)
>  			groups = 0;		
>  		} else if (strcmp(*argv, "all") == 0) {
>  			groups = ~RTMGRP_TC;
> +			prefix_banner=1;
>  		} else if (matches(*argv, "help") == 0) {
>  			usage();
>  		} else {

applied
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch

diff --git a/ip/ipmonitor.c b/ip/ipmonitor.c
index a74730e..baf25a8 100644
--- a/ip/ipmonitor.c
+++ b/ip/ipmonitor.c
@@ -25,6 +25,7 @@ 
 #include "ip_common.h"
 
 static void usage(void) __attribute__((noreturn));
+int prefix_banner;
 
 static void usage(void)
 {
@@ -42,31 +43,45 @@  int accept_msg(const struct sockaddr_nl *who,
 		print_timestamp(fp);
 
 	if (n->nlmsg_type == RTM_NEWROUTE || n->nlmsg_type == RTM_DELROUTE) {
+		if (prefix_banner)
+			fprintf(fp, "[ROUTE]");
 		print_route(who, n, arg);
 		return 0;
 	}
 	if (n->nlmsg_type == RTM_NEWLINK || n->nlmsg_type == RTM_DELLINK) {
 		ll_remember_index(who, n, NULL);
+		if (prefix_banner)
+			fprintf(fp, "[LINK]");
 		print_linkinfo(who, n, arg);
 		return 0;
 	}
 	if (n->nlmsg_type == RTM_NEWADDR || n->nlmsg_type == RTM_DELADDR) {
+		if (prefix_banner)
+			fprintf(fp, "[ADDR]");
 		print_addrinfo(who, n, arg);
 		return 0;
 	}
 	if (n->nlmsg_type == RTM_NEWADDRLABEL || n->nlmsg_type == RTM_DELADDRLABEL) {
+		if (prefix_banner)
+			fprintf(fp, "[ADDRLABEL]");
 		print_addrlabel(who, n, arg);
 		return 0;
 	}
 	if (n->nlmsg_type == RTM_NEWNEIGH || n->nlmsg_type == RTM_DELNEIGH) {
+		if (prefix_banner)
+			fprintf(fp, "[NEIGH]");
 		print_neigh(who, n, arg);
 		return 0;
 	}
 	if (n->nlmsg_type == RTM_NEWPREFIX) {
+		if (prefix_banner)
+			fprintf(fp, "[PREFIX]");
 		print_prefix(who, n, arg);
 		return 0;
 	}
 	if (n->nlmsg_type == RTM_NEWRULE || n->nlmsg_type == RTM_DELRULE) {
+		if (prefix_banner)
+			fprintf(fp, "[RULE]");
 		print_rule(who, n, arg);
 		return 0;
 	}
@@ -130,6 +145,7 @@  int do_ipmonitor(int argc, char **argv)
 			groups = 0;		
 		} else if (strcmp(*argv, "all") == 0) {
 			groups = ~RTMGRP_TC;
+			prefix_banner=1;
 		} else if (matches(*argv, "help") == 0) {
 			usage();
 		} else {