]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
22 months agoTMP mq-trying-to-merge-stats
Maria Matejka [Sun, 2 Jul 2023 14:09:33 +0000 (16:09 +0200)] 
TMP

22 months agoTMP
Maria Matejka [Sun, 2 Jul 2023 13:10:08 +0000 (15:10 +0200)] 
TMP

22 months agoProtocol stats: a WIP implementation of conditional routes
Vojtech Vilimek [Wed, 13 Jul 2022 13:39:14 +0000 (15:39 +0200)] 
Protocol stats: a WIP implementation of conditional routes

Add new global counter for stats channel

New symbol is added for each stats protocol channel, the symbol is accessed by
same name as the underlying channel. Symbols evaluate to the sum of all routes
exported from connected table with generation less than max generation of
particular channel. Default max generation is 16.

Beware you shouldn't make cyclic references as the behavior of such
configuration is not defined!

22 months agoBabel: Remove interfaces on shutdown
Maria Matejka [Mon, 25 Sep 2023 07:31:18 +0000 (09:31 +0200)] 
Babel: Remove interfaces on shutdown

This avoids calling interface timer between Babel going
PS_DOWN and finally cleaning up the resource pool.

22 months agoKernel: refeed routes and delete them from kernel before actual shutdown
Maria Matejka [Sun, 24 Sep 2023 20:20:27 +0000 (22:20 +0200)] 
Kernel: refeed routes and delete them from kernel before actual shutdown

22 months agoProtocols have now assigned startup phases
Maria Matejka [Sun, 24 Sep 2023 21:22:43 +0000 (23:22 +0200)] 
Protocols have now assigned startup phases

For now, there are 4 phases: Necessary (device), Connector (kernel, pipe), Generator (static, rpki) and Regular.
Started and reconfigured are from Necessary to Regular, shutdown backwards.

This way, kernel can flush routes before actually being shutdown.

22 months agoIface: trace log messages cleanup
Maria Matejka [Sun, 24 Sep 2023 20:20:01 +0000 (22:20 +0200)] 
Iface: trace log messages cleanup

22 months agoTable: Added some journal and export tracing
Maria Matejka [Sun, 24 Sep 2023 10:15:26 +0000 (12:15 +0200)] 
Table: Added some journal and export tracing

22 months agoTable: Fixed feed race condition
Maria Matejka [Sun, 24 Sep 2023 09:47:24 +0000 (11:47 +0200)] 
Table: Fixed feed race condition

The problem happened like this:

1. Single route for the given net in table
2. A feed is started
3. The route is deleted (from another thread)
4. The feed finds an empty net, exports nothing, ignores journal (here is bug)
5. The route is added
6. The export transitions from FEEDING to READY
7. While processing the journal, the route deletion and addition combines into noop.

This way routes mysteriously disappeared in specific cases of link instability.

Problem fixed by explicitly marking the empty-net journal entries as processed in step 4.

22 months agoExport: More strict export state checking on change
Maria Matejka [Tue, 15 Aug 2023 10:31:28 +0000 (12:31 +0200)] 
Export: More strict export state checking on change

22 months agoProperly consted routes inside table
Maria Matejka [Mon, 3 Jul 2023 18:38:24 +0000 (20:38 +0200)] 
Properly consted routes inside table

22 months agoFilter iterator accepts lines instead of filter
Maria Matejka [Sun, 2 Jul 2023 13:10:39 +0000 (15:10 +0200)] 
Filter iterator accepts lines instead of filter

22 months agoRenamed channel class pointers
Vojtech Vilimek [Thu, 14 Sep 2023 13:21:53 +0000 (15:21 +0200)] 
Renamed channel class pointers

The channel class pointers were strangely named , not .

22 months agoLogging: fixed size logfiles behaving as mmapped ringbuffers
Maria Matejka [Thu, 24 Aug 2023 15:00:54 +0000 (17:00 +0200)] 
Logging: fixed size logfiles behaving as mmapped ringbuffers

