diff mbox series

[iproute2] tc: move action cookie print out of the stats if

Message ID 20171124082821.1758-1-jiri@resnulli.us
State Changes Requested, archived
Delegated to: stephen hemminger
Headers show
Series [iproute2] tc: move action cookie print out of the stats if | expand

Commit Message

Jiri Pirko Nov. 24, 2017, 8:28 a.m. UTC
From: Jiri Pirko <jiri@mellanox.com>

Cookie print was made dependent on show_stats for no good reason. Fix
this bu pushing cookie print ot of the stats if.

Fixes: fd8b3d2c1b9b ("actions: Add support for user cookies")
Signed-off-by: Jiri Pirko <jiri@mellanox.com>
---
 tc/m_action.c | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

Comments

Stephen Hemminger Nov. 24, 2017, 5:11 p.m. UTC | #1
On Fri, 24 Nov 2017 09:28:21 +0100
Jiri Pirko <jiri@resnulli.us> wrote:

> From: Jiri Pirko <jiri@mellanox.com>
> 
> Cookie print was made dependent on show_stats for no good reason. Fix
> this bu pushing cookie print ot of the stats if.
> 
> Fixes: fd8b3d2c1b9b ("actions: Add support for user cookies")
> Signed-off-by: Jiri Pirko <jiri@mellanox.com>
> ---
>  tc/m_action.c | 17 ++++++++---------
>  1 file changed, 8 insertions(+), 9 deletions(-)
> 
> diff --git a/tc/m_action.c b/tc/m_action.c
> index 0dce97f..c2fc4f1 100644
> --- a/tc/m_action.c
> +++ b/tc/m_action.c
> @@ -301,19 +301,18 @@ static int tc_print_one_action(FILE *f, struct rtattr *arg)
>  		return err;
>  
>  	if (show_stats && tb[TCA_ACT_STATS]) {
> -
>  		fprintf(f, "\tAction statistics:\n");
>  		print_tcstats2_attr(f, tb[TCA_ACT_STATS], "\t", NULL);
> -		if (tb[TCA_ACT_COOKIE]) {
> -			int strsz = RTA_PAYLOAD(tb[TCA_ACT_COOKIE]);
> -			char b1[strsz * 2 + 1];
> -
> -			fprintf(f, "\n\tcookie len %d %s ", strsz,
> -				hexstring_n2a(RTA_DATA(tb[TCA_ACT_COOKIE]),
> -					      strsz, b1, sizeof(b1)));
> -		}
>  		fprintf(f, "\n");
>  	}
> +	if (tb[TCA_ACT_COOKIE]) {
> +		int strsz = RTA_PAYLOAD(tb[TCA_ACT_COOKIE]);
> +		char b1[strsz * 2 + 1];
> +
> +		fprintf(f, "\tcookie len %d %s\n", strsz,
> +			hexstring_n2a(RTA_DATA(tb[TCA_ACT_COOKIE]),
> +				      strsz, b1, sizeof(b1)));
> +	}
>  
>  	return 0;
>  }

Yes, it should not be under stats flag.
The general model is that -s is for statistics only; and -d is for read only detail values.
So this makes sense.

The problem is that the format of the action cookie needs to be same on command line
argument and on display; i.e drop the length part of the display .
Jiri Pirko Nov. 25, 2017, 8:35 a.m. UTC | #2
Fri, Nov 24, 2017 at 06:11:42PM CET, stephen@networkplumber.org wrote:
>On Fri, 24 Nov 2017 09:28:21 +0100
>Jiri Pirko <jiri@resnulli.us> wrote:
>
>> From: Jiri Pirko <jiri@mellanox.com>
>> 
>> Cookie print was made dependent on show_stats for no good reason. Fix
>> this bu pushing cookie print ot of the stats if.
>> 
>> Fixes: fd8b3d2c1b9b ("actions: Add support for user cookies")
>> Signed-off-by: Jiri Pirko <jiri@mellanox.com>
>> ---
>>  tc/m_action.c | 17 ++++++++---------
>>  1 file changed, 8 insertions(+), 9 deletions(-)
>> 
>> diff --git a/tc/m_action.c b/tc/m_action.c
>> index 0dce97f..c2fc4f1 100644
>> --- a/tc/m_action.c
>> +++ b/tc/m_action.c
>> @@ -301,19 +301,18 @@ static int tc_print_one_action(FILE *f, struct rtattr *arg)
>>  		return err;
>>  
>>  	if (show_stats && tb[TCA_ACT_STATS]) {
>> -
>>  		fprintf(f, "\tAction statistics:\n");
>>  		print_tcstats2_attr(f, tb[TCA_ACT_STATS], "\t", NULL);
>> -		if (tb[TCA_ACT_COOKIE]) {
>> -			int strsz = RTA_PAYLOAD(tb[TCA_ACT_COOKIE]);
>> -			char b1[strsz * 2 + 1];
>> -
>> -			fprintf(f, "\n\tcookie len %d %s ", strsz,
>> -				hexstring_n2a(RTA_DATA(tb[TCA_ACT_COOKIE]),
>> -					      strsz, b1, sizeof(b1)));
>> -		}
>>  		fprintf(f, "\n");
>>  	}
>> +	if (tb[TCA_ACT_COOKIE]) {
>> +		int strsz = RTA_PAYLOAD(tb[TCA_ACT_COOKIE]);
>> +		char b1[strsz * 2 + 1];
>> +
>> +		fprintf(f, "\tcookie len %d %s\n", strsz,
>> +			hexstring_n2a(RTA_DATA(tb[TCA_ACT_COOKIE]),
>> +				      strsz, b1, sizeof(b1)));
>> +	}
>>  
>>  	return 0;
>>  }
>
>Yes, it should not be under stats flag.
>The general model is that -s is for statistics only; and -d is for read only detail values.
>So this makes sense.
>
>The problem is that the format of the action cookie needs to be same on command line
>argument and on display; i.e drop the length part of the display .

I agree. But that should be a separate patch.
diff mbox series

Patch

diff --git a/tc/m_action.c b/tc/m_action.c
index 0dce97f..c2fc4f1 100644
--- a/tc/m_action.c
+++ b/tc/m_action.c
@@ -301,19 +301,18 @@  static int tc_print_one_action(FILE *f, struct rtattr *arg)
 		return err;
 
 	if (show_stats && tb[TCA_ACT_STATS]) {
-
 		fprintf(f, "\tAction statistics:\n");
 		print_tcstats2_attr(f, tb[TCA_ACT_STATS], "\t", NULL);
-		if (tb[TCA_ACT_COOKIE]) {
-			int strsz = RTA_PAYLOAD(tb[TCA_ACT_COOKIE]);
-			char b1[strsz * 2 + 1];
-
-			fprintf(f, "\n\tcookie len %d %s ", strsz,
-				hexstring_n2a(RTA_DATA(tb[TCA_ACT_COOKIE]),
-					      strsz, b1, sizeof(b1)));
-		}
 		fprintf(f, "\n");
 	}
+	if (tb[TCA_ACT_COOKIE]) {
+		int strsz = RTA_PAYLOAD(tb[TCA_ACT_COOKIE]);
+		char b1[strsz * 2 + 1];
+
+		fprintf(f, "\tcookie len %d %s\n", strsz,
+			hexstring_n2a(RTA_DATA(tb[TCA_ACT_COOKIE]),
+				      strsz, b1, sizeof(b1)));
+	}
 
 	return 0;
 }