Hi Andy,
We also faced this issue when upgrading to RHEL 7.5 .
Below is the diff, which solved the issue for us. Please check if it helps.
diff --git a/tipc/netlink.c b/tipc/netlink.c
index a96575f..16ddd40 100644
--- a/tipc/netlink.c
+++ b/tipc/netlink.c
@@ -68,14 +68,6 @@ static int handle_cmd(struct sk_buff *skb, struct
genl_info *info)
return 0;
}
-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,
@@ -83,14 +75,23 @@ static struct genl_ops tipc_genl_ops[] = {
}
};
+
+static struct genl_family tipc_genl_family = {
+ .name = TIPC_GENL_NAME,
+ .version = TIPC_GENL_VERSION,
+ .hdrsize = TIPC_GENL_HDRLEN,
+ .maxattr = 0,
+ .ops = tipc_genl_ops,
+ .n_ops = ARRAY_SIZE(tipc_genl_ops),
+};
+
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);
+ res = genl_register_family(&tipc_genl_family);
if (res) {
pr_err("Failed to register netlink interface\n");
return res;
Amit
On Tue, Nov 6, 2018 at 9:56 AM Andy Stec <[email protected]> wrote:
> 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
>
_______________________________________________
tipc-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tipc-discussion