From: Roman Mashak <m...@mojatatu.com> Date: Thu, 8 Mar 2018 16:59:16 -0500
> 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 > #!/bin/bash > TC="sudo /mnt/iproute2.git/tc/tc" > > $TC actions flush action gact > for i in `seq 1 $1`; > do > cmd="action pass 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 > % > > This patchset introduces new callback in tc_action_ops, which calculates > the action size, and passes size to tcf_add_notify()/tcf_del_notify(). The > patch fixes act_gact, and the rest of actions will be updated in the > follow-up patches. > > v3: > Fixed tcf_action_fill_size() to return shared attrs length when > action ->get_fill_size() isn't implemented. > v2: > Restructured patches to make them bisectable. This looks better, series applied, thanks.