When adding or deleting a batch of entries, the kernel sends upto TCA_ACT_MAX_PRIO entries in an event to user space. However it does not consider that the action sizes may vary and require different skb sizes.
For example : % cat tc-batch.sh TC="sudo /mnt/iproute2.git/tc/tc" $TC actions flush action mirred for i in `seq 1 $1`; do cmd="action mirred egress redirect dev lo index $i " args=$args$cmd done $TC actions add $args % % ./tc-batch.sh 32 Error: Failed to fill netlink attributes while adding TC action. We have an error talking to the kernel % patch 1 adds callback in tc_action_ops of mirred action, which calculates the action size, and passes size to tcf_add_notify()/tcf_del_notify(). patch 2 updates the TDC test suite with relevant test cases. Roman Mashak (2): net sched: update mirred action for batched events operations tc-testing: updated mirred action tests with batch create/delete net/sched/act_mirred.c | 6 ++ .../tc-testing/tc-tests/actions/mirred.json | 94 ++++++++++++++++++++++ 2 files changed, 100 insertions(+) -- 2.7.4