net/mlx5e: Ethtool steering, move ethtool callbacks
authorSaeed Mahameed <saeedm@mellanox.com>
Wed, 11 Jul 2018 00:04:49 +0000 (17:04 -0700)
committerSaeed Mahameed <saeedm@mellanox.com>
Mon, 13 Aug 2018 19:50:17 +0000 (12:50 -0700)
Move ethool rxnfc callback into en_fs_etthool file where they belong.
This will allow us to make many ethtool fs related helper functions
static.

Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/net/ethernet/mellanox/mlx5/core/en.h
drivers/net/ethernet/mellanox/mlx5/core/en_ethtool.c
drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c

index dddd29a3be97c4788ac3c221ba212834b49e7b54..31a29b73f558a591f97ba4e222d0d890b4f2e8e0 100644 (file)
@@ -912,16 +912,11 @@ void mlx5e_destroy_flow_table(struct mlx5e_flow_table *ft);
 int mlx5e_self_test_num(struct mlx5e_priv *priv);
 void mlx5e_self_test(struct net_device *ndev, struct ethtool_test *etest,
                     u64 *buf);
 int mlx5e_self_test_num(struct mlx5e_priv *priv);
 void mlx5e_self_test(struct net_device *ndev, struct ethtool_test *etest,
                     u64 *buf);
-int mlx5e_ethtool_get_flow(struct mlx5e_priv *priv, struct ethtool_rxnfc *info,
-                          int location);
-int mlx5e_ethtool_get_all_flows(struct mlx5e_priv *priv,
-                               struct ethtool_rxnfc *info, u32 *rule_locs);
-int mlx5e_ethtool_flow_replace(struct mlx5e_priv *priv,
-                              struct ethtool_rx_flow_spec *fs);
-int mlx5e_ethtool_flow_remove(struct mlx5e_priv *priv,
-                             int location);
 void mlx5e_ethtool_init_steering(struct mlx5e_priv *priv);
 void mlx5e_ethtool_cleanup_steering(struct mlx5e_priv *priv);
 void mlx5e_ethtool_init_steering(struct mlx5e_priv *priv);
 void mlx5e_ethtool_cleanup_steering(struct mlx5e_priv *priv);
+int mlx5e_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd);
+int mlx5e_get_rxnfc(struct net_device *dev,
+                   struct ethtool_rxnfc *info, u32 *rule_locs);
 void mlx5e_set_rx_mode_work(struct work_struct *work);
 
 int mlx5e_hwstamp_set(struct mlx5e_priv *priv, struct ifreq *ifr);
 void mlx5e_set_rx_mode_work(struct work_struct *work);
 
 int mlx5e_hwstamp_set(struct mlx5e_priv *priv, struct ifreq *ifr);
index fffe514ba855c726f34929059bb92fb4ac2145b5..cde1a0bb9c4a41cfc0c176a800a310a5ebaf9444 100644 (file)
@@ -969,33 +969,6 @@ static int mlx5e_set_rxfh(struct net_device *dev, const u32 *indir,
        return 0;
 }
 
        return 0;
 }
 
-static int mlx5e_get_rxnfc(struct net_device *netdev,
-                          struct ethtool_rxnfc *info, u32 *rule_locs)
-{
-       struct mlx5e_priv *priv = netdev_priv(netdev);
-       int err = 0;
-
-       switch (info->cmd) {
-       case ETHTOOL_GRXRINGS:
-               info->data = priv->channels.params.num_channels;
-               break;
-       case ETHTOOL_GRXCLSRLCNT:
-               info->rule_cnt = priv->fs.ethtool.tot_num_rules;
-               break;
-       case ETHTOOL_GRXCLSRULE:
-               err = mlx5e_ethtool_get_flow(priv, info, info->fs.location);
-               break;
-       case ETHTOOL_GRXCLSRLALL:
-               err = mlx5e_ethtool_get_all_flows(priv, info, rule_locs);
-               break;
-       default:
-               err = -EOPNOTSUPP;
-               break;
-       }
-
-       return err;
-}
-
 #define MLX5E_PFC_PREVEN_AUTO_TOUT_MSEC                100
 #define MLX5E_PFC_PREVEN_TOUT_MAX_MSEC         8000
 #define MLX5E_PFC_PREVEN_MINOR_PRECENT         85
 #define MLX5E_PFC_PREVEN_AUTO_TOUT_MSEC                100
 #define MLX5E_PFC_PREVEN_TOUT_MAX_MSEC         8000
 #define MLX5E_PFC_PREVEN_MINOR_PRECENT         85
@@ -1606,26 +1579,6 @@ static u32 mlx5e_get_priv_flags(struct net_device *netdev)
        return priv->channels.params.pflags;
 }
 
        return priv->channels.params.pflags;
 }
 
