X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=extras%2Fezio%2Fovs-switchui.c;h=af74af56d5705f8006874f288c1b34e157c2342c;hb=4f484bb2245f077b195da1c560d75f0993491bab;hp=79f5552d2b158b1b10118ec3e670056e689a5bc0;hpb=c69ee87c10818267f991236201150b1fa51ae519;p=openvswitch diff --git a/extras/ezio/ovs-switchui.c b/extras/ezio/ovs-switchui.c index 79f5552d..af74af56 100644 --- a/extras/ezio/ovs-switchui.c +++ b/extras/ezio/ovs-switchui.c @@ -160,7 +160,8 @@ main(int argc, char *argv[]) "use --help for help"); } - rconn = rconn_new(argv[0], 5, 5); + rconn = rconn_create(5, 5); + rconn_connect(rconn, argv[0], NULL); die_if_already_running(); daemonize(); @@ -242,7 +243,7 @@ main(int argc, char *argv[]) refresh(); poll_fd_wait(STDIN_FILENO, POLLIN); - poll_timer_wait(timeout - time_msec()); + poll_timer_wait_until(timeout); poll_block(); } while (time_msec() < timeout); age_messages(); @@ -868,7 +869,7 @@ fetch_status(struct rconn *rconn, struct dict *dict, long long timeout) rconn_run_wait(rconn); rconn_recv_wait(rconn); - poll_timer_wait(timeout - time_msec()); + poll_timer_wait_until(timeout); poll_block(); } } @@ -1105,6 +1106,7 @@ do_show_data_rates(void *rates_) } if (!rates->xid) { struct ofp_stats_request *rq; + struct ofp_port_stats_request *psr; struct ofpbuf *b; rates->xid = random_uint32(); @@ -1112,6 +1114,10 @@ do_show_data_rates(void *rates_) rates->xid, &b); rq->type = htons(OFPST_PORT); rq->flags = htons(0); + psr = ofpbuf_put_uninit(b, sizeof *psr); + memset(psr, 0, sizeof *psr); + psr->port_no = htons(OFPP_NONE); + update_openflow_length(b); rconn_send_with_limit(rates->rconn, b, counter, 10); } @@ -1709,7 +1715,7 @@ menu_show(const struct menu *menu, int start, bool select) refresh(); if (pos < min || pos > max) { - poll_timer_wait(adjust - time_msec()); + poll_timer_wait_until(adjust); } poll_fd_wait(STDIN_FILENO, POLLIN); poll_block(); @@ -1941,7 +1947,7 @@ static void block_until(long long timeout) { while (timeout > time_msec()) { - poll_timer_wait(timeout - time_msec()); + poll_timer_wait_until(timeout); poll_block(); } drain_keyboard_buffer();