This variant of logging avoids calling write() for every log line,
allowing for waitless logging. This makes heavy logging less heavy
and more useful for race condition debugging.

22 months agoLogging limit enforcement moved into the rfile structure
Maria Matejka [Thu, 24 Aug 2023 13:38:44 +0000 (15:38 +0200)] 
Logging limit enforcement moved into the rfile structure

22 months agoLogging now doesn't lock with each message
Maria Matejka [Mon, 21 Aug 2023 16:44:10 +0000 (18:44 +0200)] 
Logging now doesn't lock with each message

The original logging routines were locking a common mutex. This led to
massive underperformance and unwanted serialization when heavily logging
due to lock contention. Now the logging is lockless, though still
serializing on write() syscalls to the same filedescriptor.

This change also brings in a persistent logging channel structures and
thus avoids writing into active configuration data structures during
regular run.

22 months agoThreads: added a generic method to run in all threads
Maria Matejka [Mon, 21 Aug 2023 18:56:19 +0000 (20:56 +0200)] 
Threads: added a generic method to run in all threads

22 months agoLogging: Abolished stdio in favor of write() to make the logging faster.
Maria Matejka [Wed, 16 Aug 2023 13:05:36 +0000 (15:05 +0200)] 
Logging: Abolished stdio in favor of write() to make the logging faster.

22 months agoCLI: Dropping the mechanism of echoing log messages
Maria Matejka [Tue, 15 Aug 2023 15:05:58 +0000 (17:05 +0200)] 
CLI: Dropping the mechanism of echoing log messages

This is better done by running tail -f on a logfile.

22 months agoBGP: When debug { routes } is set, updates considered as loop are logged
Maria Matejka [Thu, 14 Sep 2023 12:44:35 +0000 (14:44 +0200)] 
BGP: When debug { routes } is set, updates considered as loop are logged

22 months agoEnhanced tracing of route refresh state
Maria Matejka [Thu, 14 Sep 2023 12:40:33 +0000 (14:40 +0200)] 
Enhanced tracing of route refresh state

23 months agoHostentry application locking
Maria Matejka [Mon, 28 Aug 2023 13:36:40 +0000 (15:36 +0200)] 
Hostentry application locking

Due to a race condition between rta_apply_hostentry() and rt_update_hostentry(),
happening when a new route is inserted to a table, this commit makes it mandatory
to lock the next hop resolution table while resolving the next hop.

This may be slow, we'll fix it better in some future release

23 months agoConfig obstacles are lockless now
Maria Matejka [Mon, 21 Aug 2023 13:37:09 +0000 (15:37 +0200)] 
Config obstacles are lockless now

2 years agoBFD: Fixed reconfiguration issues
Maria Matejka [Mon, 29 May 2023 17:32:26 +0000 (19:32 +0200)] 
BFD: Fixed reconfiguration issues

After converting BFD to the new IO loop system, reconfiguration never
really worked. Sadly, we missed this case in our testing suite so it
passed under the radar for quite a while.

Thanks to Andrei Dinu <andrei.dinu@digitalit.ro> for reporting and
isolating this issue.

2 years agoFixed abort when running in foreground but stdin is closed
Maria Matejka [Sat, 13 May 2023 18:33:35 +0000 (20:33 +0200)] 
Fixed abort when running in foreground but stdin is closed

A forgotten else-clause caused BIRD to treat some pseudo-random place in
memory as fd-pair. This was happening only on startup of the first
thread in group and the value there in memory was typically zero ... and
writing to stdin succeeded.

When running BIRD with stdin not present (like systemd does), it died on
this spurious write. Now it seems to work correctly.

Thanks to Daniel Suchy <danny@danysek.cz> for reporting.

http://trubka.network.cz/pipermail/bird-users/2023-May/016929.html

