Re: [PATCH] app/testpmd: fix io fwd mode to forward VLAN packets
From: Wu, Jingjing <hidden>
Date: 2017-06-29 05:36:28
quoted hunk ↗ jump to hunk
-----Original Message----- From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ajit Khaparde Sent: Thursday, June 29, 2017 11:06 AM To: dev@dpdk.org Subject: [dpdk-dev] [PATCH] app/testpmd: fix io fwd mode to forward VLAN packets In io fwd mode, while the received VLAN packets are forwarded for transmit, the ol_flags are not updated appropriately to indicate presence of VLAN tags in the Tx path. This patch fixes that. Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> --- app/test-pmd/iofwd.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)diff --git a/app/test-pmd/iofwd.c b/app/test-pmd/iofwd.c index15cb4a2..997d3c3 100644--- a/app/test-pmd/iofwd.c +++ b/app/test-pmd/iofwd.c@@ -91,6 +91,7 @@ pkt_burst_io_forward(struct fwd_stream *fs) #ifdefRTE_TEST_PMD_RECORD_CORE_CYCLES start_tsc = rte_rdtsc(); #endif + int i; /* * Receive a burst of packets and forward them.@@ -104,6 +105,20 @@ pkt_burst_io_forward(struct fwd_stream *fs) #ifdefRTE_TEST_PMD_RECORD_BURST_STATS fs->rx_burst_stats.pkt_burst_spread[nb_rx]++; #endif + + for (i = 0; i < nb_rx; i++) { + uint64_t tx_ol_flags = 0, rx_ol_flags = pkts_burst[i]->ol_flags; + + if (rx_ol_flags & PKT_RX_VLAN_PKT) + tx_ol_flags |= PKT_TX_VLAN_PKT; + else if (rx_ol_flags & PKT_RX_QINQ_PKT) + tx_ol_flags |= PKT_TX_QINQ_PKT; + + pkts_burst[i]->ol_flags = 0; + pkts_burst[i]->ol_flags = tx_ol_flags; + + } +
The iofwd engine is an fwd engine what just calls tx_burst and rx_burst, it is purely fwd without carrying any offload features. If you'd like to demonstrate the vlan offload feature, you can other fwd engine Such as txonly, macfwd...... Thanks Jingjing