Subject: Re: [PATCH iproute2 1/1] tc: print index, refcnt & bindcnt for nat action

From: Roman Mashak <[email-masked]>
Date: Tue, 27 Mar 2018 17:32:31 -0400

Stephen Hemminger <[email-masked]> writes:

> On Tue, 20 Mar 2018 14:21:47 -0400
> Roman Mashak <[email-masked]> wrote:
>
>> Signed-off-by: Roman Mashak <[email-masked]>
>> ---
>>  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.