2 years agoNEWS and version update v3.0-alpha2
Maria Matejka [Thu, 11 May 2023 09:37:48 +0000 (11:37 +0200)] 
NEWS and version update

2 years agoFix use-after free in thread stopping code
Maria Matejka [Tue, 9 May 2023 21:31:47 +0000 (23:31 +0200)] 
Fix use-after free in thread stopping code

2 years agoBGP: fix listen socket cleanup
Maria Matejka [Mon, 8 May 2023 16:57:32 +0000 (18:57 +0200)] 
BGP: fix listen socket cleanup

2 years agoID Maps are checking whether their pool is locked
Maria Matejka [Mon, 8 May 2023 13:13:49 +0000 (15:13 +0200)] 
ID Maps are checking whether their pool is locked

2 years agoProperly protecting the route src global index by RCU read lock and atomic operations
Maria Matejka [Mon, 8 May 2023 11:09:02 +0000 (13:09 +0200)] 
Properly protecting the route src global index by RCU read lock and atomic operations

There was a bug occuring when one thread sought for a src by its global id
and another one was allocating another src with such an ID that it caused
route src global index reallocation. This brief moment of inconsistency
led to a rare use-after-free of the old global index block.

2 years agoThreads take loops faster
Maria Matejka [Sun, 7 May 2023 21:40:38 +0000 (23:40 +0200)] 
Threads take loops faster

2 years agoChannel: configurable feed block size
Maria Matejka [Sun, 7 May 2023 21:04:47 +0000 (23:04 +0200)] 
Channel: configurable feed block size

2 years agoBGP: proactively rehash prefix hash up to shorten collision lists
Maria Matejka [Sun, 7 May 2023 19:39:05 +0000 (21:39 +0200)] 
BGP: proactively rehash prefix hash up to shorten collision lists

2 years agoOLocks in BGP must be freed early
Maria Matejka [Sun, 7 May 2023 15:30:33 +0000 (17:30 +0200)] 
OLocks in BGP must be freed early

2 years agoIO Loop / Thread Groups Lock moved to level -attrs- to allow for page allocation...
Maria Matejka [Fri, 5 May 2023 18:35:55 +0000 (20:35 +0200)] 
IO Loop / Thread Groups Lock moved to level -attrs- to allow for page allocation while locked

2 years agoFixed loop movement to not collide on LTT_MOVE
Maria Matejka [Fri, 5 May 2023 14:08:50 +0000 (16:08 +0200)] 
Fixed loop movement to not collide on LTT_MOVE

2 years agoFix loop dropping routines
Maria Matejka [Fri, 5 May 2023 13:19:14 +0000 (15:19 +0200)] 
Fix loop dropping routines

2 years agoFixed a bug in hot page global storage
Maria Matejka [Fri, 5 May 2023 07:39:13 +0000 (09:39 +0200)] 
Fixed a bug in hot page global storage

The original algorithm was suffering from an ABA race condition:

A: fp = page_stack
B: completely allocates the same page and writes into it some data
A: unsuspecting, loads (invalid) next = fp->next
B: finishes working with the page and returns it back to page_stack
A: compare-exchange page_stack: fp => next succeeds and writes garbage
to page_stack

Fixed this by using an implicit spinlock in hot page allocator.

2 years agoDebug: keep a circular log of memory page operations
Maria Matejka [Wed, 3 May 2023 17:01:19 +0000 (19:01 +0200)] 
Debug: keep a circular log of memory page operations

2 years agoFixed cold page cache leak
Maria Matejka [Wed, 3 May 2023 16:59:52 +0000 (18:59 +0200)] 
Fixed cold page cache leak

The empty_pages pointer wasn't being propagated into the ->next pointer
when more empty_pages were to be stored

2 years agoHostentry: fix pool locking
Maria Matejka [Mon, 1 May 2023 12:20:27 +0000 (14:20 +0200)] 
Hostentry: fix pool locking

