}
}
-static char *
-parse_link_kind (struct rtattr *tb)
-{
- struct rtattr *linkinfo[IFLA_INFO_MAX+1];
-
- memset (linkinfo, 0, sizeof(struct rtattr *)*(IFLA_INFO_MAX+1));
- parse_rtattr_nested(linkinfo, IFLA_INFO_MAX, tb);
-
- if (linkinfo[IFLA_INFO_KIND])
- return RTA_DATA(linkinfo[IFLA_INFO_KIND]);
-
- return NULL;
-}
/* Called from interface_lookup_netlink(). This function is only used
during bootstrap. */
static int
if (tb[IFLA_LINKINFO])
{
- kind = parse_link_kind(tb[IFLA_LINKINFO]);
+ memset (linkinfo, 0, sizeof linkinfo);
parse_rtattr_nested(linkinfo, IFLA_INFO_MAX, tb[IFLA_LINKINFO]);
+ if (linkinfo[IFLA_INFO_KIND])
+ kind = RTA_DATA(linkinfo[IFLA_INFO_KIND]);
+
if (linkinfo[IFLA_INFO_SLAVE_KIND])
slave_kind = RTA_DATA(linkinfo[IFLA_INFO_SLAVE_KIND]);
if (tb[IFLA_LINKINFO])
{
- kind = parse_link_kind(tb[IFLA_LINKINFO]);
+ memset (linkinfo, 0, sizeof linkinfo);
parse_rtattr_nested(linkinfo, IFLA_INFO_MAX, tb[IFLA_LINKINFO]);
+ if (linkinfo[IFLA_INFO_KIND])
+ kind = RTA_DATA(linkinfo[IFLA_INFO_KIND]);
+
if (linkinfo[IFLA_INFO_SLAVE_KIND])
slave_kind = RTA_DATA(linkinfo[IFLA_INFO_SLAVE_KIND]);