Lines Matching refs:bq
553 static void veth_xdp_flush_bq(struct veth_rq *rq, struct veth_xdp_tx_bq *bq) in veth_xdp_flush_bq() argument
557 sent = veth_xdp_xmit(rq->dev, bq->count, bq->q, 0, false); in veth_xdp_flush_bq()
563 for (i = sent; unlikely(i < bq->count); i++) in veth_xdp_flush_bq()
564 xdp_return_frame(bq->q[i]); in veth_xdp_flush_bq()
566 drops = bq->count - sent; in veth_xdp_flush_bq()
574 bq->count = 0; in veth_xdp_flush_bq()
577 static void veth_xdp_flush(struct veth_rq *rq, struct veth_xdp_tx_bq *bq) in veth_xdp_flush() argument
584 veth_xdp_flush_bq(rq, bq); in veth_xdp_flush()
601 struct veth_xdp_tx_bq *bq) in veth_xdp_tx() argument
608 if (unlikely(bq->count == VETH_XDP_TX_BULK_SIZE)) in veth_xdp_tx()
609 veth_xdp_flush_bq(rq, bq); in veth_xdp_tx()
611 bq->q[bq->count++] = frame; in veth_xdp_tx()
618 struct veth_xdp_tx_bq *bq, in veth_xdp_rcv_one() argument
645 if (unlikely(veth_xdp_tx(rq, xdp, bq) < 0)) { in veth_xdp_rcv_one()
688 int n_xdpf, struct veth_xdp_tx_bq *bq, in veth_xdp_rcv_bulk_skb() argument
833 struct veth_xdp_tx_bq *bq, in veth_xdp_rcv_skb() argument
869 if (unlikely(veth_xdp_tx(rq, xdp, bq) < 0)) { in veth_xdp_rcv_skb()
943 struct veth_xdp_tx_bq *bq, in veth_xdp_rcv() argument
960 frame = veth_xdp_rcv_one(rq, frame, bq, stats); in veth_xdp_rcv()
966 bq, stats); in veth_xdp_rcv()
975 skb = veth_xdp_rcv_skb(rq, skb, bq, stats); in veth_xdp_rcv()
987 veth_xdp_rcv_bulk_skb(rq, xdpf, n_xdpf, bq, stats); in veth_xdp_rcv()
1005 struct veth_xdp_tx_bq bq; in veth_poll() local
1008 bq.count = 0; in veth_poll()
1011 done = veth_xdp_rcv(rq, budget, &bq, &stats); in veth_poll()
1028 veth_xdp_flush(rq, &bq); in veth_poll()