Skip to content

Commit 72e0bcd

Browse files
roidayanSaeed Mahameed
authored andcommitted
net/mlx5: TC, Add support for SF tunnel offload
VF tunnel flow already exists and SF tunnel is the same flow. Support offloading of tunneling over SF device by allow to attach an encap route over SF and set to use indirect flow table on SF. Signed-off-by: Roi Dayan <[email protected]> Reviewed-by: Mark Bloch <[email protected]> Reviewed-by: Maor Dickman <[email protected]> Signed-off-by: Saeed Mahameed <[email protected]>
1 parent 430e2d5 commit 72e0bcd

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

drivers/net/ethernet/mellanox/mlx5/core/en_tc.c

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1505,8 +1505,11 @@ bool mlx5e_tc_is_vf_tunnel(struct net_device *out_dev, struct net_device *route_
15051505
route_priv = netdev_priv(route_dev);
15061506
route_mdev = route_priv->mdev;
15071507

1508-
if (out_mdev->coredev_type != MLX5_COREDEV_PF ||
1509-
route_mdev->coredev_type != MLX5_COREDEV_VF)
1508+
if (out_mdev->coredev_type != MLX5_COREDEV_PF)
1509+
return false;
1510+
1511+
if (route_mdev->coredev_type != MLX5_COREDEV_VF &&
1512+
route_mdev->coredev_type != MLX5_COREDEV_SF)
15101513
return false;
15111514

15121515
return mlx5e_same_hw_devs(out_priv, route_priv);

drivers/net/ethernet/mellanox/mlx5/core/esw/indir_table.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,16 @@ mlx5_esw_indir_table_needed(struct mlx5_eswitch *esw,
7878
struct mlx5_core_dev *dest_mdev)
7979
{
8080
struct mlx5_esw_flow_attr *esw_attr = attr->esw_attr;
81+
bool vf_sf_vport;
82+
83+
vf_sf_vport = mlx5_eswitch_is_vf_vport(esw, vport_num) ||
84+
mlx5_esw_is_sf_vport(esw, vport_num);
8185

8286
/* Use indirect table for all IP traffic from UL to VF with vport
8387
* destination when source rewrite flag is set.
8488
*/
8589
return esw_attr->in_rep->vport == MLX5_VPORT_UPLINK &&
86-
mlx5_eswitch_is_vf_vport(esw, vport_num) &&
90+
vf_sf_vport &&
8791
esw->dev == dest_mdev &&
8892
attr->ip_version &&
8993
attr->flags & MLX5_ATTR_FLAG_SRC_REWRITE;

0 commit comments

Comments
 (0)