Merge branch 'net-sched-fix-parsing-of-tca_ext_warn_msg-for-tc-action'
Hangbin Liu says: ==================== net/sched: fix parsing of TCA_EXT_WARN_MSG for tc action In my previous commit0349b8779c("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 rever the previous fix923b2e30dc("net/sched: act_api: move TCA_EXT_WARN_MSG to the correct hierarchy") and add a new TCA_ROOT_EXT_WARN_MSG for tc action specifically. Here is the tdc test result: 1..1119 ok 1 d959 - Add cBPF action with valid bytecode ok 2 f84a - Add cBPF action with invalid bytecode ok 3 e939 - Add eBPF action with valid object-file ok 4 282d - Add eBPF action with invalid object-file ok 5 d819 - Replace cBPF bytecode and action control ok 6 6ae3 - Delete cBPF action ok 7 3e0d - List cBPF actions ok 8 55ce - Flush BPF actions ok 9 ccc3 - Add cBPF action with duplicate index ok 10 89c7 - Add cBPF action with invalid index [...] ok 1115 2348 - Show TBF class ok 1116 84a0 - Create TEQL with default setting ok 1117 7734 - Create TEQL with multiple device ok 1118 34a9 - Delete TEQL with valid handle ok 1119 6289 - Show TEQL stats ==================== Link: https://lore.kernel.org/r/20230316033753.2320557-1-liuhangbin@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -789,6 +789,7 @@ enum {
|
||||
TCA_ROOT_FLAGS,
|
||||
TCA_ROOT_COUNT,
|
||||
TCA_ROOT_TIME_DELTA, /* in msecs */
|
||||
TCA_ROOT_EXT_WARN_MSG,
|
||||
__TCA_ROOT_MAX,
|
||||
#define TCA_ROOT_MAX (__TCA_ROOT_MAX - 1)
|
||||
};
|
||||
|
||||
+4
-4
@@ -1589,6 +1589,10 @@ static int tca_get_fill(struct sk_buff *skb, struct tc_action *actions[],
|
||||
t->tca__pad1 = 0;
|
||||
t->tca__pad2 = 0;
|
||||
|
||||
if (extack && extack->_msg &&
|
||||
nla_put_string(skb, TCA_ROOT_EXT_WARN_MSG, extack->_msg))
|
||||
goto out_nlmsg_trim;
|
||||
|
||||
nest = nla_nest_start_noflag(skb, TCA_ACT_TAB);
|
||||
if (!nest)
|
||||
goto out_nlmsg_trim;
|
||||
@@ -1596,10 +1600,6 @@ static int tca_get_fill(struct sk_buff *skb, struct tc_action *actions[],
|
||||
if (tcf_action_dump(skb, actions, bind, ref, false) < 0)
|
||||
goto out_nlmsg_trim;
|
||||
|
||||
if (extack && extack->_msg &&
|
||||
nla_put_string(skb, TCA_EXT_WARN_MSG, extack->_msg))
|
||||
goto out_nlmsg_trim;
|
||||
|
||||
nla_nest_end(skb, nest);
|
||||
|
||||
nlh->nlmsg_len = skb_tail_pointer(skb) - b;
|
||||
|
||||
Reference in New Issue
Block a user