Stephen Hemminger <step...@networkplumber.org> writes: > On Tue, 20 Mar 2018 14:21:47 -0400 > Roman Mashak <m...@mojatatu.com> wrote: > >> Signed-off-by: Roman Mashak <m...@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.