]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
net/mlx5e: Show/set Rx network flow classification rules on ul rep
authorVlad Buslov <vladbu@mellanox.com>
Fri, 10 May 2019 17:42:49 +0000 (20:42 +0300)
committerSaeed Mahameed <saeedm@mellanox.com>
Mon, 9 Mar 2020 23:58:49 +0000 (16:58 -0700)
Reuse infrastructure that already exists for pf in legacy mode to show/set
Rx network flow classification rules for uplink representors.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Reviewed-by: Roi Dayan <roid@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_rep.c

index 0410cdaab475cdb14e3a82b2a66d895dc8ff3d8b..6c4b45c2a8d6bfc6e7df863c3d850b44111e72bd 100644 (file)
@@ -1172,6 +1172,9 @@ int mlx5e_ethtool_set_link_ksettings(struct mlx5e_priv *priv,
 int mlx5e_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key, u8 *hfunc);
 int mlx5e_set_rxfh(struct net_device *dev, const u32 *indir, const u8 *key,
                   const u8 hfunc);
+int mlx5e_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *info,
+                   u32 *rule_locs);
+int mlx5e_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd);
 u32 mlx5e_ethtool_get_rxfh_key_size(struct mlx5e_priv *priv);
 u32 mlx5e_ethtool_get_rxfh_indir_size(struct mlx5e_priv *priv);
 int mlx5e_ethtool_get_ts_info(struct mlx5e_priv *priv,
index f28472471315d40cf82c90e96a20f74b627f69f2..6d703ddee4e27fef265f97aefff8dac422dfc8ed 100644 (file)
@@ -1948,7 +1948,8 @@ static u32 mlx5e_get_priv_flags(struct net_device *netdev)
        return priv->channels.params.pflags;
 }
 
-static int mlx5e_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *info, u32 *rule_locs)
+int mlx5e_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *info,
+                   u32 *rule_locs)
 {
        struct mlx5e_priv *priv = netdev_priv(dev);
 
@@ -1965,7 +1966,7 @@ static int mlx5e_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *info, u
        return mlx5e_ethtool_get_rxnfc(dev, info, rule_locs);
 }
 
-static int mlx5e_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd)
+int mlx5e_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd)
 {
        return mlx5e_ethtool_set_rxnfc(dev, cmd);
 }
index 5a7de0e93f8f96d095de300d14553975ae0eb043..86f2c0bb95078395b69cd372b3efa81ae9709c18 100644 (file)
@@ -371,6 +371,8 @@ static const struct ethtool_ops mlx5e_uplink_rep_ethtool_ops = {
        .get_rxfh_indir_size = mlx5e_rep_get_rxfh_indir_size,
        .get_rxfh          = mlx5e_get_rxfh,
        .set_rxfh          = mlx5e_set_rxfh,
+       .get_rxnfc         = mlx5e_get_rxnfc,
+       .set_rxnfc         = mlx5e_set_rxnfc,
        .get_pauseparam    = mlx5e_uplink_rep_get_pauseparam,
        .set_pauseparam    = mlx5e_uplink_rep_set_pauseparam,
 };