struct ifinfomsg *ifi;
int r;
- assert_return(nlmsg_type == RTM_NEWLINK || nlmsg_type == RTM_DELLINK || nlmsg_type == RTM_GETLINK, -EINVAL);
+ assert_return(nlmsg_type == RTM_NEWLINK || nlmsg_type == RTM_DELLINK ||
+ nlmsg_type == RTM_SETLINK || nlmsg_type == RTM_GETLINK, -EINVAL);
assert_return(index > 0, -EINVAL);
assert_return(ret, -EINVAL);
switch (rtm_type) {
case RTM_NEWLINK:
+ case RTM_SETLINK:
case RTM_DELLINK:
case RTM_GETLINK:
switch (type) {
case IFLA_IFNAME:
+ case IFLA_IFALIAS:
case IFLA_QDISC:
return add_rtattr(m, type, data, strlen(data) + 1);
case IFLA_MTU:
- return add_rtattr(m, type, data, sizeof(uint32_t));
case IFLA_LINK:
return add_rtattr(m, type, data, sizeof(uint32_t));
case IFLA_STATS:
switch (rtm_type) {
case RTM_NEWLINK:
+ case RTM_SETLINK:
case RTM_DELLINK:
case RTM_GETLINK:
if (!m->next_rta) {
k = -EIO;
break;
case RTM_NEWLINK:
+ case RTM_SETLINK:
case RTM_DELLINK:
case RTM_GETLINK:
if (m->hdr->nlmsg_len < NLMSG_LENGTH(sizeof(struct ifinfomsg)))