From 0c4fec0134f32bc913299b37d048a99293b1a851 Mon Sep 17 00:00:00 2001 From: Dave Barach Date: Sun, 18 Nov 2018 12:03:48 -0500 Subject: [PATCH] Complain if a client binary API queue is full Definitely indicates a client binary API queue handling issue. We can't simply turf the message, or we'll end up with a more subtle derivative misbehavior. Change-Id: I6363fda1430b0a9ec33ad69badc1e0072fe20fa8 Signed-off-by: Dave Barach --- src/vlibmemory/memory_shared.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/vlibmemory/memory_shared.c b/src/vlibmemory/memory_shared.c index 0604b0a1cdf..d6b2b9887d0 100644 --- a/src/vlibmemory/memory_shared.c +++ b/src/vlibmemory/memory_shared.c @@ -709,6 +709,14 @@ vl_msg_api_send_shmem (svm_queue_t * q, u8 * elem) if (am->tx_trace && am->tx_trace->enabled) vl_msg_api_trace (am, am->tx_trace, (void *) trace[0]); + /* + * Announce a probable binary API client bug: + * some client's input queue is stuffed. + * The situation may be recoverable, or not. + */ + if (PREDICT_FALSE + (am->vl_clients /* vpp side */ && (q->cursize == q->maxsize))) + clib_warning ("WARNING: client input queue at %llx is stuffed...", q); (void) svm_queue_add (q, elem, 0 /* nowait */ ); } -- 2.16.6