connmgr: Log when a packet-in is dropped due to queue overflow.
authorBen Pfaff <blp@nicira.com>
Thu, 5 Dec 2013 17:21:14 +0000 (09:21 -0800)
committerBen Pfaff <blp@nicira.com>
Mon, 30 Dec 2013 22:15:39 +0000 (14:15 -0800)
Reported-by: Anton Matsiuk <anton.matsiuk@gmail.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
AUTHORS
ofproto/connmgr.c

diff --git a/AUTHORS b/AUTHORS
index 4c6c365..5dccb6b 100644 (file)
--- 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
index 2350c33..ea79795 100644 (file)
@@ -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));
+        }
     }
 }