X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=lib%2Fvconn.c;h=bac38d91f61f39c01466f3beafdedd60d3c8e195;hb=ab43666b205d968b4ce7428b9a730b70ff81042f;hp=7df6d27b2ceb7d22c144a7b5d670f4240e5ded24;hpb=1a418893562d9ce5bed8141dcbc273e546b46706;p=sliver-openvswitch.git diff --git a/lib/vconn.c b/lib/vconn.c index 7df6d27b2..bac38d91f 100644 --- a/lib/vconn.c +++ b/lib/vconn.c @@ -65,6 +65,11 @@ static struct vconn_class *vconn_classes[] = { &punix_vconn_class, }; +/* High rate limit because most of the rate-limiting here is individual + * OpenFlow messages going over the vconn. If those are enabled then we + * really need to see them. */ +static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(600, 600); + /* Check the validity of the vconn class structures. */ static void check_vconn_classes(void) @@ -282,15 +287,15 @@ vconn_recv(struct vconn *vconn, struct buffer **msgp) if (VLOG_IS_DBG_ENABLED()) { char *s = ofp_to_string((*msgp)->data, (*msgp)->size, 1); - VLOG_DBG("received: %s", s); + VLOG_DBG_RL(&rl, "received: %s", s); free(s); } oh = buffer_at_assert(*msgp, 0, sizeof *oh); if (oh->version != OFP_VERSION) { - VLOG_ERR("received OpenFlow version %02"PRIx8" " - "!= expected %02x", - oh->version, OFP_VERSION); + VLOG_ERR_RL(&rl, "received OpenFlow version %02"PRIx8" " + "!= expected %02x", + oh->version, OFP_VERSION); buffer_delete(*msgp); *msgp = NULL; return EPROTO; @@ -327,7 +332,7 @@ vconn_send(struct vconn *vconn, struct buffer *msg) char *s = ofp_to_string(msg->data, msg->size, 1); retval = (vconn->class->send)(vconn, msg); if (retval != EAGAIN) { - VLOG_DBG("sent (%s): %s", strerror(retval), s); + VLOG_DBG_RL(&rl, "sent (%s): %s", strerror(retval), s); } free(s); } @@ -342,7 +347,6 @@ vconn_send_block(struct vconn *vconn, struct buffer *msg) int retval; while ((retval = vconn_send(vconn, msg)) == EAGAIN) { vconn_send_wait(vconn); - VLOG_DBG("blocking on vconn send"); poll_block(); } return retval; @@ -355,7 +359,6 @@ vconn_recv_block(struct vconn *vconn, struct buffer **msgp) int retval; while ((retval = vconn_recv(vconn, msgp)) == EAGAIN) { vconn_recv_wait(vconn); - VLOG_DBG("blocking on vconn receive"); poll_block(); } return retval; @@ -394,8 +397,8 @@ vconn_transact(struct vconn *vconn, struct buffer *request, return 0; } - VLOG_DBG("received reply with xid %08"PRIx32" != expected %08"PRIx32, - recv_xid, send_xid); + VLOG_DBG_RL(&rl, "received reply with xid %08"PRIx32" != expected " + "%08"PRIx32, recv_xid, send_xid); buffer_delete(reply); } }