[PATCH v1] app/testpmd: fix fwd between two failsafe devices

Subsystems: the rest

STALE3271d

7 messages, 3 authors, 2017-11-07 · open the first message on its own page

[PATCH v1] app/testpmd: fix fwd between two failsafe devices

From: Ophir Munk <hidden>
Date: 2017-11-06 14:19:14

When defining two failsafe devices in testpmd the port numbers of the
failsafe devices may not be consecutive.
For example: if failsafe device includes a PCI device and a TAP device
then failsafe port numbers would be 0 and 3.
Port 0 - failsafe #1 device
Port 1 - PCI #1 device
Port 2 - TAP #1 device
Port 3 - failsafe #2 device
Port 4 - PCI #2 device
Port 5 - TAP #2 device

If forwarding is defined between the failsafe devices including a peer
address the forwarding should be between peer addresses of ports 0
and 3. Instead testpmd establishes forwarding between peer addresses
of adjacent ports 0 and 1. This commit fixes this bug.

Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org

Signed-off-by: Ophir Munk <redacted>
Signed-off-by: Raslan Darawsheh <redacted>
---
 app/test-pmd/config.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 7bc721f..cd2ac11 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -1905,7 +1905,7 @@ simple_fwd_config_setup(void)
 		fwd_streams[i]->rx_queue  = 0;
 		fwd_streams[i]->tx_port   = fwd_ports_ids[j];
 		fwd_streams[i]->tx_queue  = 0;
-		fwd_streams[i]->peer_addr = j;
+		fwd_streams[i]->peer_addr = fwd_streams[i]->tx_port;
 		fwd_streams[i]->retry_enabled = retry_enabled;
 
 		if (port_topology == PORT_TOPOLOGY_PAIRED) {
@@ -1913,7 +1913,7 @@ simple_fwd_config_setup(void)
 			fwd_streams[j]->rx_queue  = 0;
 			fwd_streams[j]->tx_port   = fwd_ports_ids[i];
 			fwd_streams[j]->tx_queue  = 0;
-			fwd_streams[j]->peer_addr = i;
+			fwd_streams[j]->peer_addr = fwd_streams[j]->tx_port;
 			fwd_streams[j]->retry_enabled = retry_enabled;
 		}
 	}
-- 
2.7.4

[PATCH v2] app/testpmd: fix forwarding between non consecutive ports

From: Ophir Munk <hidden>
Date: 2017-11-07 13:31:48

When defining two failsafe devices in testpmd the port numbers of the
failsafe devices may not be consecutive.
For example: if failsafe device includes a PCI device and a TAP device
then failsafe port numbers would be 0 and 3.
Port 0 - failsafe #1 device
Port 1 - PCI #1 device
Port 2 - TAP #1 device
Port 3 - failsafe #2 device
Port 4 - PCI #2 device
Port 5 - TAP #2 device

If forwarding is defined between the failsafe devices including a peer
address the forwarding should be between peer addresses of ports 0
and 3. Instead testpmd establishes forwarding between peer addresses
of consecutive ports 0 and 1. This commit fixes this bug.

Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org

Signed-off-by: Ophir Munk <redacted>
Signed-off-by: Raslan Darawsheh <redacted>
---
v1:
=========
 original patch

v2:
========
Update commit message. Update title to indicate the fix is for any non 
consecutive ports and not just for failsafe devices.
---
 app/test-pmd/config.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 7bc721f..cd2ac11 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -1905,7 +1905,7 @@ simple_fwd_config_setup(void)
 		fwd_streams[i]->rx_queue  = 0;
 		fwd_streams[i]->tx_port   = fwd_ports_ids[j];
 		fwd_streams[i]->tx_queue  = 0;
