| 6652 | |
| 6653 | #define NAME_BUFLEN 32 |
| 6654 | static void |
| 6655 | iflib_add_device_sysctl_pre(if_ctx_t ctx) |
| 6656 | { |
| 6657 | device_t dev = iflib_get_dev(ctx); |
| 6658 | struct sysctl_oid_list *child, *oid_list; |
| 6659 | struct sysctl_ctx_list *ctx_list; |
| 6660 | struct sysctl_oid *node; |
| 6661 | |
| 6662 | ctx_list = device_get_sysctl_ctx(dev); |
| 6663 | child = SYSCTL_CHILDREN(device_get_sysctl_tree(dev)); |
| 6664 | ctx->ifc_sysctl_node = node = SYSCTL_ADD_NODE(ctx_list, child, OID_AUTO, "iflib", |
| 6665 | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, "IFLIB fields"); |
| 6666 | oid_list = SYSCTL_CHILDREN(node); |
| 6667 | |
| 6668 | SYSCTL_ADD_CONST_STRING(ctx_list, oid_list, OID_AUTO, "driver_version", |
| 6669 | CTLFLAG_RD, ctx->ifc_sctx->isc_driver_version, |
| 6670 | "driver version"); |
| 6671 | |
| 6672 | SYSCTL_ADD_U16(ctx_list, oid_list, OID_AUTO, "override_ntxqs", |
| 6673 | CTLFLAG_RWTUN, &ctx->ifc_sysctl_ntxqs, 0, |
| 6674 | "# of txqs to use, 0 => use default #"); |
| 6675 | SYSCTL_ADD_U16(ctx_list, oid_list, OID_AUTO, "override_nrxqs", |
| 6676 | CTLFLAG_RWTUN, &ctx->ifc_sysctl_nrxqs, 0, |
| 6677 | "# of rxqs to use, 0 => use default #"); |
| 6678 | SYSCTL_ADD_U16(ctx_list, oid_list, OID_AUTO, "override_qs_enable", |
| 6679 | CTLFLAG_RWTUN, &ctx->ifc_sysctl_qs_eq_override, 0, |
| 6680 | "permit #txq != #rxq"); |
| 6681 | SYSCTL_ADD_INT(ctx_list, oid_list, OID_AUTO, "disable_msix", |
| 6682 | CTLFLAG_RWTUN, &ctx->ifc_softc_ctx.isc_disable_msix, 0, |
| 6683 | "disable MSI-X (default 0)"); |
| 6684 | SYSCTL_ADD_U16(ctx_list, oid_list, OID_AUTO, "rx_budget", |
| 6685 | CTLFLAG_RWTUN, &ctx->ifc_sysctl_rx_budget, 0, |
| 6686 | "set the RX budget"); |
| 6687 | SYSCTL_ADD_U16(ctx_list, oid_list, OID_AUTO, "tx_abdicate", |
| 6688 | CTLFLAG_RWTUN, &ctx->ifc_sysctl_tx_abdicate, 0, |
| 6689 | "cause TX to abdicate instead of running to completion"); |
| 6690 | ctx->ifc_sysctl_core_offset = CORE_OFFSET_UNSPECIFIED; |
| 6691 | SYSCTL_ADD_U16(ctx_list, oid_list, OID_AUTO, "core_offset", |
| 6692 | CTLFLAG_RDTUN, &ctx->ifc_sysctl_core_offset, 0, |
| 6693 | "offset to start using cores at"); |
| 6694 | SYSCTL_ADD_U8(ctx_list, oid_list, OID_AUTO, "separate_txrx", |
| 6695 | CTLFLAG_RDTUN, &ctx->ifc_sysctl_separate_txrx, 0, |
| 6696 | "use separate cores for TX and RX"); |
| 6697 | |
| 6698 | /* XXX change for per-queue sizes */ |
| 6699 | SYSCTL_ADD_PROC(ctx_list, oid_list, OID_AUTO, "override_ntxds", |
| 6700 | CTLTYPE_STRING | CTLFLAG_RWTUN | CTLFLAG_NEEDGIANT, ctx, |
| 6701 | IFLIB_NTXD_HANDLER, mp_ndesc_handler, "A", |
| 6702 | "list of # of TX descriptors to use, 0 = use default #"); |
| 6703 | SYSCTL_ADD_PROC(ctx_list, oid_list, OID_AUTO, "override_nrxds", |
| 6704 | CTLTYPE_STRING | CTLFLAG_RWTUN | CTLFLAG_NEEDGIANT, ctx, |
| 6705 | IFLIB_NRXD_HANDLER, mp_ndesc_handler, "A", |
| 6706 | "list of # of RX descriptors to use, 0 = use default #"); |
| 6707 | } |
| 6708 | |
| 6709 | static void |
| 6710 | iflib_add_device_sysctl_post(if_ctx_t ctx) |
no test coverage detected