-static int mlx5e_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd)
-{
-       int err = 0;
-       struct mlx5e_priv *priv = netdev_priv(dev);
-
-       switch (cmd->cmd) {
-       case ETHTOOL_SRXCLSRLINS:
-               err = mlx5e_ethtool_flow_replace(priv, &cmd->fs);
-               break;
-       case ETHTOOL_SRXCLSRLDEL:
-               err = mlx5e_ethtool_flow_remove(priv, cmd->fs.location);
-               break;
-       default:
-               err = -EOPNOTSUPP;
-               break;
-       }
-
-       return err;
-}
-
 int mlx5e_ethtool_flash_device(struct mlx5e_priv *priv,
                               struct ethtool_flash *flash)
 {
 int mlx5e_ethtool_flash_device(struct mlx5e_priv *priv,
                               struct ethtool_flash *flash)
 {
@@ -1696,5 +1649,4 @@ const struct ethtool_ops mlx5e_ethtool_ops = {
        .self_test         = mlx5e_self_test,
        .get_msglevel      = mlx5e_get_msglevel,
        .set_msglevel      = mlx5e_set_msglevel,
        .self_test         = mlx5e_self_test,
        .get_msglevel      = mlx5e_get_msglevel,
        .set_msglevel      = mlx5e_set_msglevel,
-
 };
 };
index 9e216f2dc16acda57795b9760c9a698075d7f735..75bb981e00b7205ad10b467dc64a821a4f8867a9 100644 (file)
@@ -675,8 +675,9 @@ static int validate_flow(struct mlx5e_priv *priv,
        return num_tuples;
 }
 
        return num_tuples;
 }
 
-int mlx5e_ethtool_flow_replace(struct mlx5e_priv *priv,
-                              struct ethtool_rx_flow_spec *fs)
+static int
+mlx5e_ethtool_flow_replace(struct mlx5e_priv *priv,
+                          struct ethtool_rx_flow_spec *fs)
 {
        struct mlx5e_ethtool_table *eth_ft;
        struct mlx5e_ethtool_rule *eth_rule;
 {
        struct mlx5e_ethtool_table *eth_ft;
        struct mlx5e_ethtool_rule *eth_rule;
@@ -723,8 +724,8 @@ del_ethtool_rule:
        return err;
 }
 
        return err;
 }
 
-int mlx5e_ethtool_flow_remove(struct mlx5e_priv *priv,
-                             int location)
+static int
+mlx5e_ethtool_flow_remove(struct mlx5e_priv *priv, int location)
 {
        struct mlx5e_ethtool_rule *eth_rule;
        int err = 0;
 {
        struct mlx5e_ethtool_rule *eth_rule;
        int err = 0;
@@ -743,8 +744,9 @@ out:
        return err;
 }
 
        return err;
 }
 
-int mlx5e_ethtool_get_flow(struct mlx5e_priv *priv, struct ethtool_rxnfc *info,
-                          int location)
+static int
+mlx5e_ethtool_get_flow(struct mlx5e_priv *priv,
+                      struct ethtool_rxnfc *info, int location)
 {
        struct mlx5e_ethtool_rule *eth_rule;
 
 {
        struct mlx5e_ethtool_rule *eth_rule;
 
@@ -761,8 +763,9 @@ int mlx5e_ethtool_get_flow(struct mlx5e_priv *priv, struct ethtool_rxnfc *info,
        return -ENOENT;
 }
 
        return -ENOENT;
 }
 
-int mlx5e_ethtool_get_all_flows(struct mlx5e_priv *priv, struct ethtool_rxnfc *info,
-                               u32 *rule_locs)
+static int
+mlx5e_ethtool_get_all_flows(struct mlx5e_priv *priv,
+                           struct ethtool_rxnfc *info, u32 *rule_locs)
 {
        int location = 0;
        int idx = 0;
 {
        int location = 0;
        int idx = 0;
@@ -791,3 +794,51 @@ void mlx5e_ethtool_init_steering(struct mlx5e_priv *priv)
 {
        INIT_LIST_HEAD(&priv->fs.ethtool.rules);
 }
 {
        INIT_LIST_HEAD(&priv->fs.ethtool.rules);
 }
+
+int mlx5e_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd)
+{
+       int err = 0;
+       struct mlx5e_priv *priv = netdev_priv(dev);
+
+       switch (cmd->cmd) {
+       case ETHTOOL_SRXCLSRLINS:
+               err = mlx5e_ethtool_flow_replace(priv, &cmd->fs);
+               break;
+       case ETHTOOL_SRXCLSRLDEL:
+               err = mlx5e_ethtool_flow_remove(priv, cmd->fs.location);
+               break;
+       default:
+               err = -EOPNOTSUPP;
+               break;
+       }
+
+       return err;
+}
+
+int mlx5e_get_rxnfc(struct net_device *dev,
+                   struct ethtool_rxnfc *info, u32 *rule_locs)
+{
+       struct mlx5e_priv *priv = netdev_priv(dev);
+       int err = 0;
+
+       switch (info->cmd) {
+       case ETHTOOL_GRXRINGS:
+               info->data = priv->channels.params.num_channels;
+               break;
+       case ETHTOOL_GRXCLSRLCNT:
+               info->rule_cnt = priv->fs.ethtool.tot_num_rules;
+               break;
+       case ETHTOOL_GRXCLSRULE:
+               err = mlx5e_ethtool_get_flow(priv, info, info->fs.location);
+               break;
+       case ETHTOOL_GRXCLSRLALL:
+               err = mlx5e_ethtool_get_all_flows(priv, info, rule_locs);
+               break;
+       default:
+               err = -EOPNOTSUPP;
+               break;
+       }
+
+       return err;
+}
+