patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH v1] net/failsafe: fix VLAN stripping configuration
@ 2017-11-01 20:12 Ophir Munk
  2017-11-02 13:52 ` Gaëtan Rivet
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Ophir Munk @ 2017-11-01 20:12 UTC (permalink / raw)
  To: Gaetan Rivet; +Cc: dev, Thomas Monjalon, Olga Shern, stable

failsafe device has vlan stripping configured at startup however once
a sub device is found as non-capable of vlan-stripping failsafe
updates it configuration and removes vlan stripping from it.
This update occurs only once at startup. Following a later plugin
attempt and in case of vlan stripping mismatch between failsafe
configuration and device capability - failsafe cannot recover and the
device remains constantly in plug out state.

The sequence of events leading to this situation is described as
follows:
1. Start testpmd with failsafe where mlx4 is a sub device (not capable
of vlan stripping). Expected printout:
PMD: net_failsafe: Disabling VLAN stripping offload
2. Execute:
testpmd> port stop all
testpmd> port config all max-pkt-len 2048
testpmd> port start all
3. Do a plug out (e.g. disable sriov)
4. Do a plug in (e.g. enable sriov)
5. Expected result: failsafe successfully configures and starts its sub
devices
Actual result: failsafe is continuously failing with these messages:
PMD: net_failsafe: VLAN stripping offload requested but not supported by
sub_device 0
PMD: net_failsafe: device already configured, cannot fix live
configuration
PMD: net_failsafe: Unable to synchronize sub device state

Root cause analysis: at startup failsafe removes vlan stripping from its
configuration. After executing "port config all max-pkt-len 2048"
testpmd marks failsafe in need for configuration update.
After executing "port start all" testpmd overrides failsafe
configuration with its own configuration which includes vlan stripping

During the plugin attempt failsafe refuses to update its configuration
by removing vlan stripping since it has already updated its
configuration at startup.

The fix is to remove the limitation of one time configuration at
startup and allow it during plugin attempts.

Cc: stable@dpdk.org
Fixes: bbc6a53dda44 ("net/failsafe: support Rx offload capabilities")

Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
---
The commit message includes bug and fix descriptions
---
 drivers/net/failsafe/failsafe_ops.c | 10 ----------
 1 file changed, 10 deletions(-)

diff --git a/drivers/net/failsafe/failsafe_ops.c b/drivers/net/failsafe/failsafe_ops.c
index f460551..953ee65 100644
--- a/drivers/net/failsafe/failsafe_ops.c
+++ b/drivers/net/failsafe/failsafe_ops.c
@@ -187,16 +187,6 @@
 			continue;
 		DEBUG("Checking capabilities for sub_device %d", i);
 		while ((capa_flag = fs_port_offload_validate(dev, sdev))) {
-			/*
-			 * Refuse to change configuration if multiple devices
-			 * are present and we already have configured at least
-			 * some of them.
-			 */
-			if (PRIV(dev)->state >= DEV_ACTIVE &&
-			    PRIV(dev)->subs_tail > 1) {
-				ERROR("device already configured, cannot fix live configuration");
-				return -1;
-			}
 			ret = fs_port_disable_offload(&dev->data->dev_conf,
 						      capa_flag);
 			if (ret) {
-- 
1.8.3.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2017-11-03 23:28 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-01 20:12 [dpdk-stable] [PATCH v1] net/failsafe: fix VLAN stripping configuration Ophir Munk
2017-11-02 13:52 ` Gaëtan Rivet
2017-11-02 14:16   ` Gaëtan Rivet
2017-11-03  9:52     ` Ophir Munk
2017-11-02 17:24 ` [dpdk-stable] [PATCH v2] " Ophir Munk
2017-11-02 17:27 ` Ophir Munk
2017-11-03 23:11   ` [dpdk-stable] [dpdk-dev] " Thomas Monjalon
2017-11-03 23:28     ` Ferruh Yigit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).