Lines Matching refs:xs
17 static int xsk_diag_put_info(const struct xdp_sock *xs, struct sk_buff *nlskb)
21 di.ifindex = xs->dev ? xs->dev->ifindex : 0;
22 di.queue_id = xs->queue_id;
35 static int xsk_diag_put_rings_cfg(const struct xdp_sock *xs,
40 if (xs->rx)
41 err = xsk_diag_put_ring(xs->rx, XDP_DIAG_RX_RING, nlskb);
42 if (!err && xs->tx)
43 err = xsk_diag_put_ring(xs->tx, XDP_DIAG_TX_RING, nlskb);
47 static int xsk_diag_put_umem(const struct xdp_sock *xs, struct sk_buff *nlskb)
49 struct xsk_buff_pool *pool = xs->pool;
50 struct xdp_umem *umem = xs->umem;
79 static int xsk_diag_put_stats(const struct xdp_sock *xs, struct sk_buff *nlskb)
83 du.n_rx_dropped = xs->rx_dropped;
84 du.n_rx_invalid = xskq_nb_invalid_descs(xs->rx);
85 du.n_rx_full = xs->rx_queue_full;
86 du.n_fill_ring_empty = xs->pool ? xskq_nb_queue_empty_descs(xs->pool->fq) : 0;
87 du.n_tx_invalid = xskq_nb_invalid_descs(xs->tx);
88 du.n_tx_ring_empty = xskq_nb_queue_empty_descs(xs->tx);
97 struct xdp_sock *xs = xdp_sk(sk);
113 mutex_lock(&xs->mutex);
114 if (READ_ONCE(xs->state) == XSK_UNBOUND)
117 if ((req->xdiag_show & XDP_SHOW_INFO) && xsk_diag_put_info(xs, nlskb))
126 xsk_diag_put_rings_cfg(xs, nlskb))
130 xsk_diag_put_umem(xs, nlskb))
138 xsk_diag_put_stats(xs, nlskb))
141 mutex_unlock(&xs->mutex);
146 mutex_unlock(&xs->mutex);