diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c --- a/sys/dev/mlx5/mlx5_en/mlx5_en_main.c +++ b/sys/dev/mlx5/mlx5_en/mlx5_en_main.c @@ -3830,6 +3830,18 @@ sx_destroy(&priv->state_lock); } +static int +sysctl_ifname(SYSCTL_HANDLER_ARGS) +{ + struct mlx5e_priv *priv = arg1; + char if_name[IFNAMSIZ]; + int error; + + strncpy(if_name, priv->ifp->if_xname, sizeof(if_name)); + error = sysctl_handle_string(oidp, if_name, sizeof(if_name), req); + return (error); +} + static int sysctl_firmware(SYSCTL_HANDLER_ARGS) { @@ -4623,6 +4635,11 @@ pa.pa_headname = ifp->if_xname; priv->pfil = pfil_head_register(&pa); + SYSCTL_ADD_PROC(&priv->sysctl_ctx, + SYSCTL_CHILDREN(device_get_sysctl_tree(mdev->pdev->dev.bsddev)), + OID_AUTO, "ifname", CTLTYPE_STRING | CTLFLAG_RD, priv, 0, + sysctl_ifname, "A", "ifname managed by driver"); + return (priv); err_rl_init: