Re: [PATCH net-next v5 05/22] ethtool: introduce ethtool netlink interface
From: Jiri Pirko <jiri@resnulli.us>
Date: 2019-03-26 16:36:45
Also in:
lkml
Mon, Mar 25, 2019 at 06:08:09PM CET, mkubecek@suse.cz wrote:
Basic genetlink and init infrastructure for the netlink interface, register genetlink family "ethtool". Introduce CONFIG_ETHTOOL_NETLINK Kconfig option. Add interface description into Documentation/networking. Signed-off-by: Michal Kubecek <redacted> ---
[...]
quoted hunk ↗ jump to hunk
diff --git a/net/ethtool/netlink.c b/net/ethtool/netlink.c new file mode 100644 index 000000000000..85dd6dac71a2 --- /dev/null +++ b/net/ethtool/netlink.c@@ -0,0 +1,34 @@ +// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note + +#include <linux/ethtool_netlink.h> +#include "netlink.h" + +/* genetlink setup */ + +static const struct genl_ops ethtool_genl_ops[] = {
Please be consistent with prefixes. Either use "ethtool_" or "ethnl_" for all functions and variables in this code.
+};
+
+struct genl_family ethtool_genl_family = {
+ .hdrsize = 0,
+ .name = ETHTOOL_GENL_NAME,
+ .version = ETHTOOL_GENL_VERSION,
+ .netnsok = true,
+ .parallel_ops = true,
+ .ops = ethtool_genl_ops,
+ .n_ops = ARRAY_SIZE(ethtool_genl_ops),
+};
+
+/* module setup */
+
+static int __init ethnl_init(void)
+{
+ int ret;
+
+ ret = genl_register_family(ðtool_genl_family);
+ if (WARN(ret < 0, "ethtool: genetlink family registration failed"))Why do you need this warning? Please avoid it.
quoted hunk ↗ jump to hunk
+ return ret; + + return 0; +} + +subsys_initcall(ethnl_init);diff --git a/net/ethtool/netlink.h b/net/ethtool/netlink.h new file mode 100644 index 000000000000..63063b582ca2 --- /dev/null +++ b/net/ethtool/netlink.h@@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ + +#ifndef _NET_ETHTOOL_NETLINK_H +#define _NET_ETHTOOL_NETLINK_H + +#include <linux/ethtool_netlink.h> +#include <linux/netdevice.h> +#include <net/genetlink.h> + +extern struct genl_family ethtool_genl_family; + +#endif /* _NET_ETHTOOL_NETLINK_H */-- 2.21.0