X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=tests%2Ftest-rstp.c;h=3eca15c0b2b2aadab38a5c765ddc96b412b1d7ae;hb=968eec593cc61690c9e0ed97450c4889258381af;hp=a3654231f234302f9384399758a306b7547855af;hpb=f025bcb7eabbb5598d2cb1f4cdd429b47a3743dc;p=cascardo%2Fovs.git diff --git a/tests/test-rstp.c b/tests/test-rstp.c index a3654231f..3eca15c0b 100644 --- a/tests/test-rstp.c +++ b/tests/test-rstp.c @@ -1,6 +1,6 @@ #include - -#include "rstp.h" +#undef NDEBUG +#include "rstp-common.h" #include #include #include @@ -9,8 +9,9 @@ #include #include "ofpbuf.h" #include "ovstest.h" +#include "dp-packet.h" #include "packets.h" -#include "vlog.h" +#include "openvswitch/vlog.h" #define MAX_PORTS 10 @@ -72,17 +73,21 @@ new_test_case(void) 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++) { @@ -99,7 +104,7 @@ send_bpdu(struct ofpbuf *pkt, int port_no, void *b_) } } } - ofpbuf_delete(pkt); + dp_packet_delete(pkt); } static struct bridge * @@ -116,7 +121,7 @@ new_bridge(struct test_case *tc, int id) 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); } @@ -331,10 +336,9 @@ simulate(struct test_case *tc, int granularity) } } -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, ...) @@ -352,7 +356,7 @@ 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, ...) @@ -459,8 +463,6 @@ test_rstp_main(int argc, char *argv[]) FILE *input_file; int i; - rstp_init(); - vlog_set_pattern(VLF_CONSOLE, "%c|%p|%m"); vlog_set_levels(NULL, VLF_SYSLOG, VLL_OFF);