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 |
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 .
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 --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; }