Commit b4164de5 authored by Suman Ghosh's avatar Suman Ghosh Committed by Paolo Abeni
Browse files

octeontx2-pf: Add AF_XDP non-zero copy support



Set xdp rx ring memory type as MEM_TYPE_PAGE_POOL for
af-xdp to work. This is needed since xdp_return_frame
internally will use page pools.

Fixes: 06059a1a ("octeontx2-pf: Add XDP support to netdev PF")
Signed-off-by: default avatarSuman Ghosh <sumang@marvell.com>
Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 94c80f74
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -1047,6 +1047,7 @@ static int otx2_cq_init(struct otx2_nic *pfvf, u16 qidx)
	int err, pool_id, non_xdp_queues;
	struct nix_aq_enq_req *aq;
	struct otx2_cq_queue *cq;
	struct otx2_pool *pool;

	cq = &qset->cq[qidx];
	cq->cq_idx = qidx;
@@ -1055,8 +1056,13 @@ static int otx2_cq_init(struct otx2_nic *pfvf, u16 qidx)
		cq->cq_type = CQ_RX;
		cq->cint_idx = qidx;
		cq->cqe_cnt = qset->rqe_cnt;
		if (pfvf->xdp_prog)
		if (pfvf->xdp_prog) {
			pool = &qset->pool[qidx];
			xdp_rxq_info_reg(&cq->xdp_rxq, pfvf->netdev, qidx, 0);
			xdp_rxq_info_reg_mem_model(&cq->xdp_rxq,
						   MEM_TYPE_PAGE_POOL,
						   pool->page_pool);
		}
	} else if (qidx < non_xdp_queues) {
		cq->cq_type = CQ_TX;
		cq->cint_idx = qidx - pfvf->hw.rx_queues;