#include <config.h>
-
-#include "rstp.h"
+#undef NDEBUG
+#include "rstp-common.h"
#include <assert.h>
#include <ctype.h>
#include <errno.h>
#include <stdlib.h>
#include "ofpbuf.h"
#include "ovstest.h"
+#include "dp-packet.h"
#include "packets.h"
-#include "vlog.h"
+#include "openvswitch/vlog.h"
#define MAX_PORTS 10
return tc;
}
+/* This callback is called with rstp_mutex held. */
static void
-send_bpdu(struct ofpbuf *pkt, int port_no, void *b_)
+send_bpdu(struct dp_packet *pkt, void *port_, void *b_)
+ OVS_REQUIRES(rstp_mutex)
{
struct bridge *b = b_;
struct lan *lan;
+ const struct rstp_port *port = port_;
+ uint16_t port_no = port->port_number;
assert(port_no < b->n_ports);
lan = b->ports[port_no];
if (lan) {
- const void *data = ofpbuf_l3(pkt);
- size_t size = (char *) ofpbuf_tail(pkt) - (char *) data;
+ const void *data = dp_packet_l3(pkt);
+ size_t size = (char *) dp_packet_tail(pkt) - (char *) data;
int i;
for (i = 0; i < lan->n_conns; i++) {
}
}
}
- ofpbuf_delete(pkt);
+ dp_packet_delete(pkt);
}
static struct bridge *
b->rstp = rstp_create(name, id, send_bpdu, b);
for (i = 1; i < MAX_PORTS; i++) {
p = rstp_add_port(b->rstp);
- rstp_port_set_aux(p, b);
+ rstp_port_set_aux(p, p);
rstp_port_set_state(p, RSTP_DISABLED);
rstp_port_set_mac_operational(p, true);
}
}
}
-static void
+OVS_NO_RETURN static void
err(const char *message, ...)
- PRINTF_FORMAT(1, 2)
- NO_RETURN;
+ OVS_PRINTF_FORMAT(1, 2);
static void
err(const char *message, ...)
static void
warn(const char *message, ...)
- PRINTF_FORMAT(1, 2);
+ OVS_PRINTF_FORMAT(1, 2);
static void
warn(const char *message, ...)
FILE *input_file;
int i;
- rstp_init();
-
vlog_set_pattern(VLF_CONSOLE, "%c|%p|%m");
vlog_set_levels(NULL, VLF_SYSLOG, VLL_OFF);