Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

net/sched: act_api: add specific EXT_WARN_MSG for tc action

In my previous commit 0349b8779cc9 ("sched: add new attr TCA_EXT_WARN_MSG
to report tc extact message") I didn't notice the tc action use different
enum with filter. So we can't use TCA_EXT_WARN_MSG directly for tc action.
Let's add a TCA_ROOT_EXT_WARN_MSG for tc action specifically and put this
param before going to the TCA_ACT_TAB nest.

Fixes: 0349b8779cc9 ("sched: add new attr TCA_EXT_WARN_MSG to report tc extact message")
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Hangbin Liu and committed by
Jakub Kicinski
2f59823f 8de2bd02

+5 -4
+1
include/uapi/linux/rtnetlink.h
··· 789 789 TCA_ROOT_FLAGS, 790 790 TCA_ROOT_COUNT, 791 791 TCA_ROOT_TIME_DELTA, /* in msecs */ 792 + TCA_ROOT_EXT_WARN_MSG, 792 793 __TCA_ROOT_MAX, 793 794 #define TCA_ROOT_MAX (__TCA_ROOT_MAX - 1) 794 795 };
+4 -4
net/sched/act_api.c
··· 1589 1589 t->tca__pad1 = 0; 1590 1590 t->tca__pad2 = 0; 1591 1591 1592 + if (extack && extack->_msg && 1593 + nla_put_string(skb, TCA_ROOT_EXT_WARN_MSG, extack->_msg)) 1594 + goto out_nlmsg_trim; 1595 + 1592 1596 nest = nla_nest_start_noflag(skb, TCA_ACT_TAB); 1593 1597 if (!nest) 1594 1598 goto out_nlmsg_trim; ··· 1601 1597 goto out_nlmsg_trim; 1602 1598 1603 1599 nla_nest_end(skb, nest); 1604 - 1605 - if (extack && extack->_msg && 1606 - nla_put_string(skb, TCA_EXT_WARN_MSG, extack->_msg)) 1607 - goto out_nlmsg_trim; 1608 1600 1609 1601 nlh->nlmsg_len = skb_tail_pointer(skb) - b; 1610 1602