0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-12-23 02:01:55 +00:00
Commit Graph

4345 Commits

Author SHA1 Message Date
Maria Matejka
7911148b22 Fixed pipe reload/refeed to properly propagate as route refresh to the other table 2022-10-05 15:17:38 +02:00
Maria Matejka
dc9351d326 Merge commit '67256d50' into HEAD 2022-10-04 16:15:36 +02:00
Maria Matejka
00679a688a Merge commit '3ace3a42' into HEAD 2022-10-04 16:09:48 +02:00
Maria Matejka
f69ba3921a Merge commit 'fb7fb674' into HEAD 2022-10-04 16:09:41 +02:00
Maria Matejka
a414ba6b97 Merge commit 'e9e6baae' into HEAD 2022-10-04 16:02:23 +02:00
Maria Matejka
0eba27c69f Merge commit 'a32cee78' into HEAD 2022-10-04 15:59:15 +02:00
Maria Matejka
4e1c582cad Merge commit '71b434a9' into HEAD 2022-10-04 15:53:12 +02:00
Maria Matejka
becca314e2 Merge commit '0072d11f' into tmp-learn 2022-10-04 15:40:52 +02:00
Ondrej Zajicek
8478de8817 Nest: Add channel config flag to distinguish new or copy
It is useful to distinguish whehter channel config returned from
channel_config_get() was allocated new, or existing from template.
Caller may want to initialize new ones.
2022-10-03 20:18:12 +02:00
Ondrej Zajicek
54430df953 BGP: Do not assume that all channels are struct bgp_channel
In principle, the channel list is a list of parent struct proto and can
contain general structures of type struct channel, That is useful e.g.
for adding MPLS channels to BGP.
2022-10-03 20:18:12 +02:00
Ondrej Zajicek
92a8565547 Filter: Add some minor functions for f_tree and EC
Add some supportive functions for f_tree and EC. These functions are used
by L3VPN code.
2022-10-03 20:18:12 +02:00
Ondrej Zajicek
da0b589e7b BGP: Some fixes related to VRF and MPLS interactions
- When next hop is reset to local IP, we should remove BGP label stack,
   as it is related to original next hop

 - BGP next hop or immediate next hop from one VRF should not be passed
   to another VRF, as they are different IP namespaces
2022-10-03 20:18:12 +02:00
Maria Matejka
605ff0a0eb RPKI: wait for retry_time if we get error immediately after connected 2022-10-03 17:09:02 +02:00
Maria Matejka
67256d5035 Merge branch 'tmp-bad-learn' into thread-next 2022-09-29 10:00:32 +02:00
Maria Matejka
61c127c021 Merge commit '9efaf6ba' into tmp-bad-learn
Also fixed forgotten best route selection among alien routes.
2022-09-29 09:59:32 +02:00
Maria Matejka
9be7aa9b45 Merge commit '4364ee' into tmp-bad-learn 2022-09-27 12:46:22 +02:00
Maria Matejka
32a67c93eb Merge commit 'cae5979871ee7aa341334f8b1af6bafc60ee9692' into tmp-bad-learn 2022-09-27 12:39:07 +02:00
Maria Matejka
57a34d466e KRT: Fix route learning
This is a reimplementation of commit 0f2be469f8
by Alexander Zubkov. In the master branch, changes in commit eb937358
broke setting of channel preference for alien routes learned during
scan. The preference was set only for async routes.

