* [net-next 0/2] Intel Wired LAN Driver Updates
@ 2014-01-14 0:13 Aaron Brown
2014-01-14 0:13 ` [net-next 1/2] i40e: Warn admin to reload VF driver on port VLAN configuration Aaron Brown
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Aaron Brown @ 2014-01-14 0:13 UTC (permalink / raw)
To: davem; +Cc: Aaron Brown, netdev, gospo, sassmann
This series contains updates to i40e from Greg Rose for VLAN filtering.
Greg Rose (2):
i40e: Warn admin to reload VF driver on port VLAN configuration.
When an administrator sets a port VLAN filters for the virtual
function (VF) after the VF has already set its own VLAN filters a
conflict requiring the VF be reloaded can occur. This patch logs a
message indicating to the system administrator that the VF driver
must be reloaded for the new port VLAN settings to take effect
i40e: Retain MAC filters on port VLAN deletion
On port VLAN deletion the list of MAC filters for the virtual function
(VF) VSI were all deleted. Let's keep them around, they come in
handy for keeping the VF functional.
drivers/net/ethernet/intel/i40e/i40e_main.c | 3 +++
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 18 ++++++++++++++++++
2 files changed, 21 insertions(+)
--
1.8.5.GIT
^ permalink raw reply [flat|nested] 6+ messages in thread* [net-next 1/2] i40e: Warn admin to reload VF driver on port VLAN configuration
2014-01-14 0:13 [net-next 0/2] Intel Wired LAN Driver Updates Aaron Brown
@ 2014-01-14 0:13 ` Aaron Brown
2014-01-14 0:13 ` [net-next 2/2] i40e: Retain MAC filters on port VLAN deletion Aaron Brown
2014-01-15 8:01 ` [net-next 0/2] Intel Wired LAN Driver Updates David Miller
2 siblings, 0 replies; 6+ messages in thread
From: Aaron Brown @ 2014-01-14 0:13 UTC (permalink / raw)
To: davem; +Cc: Greg Rose, netdev, gospo, sassmann, Aaron Brown
From: Greg Rose <gregory.v.rose@intel.com>
The i40e Physical Function (PF) driver will allow the
Virtual Function (VF) driver to configure its own VLAN filters if no port
VLAN filter has been configured. This leads to the possibility of the
administrator setting a port VLAN filter for the VF after the VF has already
configured its own VLAN filters. This leads to a conflict that can only be
resolved by reloading the VF driver. When the conflicting administrative
command is detected in setting the port VLAN then log a message indicating to
the system administrator that he must now reload the VF driver for the new
port VLAN settings to take effect.
Change-Id: I8de73b885d944a043aff32226297e4249862bcad
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Aaron Brown <aaron.f.brown@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index d04a776..ecb873c 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -2076,6 +2076,11 @@ int i40e_ndo_set_vf_port_vlan(struct net_device *netdev,
goto error_pvid;
}
+ if (vsi->info.pvid == 0 && i40e_is_vsi_in_vlan(vsi))
+ dev_err(&pf->pdev->dev,
+ "VF %d has already configured VLAN filters and the administrator is requesting a port VLAN override.\nPlease unload and reload the VF driver for this change to take effect.\n",
+ vf_id);
+
if (vsi->info.pvid) {
/* kill old VLAN */
ret = i40e_vsi_kill_vlan(vsi, (le16_to_cpu(vsi->info.pvid) &
--
1.8.5.GIT
^ permalink raw reply related [flat|nested] 6+ messages in thread* [net-next 2/2] i40e: Retain MAC filters on port VLAN deletion
2014-01-14 0:13 [net-next 0/2] Intel Wired LAN Driver Updates Aaron Brown
2014-01-14 0:13 ` [net-next 1/2] i40e: Warn admin to reload VF driver on port VLAN configuration Aaron Brown
@ 2014-01-14 0:13 ` Aaron Brown
2014-01-15 8:01 ` [net-next 0/2] Intel Wired LAN Driver Updates David Miller
2 siblings, 0 replies; 6+ messages in thread
From: Aaron Brown @ 2014-01-14 0:13 UTC (permalink / raw)
To: davem; +Cc: Greg Rose, netdev, gospo, sassmann, Aaron Brown
From: Greg Rose <gregory.v.rose@intel.com>
On port VLAN deletion the list of MAC filters for the virtual function (VF)
VSI were all deleted. Let's keep them around, they come in handy for keeping
the VF functional.
Change-Id: I335e760392f274dc8b8b40efcb708f65b49d7973
Signed-off-by: Greg Rose <gregory.v.rose@intel.com>
Tested-by: Sibai Li <sibai.li@intel.com>
Signed-off-by: Aaron Brown <aaron.f.brown@intel.com>
---
drivers/net/ethernet/intel/i40e/i40e_main.c | 3 +++
drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 13 +++++++++++++
2 files changed, 16 insertions(+)
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index ad04da2..e210f8f 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -1845,7 +1845,10 @@ int i40e_vsi_add_vlan(struct i40e_vsi *vsi, s16 vid)
return -ENOMEM;
}
}
+ }
+ /* Do not assume that I40E_VLAN_ANY should be reset to VLAN 0 */
+ if (vid > 0 && !vsi->info.pvid) {
list_for_each_entry(f, &vsi->mac_filter_list, list) {
if (i40e_find_filter(vsi, f->macaddr, I40E_VLAN_ANY,
is_vf, is_netdev)) {
diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index ecb873c..437f9e9 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -2081,6 +2081,15 @@ int i40e_ndo_set_vf_port_vlan(struct net_device *netdev,
"VF %d has already configured VLAN filters and the administrator is requesting a port VLAN override.\nPlease unload and reload the VF driver for this change to take effect.\n",
vf_id);
+ /* Check for condition where there was already a port VLAN ID
+ * filter set and now it is being deleted by setting it to zero.
+ * Before deleting all the old VLAN filters we must add new ones
+ * with -1 (I40E_VLAN_ANY) or otherwise we're left with all our
+ * MAC addresses deleted.
+ */
+ if (!(vlan_id || qos) && vsi->info.pvid)
+ ret = i40e_vsi_add_vlan(vsi, I40E_VLAN_ANY);
+
if (vsi->info.pvid) {
/* kill old VLAN */
ret = i40e_vsi_kill_vlan(vsi, (le16_to_cpu(vsi->info.pvid) &
@@ -2109,6 +2118,10 @@ int i40e_ndo_set_vf_port_vlan(struct net_device *netdev,
vsi->back->hw.aq.asq_last_status);
goto error_pvid;
}
+ /* Kill non-vlan MAC filters - ignore error return since
+ * there might not be any non-vlan MAC filters.
+ */
+ i40e_vsi_kill_vlan(vsi, I40E_VLAN_ANY);
}
if (ret) {
--
1.8.5.GIT
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [net-next 0/2] Intel Wired LAN Driver Updates
2014-01-14 0:13 [net-next 0/2] Intel Wired LAN Driver Updates Aaron Brown
2014-01-14 0:13 ` [net-next 1/2] i40e: Warn admin to reload VF driver on port VLAN configuration Aaron Brown
2014-01-14 0:13 ` [net-next 2/2] i40e: Retain MAC filters on port VLAN deletion Aaron Brown
@ 2014-01-15 8:01 ` David Miller
2 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2014-01-15 8:01 UTC (permalink / raw)
To: aaron.f.brown; +Cc: netdev, gospo, sassmann
From: Aaron Brown <aaron.f.brown@intel.com>
Date: Mon, 13 Jan 2014 16:13:02 -0800
> This series contains updates to i40e from Greg Rose for VLAN filtering.
Series applied, thanks Aaron.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [net-next 0/2] Intel Wired LAN Driver Updates
@ 2014-01-16 1:38 Aaron Brown
2014-01-16 5:49 ` David Miller
0 siblings, 1 reply; 6+ messages in thread
From: Aaron Brown @ 2014-01-16 1:38 UTC (permalink / raw)
To: davem; +Cc: Aaron Brown, netdev, gospo, sassmann
This series contains several updates from Alex to ixgbe.
To avoid head of line blocking in the event a VF stops cleaning Rx descriptors
he makes sure QDE bits are set for a VF before the Rx queues are enabled.
To avoid a situation where the head write-back registers can remain set ofter
the driver is unloaded he clears them on a VF reset.
Alexander Duyck (2):
ixgbe: Force QDE via PFQDE for VFs during reset
ixgbe: Clear head write-back registers on VF reset
drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c | 23 +++++++++++++++++++++++
drivers/net/ethernet/intel/ixgbe/ixgbe_type.h | 15 ++++++++++++---
2 files changed, 35 insertions(+), 3 deletions(-)
--
1.8.5.GIT
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [net-next 0/2] Intel Wired LAN Driver Updates
2014-01-16 1:38 Aaron Brown
@ 2014-01-16 5:49 ` David Miller
0 siblings, 0 replies; 6+ messages in thread
From: David Miller @ 2014-01-16 5:49 UTC (permalink / raw)
To: aaron.f.brown; +Cc: netdev, gospo, sassmann
From: Aaron Brown <aaron.f.brown@intel.com>
Date: Wed, 15 Jan 2014 17:38:39 -0800
> This series contains several updates from Alex to ixgbe.
>
> To avoid head of line blocking in the event a VF stops cleaning Rx descriptors
> he makes sure QDE bits are set for a VF before the Rx queues are enabled.
>
> To avoid a situation where the head write-back registers can remain set ofter
> the driver is unloaded he clears them on a VF reset.
Series applied, thanks Aaron.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-01-16 5:49 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-14 0:13 [net-next 0/2] Intel Wired LAN Driver Updates Aaron Brown
2014-01-14 0:13 ` [net-next 1/2] i40e: Warn admin to reload VF driver on port VLAN configuration Aaron Brown
2014-01-14 0:13 ` [net-next 2/2] i40e: Retain MAC filters on port VLAN deletion Aaron Brown
2014-01-15 8:01 ` [net-next 0/2] Intel Wired LAN Driver Updates David Miller
-- strict thread matches above, loose matches on Subject: below --
2014-01-16 1:38 Aaron Brown
2014-01-16 5:49 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox