Lines Matching refs:bq
362 static void bq_xmit_all(struct xdp_dev_bulk_queue *bq, u32 flags)
364 struct net_device *dev = bq->dev;
365 unsigned int cnt = bq->count;
374 struct xdp_frame *xdpf = bq->q[i];
379 if (bq->xdp_prog) {
380 to_send = dev_map_bpf_prog_run(bq->xdp_prog, bq->q, cnt, dev);
385 sent = dev->netdev_ops->ndo_xdp_xmit(dev, to_send, bq->q, flags);
398 xdp_return_frame_rx_napi(bq->q[i]);
401 bq->count = 0;
402 trace_xdp_devmap_xmit(bq->dev_rx, dev, sent, cnt - sent, err);
412 struct xdp_dev_bulk_queue *bq, *tmp;
414 list_for_each_entry_safe(bq, tmp, flush_list, flush_node) {
415 bq_xmit_all(bq, XDP_XMIT_FLUSH);
416 bq->dev_rx = NULL;
417 bq->xdp_prog = NULL;
418 __list_del_clearprev(&bq->flush_node);
457 struct xdp_dev_bulk_queue *bq = this_cpu_ptr(dev->xdp_bulkq);
459 if (unlikely(bq->count == DEV_MAP_BULK_SIZE))
460 bq_xmit_all(bq, 0);
463 * bulk_queue, because bq stored per-CPU and must be flushed
469 if (!bq->dev_rx) {
470 bq->dev_rx = dev_rx;
471 bq->xdp_prog = xdp_prog;
472 list_add(&bq->flush_node, flush_list);
475 bq->q[bq->count++] = xdpf;