steering 1766 drivers/net/ethernet/mellanox/mlx4/port.c u8 steering; steering 1769 drivers/net/ethernet/mellanox/mlx4/port.c int mlx4_SET_PORT_VXLAN(struct mlx4_dev *dev, u8 port, u8 steering, int enable) steering 1785 drivers/net/ethernet/mellanox/mlx4/port.c context->steering = steering; steering 161 drivers/net/ethernet/mellanox/mlx5/core/devlink.c dev->priv.steering->mode = mode; steering 171 drivers/net/ethernet/mellanox/mlx5/core/devlink.c if (dev->priv.steering->mode == MLX5_FLOW_STEERING_MODE_SMFS) steering 196 drivers/net/ethernet/mellanox/mlx5/core/devlink.c if (dev->priv.steering->mode == MLX5_FLOW_STEERING_MODE_DMFS) steering 1072 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c esw->dev->priv.steering->mode); steering 1645 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c peer_ns = peer_esw->dev->priv.steering->fdb_root_ns; steering 1646 drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c ns = esw->dev->priv.steering->fdb_root_ns; steering 400 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return root->dev->priv.steering; steering 536 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = get_steering(node); steering 549 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->ftes_cache, fte); steering 572 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = get_steering(node); steering 588 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->fgs_cache, fg); steering 620 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = get_steering(&ft->node); steering 623 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fte = kmem_cache_zalloc(steering->ftes_cache, GFP_KERNEL); steering 637 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static void dealloc_flow_group(struct mlx5_flow_steering *steering, steering 641 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->fgs_cache, fg); steering 644 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static struct mlx5_flow_group *alloc_flow_group(struct mlx5_flow_steering *steering, steering 653 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fg = kmem_cache_zalloc(steering->fgs_cache, GFP_KERNEL); steering 659 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->fgs_cache, fg); steering 681 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = get_steering(&ft->node); steering 685 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c fg = alloc_flow_group(steering, match_criteria_enable, match_criteria, steering 695 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c dealloc_flow_group(steering, fg); steering 1669 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = get_steering(&ft->node); steering 1697 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->ftes_cache, fte); steering 1735 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->ftes_cache, fte); steering 1748 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->ftes_cache, fte); steering 1760 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = get_steering(&ft->node); steering 1835 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_free(steering->ftes_cache, fte); steering 2060 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = dev->priv.steering; steering 2062 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering || !steering->fdb_sub_ns) steering 2065 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return steering->fdb_sub_ns[n]; steering 2072 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = dev->priv.steering; steering 2078 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering) steering 2083 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (steering->fdb_root_ns) steering 2084 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return &steering->fdb_root_ns->ns; steering 2087 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (steering->sniffer_rx_root_ns) steering 2088 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return &steering->sniffer_rx_root_ns->ns; steering 2091 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (steering->sniffer_tx_root_ns) steering 2092 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return &steering->sniffer_tx_root_ns->ns; steering 2099 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c root_ns = steering->egress_root_ns; steering 2101 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c root_ns = steering->rdma_rx_root_ns; steering 2104 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c root_ns = steering->rdma_rx_root_ns; steering 2107 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c root_ns = steering->root_ns; steering 2130 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = dev->priv.steering; steering 2132 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering || vport >= mlx5_eswitch_get_total_vports(dev)) steering 2137 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (steering->esw_egress_root_ns && steering 2138 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->esw_egress_root_ns[vport]) steering 2139 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return &steering->esw_egress_root_ns[vport]->ns; steering 2143 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (steering->esw_ingress_root_ns && steering 2144 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->esw_ingress_root_ns[vport]) steering 2145 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c return &steering->esw_ingress_root_ns[vport]->ns; steering 2243 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int init_root_tree_recursive(struct mlx5_flow_steering *steering, steering 2249 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c int max_ft_level = MLX5_CAP_FLOWTABLE(steering->dev, steering 2260 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c !has_required_caps(steering->dev, &init_node->caps)) steering 2281 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_root_tree_recursive(steering, &init_node->children[i], steering 2294 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int init_root_tree(struct mlx5_flow_steering *steering, steering 2304 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_root_tree_recursive(steering, &init_node->children[i], steering 2314 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c *create_root_ns(struct mlx5_flow_steering *steering, steering 2321 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (mlx5_accel_ipsec_device_caps(steering->dev) & MLX5_ACCEL_IPSEC_CAP_DEVICE && steering 2330 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c root_ns->dev = steering->dev; steering 2388 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int create_anchor_flow_table(struct mlx5_flow_steering *steering) steering 2394 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c ns = mlx5_get_flow_namespace(steering->dev, MLX5_FLOW_NAMESPACE_ANCHOR); steering 2404 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c mlx5_core_err(steering->dev, "Failed to create last anchor flow table"); steering 2410 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int init_root_ns(struct mlx5_flow_steering *steering) steering 2414 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->root_ns = create_root_ns(steering, FS_FT_NIC_RX); steering 2415 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->root_ns) steering 2418 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_root_tree(steering, &root_fs, &steering->root_ns->ns.node); steering 2422 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c set_prio_attrs(steering->root_ns); steering 2423 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = create_anchor_flow_table(steering); steering 2430 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->root_ns); steering 2431 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->root_ns = NULL; steering 2459 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = dev->priv.steering; steering 2462 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->esw_egress_root_ns) steering 2466 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->esw_egress_root_ns[i]); steering 2468 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kfree(steering->esw_egress_root_ns); steering 2469 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->esw_egress_root_ns = NULL; steering 2474 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = dev->priv.steering; steering 2477 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->esw_ingress_root_ns) steering 2481 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->esw_ingress_root_ns[i]); steering 2483 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kfree(steering->esw_ingress_root_ns); steering 2484 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->esw_ingress_root_ns = NULL; steering 2489 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = dev->priv.steering; steering 2491 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->root_ns); steering 2494 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->fdb_root_ns); steering 2495 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->fdb_root_ns = NULL; steering 2496 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kfree(steering->fdb_sub_ns); steering 2497 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->fdb_sub_ns = NULL; steering 2498 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->sniffer_rx_root_ns); steering 2499 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->sniffer_tx_root_ns); steering 2500 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->rdma_rx_root_ns); steering 2501 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->egress_root_ns); steering 2503 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_destroy(steering->ftes_cache); steering 2504 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kmem_cache_destroy(steering->fgs_cache); steering 2505 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kfree(steering); steering 2508 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int init_sniffer_tx_root_ns(struct mlx5_flow_steering *steering) steering 2512 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->sniffer_tx_root_ns = create_root_ns(steering, FS_FT_SNIFFER_TX); steering 2513 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->sniffer_tx_root_ns) steering 2517 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c prio = fs_create_prio(&steering->sniffer_tx_root_ns->ns, 0, 1); steering 2521 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int init_sniffer_rx_root_ns(struct mlx5_flow_steering *steering) steering 2525 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->sniffer_rx_root_ns = create_root_ns(steering, FS_FT_SNIFFER_RX); steering 2526 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->sniffer_rx_root_ns) steering 2530 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c prio = fs_create_prio(&steering->sniffer_rx_root_ns->ns, 0, 1); steering 2534 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int init_rdma_rx_root_ns(struct mlx5_flow_steering *steering) steering 2538 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->rdma_rx_root_ns = create_root_ns(steering, FS_FT_RDMA_RX); steering 2539 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->rdma_rx_root_ns) steering 2542 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_root_tree(steering, &rdma_rx_root_fs, steering 2543 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c &steering->rdma_rx_root_ns->ns.node); steering 2547 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c set_prio_attrs(steering->rdma_rx_root_ns); steering 2552 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->rdma_rx_root_ns); steering 2553 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->rdma_rx_root_ns = NULL; steering 2556 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int init_fdb_root_ns(struct mlx5_flow_steering *steering) steering 2566 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->fdb_root_ns = create_root_ns(steering, FS_FT_FDB); steering 2567 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->fdb_root_ns) steering 2570 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->fdb_sub_ns = kzalloc(sizeof(steering->fdb_sub_ns) * steering 2572 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->fdb_sub_ns) steering 2575 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c maj_prio = fs_create_prio(&steering->fdb_root_ns->ns, FDB_BYPASS_PATH, steering 2583 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c maj_prio = fs_create_prio_chained(&steering->fdb_root_ns->ns, steering 2606 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->fdb_sub_ns[chain] = ns; steering 2609 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c maj_prio = fs_create_prio(&steering->fdb_root_ns->ns, FDB_SLOW_PATH, 1); steering 2615 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c set_prio_attrs(steering->fdb_root_ns); steering 2619 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->fdb_root_ns); steering 2620 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kfree(steering->fdb_sub_ns); steering 2621 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->fdb_sub_ns = NULL; steering 2622 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->fdb_root_ns = NULL; steering 2626 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int init_egress_acl_root_ns(struct mlx5_flow_steering *steering, int vport) steering 2630 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->esw_egress_root_ns[vport] = create_root_ns(steering, FS_FT_ESW_EGRESS_ACL); steering 2631 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->esw_egress_root_ns[vport]) steering 2635 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c prio = fs_create_prio(&steering->esw_egress_root_ns[vport]->ns, 0, 1); steering 2639 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int init_ingress_acl_root_ns(struct mlx5_flow_steering *steering, int vport) steering 2643 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->esw_ingress_root_ns[vport] = create_root_ns(steering, FS_FT_ESW_INGRESS_ACL); steering 2644 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->esw_ingress_root_ns[vport]) steering 2648 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c prio = fs_create_prio(&steering->esw_ingress_root_ns[vport]->ns, 0, 1); steering 2654 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = dev->priv.steering; steering 2659 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->esw_egress_root_ns = steering 2661 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c sizeof(*steering->esw_egress_root_ns), steering 2663 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->esw_egress_root_ns) steering 2667 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_egress_acl_root_ns(steering, i); steering 2676 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->esw_egress_root_ns[i]); steering 2677 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kfree(steering->esw_egress_root_ns); steering 2678 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->esw_egress_root_ns = NULL; steering 2684 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering = dev->priv.steering; steering 2689 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->esw_ingress_root_ns = steering 2691 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c sizeof(*steering->esw_ingress_root_ns), steering 2693 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->esw_ingress_root_ns) steering 2697 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_ingress_acl_root_ns(steering, i); steering 2706 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->esw_ingress_root_ns[i]); steering 2707 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c kfree(steering->esw_ingress_root_ns); steering 2708 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->esw_ingress_root_ns = NULL; steering 2712 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c static int init_egress_root_ns(struct mlx5_flow_steering *steering) steering 2716 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->egress_root_ns = create_root_ns(steering, steering 2718 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->egress_root_ns) steering 2721 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_root_tree(steering, &egress_root_fs, steering 2722 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c &steering->egress_root_ns->ns.node); steering 2725 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c set_prio_attrs(steering->egress_root_ns); steering 2728 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c cleanup_root_ns(steering->egress_root_ns); steering 2729 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->egress_root_ns = NULL; steering 2735 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_steering *steering; steering 2742 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering = kzalloc(sizeof(*steering), GFP_KERNEL); steering 2743 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering) steering 2745 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->dev = dev; steering 2746 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c dev->priv.steering = steering; steering 2748 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->fgs_cache = kmem_cache_create("mlx5_fs_fgs", steering 2751 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c steering->ftes_cache = kmem_cache_create("mlx5_fs_ftes", sizeof(struct fs_fte), 0, steering 2753 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c if (!steering->ftes_cache || !steering->fgs_cache) { steering 2763 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_root_ns(steering); steering 2770 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_fdb_root_ns(steering); steering 2787 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_sniffer_rx_root_ns(steering); steering 2793 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_sniffer_tx_root_ns(steering); steering 2800 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_rdma_rx_root_ns(steering); steering 2806 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c err = init_egress_root_ns(steering); steering 2819 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_root_namespace *root = dev->priv.steering->root_ns; steering 2858 drivers/net/ethernet/mellanox/mlx5/core/fs_core.c struct mlx5_flow_root_namespace *root = dev->priv.steering->root_ns; steering 1403 include/linux/mlx4/device.h int mlx4_SET_PORT_VXLAN(struct mlx4_dev *dev, u8 port, u8 steering, int enable); steering 580 include/linux/mlx5/driver.h struct mlx5_flow_steering *steering;