2 years agoLinpool state save and restore refactoring
Maria Matejka [Mon, 1 May 2023 13:10:53 +0000 (15:10 +0200)] 
Linpool state save and restore refactoring

2 years agoDebug: Explicit mprotect() on freed pages to better locate use-after-free bugs
Maria Matejka [Mon, 1 May 2023 12:21:26 +0000 (14:21 +0200)] 
Debug: Explicit mprotect() on freed pages to better locate use-after-free bugs

2 years agoPage allocator: indentation of messy ifdef blocks
Maria Matejka [Wed, 3 May 2023 19:39:36 +0000 (21:39 +0200)] 
Page allocator: indentation of messy ifdef blocks

2 years agoFirst try of loop balancing
Maria Matejka [Sun, 30 Apr 2023 20:17:42 +0000 (22:17 +0200)] 
First try of loop balancing

If a thread encounters timeout == 0 for poll, it considers itself
"busy" and with some hysteresis it tries to drop loops for others to
pick and thus better distribute work between threads.

2 years agoAllocation from linpools and slabs requires the appropriate lock to be taken
Maria Matejka [Fri, 28 Apr 2023 21:48:03 +0000 (23:48 +0200)] 
Allocation from linpools and slabs requires the appropriate lock to be taken

2 years agoLinpool flushes unused pages even on lp_restore()
Maria Matejka [Fri, 28 Apr 2023 10:32:41 +0000 (12:32 +0200)] 
Linpool flushes unused pages even on lp_restore()

2 years agoFixed race condition in hostentry allocation
Maria Matejka [Thu, 27 Apr 2023 10:38:50 +0000 (12:38 +0200)] 
Fixed race condition in hostentry allocation

2 years agoShow threads: Fixed problems with CLI buffer reallocation
Maria Matejka [Thu, 27 Apr 2023 09:02:02 +0000 (11:02 +0200)] 
Show threads: Fixed problems with CLI buffer reallocation

... by allocating all the output locally and then sending it out at
once.

2 years agoExplicitly counting loops and threads
Maria Matejka [Thu, 27 Apr 2023 08:42:11 +0000 (10:42 +0200)] 
Explicitly counting loops and threads

2 years agoLoop spent time refactored to separate structures and functions
Maria Matejka [Wed, 26 Apr 2023 20:24:42 +0000 (22:24 +0200)] 
Loop spent time refactored to separate structures and functions

2 years agoLoops track also locking time
Maria Matejka [Wed, 26 Apr 2023 17:34:29 +0000 (19:34 +0200)] 
Loops track also locking time

2 years agoIO loops now actually measuring their time (show threads all works)
Maria Matejka [Wed, 26 Apr 2023 17:10:52 +0000 (19:10 +0200)] 
IO loops now actually measuring their time (show threads all works)

2 years agoRefactoring of domains connected to pools
Maria Matejka [Mon, 24 Apr 2023 14:10:59 +0000 (16:10 +0200)] 
Refactoring of domains connected to pools

2 years agoFix of failing show threads command
Maria Matejka [Mon, 24 Apr 2023 09:35:05 +0000 (11:35 +0200)] 
Fix of failing show threads command

2 years agoMerge commit 'd61505b039bf0aa6697e28b2a4e07907c89ba1fb' into thread-next
Maria Matejka [Mon, 24 Apr 2023 08:40:53 +0000 (10:40 +0200)] 
Merge commit 'd61505b039bf0aa6697e28b2a4e07907c89ba1fb' into thread-next

2 years agoMerge branch 'mq-resource-locking' into thread-next
Maria Matejka [Mon, 24 Apr 2023 08:39:13 +0000 (10:39 +0200)] 
Merge branch 'mq-resource-locking' into thread-next

2 years agoRemoved duplicate version 3.0-alpha0 news
Maria Matejka [Mon, 24 Apr 2023 08:39:08 +0000 (10:39 +0200)] 
Removed duplicate version 3.0-alpha0 news

