Merge branch 'Fix-batched-event-generation-for-vlan-action'
authorDavid S. Miller <davem@davemloft.net>
Tue, 6 Aug 2019 21:05:40 +0000 (14:05 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 6 Aug 2019 21:06:26 +0000 (14:06 -0700)
commit5b0bce247cc2423defedf289f8b84e22385426ee
tree36172fae20323f312c3c5a5b10ec2fa310908516
parent3abd24a1831d0507e15702184c6319c253145a6c
parent8571deb013812f35260b2b7152a522eacfa9ccf9
Merge branch 'Fix-batched-event-generation-for-vlan-action'

Roman Mashak says:

====================
Fix batched event generation for vlan action

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.
====================

Acked-by: Jamal Hadi Salim <jhs@mojatatu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>