On Tue, 19 Feb 2019 15:03:31 +0100
Thomas Haller <thal...@redhat.com> wrote:

> The key should not be called "to_tbl" because it is exactly
> not a FR_ACT_TO_TBL action.
> 
>     # ip rule add blackhole
>     # ip -j rule | python -m json.tool
>     ...
>     {
>         "priority": 0,
>         "src": "all",
>         "to_tbl": "blackhole"
>     },
> 
> Still, as this is already released API from v4.17.0, stick to it.
> Only add a comment for this oddity.
> 
> Related: 0dd4ccc56c0e ("iprule: add json support")
> 
> Signed-off-by: Thomas Haller <thal...@redhat.com>
> ---
> If it is still permissible to change the API, I can also send a patch to
> rename "to_tbl" key to "action".
> 
>  ip/iprule.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/ip/iprule.c b/ip/iprule.c
> index 2f58d8c2..aea175aa 100644
> --- a/ip/iprule.c
> +++ b/ip/iprule.c
> @@ -459,6 +459,8 @@ int print_rule(struct nlmsghdr *n, void *arg)
>       } else if (frh->action == FR_ACT_NOP) {
>               print_null(PRINT_ANY, "nop", "nop", NULL);
>       } else if (frh->action != FR_ACT_TO_TBL) {
> +             /* The action is not(!) to-tbl, however for historic
> +              * reasons, this JSON key is called "to_tbl". */
>               print_string(PRINT_ANY, "to_tbl", "%s",
>                            rtnl_rtntype_n2a(frh->action, b1, sizeof(b1)));
>       }

Just fix it and add fixes tag. JSON has been only added for a short time.

Reply via email to