Lines Matching refs:rsp
34 netdev_nl_dev_fill(struct net_device *netdev, struct sk_buff *rsp, in netdev_nl_dev_fill() argument
41 hdr = genlmsg_iput(rsp, info); in netdev_nl_dev_fill()
60 if (nla_put_u32(rsp, NETDEV_A_DEV_IFINDEX, netdev->ifindex) || in netdev_nl_dev_fill()
61 nla_put_u64_64bit(rsp, NETDEV_A_DEV_XDP_FEATURES, in netdev_nl_dev_fill()
63 nla_put_u64_64bit(rsp, NETDEV_A_DEV_XDP_RX_METADATA_FEATURES, in netdev_nl_dev_fill()
65 nla_put_u64_64bit(rsp, NETDEV_A_DEV_XSK_FEATURES, in netdev_nl_dev_fill()
70 if (nla_put_u32(rsp, NETDEV_A_DEV_XDP_ZC_MAX_SEGS, in netdev_nl_dev_fill()
75 genlmsg_end(rsp, hdr); in netdev_nl_dev_fill()
80 genlmsg_cancel(rsp, hdr); in netdev_nl_dev_fill()
112 struct sk_buff *rsp; in netdev_nl_dev_get_doit() local
121 rsp = genlmsg_new(GENLMSG_DEFAULT_SIZE, GFP_KERNEL); in netdev_nl_dev_get_doit()
122 if (!rsp) in netdev_nl_dev_get_doit()
129 err = netdev_nl_dev_fill(netdev, rsp, info); in netdev_nl_dev_get_doit()
138 return genlmsg_reply(rsp, info); in netdev_nl_dev_get_doit()
141 nlmsg_free(rsp); in netdev_nl_dev_get_doit()
164 netdev_nl_napi_fill_one(struct sk_buff *rsp, struct napi_struct *napi, in netdev_nl_napi_fill_one() argument
176 hdr = genlmsg_iput(rsp, info); in netdev_nl_napi_fill_one()
180 if (nla_put_u32(rsp, NETDEV_A_NAPI_ID, napi->napi_id)) in netdev_nl_napi_fill_one()
183 if (nla_put_u32(rsp, NETDEV_A_NAPI_IFINDEX, napi->dev->ifindex)) in netdev_nl_napi_fill_one()
186 if (napi->irq >= 0 && nla_put_u32(rsp, NETDEV_A_NAPI_IRQ, napi->irq)) in netdev_nl_napi_fill_one()
191 if (nla_put_u32(rsp, NETDEV_A_NAPI_PID, pid)) in netdev_nl_napi_fill_one()
196 if (nla_put_s32(rsp, NETDEV_A_NAPI_DEFER_HARD_IRQS, in netdev_nl_napi_fill_one()
201 if (nla_put_uint(rsp, NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT, in netdev_nl_napi_fill_one()
206 if (nla_put_uint(rsp, NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT, in netdev_nl_napi_fill_one()
210 genlmsg_end(rsp, hdr); in netdev_nl_napi_fill_one()
215 genlmsg_cancel(rsp, hdr); in netdev_nl_napi_fill_one()
222 struct sk_buff *rsp; in netdev_nl_napi_get_doit() local
231 rsp = genlmsg_new(GENLMSG_DEFAULT_SIZE, GFP_KERNEL); in netdev_nl_napi_get_doit()
232 if (!rsp) in netdev_nl_napi_get_doit()
237 err = netdev_nl_napi_fill_one(rsp, napi, info); in netdev_nl_napi_get_doit()
246 } else if (!rsp->len) { in netdev_nl_napi_get_doit()
251 return genlmsg_reply(rsp, info); in netdev_nl_napi_get_doit()
254 nlmsg_free(rsp); in netdev_nl_napi_get_doit()
259 netdev_nl_napi_dump_one(struct net_device *netdev, struct sk_buff *rsp, in netdev_nl_napi_dump_one() argument
282 err = netdev_nl_napi_fill_one(rsp, napi, info); in netdev_nl_napi_dump_one()
378 netdev_nl_queue_fill_one(struct sk_buff *rsp, struct net_device *netdev, in netdev_nl_queue_fill_one() argument
386 hdr = genlmsg_iput(rsp, info); in netdev_nl_queue_fill_one()
390 if (nla_put_u32(rsp, NETDEV_A_QUEUE_ID, q_idx) || in netdev_nl_queue_fill_one()
391 nla_put_u32(rsp, NETDEV_A_QUEUE_TYPE, q_type) || in netdev_nl_queue_fill_one()
392 nla_put_u32(rsp, NETDEV_A_QUEUE_IFINDEX, netdev->ifindex)) in netdev_nl_queue_fill_one()
398 if (nla_put_napi_id(rsp, rxq->napi)) in netdev_nl_queue_fill_one()
403 params->mp_ops->nl_fill(params->mp_priv, rsp, rxq)) in netdev_nl_queue_fill_one()
407 if (nla_put_empty_nest(rsp, NETDEV_A_QUEUE_XSK)) in netdev_nl_queue_fill_one()
414 if (nla_put_napi_id(rsp, txq->napi)) in netdev_nl_queue_fill_one()
418 if (nla_put_empty_nest(rsp, NETDEV_A_QUEUE_XSK)) in netdev_nl_queue_fill_one()
424 genlmsg_end(rsp, hdr); in netdev_nl_queue_fill_one()
429 genlmsg_cancel(rsp, hdr); in netdev_nl_queue_fill_one()
449 netdev_nl_queue_fill(struct sk_buff *rsp, struct net_device *netdev, u32 q_idx, in netdev_nl_queue_fill() argument
461 return netdev_nl_queue_fill_one(rsp, netdev, q_idx, q_type, info); in netdev_nl_queue_fill()
468 struct sk_buff *rsp; in netdev_nl_queue_get_doit() local
480 rsp = genlmsg_new(GENLMSG_DEFAULT_SIZE, GFP_KERNEL); in netdev_nl_queue_get_doit()
481 if (!rsp) in netdev_nl_queue_get_doit()
488 err = netdev_nl_queue_fill(rsp, netdev, q_id, q_type, info); in netdev_nl_queue_get_doit()
499 return genlmsg_reply(rsp, info); in netdev_nl_queue_get_doit()
502 nlmsg_free(rsp); in netdev_nl_queue_get_doit()
507 netdev_nl_queue_dump_one(struct net_device *netdev, struct sk_buff *rsp, in netdev_nl_queue_dump_one() argument
517 err = netdev_nl_queue_fill_one(rsp, netdev, ctx->rxq_idx, in netdev_nl_queue_dump_one()
523 err = netdev_nl_queue_fill_one(rsp, netdev, ctx->txq_idx, in netdev_nl_queue_dump_one()
583 static int netdev_stat_put(struct sk_buff *rsp, unsigned int attr_id, u64 value) in netdev_stat_put() argument
587 return nla_put_uint(rsp, attr_id, value); in netdev_stat_put()
591 netdev_nl_stats_write_rx(struct sk_buff *rsp, struct netdev_queue_stats_rx *rx) in netdev_nl_stats_write_rx() argument
593 if (netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_PACKETS, rx->packets) || in netdev_nl_stats_write_rx()
594 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_BYTES, rx->bytes) || in netdev_nl_stats_write_rx()
595 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_ALLOC_FAIL, rx->alloc_fail) || in netdev_nl_stats_write_rx()
596 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_HW_DROPS, rx->hw_drops) || in netdev_nl_stats_write_rx()
597 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_HW_DROP_OVERRUNS, rx->hw_drop_overruns) || in netdev_nl_stats_write_rx()
598 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_CSUM_COMPLETE, rx->csum_complete) || in netdev_nl_stats_write_rx()
599 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_CSUM_UNNECESSARY, rx->csum_unnecessary) || in netdev_nl_stats_write_rx()
600 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_CSUM_NONE, rx->csum_none) || in netdev_nl_stats_write_rx()
601 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_CSUM_BAD, rx->csum_bad) || in netdev_nl_stats_write_rx()
602 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_HW_GRO_PACKETS, rx->hw_gro_packets) || in netdev_nl_stats_write_rx()
603 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_HW_GRO_BYTES, rx->hw_gro_bytes) || in netdev_nl_stats_write_rx()
604 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_HW_GRO_WIRE_PACKETS, rx->hw_gro_wire_packets) || in netdev_nl_stats_write_rx()
605 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_HW_GRO_WIRE_BYTES, rx->hw_gro_wire_bytes) || in netdev_nl_stats_write_rx()
606 netdev_stat_put(rsp, NETDEV_A_QSTATS_RX_HW_DROP_RATELIMITS, rx->hw_drop_ratelimits)) in netdev_nl_stats_write_rx()
612 netdev_nl_stats_write_tx(struct sk_buff *rsp, struct netdev_queue_stats_tx *tx) in netdev_nl_stats_write_tx() argument
614 if (netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_PACKETS, tx->packets) || in netdev_nl_stats_write_tx()
615 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_BYTES, tx->bytes) || in netdev_nl_stats_write_tx()
616 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_HW_DROPS, tx->hw_drops) || in netdev_nl_stats_write_tx()
617 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_HW_DROP_ERRORS, tx->hw_drop_errors) || in netdev_nl_stats_write_tx()
618 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_CSUM_NONE, tx->csum_none) || in netdev_nl_stats_write_tx()
619 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_NEEDS_CSUM, tx->needs_csum) || in netdev_nl_stats_write_tx()
620 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_HW_GSO_PACKETS, tx->hw_gso_packets) || in netdev_nl_stats_write_tx()
621 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_HW_GSO_BYTES, tx->hw_gso_bytes) || in netdev_nl_stats_write_tx()
622 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_HW_GSO_WIRE_PACKETS, tx->hw_gso_wire_packets) || in netdev_nl_stats_write_tx()
623 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_HW_GSO_WIRE_BYTES, tx->hw_gso_wire_bytes) || in netdev_nl_stats_write_tx()
624 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_HW_DROP_RATELIMITS, tx->hw_drop_ratelimits) || in netdev_nl_stats_write_tx()
625 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_STOP, tx->stop) || in netdev_nl_stats_write_tx()
626 netdev_stat_put(rsp, NETDEV_A_QSTATS_TX_WAKE, tx->wake)) in netdev_nl_stats_write_tx()
632 netdev_nl_stats_queue(struct net_device *netdev, struct sk_buff *rsp, in netdev_nl_stats_queue() argument
640 hdr = genlmsg_iput(rsp, info); in netdev_nl_stats_queue()
643 if (nla_put_u32(rsp, NETDEV_A_QSTATS_IFINDEX, netdev->ifindex) || in netdev_nl_stats_queue()
644 nla_put_u32(rsp, NETDEV_A_QSTATS_QUEUE_TYPE, q_type) || in netdev_nl_stats_queue()
645 nla_put_u32(rsp, NETDEV_A_QSTATS_QUEUE_ID, i)) in netdev_nl_stats_queue()
654 if (netdev_nl_stats_write_rx(rsp, &rx)) in netdev_nl_stats_queue()
662 if (netdev_nl_stats_write_tx(rsp, &tx)) in netdev_nl_stats_queue()
667 genlmsg_end(rsp, hdr); in netdev_nl_stats_queue()
671 genlmsg_cancel(rsp, hdr); in netdev_nl_stats_queue()
674 genlmsg_cancel(rsp, hdr); in netdev_nl_stats_queue()
679 netdev_nl_stats_by_queue(struct net_device *netdev, struct sk_buff *rsp, in netdev_nl_stats_by_queue() argument
691 err = netdev_nl_stats_queue(netdev, rsp, NETDEV_QUEUE_TYPE_RX, in netdev_nl_stats_by_queue()
699 err = netdev_nl_stats_queue(netdev, rsp, NETDEV_QUEUE_TYPE_TX, in netdev_nl_stats_by_queue()
756 netdev_nl_stats_by_netdev(struct net_device *netdev, struct sk_buff *rsp, in netdev_nl_stats_by_netdev() argument
777 hdr = genlmsg_iput(rsp, info); in netdev_nl_stats_by_netdev()
780 if (nla_put_u32(rsp, NETDEV_A_QSTATS_IFINDEX, netdev->ifindex)) in netdev_nl_stats_by_netdev()
786 if (netdev_nl_stats_write_rx(rsp, &rx_sum) || in netdev_nl_stats_by_netdev()
787 netdev_nl_stats_write_tx(rsp, &tx_sum)) in netdev_nl_stats_by_netdev()
790 genlmsg_end(rsp, hdr); in netdev_nl_stats_by_netdev()
794 genlmsg_cancel(rsp, hdr); in netdev_nl_stats_by_netdev()
866 struct sk_buff *rsp; in netdev_nl_bind_rx_doit() local
883 rsp = genlmsg_new(GENLMSG_DEFAULT_SIZE, GFP_KERNEL); in netdev_nl_bind_rx_doit()
884 if (!rsp) in netdev_nl_bind_rx_doit()
887 hdr = genlmsg_iput(rsp, info); in netdev_nl_bind_rx_doit()
948 nla_put_u32(rsp, NETDEV_A_DMABUF_ID, binding->id); in netdev_nl_bind_rx_doit()
949 genlmsg_end(rsp, hdr); in netdev_nl_bind_rx_doit()
951 err = genlmsg_reply(rsp, info); in netdev_nl_bind_rx_doit()
968 nlmsg_free(rsp); in netdev_nl_bind_rx_doit()