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.

Reply via email to