summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Hemminger <stephen@networkplumber.org>2018-11-15 14:36:24 -0800
committerStephen Hemminger <stephen@networkplumber.org>2018-11-19 11:42:44 -0800
commit13530c46b5a8f3f1db64f10be49b40cc2a30e9b7 (patch)
treeb9f201a604fd384d0b7015732bae716226eef5a9
parent1d2fac4145047d4b16b4aedda14427d9699ac835 (diff)
genl: remove dead code
The function genl_ctrl_resolve_family is defined but never used in current code. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
-rw-r--r--genl/ctrl.c71
-rw-r--r--genl/genl_utils.h2
2 files changed, 0 insertions, 73 deletions
diff --git a/genl/ctrl.c b/genl/ctrl.c
index 6133336a..0fb464b0 100644
--- a/genl/ctrl.c
+++ b/genl/ctrl.c
@@ -38,77 +38,6 @@ static int usage(void)
return -1;
}
-int genl_ctrl_resolve_family(const char *family)
-{
- struct rtnl_handle rth;
- int ret = 0;
- struct {
- struct nlmsghdr n;
- struct genlmsghdr g;
- char buf[4096];
- } req = {
- .n.nlmsg_len = NLMSG_LENGTH(GENL_HDRLEN),
- .n.nlmsg_flags = NLM_F_REQUEST | NLM_F_ACK,
- .n.nlmsg_type = GENL_ID_CTRL,
- .g.cmd = CTRL_CMD_GETFAMILY,
- };
- struct nlmsghdr *nlh = &req.n;
- struct genlmsghdr *ghdr = &req.g;
- struct nlmsghdr *answer = NULL;
-
- if (rtnl_open_byproto(&rth, 0, NETLINK_GENERIC) < 0) {
- fprintf(stderr, "Cannot open generic netlink socket\n");
- exit(1);
- }
-
- addattr_l(nlh, 128, CTRL_ATTR_FAMILY_NAME, family, strlen(family) + 1);
-
- if (rtnl_talk(&rth, nlh, &answer) < 0) {
- fprintf(stderr, "Error talking to the kernel\n");
- goto errout;
- }
-
- {
- struct rtattr *tb[CTRL_ATTR_MAX + 1];
- int len = answer->nlmsg_len;
- struct rtattr *attrs;
-
- if (answer->nlmsg_type != GENL_ID_CTRL) {
- fprintf(stderr, "Not a controller message, nlmsg_len=%d "
- "nlmsg_type=0x%x\n", answer->nlmsg_len, answer->nlmsg_type);
- goto errout;
- }
-
- if (ghdr->cmd != CTRL_CMD_NEWFAMILY) {
- fprintf(stderr, "Unknown controller command %d\n", ghdr->cmd);
- goto errout;
- }
-
- len -= NLMSG_LENGTH(GENL_HDRLEN);
-
- if (len < 0) {
- fprintf(stderr, "wrong controller message len %d\n", len);
- free(answer);
- return -1;
- }
-
- attrs = (struct rtattr *) ((char *) answer + NLMSG_LENGTH(GENL_HDRLEN));
- parse_rtattr(tb, CTRL_ATTR_MAX, attrs, len);
-
- if (tb[CTRL_ATTR_FAMILY_ID] == NULL) {
- fprintf(stderr, "Missing family id TLV\n");
- goto errout;
- }
-
- ret = rta_getattr_u16(tb[CTRL_ATTR_FAMILY_ID]);
- }
-
-errout:
- free(answer);
- rtnl_close(&rth);
- return ret;
-}
-
static void print_ctrl_cmd_flags(FILE *fp, __u32 fl)
{
fprintf(fp, "\n\t\tCapabilities (0x%x):\n ", fl);
diff --git a/genl/genl_utils.h b/genl/genl_utils.h
index cc1f3fb7..a8d433a9 100644
--- a/genl/genl_utils.h
+++ b/genl/genl_utils.h
@@ -13,6 +13,4 @@ struct genl_util
int (*print_genlopt)(struct nlmsghdr *n, void *arg);
};
-int genl_ctrl_resolve_family(const char *family);
-
#endif