mirror of
https://github.com/torvalds/linux.git
synced 2026-05-05 23:05:25 -04:00
net/mlx5: Refactor mlx5_get_flow_namespace
Have all the namespace type check in the same switch case. Signed-off-by: Maor Gottlieb <maorg@nvidia.com> Reviewed-by: Mark Bloch <mbloch@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com> Reviewed-by: Leon Romanovsky <leonro@nvidia.com> Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
This commit is contained in:
committed by
Saeed Mahameed
parent
22c3f2f56b
commit
4588fed7be
@@ -2206,6 +2206,22 @@ struct mlx5_flow_namespace *mlx5_get_fdb_sub_ns(struct mlx5_core_dev *dev,
|
||||
}
|
||||
EXPORT_SYMBOL(mlx5_get_fdb_sub_ns);
|
||||
|
||||
static bool is_nic_rx_ns(enum mlx5_flow_namespace_type type)
|
||||
{
|
||||
switch (type) {
|
||||
case MLX5_FLOW_NAMESPACE_BYPASS:
|
||||
case MLX5_FLOW_NAMESPACE_LAG:
|
||||
case MLX5_FLOW_NAMESPACE_OFFLOADS:
|
||||
case MLX5_FLOW_NAMESPACE_ETHTOOL:
|
||||
case MLX5_FLOW_NAMESPACE_KERNEL:
|
||||
case MLX5_FLOW_NAMESPACE_LEFTOVERS:
|
||||
case MLX5_FLOW_NAMESPACE_ANCHOR:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
struct mlx5_flow_namespace *mlx5_get_flow_namespace(struct mlx5_core_dev *dev,
|
||||
enum mlx5_flow_namespace_type type)
|
||||
{
|
||||
@@ -2236,31 +2252,35 @@ struct mlx5_flow_namespace *mlx5_get_flow_namespace(struct mlx5_core_dev *dev,
|
||||
if (steering->sniffer_tx_root_ns)
|
||||
return &steering->sniffer_tx_root_ns->ns;
|
||||
return NULL;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (type == MLX5_FLOW_NAMESPACE_EGRESS ||
|
||||
type == MLX5_FLOW_NAMESPACE_EGRESS_KERNEL) {
|
||||
case MLX5_FLOW_NAMESPACE_EGRESS:
|
||||
case MLX5_FLOW_NAMESPACE_EGRESS_KERNEL:
|
||||
root_ns = steering->egress_root_ns;
|
||||
prio = type - MLX5_FLOW_NAMESPACE_EGRESS;
|
||||
} else if (type == MLX5_FLOW_NAMESPACE_RDMA_RX) {
|
||||
break;
|
||||
case MLX5_FLOW_NAMESPACE_RDMA_RX:
|
||||
root_ns = steering->rdma_rx_root_ns;
|
||||
prio = RDMA_RX_BYPASS_PRIO;
|
||||
} else if (type == MLX5_FLOW_NAMESPACE_RDMA_RX_KERNEL) {
|
||||
break;
|
||||
case MLX5_FLOW_NAMESPACE_RDMA_RX_KERNEL:
|
||||
root_ns = steering->rdma_rx_root_ns;
|
||||
prio = RDMA_RX_KERNEL_PRIO;
|
||||
} else if (type == MLX5_FLOW_NAMESPACE_RDMA_TX) {
|
||||
break;
|
||||
case MLX5_FLOW_NAMESPACE_RDMA_TX:
|
||||
root_ns = steering->rdma_tx_root_ns;
|
||||
} else if (type == MLX5_FLOW_NAMESPACE_RDMA_RX_COUNTERS) {
|
||||
break;
|
||||
case MLX5_FLOW_NAMESPACE_RDMA_RX_COUNTERS:
|
||||
root_ns = steering->rdma_rx_root_ns;
|
||||
prio = RDMA_RX_COUNTERS_PRIO;
|
||||
} else if (type == MLX5_FLOW_NAMESPACE_RDMA_TX_COUNTERS) {
|
||||
break;
|
||||
case MLX5_FLOW_NAMESPACE_RDMA_TX_COUNTERS:
|
||||
root_ns = steering->rdma_tx_root_ns;
|
||||
prio = RDMA_TX_COUNTERS_PRIO;
|
||||
} else { /* Must be NIC RX */
|
||||
break;
|
||||
default: /* Must be NIC RX */
|
||||
WARN_ON(!is_nic_rx_ns(type));
|
||||
root_ns = steering->root_ns;
|
||||
prio = type;
|
||||
break;
|
||||
}
|
||||
|
||||
if (!root_ns)
|
||||
|
||||
Reference in New Issue
Block a user