Date: Tue, 4 Feb 2025 19:53:01 GMT From: Gleb Smirnoff <glebius@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: 753a4acd09e4 - main - netlink: make struct genl_family and genl_group private Message-ID: <202502041953.514Jr1Ed086348@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by glebius: URL: https://cgit.FreeBSD.org/src/commit/?id=753a4acd09e45d84cd863355943dbb2ccbcda77b commit 753a4acd09e45d84cd863355943dbb2ccbcda77b Author: Gleb Smirnoff <glebius@FreeBSD.org> AuthorDate: 2025-02-04 19:52:35 +0000 Commit: Gleb Smirnoff <glebius@FreeBSD.org> CommitDate: 2025-02-04 19:52:35 +0000 netlink: make struct genl_family and genl_group private --- sys/netlink/netlink_generic.c | 72 ++++++++++++++++++++++++------------------- sys/netlink/netlink_var.h | 15 --------- 2 files changed, 41 insertions(+), 46 deletions(-) diff --git a/sys/netlink/netlink_generic.c b/sys/netlink/netlink_generic.c index d4c84a34b850..30c73133134b 100644 --- a/sys/netlink/netlink_generic.c +++ b/sys/netlink/netlink_generic.c @@ -47,8 +47,47 @@ #include <netlink/netlink_debug.h> _DECLARE_DEBUG(LOG_INFO); -static int dump_family(struct nlmsghdr *hdr, struct genlmsghdr *ghdr, - const struct genl_family *gf, struct nl_writer *nw); +static int nlctrl_handle_getfamily(struct nlmsghdr *, struct nl_pstate *); + +static struct genl_cmd nlctrl_cmds[] = { + [CTRL_CMD_GETFAMILY] = { + .cmd_num = CTRL_CMD_GETFAMILY, + .cmd_name = "GETFAMILY", + .cmd_cb = nlctrl_handle_getfamily, + .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | + GENL_CMD_CAP_HASPOL, + }, +}; + +static struct genl_family { + const char *family_name; + uint16_t family_hdrsize; + uint16_t family_version; + uint16_t family_attr_max; + uint16_t family_cmd_size; + uint16_t family_num_groups; + struct genl_cmd *family_cmds; +} families[MAX_FAMILIES] = { + [CTRL_FAMILY_ID] = { + .family_name = CTRL_FAMILY_NAME, + .family_hdrsize = 0, + .family_version = 2, + .family_attr_max = CTRL_ATTR_MAX, + .family_cmd_size = CTRL_CMD_GETFAMILY + 1, + .family_cmds = nlctrl_cmds, + .family_num_groups = 1, + }, +}; + +static struct genl_group { + struct genl_family *group_family; + const char *group_name; +} groups[MAX_GROUPS] = { + [CTRL_GROUP_ID] = { + .group_family = &families[CTRL_FAMILY_ID], + .group_name = CTRL_GROUP_NAME, + }, +}; /* * Handler called by netlink subsystem when matching netlink message is received @@ -299,35 +338,6 @@ SX_SYSINIT(genl_lock, &sx_lock, "genetlink lock"); #define GENL_ASSERT_LOCKED() sx_assert(&sx_lock, SA_LOCKED) #define GENL_ASSERT_XLOCKED() sx_assert(&sx_lock, SA_XLOCKED) -static struct genl_cmd nlctrl_cmds[] = { - [CTRL_CMD_GETFAMILY] = { - .cmd_num = CTRL_CMD_GETFAMILY, - .cmd_name = "GETFAMILY", - .cmd_cb = nlctrl_handle_getfamily, - .cmd_flags = GENL_CMD_CAP_DO | GENL_CMD_CAP_DUMP | - GENL_CMD_CAP_HASPOL, - }, -}; - -static struct genl_family families[MAX_FAMILIES] = { - [CTRL_FAMILY_ID] = { - .family_name = CTRL_FAMILY_NAME, - .family_hdrsize = 0, - .family_version = 2, - .family_attr_max = CTRL_ATTR_MAX, - .family_cmd_size = CTRL_CMD_GETFAMILY + 1, - .family_cmds = nlctrl_cmds, - .family_num_groups = 1, - }, -} -; -static struct genl_group groups[MAX_GROUPS] = { - [CTRL_GROUP_ID] = { - .group_family = &families[CTRL_FAMILY_ID], - .group_name = CTRL_GROUP_NAME, - }, -}; - static struct genl_family * find_family(const char *family_name) { diff --git a/sys/netlink/netlink_var.h b/sys/netlink/netlink_var.h index 87b9f5aaaecd..c341abf7ca55 100644 --- a/sys/netlink/netlink_var.h +++ b/sys/netlink/netlink_var.h @@ -144,21 +144,6 @@ struct nl_buf *nl_buf_alloc(size_t len, int mflag); void nl_buf_free(struct nl_buf *nb); /* netlink_generic.c */ -struct genl_family { - const char *family_name; - uint16_t family_hdrsize; - uint16_t family_version; - uint16_t family_attr_max; - uint16_t family_cmd_size; - uint16_t family_num_groups; - struct genl_cmd *family_cmds; -}; - -struct genl_group { - struct genl_family *group_family; - const char *group_name; -}; - struct genl_family *genl_get_family(uint16_t family_id); struct genl_group *genl_get_group(uint32_t group_id);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202502041953.514Jr1Ed086348>