-		fwd_streams[i]->peer_addr = j;
+		fwd_streams[i]->peer_addr = fwd_streams[i]->tx_port;
 		fwd_streams[i]->retry_enabled = retry_enabled;
 
 		if (port_topology == PORT_TOPOLOGY_PAIRED) {
@@ -1913,7 +1913,7 @@ simple_fwd_config_setup(void)
 			fwd_streams[j]->rx_queue  = 0;
 			fwd_streams[j]->tx_port   = fwd_ports_ids[i];
 			fwd_streams[j]->tx_queue  = 0;
-			fwd_streams[j]->peer_addr = i;
+			fwd_streams[j]->peer_addr = fwd_streams[j]->tx_port;
 			fwd_streams[j]->retry_enabled = retry_enabled;
 		}
 	}
-- 
2.7.4

[PATCH v2] app/testpmd: fix forwarding between non consecutive ports

From: Ophir Munk <hidden>
Date: 2017-11-07 13:47:55

When defining two failsafe devices in testpmd the port numbers of the
failsafe devices may not be consecutive.
For example: if failsafe device includes a PCI device and a TAP device
then failsafe port numbers would be 0 and 3.
Port 0 - failsafe #1 device
Port 1 - PCI #1 device
Port 2 - TAP #1 device
Port 3 - failsafe #2 device
Port 4 - PCI #2 device
Port 5 - TAP #2 device

If forwarding is defined between the failsafe devices including a peer
address the forwarding should be between peer addresses of ports 0
and 3. Instead testpmd establishes forwarding between peer addresses
of consecutive ports 0 and 1. This commit fixes this bug.

Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org

Signed-off-by: Ophir Munk <redacted>
Signed-off-by: Raslan Darawsheh <redacted>
---
v1:
=========
 original patch

v2:
========
Update commit message. Update title to indicate the fix is for any non 
consecutive ports and not just for failsafe devices.

 app/test-pmd/config.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 7bc721f..cd2ac11 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -1905,7 +1905,7 @@ simple_fwd_config_setup(void)
 		fwd_streams[i]->rx_queue  = 0;
 		fwd_streams[i]->tx_port   = fwd_ports_ids[j];
 		fwd_streams[i]->tx_queue  = 0;
-		fwd_streams[i]->peer_addr = j;
+		fwd_streams[i]->peer_addr = fwd_streams[i]->tx_port;
 		fwd_streams[i]->retry_enabled = retry_enabled;
 
 		if (port_topology == PORT_TOPOLOGY_PAIRED) {
@@ -1913,7 +1913,7 @@ simple_fwd_config_setup(void)
 			fwd_streams[j]->rx_queue  = 0;
 			fwd_streams[j]->tx_port   = fwd_ports_ids[i];
 			fwd_streams[j]->tx_queue  = 0;
-			fwd_streams[j]->peer_addr = i;
+			fwd_streams[j]->peer_addr = fwd_streams[j]->tx_port;
 			fwd_streams[j]->retry_enabled = retry_enabled;
 		}
 	}
-- 
2.7.4

[PATCH v2] app/testpmd: fix forwarding between non consecutive ports

From: Ophir Munk <hidden>
Date: 2017-11-07 13:52:30

When defining two failsafe devices in testpmd the port numbers of the
failsafe devices may not be consecutive.
For example: if failsafe device includes a PCI device and a TAP device
then failsafe port numbers would be 0 and 3.
Port 0 - failsafe #1 device
Port 1 - PCI #1 device
Port 2 - TAP #1 device
Port 3 - failsafe #2 device
Port 4 - PCI #2 device
Port 5 - TAP #2 device

If forwarding is defined between the failsafe devices including a peer
address the forwarding should be between peer addresses of ports 0
and 3. Instead testpmd establishes forwarding between peer addresses
of consecutive ports 0 and 1. This commit fixes this bug.

Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org

Signed-off-by: Ophir Munk <redacted>
Signed-off-by: Raslan Darawsheh <redacted>
---
 app/test-pmd/config.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 7bc721f..cd2ac11 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -1905,7 +1905,7 @@ simple_fwd_config_setup(void)
 		fwd_streams[i]->rx_queue  = 0;
 		fwd_streams[i]->tx_port   = fwd_ports_ids[j];
 		fwd_streams[i]->tx_queue  = 0;
