Lines Matching refs:rq
61 mlx5e_xmit_xdp_buff(struct mlx5e_xdpsq *sq, struct mlx5e_rq *rq,
91 __set_bit(MLX5E_RQ_FLAG_XDP_XMIT, rq->flags); /* non-atomic */
182 if (unlikely(!mlx5e_rx_hw_stamp(_ctx->rq->tstamp)))
185 *timestamp = mlx5e_cqe_ts_to_ns(_ctx->rq->ptp_cyc2time,
186 _ctx->rq->clock, get_cqe_ts(_ctx->cqe));
311 bool mlx5e_xdp_handle(struct mlx5e_rq *rq,
323 if (unlikely(!mlx5e_xmit_xdp_buff(rq->xdpsq, rq, xdp)))
325 __set_bit(MLX5E_RQ_FLAG_XDP_XMIT, rq->flags); /* non-atomic */
329 err = xdp_do_redirect(rq->netdev, xdp, prog);
332 __set_bit(MLX5E_RQ_FLAG_XDP_XMIT, rq->flags);
333 __set_bit(MLX5E_RQ_FLAG_XDP_REDIRECT, rq->flags);
334 rq->stats->xdp_redirect++;
337 bpf_warn_invalid_xdp_action(rq->netdev, prog, act);
341 trace_xdp_exception(rq->netdev, prog, act);
344 rq->stats->xdp_drop++;
953 void mlx5e_xdp_rx_poll_complete(struct mlx5e_rq *rq)
955 struct mlx5e_xdpsq *xdpsq = rq->xdpsq;
962 if (test_bit(MLX5E_RQ_FLAG_XDP_REDIRECT, rq->flags)) {
964 __clear_bit(MLX5E_RQ_FLAG_XDP_REDIRECT, rq->flags);