On Tue, Jan 22, 2019 at 4:38 PM <xiangxia.m....@gmail.com> wrote:
>
> From: Tonghao Zhang <xiangxia.m....@gmail.com>
>
> In some case, we may use multiple pedit actions to modify packets.
> The command shown as below: the last pedit action is effective.
>
> $ tc filter add dev netdev_rep parent ffff: protocol ip prio 1  \
>         flower skip_sw ip_proto icmp dst_ip 3.3.3.3                     \
>         action pedit ex munge ip dst set 192.168.1.100 pipe             \
>         action pedit ex munge eth src set 00:00:00:00:00:01 pipe        \
>         action pedit ex munge eth dst set 00:00:00:00:00:02 pipe        \
>         action csum ip pipe                                             \
>         action tunnel_key set src_ip 1.1.1.100 dst_ip 1.1.1.200 dst_port 4789 
> id 100 \
>         action mirred egress redirect dev vxlan0
>
> To fix it, we add max_mod_hdr_actions to mlx5e_tc_flow_parse_attr struction,
> max_mod_hdr_actions will store the max pedit action number we support and
> num_mod_hdr_actions indicates how many pedit action we used, and store all
> pedit action to mod_hdr_actions.

There's a comment just above offload_pedit_fields saying:

/* On input attr->num_mod_hdr_actions tells how many HW actions can be parsed at
 * max from the SW pedit action. On success, it says how many HW actions were
 * actually parsed.
 */

I guess it will have to change now, right?

Reply via email to