2 years agoResource pools are now bound with domains.
Maria Matejka [Fri, 21 Apr 2023 13:26:06 +0000 (15:26 +0200)] 
Resource pools are now bound with domains.

Memory allocation is a fragile part of BIRD and we need checking that
everybody is using the resource pools in an appropriate way. To assure
this, all the resource pools are associated with locking domains and
every resource manipulation is thoroughly checked whether the
appropriate locking domain is locked.

With transitive resource manipulation like resource dumping or mass free
operations, domains are locked and unlocked on the go, thus we require
pool domains to have higher order than their parent to allow for this
transitive operations.

Adding pool locking revealed some cases of insecure memory manipulation
and this commit fixes that as well.

2 years agoProtocols and tables now use the birdloop pools as primary
Maria Matejka [Sat, 22 Apr 2023 19:20:19 +0000 (21:20 +0200)] 
Protocols and tables now use the birdloop pools as primary

2 years agoResource pool closing has its dedicated function
Maria Matejka [Thu, 20 Apr 2023 19:08:38 +0000 (21:08 +0200)] 
Resource pool closing has its dedicated function

2 years agoSocket closing has its dedicated function
Maria Matejka [Thu, 20 Apr 2023 19:06:42 +0000 (21:06 +0200)] 
Socket closing has its dedicated function

2 years agoGlobal protocol list is typed to avoid typecast confusion
Maria Matejka [Wed, 19 Apr 2023 19:18:12 +0000 (21:18 +0200)] 
Global protocol list is typed to avoid typecast confusion

2 years agoTyped lists: added add_after() and unit tests
Maria Matejka [Wed, 19 Apr 2023 19:02:20 +0000 (21:02 +0200)] 
Typed lists: added add_after() and unit tests

2 years agoAlpha0 news added v3.0-alpha1
Ondrej Filip [Fri, 21 Apr 2023 07:08:54 +0000 (09:08 +0200)] 
Alpha0 news added

2 years agoBSD: IPv4 over IPv6 nexthop support on FreeBSD
Luiz Amaral [Thu, 20 Apr 2023 23:37:30 +0000 (01:37 +0200)] 
BSD: IPv4 over IPv6 nexthop support on FreeBSD

The support for IPv4 routes with IPv6 nexthops was implemented in FreeBSD
13.1, this patch allows to import and export such routes from/to kernel.

Minor change from committer.

2 years agoLinpool: Fix lp_restore()
Maria Matejka [Thu, 20 Apr 2023 17:33:00 +0000 (19:33 +0200)] 
Linpool: Fix lp_restore()

When lp_save() is called on an empty linpool, then some allocation is
done, then lp_restore() is called, the linpool is restored but the used
chunks are inaccessible. Fix it.

2 years agoTyped lists keep an explicit pointer to the list head.
Maria Matejka [Wed, 19 Apr 2023 15:52:52 +0000 (17:52 +0200)] 
Typed lists keep an explicit pointer to the list head.

This change adds one pointer worth of memory to every list node.
Keeping this information helps auditing the lists, checking that the
node indeed is outside of list or inside the right one.

The typed lists shouldn't be used anywhere with memory pressure anyway,
thus the one added pointer isn't significant.

2 years agoUpdated the version number to not include dash (breaks RPM)
Maria Matejka [Tue, 18 Apr 2023 08:11:07 +0000 (10:11 +0200)] 
Updated the version number to not include dash (breaks RPM)

2 years agoNEWS and version update
Maria Matejka [Tue, 18 Apr 2023 07:52:12 +0000 (09:52 +0200)] 
NEWS and version update

2 years agoMerge tag '3.0-alpha0' into HEAD
Maria Matejka [Tue, 18 Apr 2023 07:43:06 +0000 (09:43 +0200)] 
Merge tag '3.0-alpha0' into HEAD

3.0-alpha0

