/* Shutdown the wimax stack */ static int __init wimax_subsys_init(void) { int result; d_fnstart(4, NULL, "()\n"); d_parse_params(D_LEVEL, D_LEVEL_SIZE, wimax_debug_params, "wimax.debug"); snprintf(wimax_gnl_family.name, sizeof(wimax_gnl_family.name), "WiMAX"); result = genl_register_family_with_ops_groups(&wimax_gnl_family, wimax_gnl_ops, wimax_gnl_mcgrps); if (unlikely(result < 0)) { pr_err("cannot register generic netlink family: %d\n", result); goto error_register_family; } d_fnend(4, NULL, "() = 0\n"); return 0; error_register_family: d_fnend(4, NULL, "() = %d\n", result); return result; }
static int l2tp_nl_init(void) { pr_info("L2TP netlink interface\n"); return genl_register_family_with_ops_groups(&l2tp_nl_family, l2tp_nl_ops, l2tp_multicast_group); }
static int register_family(void) { int error; log_debug("Registering Generic Netlink family..."); strcpy(jool_family.name, GNL_JOOL_FAMILY_NAME); #if LINUX_VERSION_LOWER_THAN(3, 13, 0, 7, 1) error = genl_register_family_with_ops(&jool_family, ops, ARRAY_SIZE(ops)); if (error) { log_err("Couldn't register family!"); return error; } error = genl_register_mc_group(&jool_family, &(mc_groups[0])); if (error) { log_err("Couldn't register multicast group!"); return error; } #else error = genl_register_family_with_ops_groups(&jool_family, ops, mc_groups); if (error) { log_err("Family registration failed: %d", error); return error; } #endif nlcore_init(&jool_family, &mc_groups[0]); return 0; }
static int __init kfm_genl_register(void) { // kernel 3.10.0-229 centos 7.1 #if LINUX_VERSION_CODE >= KERNEL_VERSION(4,1,1) /* for kanas (kernel 4.1.1) */ return genl_register_family_with_ops_groups(&kfm_genl_family, kfm_genl_ops, kfm_mcgrps); #else /* for centos 7.0 (kernel 3.10.0) */ { int ret = 0, i; ret = genl_register_family_with_ops(&kfm_genl_family, kfm_genl_ops, ARRAY_SIZE(kfm_genl_ops)); if (ret) return -1; for (i = 0; i < ARRAY_SIZE(kfm_mcgrps); i++) { ret = genl_register_mc_group(&kfm_genl_family, &kfm_mcgrps[i]); if (ret) { genl_unregister_family(&kfm_genl_family); return -1; } } return 0; } #endif }
int __init hsr_netlink_init(void) { int rc; rc = rtnl_link_register(&hsr_link_ops); if (rc) goto fail_rtnl_link_register; rc = genl_register_family_with_ops_groups(&hsr_genl_family, hsr_ops, hsr_mcgrps); if (rc) goto fail_genl_register_family; return 0; fail_genl_register_family: rtnl_link_unregister(&hsr_link_ops); fail_rtnl_link_register: return rc; }
int __init ieee802154_nl_init(void) { return genl_register_family_with_ops_groups(&nl802154_family, ieee8021154_ops, ieee802154_mcgrps); }