/*
- * Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc.
+ * Copyright (c) 2009, 2010, 2011, 2012, 2013 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
}
if (error) {
nl_sock_destroy(sock);
- VLOG_WARN("could not create netlink socket: %s", strerror(error));
+ VLOG_WARN("could not create netlink socket: %s",
+ ovs_strerror(error));
return NULL;
}
nln->notify_sock = sock;
return;
} else {
if (error == ENOBUFS) {
+ /* The socket buffer might be full, there could be too many
+ * notifications, so it makes sense to call nln_report() */
+ nln_report(nln, NULL);
VLOG_WARN_RL(&rl, "netlink receive buffer overflowed");
} else {
VLOG_WARN_RL(&rl, "error reading netlink socket: %s",
- strerror(error));
+ ovs_strerror(error));
}
- nln_report(nln, NULL);
+ return;
}
}
}