From: Ophir Munk Date: Tue, 7 Nov 2017 13:52:30 +0000 (+0000) Subject: app/testpmd: fix forwarding between non consecutive ports X-Git-Tag: spdx-start~908 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;ds=sidebyside;h=fafee5e9caaf439b29a6e10600e91b8de81eff66;p=dpdk.git 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 Signed-off-by: Raslan Darawsheh Acked-by: Pablo de Lara --- diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index 7bc721f807..cd2ac11645 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; } }