net/mlx5e: Move set vxlan nic info to profile init
authorRoi Dayan <roid@nvidia.com>
Wed, 16 Sep 2020 07:11:12 +0000 (10:11 +0300)
committerSaeed Mahameed <saeedm@nvidia.com>
Tue, 2 Feb 2021 06:52:33 +0000 (22:52 -0800)
Since its profile dependent let's init the vxlan info
as part of profile initialization.

Signed-off-by: Roi Dayan <roid@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c
drivers/net/ethernet/mellanox/mlx5/core/en_rep.c

index e468d8329c2a393d234fa76026bbff2d301445ba..b9d2cb6f178d5687a1f960853d952cb4a97c2c94 100644 (file)
@@ -5101,8 +5101,6 @@ static void mlx5e_build_nic_netdev(struct net_device *netdev)
        netdev->hw_features      |= NETIF_F_HW_VLAN_CTAG_FILTER;
        netdev->hw_features      |= NETIF_F_HW_VLAN_STAG_TX;
 
-       mlx5e_vxlan_set_netdev_info(priv);
-
        if (mlx5e_tunnel_any_tx_proto_supported(mdev)) {
                netdev->hw_enc_features |= NETIF_F_HW_CSUM;
                netdev->hw_enc_features |= NETIF_F_TSO;
@@ -5229,6 +5227,7 @@ static int mlx5e_nic_init(struct mlx5_core_dev *mdev,
        int err;
 
        mlx5e_build_nic_params(priv, &priv->xsk, netdev->mtu);
+       mlx5e_vxlan_set_netdev_info(priv);
 
        mlx5e_timestamp_init(priv);
 
index c8a0f4c88d4baa48adf6520086cd0a9e93bf9d9a..45669a1db4269062a96bcf1d270f2bbb2587d1f8 100644 (file)
@@ -717,15 +717,12 @@ static void mlx5e_build_rep_netdev(struct net_device *netdev,
                                   struct mlx5_core_dev *mdev,
                                   struct mlx5_eswitch_rep *rep)
 {
-       struct mlx5e_priv *priv = netdev_priv(netdev);
-
        SET_NETDEV_DEV(netdev, mdev->device);
        if (rep->vport == MLX5_VPORT_UPLINK) {
                netdev->netdev_ops = &mlx5e_netdev_ops_uplink_rep;
                /* we want a persistent mac for the uplink rep */
                mlx5_query_mac_address(mdev, netdev->dev_addr);
                netdev->ethtool_ops = &mlx5e_uplink_rep_ethtool_ops;
-               mlx5e_vxlan_set_netdev_info(priv);
                mlx5e_dcbnl_build_rep_netdev(netdev);
        } else {
                netdev->netdev_ops = &mlx5e_netdev_ops_rep;
@@ -767,6 +764,15 @@ static int mlx5e_init_rep(struct mlx5_core_dev *mdev,
        return 0;
 }
 
+static int mlx5e_init_ul_rep(struct mlx5_core_dev *mdev,
+                            struct net_device *netdev)
+{
+       struct mlx5e_priv *priv = netdev_priv(netdev);
+
+       mlx5e_vxlan_set_netdev_info(priv);
+       return mlx5e_init_rep(mdev, netdev);
+}
+
 static void mlx5e_cleanup_rep(struct mlx5e_priv *priv)
 {
 }
@@ -1165,7 +1171,7 @@ static const struct mlx5e_profile mlx5e_rep_profile = {
 };
 
 static const struct mlx5e_profile mlx5e_uplink_rep_profile = {
-       .init                   = mlx5e_init_rep,
+       .init                   = mlx5e_init_ul_rep,
        .cleanup                = mlx5e_cleanup_rep,
        .init_rx                = mlx5e_init_ul_rep_rx,
        .cleanup_rx             = mlx5e_cleanup_ul_rep_rx,