2 years agoIO: added a specific loop pickup group for BFD; to be done better in future
Maria Matejka [Mon, 17 Apr 2023 09:37:29 +0000 (11:37 +0200)] 
IO: added a specific loop pickup group for BFD; to be done better in future

2 years agoMerge commit '9e44ace3' into thread-next-iface
Maria Matejka [Fri, 14 Apr 2023 13:18:18 +0000 (15:18 +0200)] 
Merge commit '9e44ace3' into thread-next-iface

2 years agoMerge commit 'f881b98d' into thread-next-iface
Maria Matejka [Fri, 14 Apr 2023 12:30:48 +0000 (14:30 +0200)] 
Merge commit 'f881b98d' into thread-next-iface

2 years agoMerge commit '231c6385' into thread-next-iface
Maria Matejka [Fri, 14 Apr 2023 12:00:54 +0000 (14:00 +0200)] 
Merge commit '231c6385' into thread-next-iface

2 years agoMerge commit '2f080b54' into thread-next-iface
Maria Matejka [Fri, 14 Apr 2023 11:59:23 +0000 (13:59 +0200)] 
Merge commit '2f080b54' into thread-next-iface

2 years agoMerge commit '6c058ae4' into thread-next-iface
Maria Matejka [Fri, 14 Apr 2023 11:43:32 +0000 (13:43 +0200)] 
Merge commit '6c058ae4' into thread-next-iface

2 years agoMerge commit '913ec57f' into thread-next-iface
Maria Matejka [Fri, 14 Apr 2023 11:43:24 +0000 (13:43 +0200)] 
Merge commit '913ec57f' into thread-next-iface

2 years agoMerge commit 'ee919658' into thread-next-iface
Maria Matejka [Fri, 14 Apr 2023 11:42:42 +0000 (13:42 +0200)] 
Merge commit 'ee919658' into thread-next-iface

2 years agoMerge commit '0851fcde' into thread-next-iface
Maria Matejka [Fri, 14 Apr 2023 09:37:23 +0000 (11:37 +0200)] 
Merge commit '0851fcde' into thread-next-iface

2 years agoMerge commit 'dc4c5f51' into thread-next-iface
Maria Matejka [Fri, 14 Apr 2023 09:32:20 +0000 (11:32 +0200)] 
Merge commit 'dc4c5f51' into thread-next-iface

2 years agoBGP: Add 'allow bgp_med' option for EBGP sessions
Trisha Biswas [Fri, 14 Apr 2023 02:28:37 +0000 (04:28 +0200)] 
BGP: Add 'allow bgp_med' option for EBGP sessions

This option allows to treat bgp_med as regular transitive attribute
on EBGP sessions (without hacks in filters).

Minor changes from committer.

2 years agoIncrease tests timeout
Jakub Ružička [Thu, 13 Apr 2023 18:06:55 +0000 (20:06 +0200)] 
Increase tests timeout

Tests may take longer than 5 s to complete on slow/virtual machines.

2 years agoTemporarily disable MRT as it still lacks proper locking; to be re-enabled in 3.0...
Maria Matejka [Wed, 12 Apr 2023 16:42:59 +0000 (18:42 +0200)] 
Temporarily disable MRT as it still lacks proper locking; to be re-enabled in 3.0-alpha2

2 years agoLoop: keep running the same loop for some time if there is work to do
Maria Matejka [Thu, 6 Apr 2023 18:18:04 +0000 (20:18 +0200)] 
Loop: keep running the same loop for some time if there is work to do

2 years agoBFD: fixed a request pickup race condition
Maria Matejka [Wed, 5 Apr 2023 19:59:01 +0000 (21:59 +0200)] 
BFD: fixed a request pickup race condition

When several BGPs requested a BFD session in short time, chances were
that the second BGP would file a request while the pickup routine was
still running and it would get enqueued into the waiting list instead of
being picked up.

Fixed this by enforcing pickup loop restart when new requests got added,
and also by atomically moving the unpicked requests to a temporary list
to announce admin down before actually being added into the wait list.

