From: Roman Mashak <m...@mojatatu.com> Date: Fri, 2 Aug 2019 15:16:45 -0400
> When adding or deleting a batch of entries, the kernel sends up to > TCA_ACT_MAX_PRIO (defined to 32 in kernel) 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, consider the following script adding 32 entries with all > supported vlan parameters (in order to maximize netlink messages size): > > % cat tc-batch.sh > TC="sudo /mnt/iproute2.git/tc/tc" > > $TC actions flush action vlan > for i in `seq 1 $1`; > do > cmd="action vlan push protocol 802.1q id 4094 priority 7 pipe \ > index $i cookie aabbccddeeff112233445566778800a1 " > 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 vlan 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 vlan test cases. Series applied and patch #1 queued up for -stable.