diff options
author | Tonghao Zhang <xiangxia.m.yue@gmail.com> | 2019-01-29 02:28:06 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-07 04:12:13 +0300 |
commit | 218d05ce326f9e1b40a56085431fa1068b43d5d9 (patch) | |
tree | 7eb6df906bdb0a3d42b0df565bbf5efffc76d338 /drivers/net/fddi | |
parent | 6707f74be8621ae067d2cf1c4485900e2742c20f (diff) | |
download | linux-218d05ce326f9e1b40a56085431fa1068b43d5d9.tar.xz |
net/mlx5e: Don't overwrite pedit action when multiple pedit used
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.
Fixes: d79b6df6b10a ("net/mlx5e: Add parsing of TC pedit actions to HW format")
Cc: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com>
Acked-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/fddi')
0 files changed, 0 insertions, 0 deletions