Skip to content

Commit 06b4eac

Browse files
Jianbo LiuSaeed Mahameed
authored andcommitted
net/mlx5e: Don't offload internal port if filter device is out device
In the cited commit, if the routing device is ovs internal port, the out device is set to uplink, and packets go out after encapsulation. If filter device is uplink, it can trigger the following syndrome: mlx5_core 0000:08:00.0: mlx5_cmd_out_err:803:(pid 3966): SET_FLOW_TABLE_ENTRY(0x936) op_mod(0x0) failed, status bad parameter(0x3), syndrome (0xcdb051), err(-22) Fix this issue by not offloading internal port if filter device is out device. In this case, packets are not forwarded to the root table to be processed, the termination table is used instead to forward them from uplink to uplink. Fixes: 100ad4e ("net/mlx5e: Offload internal port as encap route device") Signed-off-by: Jianbo Liu <[email protected]> Reviewed-by: Ariel Levkovich <[email protected]> Signed-off-by: Saeed Mahameed <[email protected]>
1 parent c51c673 commit 06b4eac

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ static int mlx5e_set_int_port_tunnel(struct mlx5e_priv *priv,
2424

2525
route_dev = dev_get_by_index(dev_net(e->out_dev), e->route_dev_ifindex);
2626

27-
if (!route_dev || !netif_is_ovs_master(route_dev))
27+
if (!route_dev || !netif_is_ovs_master(route_dev) ||
28+
attr->parse_attr->filter_dev == e->out_dev)
2829
goto out;
2930

3031
err = mlx5e_set_fwd_to_int_port_actions(priv, attr, e->route_dev_ifindex,

0 commit comments

Comments
 (0)