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.