/*
- * Copyright (c) 2009, 2010, 2011 Nicira Networks.
+ * Copyright (c) 2009, 2010, 2011, 2012 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
#include "netlink-notifier.h"
-#include <assert.h>
#include <errno.h>
#include <poll.h>
#include <stdlib.h>
nln_destroy(struct nln *nln)
{
if (nln) {
- assert(list_is_empty(&nln->all_notifiers));
+ ovs_assert(list_is_empty(&nln->all_notifiers));
nl_sock_destroy(nln->notify_sock);
free(nln);
}
nln->has_run = true;
for (;;) {
- struct ofpbuf *buf;
+ uint64_t buf_stub[4096 / 8];
+ struct ofpbuf buf;
int error;
+ ofpbuf_use_stub(&buf, buf_stub, sizeof buf_stub);
error = nl_sock_recv(nln->notify_sock, &buf, false);
if (!error) {
- if (nln->parse(buf, nln->change)) {
+ if (nln->parse(&buf, nln->change)) {
nln_report(nln, nln->change);
} else {
VLOG_WARN_RL(&rl, "received bad netlink message");
nln_report(nln, NULL);
}
- ofpbuf_delete(buf);
+ ofpbuf_uninit(&buf);
} else if (error == EAGAIN) {
return;
} else {