MCPcopy Create free account
hub / github.com/F-Stack/f-stack / iflib_add_device_sysctl_pre

Function iflib_add_device_sysctl_pre

freebsd/net/iflib.c:6654–6707  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6652
6653#define NAME_BUFLEN 32
6654static void
6655iflib_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
6709static void
6710iflib_add_device_sysctl_post(if_ctx_t ctx)

Callers 2

iflib_device_registerFunction · 0.85
iflib_pseudo_registerFunction · 0.85

Calls 3

iflib_get_devFunction · 0.85
device_get_sysctl_ctxFunction · 0.85
device_get_sysctl_treeFunction · 0.85

Tested by

no test coverage detected