The mbuf ol_flags were taken directly from testpmd internal enumeration
leading to incorrect values.

addressing only insertion offload flags as the checksum flags by
the application design are only with csum forwarding.

Fixes: e9e23a617eb8 ("app/testpmd: add flowgen forwarding engine")
Cc: cchempara...@tilera.com
Cc: sta...@dpdk.org

Signed-off-by: Shahaf Shuler <shah...@mellanox.com>
---
 app/test-pmd/flowgen.c | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/flowgen.c b/app/test-pmd/flowgen.c
index acf9af9..46478fc 100644
--- a/app/test-pmd/flowgen.c
+++ b/app/test-pmd/flowgen.c
@@ -123,7 +123,7 @@
        struct ipv4_hdr *ip_hdr;
        struct udp_hdr *udp_hdr;
        uint16_t vlan_tci, vlan_tci_outer;
-       uint16_t ol_flags;
+       uint64_t ol_flags;
        uint16_t nb_rx;
        uint16_t nb_tx;
        uint16_t nb_pkt;
@@ -151,7 +151,13 @@
        mbp = current_fwd_lcore()->mbp;
        vlan_tci = ports[fs->tx_port].tx_vlan_id;
        vlan_tci_outer = ports[fs->tx_port].tx_vlan_id_outer;
-       ol_flags = ports[fs->tx_port].tx_ol_flags;
+
+       if (ports[fs->tx_port].tx_ol_flags & TESTPMD_TX_OFFLOAD_INSERT_VLAN)
+               ol_flags = PKT_TX_VLAN_PKT;
+       if (ports[fs->tx_port].tx_ol_flags & TESTPMD_TX_OFFLOAD_INSERT_QINQ)
+               ol_flags |= PKT_TX_QINQ_PKT;
+       if (ports[fs->tx_port].tx_ol_flags & TESTPMD_TX_OFFLOAD_MACSEC)
+               ol_flags |= PKT_TX_MACSEC;
 
        for (nb_pkt = 0; nb_pkt < nb_pkt_per_burst; nb_pkt++) {
                pkt = rte_mbuf_raw_alloc(mbp);
-- 
1.8.3.1

Reply via email to