summaryrefslogtreecommitdiff
path: root/zebra/zebra_rib.c
diff options
context:
space:
mode:
authorMark Stapp <mjs@voltanet.io>2018-12-13 14:15:27 -0500
committerMark Stapp <mjs@voltanet.io>2018-12-13 14:15:27 -0500
commit6dd7b8489409f40dc6c91ae6de2da27fee6b093c (patch)
tree1ae4411e7ba2cebf4e23bab29b86a0cfbd3f10d5 /zebra/zebra_rib.c
parent5418f988cf2e31be9fd79489319ff0f9e05091be (diff)
zebra: use a small retry timeout for the rib workqueue
In the zebra rib processing workqueue, set a small timeout so that we will wait a short time if the queue into the async dataplane is full. This helps avoid a situation where the zebra main pthread constantly retries rib work without giving the dataplane pthread a chance to make progress. Signed-off-by: Mark Stapp <mjs@voltanet.io>
Diffstat (limited to 'zebra/zebra_rib.c')
-rw-r--r--zebra/zebra_rib.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/zebra/zebra_rib.c b/zebra/zebra_rib.c
index f2d07310ee..9f1374af57 100644
--- a/zebra/zebra_rib.c
+++ b/zebra/zebra_rib.c
@@ -2362,6 +2362,7 @@ static void rib_queue_init(struct zebra_t *zebra)
/* XXX: TODO: These should be runtime configurable via vty */
zebra->ribq->spec.max_retries = 3;
zebra->ribq->spec.hold = ZEBRA_RIB_PROCESS_HOLD_TIME;
+ zebra->ribq->spec.retry = ZEBRA_RIB_PROCESS_RETRY_TIME;
if (!(zebra->mq = meta_queue_new())) {
flog_err(EC_ZEBRA_WQ_NONEXISTENT,