* [PATCH] i40e: report correct VF link speed when link state is set to enable
@ 2020-09-09 8:22 ` Stefan Assmann
0 siblings, 0 replies; 4+ messages in thread
From: Stefan Assmann @ 2020-09-09 8:22 UTC (permalink / raw)
To: intel-wired-lan; +Cc: netdev, davem, jeffrey.t.kirsher, lihong.yang, sassmann
When the virtual link state was set to "enable" ethtool would report
link speed as 40000Mb/s regardless of the underlying device.
Report the correct link speed.
Example from a XXV710 NIC.
Before:
$ ip link set ens3f0 vf 0 state auto
$ ethtool enp8s2 | grep Speed
Speed: 25000Mb/s
$ ip link set ens3f0 vf 0 state enable
$ ethtool enp8s2 | grep Speed
Speed: 40000Mb/s
After:
$ ip link set ens3f0 vf 0 state auto
$ ethtool enp8s2 | grep Speed
Speed: 25000Mb/s
$ ip link set ens3f0 vf 0 state enable
$ ethtool enp8s2 | grep Speed
Speed: 25000Mb/s
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
---
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 8e133d6545bd..9c4b166f3346 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -63,7 +63,7 @@ static void i40e_vc_notify_vf_link_state(struct i40e_vf *vf)
} else if (vf->link_forced) {
pfe.event_data.link_event.link_status = vf->link_up;
pfe.event_data.link_event.link_speed =
- (vf->link_up ? VIRTCHNL_LINK_SPEED_40GB : 0);
+ (vf->link_up ? i40e_virtchnl_link_speed(ls->link_speed) : 0);
} else {
pfe.event_data.link_event.link_status =
ls->link_info & I40E_AQ_LINK_UP;
@@ -4404,6 +4404,7 @@ int i40e_ndo_set_vf_link_state(struct net_device *netdev, int vf_id, int link)
{
struct i40e_netdev_priv *np = netdev_priv(netdev);
struct i40e_pf *pf = np->vsi->back;
+ struct i40e_link_status *ls = &pf->hw.phy.link_info;
struct virtchnl_pf_event pfe;
struct i40e_hw *hw = &pf->hw;
struct i40e_vf *vf;
@@ -4441,7 +4442,7 @@ int i40e_ndo_set_vf_link_state(struct net_device *netdev, int vf_id, int link)
vf->link_forced = true;
vf->link_up = true;
pfe.event_data.link_event.link_status = true;
- pfe.event_data.link_event.link_speed = VIRTCHNL_LINK_SPEED_40GB;
+ pfe.event_data.link_event.link_speed = i40e_virtchnl_link_speed(ls->link_speed);
break;
case IFLA_VF_LINK_STATE_DISABLE:
vf->link_forced = true;
--
2.26.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Intel-wired-lan] [PATCH] i40e: report correct VF link speed when link state is set to enable
@ 2020-09-09 8:22 ` Stefan Assmann
0 siblings, 0 replies; 4+ messages in thread
From: Stefan Assmann @ 2020-09-09 8:22 UTC (permalink / raw)
To: intel-wired-lan
When the virtual link state was set to "enable" ethtool would report
link speed as 40000Mb/s regardless of the underlying device.
Report the correct link speed.
Example from a XXV710 NIC.
Before:
$ ip link set ens3f0 vf 0 state auto
$ ethtool enp8s2 | grep Speed
Speed: 25000Mb/s
$ ip link set ens3f0 vf 0 state enable
$ ethtool enp8s2 | grep Speed
Speed: 40000Mb/s
After:
$ ip link set ens3f0 vf 0 state auto
$ ethtool enp8s2 | grep Speed
Speed: 25000Mb/s
$ ip link set ens3f0 vf 0 state enable
$ ethtool enp8s2 | grep Speed
Speed: 25000Mb/s
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
---
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 8e133d6545bd..9c4b166f3346 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -63,7 +63,7 @@ static void i40e_vc_notify_vf_link_state(struct i40e_vf *vf)
} else if (vf->link_forced) {
pfe.event_data.link_event.link_status = vf->link_up;
pfe.event_data.link_event.link_speed =
- (vf->link_up ? VIRTCHNL_LINK_SPEED_40GB : 0);
+ (vf->link_up ? i40e_virtchnl_link_speed(ls->link_speed) : 0);
} else {
pfe.event_data.link_event.link_status =
ls->link_info & I40E_AQ_LINK_UP;
@@ -4404,6 +4404,7 @@ int i40e_ndo_set_vf_link_state(struct net_device *netdev, int vf_id, int link)
{
struct i40e_netdev_priv *np = netdev_priv(netdev);
struct i40e_pf *pf = np->vsi->back;
+ struct i40e_link_status *ls = &pf->hw.phy.link_info;
struct virtchnl_pf_event pfe;
struct i40e_hw *hw = &pf->hw;
struct i40e_vf *vf;
@@ -4441,7 +4442,7 @@ int i40e_ndo_set_vf_link_state(struct net_device *netdev, int vf_id, int link)
vf->link_forced = true;
vf->link_up = true;
pfe.event_data.link_event.link_status = true;
- pfe.event_data.link_event.link_speed = VIRTCHNL_LINK_SPEED_40GB;
+ pfe.event_data.link_event.link_speed = i40e_virtchnl_link_speed(ls->link_speed);
break;
case IFLA_VF_LINK_STATE_DISABLE:
vf->link_forced = true;
--
2.26.2
^ permalink raw reply related [flat|nested] 4+ messages in thread
* RE: [PATCH] i40e: report correct VF link speed when link state is set to enable
2020-09-09 8:22 ` [Intel-wired-lan] " Stefan Assmann
@ 2020-10-12 22:20 ` Brown, Aaron F
-1 siblings, 0 replies; 4+ messages in thread
From: Brown, Aaron F @ 2020-10-12 22:20 UTC (permalink / raw)
To: Stefan Assmann, intel-wired-lan
Cc: netdev, davem, Kirsher, Jeffrey T, Yang, Lihong
> From: netdev-owner@vger.kernel.org <netdev-owner@vger.kernel.org> On
> Behalf Of Stefan Assmann
> Sent: Wednesday, September 9, 2020 1:22 AM
> To: intel-wired-lan@lists.osuosl.org
> Cc: netdev@vger.kernel.org; davem@davemloft.net; Kirsher, Jeffrey T
> <jeffrey.t.kirsher@intel.com>; Yang, Lihong <lihong.yang@intel.com>;
> sassmann@kpanic.de
> Subject: [PATCH] i40e: report correct VF link speed when link state is set to
> enable
>
> When the virtual link state was set to "enable" ethtool would report
> link speed as 40000Mb/s regardless of the underlying device.
> Report the correct link speed.
>
> Example from a XXV710 NIC.
> Before:
> $ ip link set ens3f0 vf 0 state auto
> $ ethtool enp8s2 | grep Speed
> Speed: 25000Mb/s
> $ ip link set ens3f0 vf 0 state enable
> $ ethtool enp8s2 | grep Speed
> Speed: 40000Mb/s
> After:
> $ ip link set ens3f0 vf 0 state auto
> $ ethtool enp8s2 | grep Speed
> Speed: 25000Mb/s
> $ ip link set ens3f0 vf 0 state enable
> $ ethtool enp8s2 | grep Speed
> Speed: 25000Mb/s
>
> Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
> ---
> drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [Intel-wired-lan] [PATCH] i40e: report correct VF link speed when link state is set to enable
@ 2020-10-12 22:20 ` Brown, Aaron F
0 siblings, 0 replies; 4+ messages in thread
From: Brown, Aaron F @ 2020-10-12 22:20 UTC (permalink / raw)
To: intel-wired-lan
> From: netdev-owner at vger.kernel.org <netdev-owner@vger.kernel.org> On
> Behalf Of Stefan Assmann
> Sent: Wednesday, September 9, 2020 1:22 AM
> To: intel-wired-lan at lists.osuosl.org
> Cc: netdev at vger.kernel.org; davem at davemloft.net; Kirsher, Jeffrey T
> <jeffrey.t.kirsher@intel.com>; Yang, Lihong <lihong.yang@intel.com>;
> sassmann at kpanic.de
> Subject: [PATCH] i40e: report correct VF link speed when link state is set to
> enable
>
> When the virtual link state was set to "enable" ethtool would report
> link speed as 40000Mb/s regardless of the underlying device.
> Report the correct link speed.
>
> Example from a XXV710 NIC.
> Before:
> $ ip link set ens3f0 vf 0 state auto
> $ ethtool enp8s2 | grep Speed
> Speed: 25000Mb/s
> $ ip link set ens3f0 vf 0 state enable
> $ ethtool enp8s2 | grep Speed
> Speed: 40000Mb/s
> After:
> $ ip link set ens3f0 vf 0 state auto
> $ ethtool enp8s2 | grep Speed
> Speed: 25000Mb/s
> $ ip link set ens3f0 vf 0 state enable
> $ ethtool enp8s2 | grep Speed
> Speed: 25000Mb/s
>
> Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
> ---
> drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-10-12 22:20 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-09 8:22 [PATCH] i40e: report correct VF link speed when link state is set to enable Stefan Assmann
2020-09-09 8:22 ` [Intel-wired-lan] " Stefan Assmann
2020-10-12 22:20 ` Brown, Aaron F
2020-10-12 22:20 ` [Intel-wired-lan] " Brown, Aaron F
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.