+ if (rtnl_message_type_is_link(rtm_type) &&
+ ((m->n_containers == 0 &&
+ NEXT_RTA(m)->rta_type == IFLA_LINKINFO) ||
+ (m->n_containers == 1 &&
+ GET_CONTAINER(m, 0)->rta_type == IFLA_LINKINFO &&
+ NEXT_RTA(m)->rta_type == IFLA_INFO_DATA))) {
+ *data = NULL;
+ PUSH_CONTAINER(m, NEXT_RTA(m));
+ UPDATE_RTA(m, RTA_DATA(NEXT_RTA(m)));
+ } else {
+ *data = RTA_DATA(NEXT_RTA(m));
+ UPDATE_RTA(m, RTA_NEXT(NEXT_RTA(m), remaining_size));
+ }