Lines Matching defs:mdev

183 static int parse_flow_attr(struct mlx5_core_dev *mdev,
210 match_ipv = MLX5_CAP_FLOWTABLE_NIC_RX(mdev,
217 match_ipv = MLX5_CAP_FLOWTABLE_NIC_RX(mdev,
425 if (check_mpls_supp_fields(MLX5_CAP_FLOWTABLE_NIC_RX(mdev,
440 if (check_mpls_supp_fields(MLX5_CAP_FLOWTABLE_NIC_RX(mdev,
456 if (check_mpls_supp_fields(MLX5_CAP_FLOWTABLE_NIC_RX(mdev,
470 if (check_mpls_supp_fields(MLX5_CAP_FLOWTABLE_NIC_RX(mdev,
571 static bool is_valid_ethertype(struct mlx5_core_dev *mdev,
577 MLX5_CAP_FLOWTABLE_NIC_RX(mdev,
579 MLX5_CAP_FLOWTABLE_NIC_RX(mdev,
620 static bool is_valid_attr(struct mlx5_core_dev *mdev,
623 return is_valid_ethertype(mdev, flow_attr, false) &&
624 is_valid_ethertype(mdev, flow_attr, true);
685 return MLX5_CAP_GEN(dev->mdev, shared_object_to_user_object_allowed);
727 max_table_size = BIT(MLX5_CAP_FLOWTABLE_NIC_RX(dev->mdev,
729 esw_encap = mlx5_eswitch_get_encap_mode(dev->mdev) !=
742 MLX5_CAP_FLOWTABLE_NIC_RX(dev->mdev, decap))
745 MLX5_CAP_FLOWTABLE_NIC_RX(dev->mdev,
750 dev->mdev, log_max_ft_size));
754 MLX5_CAP_FLOWTABLE_NIC_TX(dev->mdev, reformat))
757 ns = mlx5_get_flow_namespace(dev->mdev, fn_type);
763 ns = mlx5_get_flow_namespace(dev->mdev,
769 if (!MLX5_CAP_FLOWTABLE(dev->mdev,
774 dev->mdev, ft_type == MLX5_IB_FT_RX ?
812 if (!MLX5_CAP_FLOWTABLE_RDMA_RX(dev->mdev,
814 !MLX5_CAP_FLOWTABLE_RDMA_TX(dev->mdev,
829 if (!MLX5_CAP_FLOWTABLE_RDMA_RX(dev->mdev,
833 if (mlx5_core_mp_enabled(dev->mdev) &&
855 if (mlx5_core_mp_enabled(dev->mdev) &&
901 if (!MLX5_CAP_FLOWTABLE(dev->mdev,
913 if (!MLX5_CAP_FLOWTABLE(dev->mdev,
929 ns = mlx5_get_flow_namespace(dev->mdev, fn_type);
996 MLX5_CAP_FLOWTABLE_NIC_RX(dev->mdev,
1009 struct mlx5_eswitch *esw = dev->mdev->priv.eswitch;
1057 if (!is_valid_attr(dev->mdev, flow_attr))
1073 err = parse_flow_attr(dev->mdev, spec,
1433 esw_encap = mlx5_eswitch_get_encap_mode(dev->mdev) !=
1438 MLX5_CAP_FLOWTABLE_NIC_RX(dev->mdev, log_max_ft_size));
1439 if (MLX5_CAP_FLOWTABLE_NIC_RX(dev->mdev, decap) && !esw_encap)
1441 if (MLX5_CAP_FLOWTABLE_NIC_RX(dev->mdev,
1448 MLX5_CAP_FLOWTABLE_NIC_TX(dev->mdev, log_max_ft_size));
1449 if (MLX5_CAP_FLOWTABLE_NIC_TX(dev->mdev, reformat) &&
1455 MLX5_CAP_ESW_FLOWTABLE_FDB(dev->mdev, log_max_ft_size));
1456 if (MLX5_CAP_ESW_FLOWTABLE_FDB(dev->mdev, decap) && esw_encap)
1458 if (MLX5_CAP_ESW_FLOWTABLE_FDB(dev->mdev,
1466 MLX5_CAP_FLOWTABLE_RDMA_RX(dev->mdev, log_max_ft_size));
1471 MLX5_CAP_FLOWTABLE_RDMA_TX(dev->mdev, log_max_ft_size));
1480 ns = mlx5_get_flow_namespace(dev->mdev, ns_type);
1690 mlx5_modify_header_dealloc(maction->flow_action_raw.dev->mdev,
1694 mlx5_packet_reformat_dealloc(maction->flow_action_raw.dev->mdev,
2037 ns = mlx5_get_flow_namespace(dev->mdev, ns_type);
2384 mlx5_eswitch_mode(dev->mdev) != MLX5_ESWITCH_OFFLOADS) {
2390 obj->mdev = dev->mdev;
2498 mlx5_modify_header_alloc(dev->mdev, namespace, num_actions, in);
2514 return MLX5_CAP_FLOWTABLE_NIC_RX(dev->mdev,
2516 MLX5_CAP_FLOWTABLE_NIC_TX(dev->mdev,
2518 MLX5_CAP_FLOWTABLE_RDMA_TX(dev->mdev,
2527 struct mlx5_ib_dev *mdev = mlx5_udata_to_mdev(&attrs->driver_udata);
2534 if (!mlx5_ib_modify_header_supported(mdev))
2550 action = mlx5_ib_create_modify_header(mdev, ft_type, num_actions, in);
2554 uverbs_flow_action_fill_action(action, uobj, &mdev->ib_dev,
2567 return MLX5_CAP_FLOWTABLE(ibdev->mdev,
2572 return MLX5_CAP_FLOWTABLE_NIC_TX(ibdev->mdev,
2577 return MLX5_CAP_FLOWTABLE_NIC_RX(ibdev->mdev,
2582 return MLX5_CAP_FLOWTABLE_NIC_RX(ibdev->mdev, decap);
2634 mlx5_packet_reformat_alloc(dev->mdev, &reformat_params,
2653 struct mlx5_ib_dev *mdev = mlx5_udata_to_mdev(&attrs->driver_udata);
2669 if (!mlx5_ib_flow_action_packet_reformat_valid(mdev, dv_prt, ft_type))
2680 maction->flow_action_raw.dev = mdev;
2695 ret = mlx5_ib_flow_action_create_packet_reformat_ctx(mdev,
2701 uverbs_flow_action_fill_action(&maction->ib_action, uobj, &mdev->ib_dev,