X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=app%2Ftest-pmd%2Fmacswap.c;h=67298495c5da9a14c27f438ff7962f7642da7bc8;hb=d4c9ffd4fe1c84dcc40757d937de43244cd89833;hp=4ed6096e591335cf62a614613693a0dff6187529;hpb=d47388f19649d73b2b970dd8d436db72e9daf946;p=dpdk.git diff --git a/app/test-pmd/macswap.c b/app/test-pmd/macswap.c index 4ed6096e59..67298495c5 100644 --- a/app/test-pmd/macswap.c +++ b/app/test-pmd/macswap.c @@ -51,7 +51,6 @@ #include #include #include -#include #include #include #include @@ -85,6 +84,7 @@ pkt_burst_mac_swap(struct fwd_stream *fs) uint16_t nb_rx; uint16_t nb_tx; uint16_t i; + uint64_t ol_flags = 0; #ifdef RTE_TEST_PMD_RECORD_CORE_CYCLES uint64_t start_tsc; uint64_t end_tsc; @@ -108,19 +108,21 @@ pkt_burst_mac_swap(struct fwd_stream *fs) #endif fs->rx_packets += nb_rx; txp = &ports[fs->tx_port]; + if (txp->tx_ol_flags & TESTPMD_TX_OFFLOAD_INSERT_VLAN) + ol_flags = PKT_TX_VLAN_PKT; for (i = 0; i < nb_rx; i++) { mb = pkts_burst[i]; - eth_hdr = (struct ether_hdr *) mb->pkt.data; + eth_hdr = rte_pktmbuf_mtod(mb, struct ether_hdr *); /* Swap dest and src mac addresses. */ ether_addr_copy(ð_hdr->d_addr, &addr); ether_addr_copy(ð_hdr->s_addr, ð_hdr->d_addr); ether_addr_copy(&addr, ð_hdr->s_addr); - mb->ol_flags = txp->tx_ol_flags; - mb->pkt.vlan_macip.f.l2_len = sizeof(struct ether_hdr); - mb->pkt.vlan_macip.f.l3_len = sizeof(struct ipv4_hdr); - mb->pkt.vlan_macip.f.vlan_tci = txp->tx_vlan_id; + mb->ol_flags = ol_flags; + mb->l2_len = sizeof(struct ether_hdr); + mb->l3_len = sizeof(struct ipv4_hdr); + mb->vlan_tci = txp->tx_vlan_id; } nb_tx = rte_eth_tx_burst(fs->tx_port, fs->tx_queue, pkts_burst, nb_rx); fs->tx_packets += nb_tx;