The Ethernet driver requires at least 3 flow table levels to
operate, enforce that.
Signed-off-by: Gal Pressman <galp@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
            !MLX5_CAP_ETH(mdev, csum_cap) ||
            !MLX5_CAP_ETH(mdev, max_lso_cap) ||
            !MLX5_CAP_ETH(mdev, vlan_cap) ||
-           !MLX5_CAP_ETH(mdev, rss_ind_tbl_cap)) {
+           !MLX5_CAP_ETH(mdev, rss_ind_tbl_cap) ||
+           MLX5_CAP_FLOWTABLE(mdev,
+                              flow_table_properties_nic_receive.max_ft_level)
+                              < 3) {
                mlx5_core_warn(mdev,
                               "Not creating net device, some required device capabilities are missing\n");
                return -ENOTSUPP;