-		fwd_streams[i]->peer_addr = j;
+		fwd_streams[i]->peer_addr = fwd_streams[i]->tx_port;
 		fwd_streams[i]->retry_enabled = retry_enabled;
 
 		if (port_topology == PORT_TOPOLOGY_PAIRED) {
@@ -1913,7 +1913,7 @@ simple_fwd_config_setup(void)
 			fwd_streams[j]->rx_queue  = 0;
 			fwd_streams[j]->tx_port   = fwd_ports_ids[i];
 			fwd_streams[j]->tx_queue  = 0;
-			fwd_streams[j]->peer_addr = i;
+			fwd_streams[j]->peer_addr = fwd_streams[j]->tx_port;
 			fwd_streams[j]->retry_enabled = retry_enabled;
 		}
 	}
-- 
2.7.4

Re: [dpdk-stable] [PATCH v2] app/testpmd: fix forwarding between non consecutive ports

From: Thomas Monjalon <hidden>
Date: 2017-11-07 14:26:42

It is a really basic bug in testpmd.
Someone to review it quickly please?

Re: [dpdk-stable] [PATCH v2] app/testpmd: fix forwarding between non consecutive ports

From: De Lara Guarch, Pablo <hidden>
Date: 2017-11-07 17:43:16

-----Original Message-----
From: stable [mailto:stable-bounces@dpdk.org] On Behalf Of Ophir Munk
Sent: Tuesday, November 7, 2017 1:53 PM
To: Wu, Jingjing <redacted>
Cc: Gaetan Rivet <redacted>; Ophir Munk
<ophirmu@mellanox.com; dev@dpdk.org; Thomas Monjalon
[off-list ref]; Olga Shern [off-list ref];
stable@dpdk.org; Raslan Darawsheh [off-list ref]
Subject: [dpdk-stable] [PATCH v2] app/testpmd: fix forwarding between
non consecutive ports

When defining two failsafe devices in testpmd the port numbers of the
failsafe devices may not be consecutive.
For example: if failsafe device includes a PCI device and a TAP device then
failsafe port numbers would be 0 and 3.
Port 0 - failsafe #1 device
Port 1 - PCI #1 device
Port 2 - TAP #1 device
Port 3 - failsafe #2 device
Port 4 - PCI #2 device
Port 5 - TAP #2 device

If forwarding is defined between the failsafe devices including a peer
address the forwarding should be between peer addresses of ports 0 and 3.
Instead testpmd establishes forwarding between peer addresses of
consecutive ports 0 and 1. This commit fixes this bug.

Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org

Signed-off-by: Ophir Munk <redacted>
Signed-off-by: Raslan Darawsheh <redacted>
Acked-by: Pablo de Lara <redacted>

Re: [dpdk-stable] [PATCH v2] app/testpmd: fix forwarding between non consecutive ports

From: Thomas Monjalon <hidden>
Date: 2017-11-07 20:42:42

07/11/2017 18:43, De Lara Guarch, Pablo:
From: Ophir Munk
quoted
When defining two failsafe devices in testpmd the port numbers of the
failsafe devices may not be consecutive.
For example: if failsafe device includes a PCI device and a TAP device then
failsafe port numbers would be 0 and 3.
Port 0 - failsafe #1 device
Port 1 - PCI #1 device
Port 2 - TAP #1 device
Port 3 - failsafe #2 device
Port 4 - PCI #2 device
Port 5 - TAP #2 device

If forwarding is defined between the failsafe devices including a peer
address the forwarding should be between peer addresses of ports 0 and 3.
Instead testpmd establishes forwarding between peer addresses of
consecutive ports 0 and 1. This commit fixes this bug.

Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org

Signed-off-by: Ophir Munk <redacted>
Signed-off-by: Raslan Darawsheh <redacted>
Acked-by: Pablo de Lara <redacted>
Applied, thanks
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help