We are trying to compile an older version of tipc with the RHEL 7.5 kernel 
(3.10.0.862.14.4).  We are getting the following error:

/root/rpmbuild/BUILD/tipc/tipc/netlink.c: In function 'tipc_netlink_start':
/root/rpmbuild/BUILD/tipc/tipc/netlink.c:90:2: error: implicit declaration of 
function 'genl_register_family_with_ops' [-Werror=implicit-function-declaration]
  res = genl_register_family_with_ops(&tipc_genl_family,

This code compiled fine with RHEL 7.4.  Based on what we found on the internet 
it seems that genl_register_family_with_ops function has been removed and we're 
supposed to use genl_register_family instead.  However, the details of what 
needs to be passed to the function, specifically the contents of the 
tipc_genl_family struct are unclear.   This issue has been resolved in the tipc 
version that corresponds to the 4.10 kernel, however there is a big delta in 
the code between that version and the version we are using.   Below is the 
snippet of code in question, we would appreciate any input as what to needs to 
change in this code:

static struct genl_family tipc_genl_family = {
        .id             = GENL_ID_GENERATE,
       .name           = TIPC_GENL_NAME,
        .version        = TIPC_GENL_VERSION,
        .hdrsize        = TIPC_GENL_HDRLEN,
        .maxattr        = 0,
};

static struct genl_ops tipc_genl_ops = {
        .cmd            = TIPC_GENL_CMD,
        .doit           = handle_cmd,
};

static int tipc_genl_family_registered;

int tipc_netlink_start(void)
{
        int res;

        res = genl_register_family_with_ops(&tipc_genl_family,
                &tipc_genl_ops, 1);
        if (res) {
                pr_err("Failed to register netlink interface\n");
                return res;
        }

        tipc_genl_family_registered = 1;
        return 0;
}
This e-mail contains PRIVILEGED AND CONFIDENTIAL INFORMATION intended solely 
for the use of the addressee(s). If you are not the intended recipient, please 
notify so to the sender by e-mail and delete the original message. In such 
cases, please notify us immediately at [email protected] 
<mailto:[email protected]> . Further, you are not to copy, disclose, or 
distribute this e-mail or its contents to any unauthorized person(s). Any such 
actions are considered unlawful. This e-mail may contain viruses. Infinite has 
taken every reasonable precaution to minimize this risk, but is not liable for 
any damage you may sustain as a result of any virus in this e-mail. You should 
carry out your own virus checks before opening the e-mail or attachments. 
Infinite reserves the right to monitor and review the content of all messages 
sent to or from this e-mail address. Messages sent to or from this e-mail 
address may be stored on the Infinite e-mail system.

 

***INFINITE******** End of Disclaimer********INFINITE********

_______________________________________________
tipc-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to