The original solution is extended here to accomodate for v3 specifics.
2022-09-27 12:17:05 +02:00
Alexander Zubkov
0f2be469f8 KRT: Fix setting default preference
Changes in commit eb937358 broke setting of channel preference for alien
routes learned during scan. The preference was set only for async routes.
Move common attribute processing part of functions krt_learn_async() and
krt_learn_async() to a separate function to have only one place for such
changes.
2022-09-27 11:33:41 +02:00
Maria Matejka
7901c40500 Merge commit '3fd1f461' into thread-next
closes #16
closes #17
closes #18
2022-09-26 12:21:33 +02:00
Maria Matejka
c2261fa8ad Merge commit 'aadf690b' into thread-next
Merging the old version of route refresh export settle times with -s
ours as the new version is more contained.
2022-09-26 12:11:07 +02:00
Maria Matejka
6cfe2066ab Higher export settle times when route refresh is running.
This helps the route refresh procedures to finish or at least
do more work before the exporters jump in and steal all the CPU time
for themselves.
2022-09-26 12:09:14 +02:00
Maria Matejka
ecaa3df3c4 More verbose logging of table auxiliary export states 2022-09-23 09:58:00 +02:00
Maria Matejka
5338a779c9 Fixed possible race condition in hostcache trie matching code not triggering HCU 2022-09-23 09:57:40 +02:00
Maria Matejka
b1ade5efa1 Fixed the export settle timer to be actually a settle timer 2022-09-21 18:47:43 +02:00
Maria Matejka
f51837ace6 Caching eattrs in filters is not needed anymore.
After flattening the route attribute structure, the ea_list ** is derivable
from rte * by arithmetics. Caching the derived value doesn't help performance
and therefore is removed as unnecessary.
2022-09-21 17:48:31 +02:00
Maria Matejka
05c63ae734 Flushing tmp_linpool in tree test and in static protocol 2022-09-21 17:48:31 +02:00
Maria Matejka
30a909f9bc Trie test uses direct tmp_allocz() instead of lp_allocz(tmp_linpool) 2022-09-21 12:08:52 +02:00
Maria Matejka
896dbbfe4a Local page allocation 2022-09-21 11:49:35 +02:00
Maria Matejka
6768e0cf9e Pipe kick-and-drain packed into a neat structure and functions. 2022-09-20 17:17:50 +02:00
Maria Matejka
4b4fe1bd65 BFD: The old pipe notification mechanism replaced by events 2022-09-20 17:14:31 +02:00
Maria Matejka
28d4ac6c97 Fixed display of standby memory 2022-09-20 14:57:43 +02:00
Maria Matejka
a00e0b5930 Merge commit 'df476c2e' into thread-next
Implemented the corking by our own commit, merging with "ours" strategy.
2022-09-20 13:10:29 +02:00
Maria Matejka
4ba52a2687 Route export may get corked on refeed startup 2022-09-20 12:40:23 +02:00
Maria Matejka
5d7b2676a1 Merge commit '0fd1c1d0' into thread-next
Using the "ours" strategy as the changes introduced in merged commits
are already implemented in thread-next in a different way.
2022-09-20 09:52:03 +02:00
Maria Matejka
28427a68c3 Merge commit 'adf37d8e' into thread-next 2022-09-20 09:14:39 +02:00
Maria Matejka
29712c691d Merge commit 'dc160e11' into thread-next 2022-09-20 09:13:36 +02:00
Maria Matejka
a4a9e9cf19 Merge remote-tracking branch 'origin/master' into thread-next
Ignoring that revert as the thread stack needs a completely different
allocation strategy. Not the current one either, yet it has to be done
yet.
2022-09-19 12:58:26 +02:00
Maria Matejka
c179d4d644 Switched off forking for filter test.
You don't want to fork with threads running.
2022-09-19 12:58:19 +02:00
Maria Matejka
f33793acf7 Merge commit '4f3fa162' into HEAD 2022-09-18 16:36:07 +02:00
Maria Matejka
cf38092b2d Fix for table hostcache corking and shutdown race conditions 2022-09-18 16:35:49 +02:00
Maria Matejka
12fd6c989a Merge commit '1518970c' into HEAD 2022-09-18 16:35:40 +02:00
Maria Matejka
0861d3a8a3 Fixing several race-conditions in event code.
After a suggestion by Santiago, I added the direct list pointer into
events and the events are now using this value to check whether the
route is active or not. Also the whole trick with sentinel node unioned
with event list is now gone.

For debugging, there is also an internal circular buffer to store what
has been recently happening in event code before e.g. a crash happened.
By default, this debug is off and must be manually enabled in
lib/event.c as it eats quite some time and space.
2022-09-18 16:33:51 +02:00
Maria Matejka
e3e15f36fa Longer unit test default timeout to prevent spurious build failures on slow virtuals 2022-09-18 16:33:51 +02:00
Maria Matejka
c9d18e5ec5 Table: Re-scheduling prune event when another prune loop is pending 2022-09-18 16:33:51 +02:00
Maria Matejka
ff86f23dc7 Export event doesn't have to be postponed before requeuing as an export-stop event 2022-09-18 16:33:51 +02:00
Maria Matejka
769224d79c Converted simple table events to loop flags 2022-09-18 16:33:51 +02:00
Maria Matejka
eac6345759 Loop flags: a simple idempotent event announcement mechanism 2022-09-18 16:33:51 +02:00
Maria Matejka
66f27005ec Cancelling all timers when loop stops 2022-09-18 16:33:51 +02:00
Maria Matejka
c49ee6e1a6 Routing tables have their own service loops. 2022-09-18 16:33:51 +02:00