From e95f1d01087ad27a71f70d8baa5c95f4350ba5bc Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Thu, 5 Dec 2013 09:21:14 -0800 Subject: [PATCH] connmgr: Log when a packet-in is dropped due to queue overflow. Reported-by: Anton Matsiuk Signed-off-by: Ben Pfaff --- AUTHORS | 1 + ofproto/connmgr.c | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/AUTHORS b/AUTHORS index 4c6c3655e..5dccb6bd9 100644 --- a/AUTHORS +++ b/AUTHORS @@ -135,6 +135,7 @@ Amey Bhide abhide@nicira.com Amre Shakimov ashakimov@vmware.com André Ruß andre.russ@hybris.com Andreas Beckmann debian@abeckmann.de +Anton Matsiuk anton.matsiuk@gmail.com Atzm Watanabe atzm@stratosphere.co.jp Bastian Blank waldi@debian.org Ben Basler bbasler@nicira.com diff --git a/ofproto/connmgr.c b/ofproto/connmgr.c index 2350c333d..ea7979570 100644 --- a/ofproto/connmgr.c +++ b/ofproto/connmgr.c @@ -1550,8 +1550,13 @@ do_send_packet_ins(struct ofconn *ofconn, struct list *txq) LIST_FOR_EACH_SAFE (pin, next_pin, list_node, txq) { list_remove(&pin->list_node); - rconn_send_with_limit(ofconn->rconn, pin, - ofconn->packet_in_counter, 100); + if (rconn_send_with_limit(ofconn->rconn, pin, + ofconn->packet_in_counter, 100) == EAGAIN) { + static struct vlog_rate_limit rl = VLOG_RATE_LIMIT_INIT(5, 5); + + VLOG_INFO_RL(&rl, "%s: dropping packet-in due to queue overflow", + rconn_get_name(ofconn->rconn)); + } } } -- 2.20.1