> -----Original Message----- > From: dev [mailto:dev-boun...@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.khapa...@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 index > 15cb4a2..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) #ifdef > RTE_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) #ifdef > RTE_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