virtio: fix PCI accesses for ppc64 in legacy mode
[dpdk.git] / app / test-pmd / macfwd.c
index 035e5eb..07a399a 100644 (file)
@@ -110,7 +110,12 @@ pkt_burst_mac_forward(struct fwd_stream *fs)
        txp = &ports[fs->tx_port];
        if (txp->tx_ol_flags & TESTPMD_TX_OFFLOAD_INSERT_VLAN)
                ol_flags = PKT_TX_VLAN_PKT;
+       if (txp->tx_ol_flags & TESTPMD_TX_OFFLOAD_INSERT_QINQ)
+               ol_flags |= PKT_TX_QINQ_PKT;
        for (i = 0; i < nb_rx; i++) {
+               if (likely(i < nb_rx - 1))
+                       rte_prefetch0(rte_pktmbuf_mtod(pkts_burst[i + 1],
+                                                      void *));
                mb = pkts_burst[i];
                eth_hdr = rte_pktmbuf_mtod(mb, struct ether_hdr *);
                ether_addr_copy(&peer_eth_addrs[fs->peer_addr],
@@ -121,6 +126,7 @@ pkt_burst_mac_forward(struct fwd_stream *fs)
                mb->l2_len = sizeof(struct ether_hdr);
                mb->l3_len = sizeof(struct ipv4_hdr);
                mb->vlan_tci = txp->tx_vlan_id;
+               mb->vlan_tci_outer = txp->tx_vlan_id_outer;
        }
        nb_tx = rte_eth_tx_burst(fs->tx_port, fs->tx_queue, pkts_burst, nb_rx);
        fs->tx_packets += nb_tx;