def genl_ctrl_resolve_grp(sk, family_name, grp_name):
    """Resolve Generic Netlink family group name.

    https://github.com/thom311/libnl/blob/libnl3_2_25/lib/genl/ctrl.c#L471

    Looks up the family object and resolves the group name to the numeric group identifier.

    Positional arguments:
    sk -- Generic Netlink socket (nl_sock class instance).
    family_name -- name of Generic Netlink family (bytes).
    grp_name -- name of group to resolve (bytes).

    Returns:
    The numeric group identifier or a negative error code.
    """
    family = genl_ctrl_probe_by_name(sk, family_name)
    if family is None:
        return -NLE_OBJ_NOTFOUND
    return genl_ctrl_grp_by_name(family, grp_name)
Resolve Generic Netlink family group name.

    https://github.com/thom311/libnl/blob/libnl3_2_25/lib/genl/ctrl.c#L471

    Looks up the family object and resolves the group name to the numeric group identifier.

    Positional arguments:
    sk -- Generic Netlink socket (nl_sock class instance).
    family_name -- name of Generic Netlink family (bytes).
    grp_name -- name of group to resolve (bytes).

    Returns:
    The numeric group identifier or a negative error code.