Lines Matching refs:rsp

32 netdev_nl_dev_fill(struct net_device *netdev, struct sk_buff *rsp,
39 hdr = genlmsg_iput(rsp, info);
56 if (nla_put_u32(rsp, NETDEV_A_DEV_IFINDEX, netdev->ifindex) ||
57 nla_put_u64_64bit(rsp, NETDEV_A_DEV_XDP_FEATURES,
59 nla_put_u64_64bit(rsp, NETDEV_A_DEV_XDP_RX_METADATA_FEATURES,
61 nla_put_u64_64bit(rsp, NETDEV_A_DEV_XSK_FEATURES,
63 genlmsg_cancel(rsp, hdr);
68 if (nla_put_u32(rsp, NETDEV_A_DEV_XDP_ZC_MAX_SEGS,
70 genlmsg_cancel(rsp, hdr);
75 genlmsg_end(rsp, hdr);
108 struct sk_buff *rsp;
117 rsp = genlmsg_new(GENLMSG_DEFAULT_SIZE, GFP_KERNEL);
118 if (!rsp)
125 err = netdev_nl_dev_fill(netdev, rsp, info);
134 return genlmsg_reply(rsp, info);
137 nlmsg_free(rsp);
160 netdev_nl_napi_fill_one(struct sk_buff *rsp, struct napi_struct *napi,
171 hdr = genlmsg_iput(rsp, info);
176 nla_put_u32(rsp, NETDEV_A_NAPI_ID, napi->napi_id))
179 if (nla_put_u32(rsp, NETDEV_A_NAPI_IFINDEX, napi->dev->ifindex))
182 if (napi->irq >= 0 && nla_put_u32(rsp, NETDEV_A_NAPI_IRQ, napi->irq))
187 if (nla_put_u32(rsp, NETDEV_A_NAPI_PID, pid))
191 genlmsg_end(rsp, hdr);
196 genlmsg_cancel(rsp, hdr);
203 struct sk_buff *rsp;
212 rsp = genlmsg_new(GENLMSG_DEFAULT_SIZE, GFP_KERNEL);
213 if (!rsp)
220 err = netdev_nl_napi_fill_one(rsp, napi, info);
229 return genlmsg_reply(rsp, info);
232 nlmsg_free(rsp);
237 netdev_nl_napi_dump_one(struct net_device *netdev, struct sk_buff *rsp,
251 err = netdev_nl_napi_fill_one(rsp, napi, info);
292 netdev_nl_queue_fill_one(struct sk_buff *rsp, struct net_device *netdev,
299 hdr = genlmsg_iput(rsp, info);
303 if (nla_put_u32(rsp, NETDEV_A_QUEUE_ID, q_idx) ||
304 nla_put_u32(rsp, NETDEV_A_QUEUE_TYPE, q_type) ||
305 nla_put_u32(rsp, NETDEV_A_QUEUE_IFINDEX, netdev->ifindex))
311 if (rxq->napi && nla_put_u32(rsp, NETDEV_A_QUEUE_NAPI_ID,
317 if (txq->napi && nla_put_u32(rsp, NETDEV_A_QUEUE_NAPI_ID,
322 genlmsg_end(rsp, hdr);
327 genlmsg_cancel(rsp, hdr);
347 netdev_nl_queue_fill(struct sk_buff *rsp, struct net_device *netdev, u32 q_idx,
359 return netdev_nl_queue_fill_one(rsp, netdev, q_idx, q_type, info);
366 struct sk_buff *rsp;
378 rsp = genlmsg_new(GENLMSG_DEFAULT_SIZE, GFP_KERNEL);
379 if (!rsp)
386 err = netdev_nl_queue_fill(rsp, netdev, q_id, q_type, info);
395 return genlmsg_reply(rsp, info);
398 nlmsg_free(rsp);
403 netdev_nl_queue_dump_one(struct net_device *netdev, struct sk_buff *rsp,
414 err = netdev_nl_queue_fill_one(rsp, netdev, i,
421 err = netdev_nl_queue_fill_one(rsp, netdev, i,
480 static int netdev_stat_put(struct sk_buff *rsp, unsigned int attr_id, u64 value)
484 return nla_put_uint(rsp, attr_id, value);
488 netdev_nl_stats_write_rx(struct sk_buff *rsp, struct netdev_queue_stats_rx *rx)
490 if (netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_PACKETS, rx->packets) ||
491 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_BYTES, rx->bytes) ||
492 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_ALLOC_FAIL, rx->alloc_fail))
498 netdev_nl_stats_write_tx(struct sk_buff *rsp, struct netdev_queue_stats_tx *tx)
500 if (netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_PACKETS, tx->packets) ||
501 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_BYTES, tx->bytes))
507 netdev_nl_stats_queue(struct net_device *netdev, struct sk_buff *rsp,
515 hdr = genlmsg_iput(rsp, info);
518 if (nla_put_u32(rsp, NETDEV_A_QSTATS_IFINDEX, netdev->ifindex) ||
519 nla_put_u32(rsp, NETDEV_A_QSTATS_QUEUE_TYPE, q_type) ||
520 nla_put_u32(rsp, NETDEV_A_QSTATS_QUEUE_ID, i))
529 if (netdev_nl_stats_write_rx(rsp, &rx))
537 if (netdev_nl_stats_write_tx(rsp, &tx))
542 genlmsg_end(rsp, hdr);
546 genlmsg_cancel(rsp, hdr);
549 genlmsg_cancel(rsp, hdr);
554 netdev_nl_stats_by_queue(struct net_device *netdev, struct sk_buff *rsp,
566 err = netdev_nl_stats_queue(netdev, rsp, NETDEV_QUEUE_TYPE_RX,
574 err = netdev_nl_stats_queue(netdev, rsp, NETDEV_QUEUE_TYPE_TX,
587 netdev_nl_stats_by_netdev(struct net_device *netdev, struct sk_buff *rsp,
611 hdr = genlmsg_iput(rsp, info);
614 if (nla_put_u32(rsp, NETDEV_A_QSTATS_IFINDEX, netdev->ifindex))
630 if (netdev_nl_stats_write_rx(rsp, &rx_sum) ||
631 netdev_nl_stats_write_tx(rsp, &tx_sum))
634 genlmsg_end(rsp, hdr);
638 genlmsg_cancel(rsp, hdr);