When LRO is enabled, the driver must set the LRO flag in received
aggregated packets to indicate LRO processing to upper-layer
applications. Add the missing LRO flag into the ol_flags field of mbuf
to fix it.

Fixes: 0e484278c85f ("net/txgbe: support Rx")
Cc: sta...@dpdk.org

Signed-off-by: Jiawen Wu <jiawe...@trustnetic.com>
---
 drivers/net/txgbe/txgbe_rxtx.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/txgbe/txgbe_rxtx.c b/drivers/net/txgbe/txgbe_rxtx.c
index a85d417ff6..e6f33739c4 100644
--- a/drivers/net/txgbe/txgbe_rxtx.c
+++ b/drivers/net/txgbe/txgbe_rxtx.c
@@ -1793,6 +1793,8 @@ txgbe_fill_cluster_head_buf(struct rte_mbuf *head, struct 
txgbe_rx_desc *desc,
        pkt_flags = rx_desc_status_to_pkt_flags(staterr, rxq->vlan_flags);
        pkt_flags |= rx_desc_error_to_pkt_flags(staterr);
        pkt_flags |= txgbe_rxd_pkt_info_to_pkt_flags(pkt_info);
+       if (TXGBE_RXD_RSCCNT(desc->qw0.dw0))
+               pkt_flags |= RTE_MBUF_F_RX_LRO;
        head->ol_flags = pkt_flags;
        head->packet_type = txgbe_rxd_pkt_info_to_pkt_type(pkt_info,
                                                rxq->pkt_type_mask);
-- 
2.48.1

Reply via email to