]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit37c75af1392bcd7ab0236030292a710e5411d49e
tree36172fae20323f312c3c5a5b10ec2fa310908516
parent3dc627f1fadcf5d12291777c37a818e792d0d276
parentca24b0f47af44867dc51f8889fd535caab68cdfa
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>