On 7/22/19 1:11 PM, Patel, Vedang wrote:
> 
> 
>> On Jul 22, 2019, at 11:21 AM, David Ahern <dsah...@gmail.com> wrote:
>>
>> On 7/19/19 3:40 PM, Vedang Patel wrote:
>>> In iproute2 txtime-assist series, it was pointed out that print_bool()
>>> should be used to print binary values. This is to make it JSON friendly.
>>>
>>> So, make the corresponding changes in ETF.
>>>
>>> Fixes: 8ccd49383cdc ("etf: Add skip_sock_check")
>>> Reported-by: Stephen Hemminger <step...@networkplumber.org>
>>> Signed-off-by: Vedang Patel <vedang.pa...@intel.com>
>>> ---
>>> tc/q_etf.c | 12 ++++++------
>>> 1 file changed, 6 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/tc/q_etf.c b/tc/q_etf.c
>>> index c2090589bc64..307c50eed48b 100644
>>> --- a/tc/q_etf.c
>>> +++ b/tc/q_etf.c
>>> @@ -176,12 +176,12 @@ static int etf_print_opt(struct qdisc_util *qu, FILE 
>>> *f, struct rtattr *opt)
>>>                  get_clock_name(qopt->clockid));
>>>
>>>     print_uint(PRINT_ANY, "delta", "delta %d ", qopt->delta);
>>> -   print_string(PRINT_ANY, "offload", "offload %s ",
>>> -                           (qopt->flags & TC_ETF_OFFLOAD_ON) ? "on" : 
>>> "off");
>>> -   print_string(PRINT_ANY, "deadline_mode", "deadline_mode %s ",
>>> -                           (qopt->flags & TC_ETF_DEADLINE_MODE_ON) ? "on" 
>>> : "off");
>>> -   print_string(PRINT_ANY, "skip_sock_check", "skip_sock_check %s",
>>> -                           (qopt->flags & TC_ETF_SKIP_SOCK_CHECK) ? "on" : 
>>> "off");
>>> +   if (qopt->flags & TC_ETF_OFFLOAD_ON)
>>> +           print_bool(PRINT_ANY, "offload", "offload ", true);
>>> +   if (qopt->flags & TC_ETF_DEADLINE_MODE_ON)
>>> +           print_bool(PRINT_ANY, "deadline_mode", "deadline_mode ", true);
>>> +   if (qopt->flags & TC_ETF_SKIP_SOCK_CHECK)
>>> +           print_bool(PRINT_ANY, "skip_sock_check", "skip_sock_check", 
>>> true);
>>>
>>>     return 0;
>>> }
>>>
>>
>> This changes existing output for TC_ETF_OFFLOAD_ON and
>> TC_ETF_DEADLINE_MODE_ON which were added a year ago.
> Yes, this is a good point. I missed that. 
> 
> Another idea is to use is_json_context() and call print_bool() there. But, 
> that will still change values corresponding to the json output for the above 
> flags from “on”/“off” to “true”/“false”. I am not sure if this is a big 
> issue. 
> 
> My suggestion is to keep the code as is. what do you think?
> 

I think we need automated checkers for new code. ;-)

The first 2 should not change for backward compatibility - unless there
is agreement that this feature is too new and long term it is better to
print as above.

Then the new one should follow context of the other 2 - consistency IMHO
takes precedence.

Reply via email to