2 years agoBGP: set free bind also for connect sockets if configured
Maria Matejka [Mon, 6 Mar 2023 19:00:01 +0000 (20:00 +0100)] 
BGP: set free bind also for connect sockets if configured

2 years agoBGP: sockets use sk_resume_rx and sk_pause_rx
Maria Matejka [Sun, 2 Apr 2023 17:15:27 +0000 (19:15 +0200)] 
BGP: sockets use sk_resume_rx and sk_pause_rx

2 years agoBGP now has its own loop
Maria Matejka [Sun, 2 Apr 2023 17:35:35 +0000 (19:35 +0200)] 
BGP now has its own loop

2 years agoSockets: Unified API for main and other loops
Maria Matejka [Sun, 2 Apr 2023 17:15:22 +0000 (19:15 +0200)] 
Sockets: Unified API for main and other loops

Now sk_open() requires an explicit IO loop to open the socket in. Also
specific functions for socket RX pause / resume are added to allow for
BGP corking.

And last but not least, socket reloop is now synchronous to resolve
weird cases of the target loop stopping before actually picking up the
relooped socket. Now the caller must ensure that both loops are locked
while relooping, and this way all sockets always have their respective
loop.

2 years agoMore efficient IO loop event execution to avoid long loops
Maria Matejka [Fri, 24 Feb 2023 08:13:35 +0000 (09:13 +0100)] 
More efficient IO loop event execution to avoid long loops

If there are lots of loops in a single thread and only some of the loops
are actually active, the other loops are now kept aside and not checked
until they actually get some timers, events or active sockets.

This should help with extreme loads like 100k tables and protocols.

Also ping and loop pickup mechanism was allowing subtle race
conditions. Now properly handling collisions between loop ping and pickup.

2 years agoResource dumps also write out block addresses
Maria Matejka [Tue, 28 Feb 2023 09:42:47 +0000 (10:42 +0100)] 
Resource dumps also write out block addresses

2 years agoLinpool: State restoration works in initial linpool state
Maria Matejka [Tue, 28 Feb 2023 14:19:21 +0000 (15:19 +0100)] 
Linpool: State restoration works in initial linpool state

2 years agoMisc allocator fixes
Maria Matejka [Tue, 28 Feb 2023 14:23:48 +0000 (15:23 +0100)] 
Misc allocator fixes

2 years agoAllocator fix: thread local kept pages counter must be thread local
Maria Matejka [Mon, 27 Feb 2023 18:12:29 +0000 (19:12 +0100)] 
Allocator fix: thread local kept pages counter must be thread local

2 years agoRoute feed marks only the relevant pending exports as done
Maria Matejka [Fri, 31 Mar 2023 08:46:17 +0000 (10:46 +0200)] 
Route feed marks only the relevant pending exports as done

2 years agoPropagated const through route feed routines
Maria Matejka [Thu, 30 Mar 2023 09:37:16 +0000 (11:37 +0200)] 
Propagated const through route feed routines

2 years agoMoved channel export hooks to rt.h as the channel refactoring isn't going to take...
Maria Matejka [Thu, 30 Mar 2023 08:34:28 +0000 (10:34 +0200)] 
Moved channel export hooks to rt.h as the channel refactoring isn't going to take place soon

2 years agoAllowing to restart a route refresh.
Maria Matejka [Sun, 19 Mar 2023 12:21:35 +0000 (13:21 +0100)] 
Allowing to restart a route refresh.

Repeated pipe refeed should not end route refresh as the prune routine
may start pruning otherwise valid routes.

The same applies for BGP repeated route refresh.

2 years agoFixed default table configuration
Maria Matejka [Thu, 9 Mar 2023 15:34:17 +0000 (16:34 +0100)] 
Fixed default table configuration

When changing default table behavior, I missed that it enabled to
configure multiple master4 and master6 tables. Now BIRD recognizes it
and fails properly.