diff options
author | Olivier Cochard <olivier@FreeBSD.org> | 2025-01-09 22:58:36 +0100 |
---|---|---|
committer | Olivier Cochard <olivier@FreeBSD.org> | 2025-01-09 23:07:38 +0100 |
commit | 4516e09a236bb31d6e852eadfb05f9576e4db7da (patch) | |
tree | 5c2d947f22448c924040427c8613edf8d6bda02e /net/bird3/files/patch-01-Table-not-feeding-twice | |
parent | math/gp2c: upgrade to 0.0.14 (diff) |
net/bird3: Add new branch 3.x (multithreaded)
Warning: Consider version 3.0.0 to be unstable.
PR: 283403
Sponsored by: Netflix
Diffstat (limited to 'net/bird3/files/patch-01-Table-not-feeding-twice')
-rw-r--r-- | net/bird3/files/patch-01-Table-not-feeding-twice | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/net/bird3/files/patch-01-Table-not-feeding-twice b/net/bird3/files/patch-01-Table-not-feeding-twice new file mode 100644 index 000000000000..4fb40a644fb2 --- /dev/null +++ b/net/bird3/files/patch-01-Table-not-feeding-twice @@ -0,0 +1,39 @@ +From 0a2f92ad205d96d0be0945ecf2bb740b68d5a3c1 Mon Sep 17 00:00:00 2001 +From: Maria Matejka <mq@ucw.cz> +Date: Thu, 19 Dec 2024 11:54:05 +0100 +Subject: [PATCH] Table: not feeding twice, once is enough + +If there is no feed pending, the requested one should be +activated immediately, otherwise it is activated only after +the full run, effectively running first a full feed and +then the requested one. +--- + nest/rt-export.c | 12 ++++++++++-- + 1 file changed, 10 insertions(+), 2 deletions(-) + +diff --git a/nest/rt-export.c b/nest/rt-export.c +index 7368447de..7d51e54cf 100644 +--- nest/rt-export.c ++++ nest/rt-export.c +@@ -357,8 +357,16 @@ rt_export_refeed_feeder(struct rt_export_feeder *f, struct rt_feeding_request *r + if (!rfr) + return; + +- rfr->next = f->feed_pending; +- f->feed_pending = rfr; ++ if (f->feeding) ++ { ++ rfr->next = f->feed_pending; ++ f->feed_pending = rfr; ++ } ++ else ++ { ++ rfr->next = NULL; ++ f->feeding = rfr; ++ } + } + + void rt_export_refeed_request(struct rt_export_request *rer, struct rt_feeding_request *rfr) +-- +GitLab + |