if (error) {
sock->read_ioctl = OVS_IOCTL_READ;
VLOG_WARN("could not join multicast group %u (%s)",
- multicast_group, ovs_strerror(errno));
- return errno;
+ multicast_group, ovs_strerror(error));
+ return error;
}
#else
if (setsockopt(sock->fd, SOL_NETLINK, NETLINK_ADD_MEMBERSHIP,
int error = nl_sock_mcgroup(sock, multicast_group, false);
if (error) {
VLOG_WARN("could not leave multicast group %u (%s)",
- multicast_group, ovs_strerror(errno));
- return errno;
+ multicast_group, ovs_strerror(error));
+ return error;
}
sock->read_ioctl = OVS_IOCTL_READ;
#else
} else {
if (retval >= buf->allocated) {
ofpbuf_reinit(buf, retval);
+ nlmsghdr = ofpbuf_base(buf);
+ nlmsghdr->nlmsg_len = UINT32_MAX;
}
memcpy(ofpbuf_data(buf), tail, retval);
ofpbuf_set_size(buf, retval);