Message ID | 1521570107-30024-1-git-send-email-mrv@mojatatu.com |
---|---|
State | Accepted, archived |
Delegated to: | stephen hemminger |
Headers | show |
Series | [iproute2,1/1] tc: print index, refcnt & bindcnt for nat action | expand |
On Tue, 20 Mar 2018 14:21:47 -0400 Roman Mashak <mrv@mojatatu.com> wrote: > Signed-off-by: Roman Mashak <mrv@mojatatu.com> > --- > tc/m_nat.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/tc/m_nat.c b/tc/m_nat.c > index 1e4ff51fe75a..f6e373957c1b 100644 > --- a/tc/m_nat.c > +++ b/tc/m_nat.c > @@ -169,6 +169,9 @@ print_nat(struct action_util *au, FILE * f, struct rtattr *arg) > format_host_r(AF_INET, 4, &sel->new_addr, buf2, sizeof(buf2))); > print_action_control(f, " ", sel->action, ""); > > + fprintf(f, "\n\t index %u ref %d bind %d", > + sel->index, sel->refcnt, sel->bindcnt); > + > if (show_stats) { > if (tb[TCA_NAT_TM]) { > struct tcf_t *tm = RTA_DATA(tb[TCA_NAT_TM]); > @@ -177,6 +180,8 @@ print_nat(struct action_util *au, FILE * f, struct rtattr *arg) > } > } > > + fprintf(f, "\n"); > + > return 0; > } Rather than printing newline all the time, you need to use _SL_ to keep the optional oneline output format. I.e fprintf(f, "%s\t index %u ref %d bind %d", _SL_, sel->index, sel->refcnt, sel->bindcnt);
Stephen Hemminger <stephen@networkplumber.org> writes: > On Tue, 20 Mar 2018 14:21:47 -0400 > Roman Mashak <mrv@mojatatu.com> wrote: > >> Signed-off-by: Roman Mashak <mrv@mojatatu.com> >> --- >> tc/m_nat.c | 5 +++++ >> 1 file changed, 5 insertions(+) >> >> diff --git a/tc/m_nat.c b/tc/m_nat.c >> index 1e4ff51fe75a..f6e373957c1b 100644 >> --- a/tc/m_nat.c >> +++ b/tc/m_nat.c >> @@ -169,6 +169,9 @@ print_nat(struct action_util *au, FILE * f, struct rtattr *arg) >> format_host_r(AF_INET, 4, &sel->new_addr, buf2, sizeof(buf2))); >> print_action_control(f, " ", sel->action, ""); >> >> + fprintf(f, "\n\t index %u ref %d bind %d", >> + sel->index, sel->refcnt, sel->bindcnt); >> + >> if (show_stats) { >> if (tb[TCA_NAT_TM]) { >> struct tcf_t *tm = RTA_DATA(tb[TCA_NAT_TM]); >> @@ -177,6 +180,8 @@ print_nat(struct action_util *au, FILE * f, struct rtattr *arg) >> } >> } >> >> + fprintf(f, "\n"); >> + >> return 0; >> } > > Rather than printing newline all the time, you need to use _SL_ to keep the optional > oneline output format. > > I.e > fprintf(f, "%s\t index %u ref %d bind %d", > _SL_, sel->index, sel->refcnt, sel->bindcnt); tc currently doesn't support oneline mode, so I'll have to add it first, then update all actions to use the oneliner.
On Tue, 27 Mar 2018 17:32:31 -0400 Roman Mashak <mrv@mojatatu.com> wrote: > Stephen Hemminger <stephen@networkplumber.org> writes: > > > On Tue, 20 Mar 2018 14:21:47 -0400 > > Roman Mashak <mrv@mojatatu.com> wrote: > > > >> Signed-off-by: Roman Mashak <mrv@mojatatu.com> > >> --- > >> tc/m_nat.c | 5 +++++ > >> 1 file changed, 5 insertions(+) > >> > >> diff --git a/tc/m_nat.c b/tc/m_nat.c > >> index 1e4ff51fe75a..f6e373957c1b 100644 > >> --- a/tc/m_nat.c > >> +++ b/tc/m_nat.c > >> @@ -169,6 +169,9 @@ print_nat(struct action_util *au, FILE * f, struct rtattr *arg) > >> format_host_r(AF_INET, 4, &sel->new_addr, buf2, sizeof(buf2))); > >> print_action_control(f, " ", sel->action, ""); > >> > >> + fprintf(f, "\n\t index %u ref %d bind %d", > >> + sel->index, sel->refcnt, sel->bindcnt); > >> + > >> if (show_stats) { > >> if (tb[TCA_NAT_TM]) { > >> struct tcf_t *tm = RTA_DATA(tb[TCA_NAT_TM]); > >> @@ -177,6 +180,8 @@ print_nat(struct action_util *au, FILE * f, struct rtattr *arg) > >> } > >> } > >> > >> + fprintf(f, "\n"); > >> + > >> return 0; > >> } > > > > Rather than printing newline all the time, you need to use _SL_ to keep the optional > > oneline output format. > > > > I.e > > fprintf(f, "%s\t index %u ref %d bind %d", > > _SL_, sel->index, sel->refcnt, sel->bindcnt); > > tc currently doesn't support oneline mode, so I'll have to add it first, > then update all actions to use the oneliner. Ok, never mind then. Let's just get to it as part of the JSON work. I spent too much staring at ip ...
On Tue, 27 Mar 2018 17:32:31 -0400 Roman Mashak <mrv@mojatatu.com> wrote: > Stephen Hemminger <stephen@networkplumber.org> writes: > > > On Tue, 20 Mar 2018 14:21:47 -0400 > > Roman Mashak <mrv@mojatatu.com> wrote: > > > >> Signed-off-by: Roman Mashak <mrv@mojatatu.com> > >> --- > >> tc/m_nat.c | 5 +++++ > >> 1 file changed, 5 insertions(+) > >> > >> diff --git a/tc/m_nat.c b/tc/m_nat.c > >> index 1e4ff51fe75a..f6e373957c1b 100644 > >> --- a/tc/m_nat.c > >> +++ b/tc/m_nat.c > >> @@ -169,6 +169,9 @@ print_nat(struct action_util *au, FILE * f, struct rtattr *arg) > >> format_host_r(AF_INET, 4, &sel->new_addr, buf2, sizeof(buf2))); > >> print_action_control(f, " ", sel->action, ""); > >> > >> + fprintf(f, "\n\t index %u ref %d bind %d", > >> + sel->index, sel->refcnt, sel->bindcnt); > >> + > >> if (show_stats) { > >> if (tb[TCA_NAT_TM]) { > >> struct tcf_t *tm = RTA_DATA(tb[TCA_NAT_TM]); > >> @@ -177,6 +180,8 @@ print_nat(struct action_util *au, FILE * f, struct rtattr *arg) > >> } > >> } > >> > >> + fprintf(f, "\n"); > >> + > >> return 0; > >> } > > > > Rather than printing newline all the time, you need to use _SL_ to keep the optional > > oneline output format. > > > > I.e > > fprintf(f, "%s\t index %u ref %d bind %d", > > _SL_, sel->index, sel->refcnt, sel->bindcnt); > > tc currently doesn't support oneline mode, so I'll have to add it first, > then update all actions to use the oneliner. I will take the original patch set then for the tc stuff.
diff --git a/tc/m_nat.c b/tc/m_nat.c index 1e4ff51fe75a..f6e373957c1b 100644 --- a/tc/m_nat.c +++ b/tc/m_nat.c @@ -169,6 +169,9 @@ print_nat(struct action_util *au, FILE * f, struct rtattr *arg) format_host_r(AF_INET, 4, &sel->new_addr, buf2, sizeof(buf2))); print_action_control(f, " ", sel->action, ""); + fprintf(f, "\n\t index %u ref %d bind %d", + sel->index, sel->refcnt, sel->bindcnt); + if (show_stats) { if (tb[TCA_NAT_TM]) { struct tcf_t *tm = RTA_DATA(tb[TCA_NAT_TM]); @@ -177,6 +180,8 @@ print_nat(struct action_util *au, FILE * f, struct rtattr *arg) } } + fprintf(f, "\n"); + return 0; }
Signed-off-by: Roman Mashak <mrv@mojatatu.com> --- tc/m_nat.c | 5 +++++ 1 file changed, 5 insertions(+)