diff options
author | Tonghao Zhang <xiangxia.m.yue@gmail.com> | 2019-01-29 00:28:06 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-07 02:12:13 +0100 |
commit | 218d05ce326f9e1b40a56085431fa1068b43d5d9 (patch) | |
tree | 7eb6df906bdb0a3d42b0df565bbf5efffc76d338 /drivers/net/fddi/defxx.c | |
parent | net/mlx5e: Update hw flows when encap source mac changed (diff) | |
download | linux-218d05ce326f9e1b40a56085431fa1068b43d5d9.tar.xz linux-218d05ce326f9e1b40a56085431fa1068b43d5d9.zip |
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 '')
0 files changed, 0 insertions, 0 deletions