Lines Matching refs:nlskb
17 static int xsk_diag_put_info(const struct xdp_sock *xs, struct sk_buff *nlskb)
23 return nla_put(nlskb, XDP_DIAG_INFO, sizeof(di), &di);
27 struct sk_buff *nlskb)
32 return nla_put(nlskb, nl_type, sizeof(dr), &dr);
36 struct sk_buff *nlskb)
41 err = xsk_diag_put_ring(xs->rx, XDP_DIAG_RX_RING, nlskb);
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)
69 err = nla_put(nlskb, XDP_DIAG_UMEM, sizeof(du), &du);
72 XDP_DIAG_UMEM_FILL_RING, nlskb);
75 XDP_DIAG_UMEM_COMPLETION_RING, nlskb);
79 static int xsk_diag_put_stats(const struct xdp_sock *xs, struct sk_buff *nlskb)
89 return nla_put(nlskb, XDP_DIAG_STATS, sizeof(du), &du);
92 static int xsk_diag_fill(struct sock *sk, struct sk_buff *nlskb,
101 nlh = nlmsg_put(nlskb, portid, seq, SOCK_DIAG_BY_FAMILY, sizeof(*msg),
117 if ((req->xdiag_show & XDP_SHOW_INFO) && xsk_diag_put_info(xs, nlskb))
121 nla_put_u32(nlskb, XDP_DIAG_UID,
126 xsk_diag_put_rings_cfg(xs, nlskb))
130 xsk_diag_put_umem(xs, nlskb))
134 sock_diag_put_meminfo(sk, nlskb, XDP_DIAG_MEMINFO))
138 xsk_diag_put_stats(xs, nlskb))
142 nlmsg_end(nlskb, nlh);
147 nlmsg_cancel(nlskb, nlh);
151 static int xsk_diag_dump(struct sk_buff *nlskb, struct netlink_callback *cb)
154 struct net *net = sock_net(nlskb->sk);
166 if (xsk_diag_fill(sk, nlskb, req,
178 return nlskb->len;
181 static int xsk_diag_handler_dump(struct sk_buff *nlskb, struct nlmsghdr *hdr)
185 struct net *net = sock_net(nlskb->sk);
193 return netlink_dump_start(net->diag_nlsk, nlskb, hdr, &c);