mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-22 18:08:58 -05:00
net/mlx5e: E-Switch, Update when to set other vport context
Other vport context should be set if vport number is not 0. In case of ECPF, vport 0 represents the host PF representor so also need to set other vport context. Signed-off-by: Roi Dayan <roid@nvidia.com> Reviewed-by: Maor Dickman <maord@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
committed by
Saeed Mahameed
parent
806815bf3c
commit
c97c9fe48a
@@ -35,7 +35,8 @@ esw_acl_table_create(struct mlx5_eswitch *esw, struct mlx5_vport *vport, int ns,
|
||||
}
|
||||
|
||||
ft_attr.max_fte = size;
|
||||
ft_attr.flags = MLX5_FLOW_TABLE_OTHER_VPORT;
|
||||
if (vport_num || mlx5_core_is_ecpf(esw->dev))
|
||||
ft_attr.flags = MLX5_FLOW_TABLE_OTHER_VPORT;
|
||||
acl = mlx5_create_vport_flow_table(root_ns, &ft_attr, vport_num);
|
||||
if (IS_ERR(acl)) {
|
||||
err = PTR_ERR(acl);
|
||||
|
||||
@@ -113,7 +113,8 @@ static int arm_vport_context_events_cmd(struct mlx5_core_dev *dev, u16 vport,
|
||||
opcode, MLX5_CMD_OP_MODIFY_NIC_VPORT_CONTEXT);
|
||||
MLX5_SET(modify_nic_vport_context_in, in, field_select.change_event, 1);
|
||||
MLX5_SET(modify_nic_vport_context_in, in, vport_number, vport);
|
||||
MLX5_SET(modify_nic_vport_context_in, in, other_vport, 1);
|
||||
if (vport || mlx5_core_is_ecpf(dev))
|
||||
MLX5_SET(modify_nic_vport_context_in, in, other_vport, 1);
|
||||
nic_vport_ctx = MLX5_ADDR_OF(modify_nic_vport_context_in,
|
||||
in, nic_vport_context);
|
||||
|
||||
|
||||
@@ -288,7 +288,8 @@ int mlx5_query_nic_vport_mac_list(struct mlx5_core_dev *dev,
|
||||
MLX5_CMD_OP_QUERY_NIC_VPORT_CONTEXT);
|
||||
MLX5_SET(query_nic_vport_context_in, in, allowed_list_type, list_type);
|
||||
MLX5_SET(query_nic_vport_context_in, in, vport_number, vport);
|
||||
MLX5_SET(query_nic_vport_context_in, in, other_vport, 1);
|
||||
if (vport || mlx5_core_is_ecpf(dev))
|
||||
MLX5_SET(query_nic_vport_context_in, in, other_vport, 1);
|
||||
|
||||
err = mlx5_cmd_exec(dev, in, sizeof(in), out, out_sz);
|
||||
if (err)
|
||||
|
||||
Reference in New Issue
Block a user