]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
12 months agovoid pointer can be stored in eattr ptr-to-eattr
Katerina Kubecova [Mon, 8 Jul 2024 11:50:40 +0000 (13:50 +0200)] 
void pointer can be stored in eattr

13 months agoNo page flush before polling
Maria Matejka [Tue, 18 Jun 2024 09:02:51 +0000 (11:02 +0200)] 
No page flush before polling

The maximum amount of locally kept pages is 128 so we can just
well keep the half-meg of RAM allocated and prepared for future use.

13 months agoPrefilter runs before generating feeds
Maria Matejka [Sun, 16 Jun 2024 19:36:45 +0000 (21:36 +0200)] 
Prefilter runs before generating feeds

13 months agoTable cork now uses callbacks and direct flush to uncork
Maria Matejka [Sat, 15 Jun 2024 21:31:44 +0000 (23:31 +0200)] 
Table cork now uses callbacks and direct flush to uncork

13 months agoConfiguration obstacles made a separate, explicit structure
Maria Matejka [Thu, 13 Jun 2024 10:15:38 +0000 (12:15 +0200)] 
Configuration obstacles made a separate, explicit structure

With this, one can walk the obstacle list in a debugger and
easier see which specific object is holding the reference.

13 months agoGlobal runtime values separated from config
Maria Matejka [Thu, 13 Jun 2024 14:30:51 +0000 (16:30 +0200)] 
Global runtime values separated from config

13 months agoCLI: Show symbols, route and mpls explicitly passes the actual config to the show...
Maria Matejka [Thu, 13 Jun 2024 14:58:41 +0000 (16:58 +0200)] 
CLI: Show symbols, route and mpls explicitly passes the actual config to the show function

13 months agoFilter global values are not used directly from config
Maria Matejka [Thu, 13 Jun 2024 13:49:56 +0000 (15:49 +0200)] 
Filter global values are not used directly from config

13 months agoConfig: Removed obsolete force_restart option when commiting
Maria Matejka [Thu, 13 Jun 2024 13:36:18 +0000 (15:36 +0200)] 
Config: Removed obsolete force_restart option when commiting

13 months agoCLI keeps its active config pointer explicitly
Maria Matejka [Thu, 13 Jun 2024 10:29:21 +0000 (12:29 +0200)] 
CLI keeps its active config pointer explicitly

13 months agoCallback: bundling event with its target
Maria Matejka [Thu, 13 Jun 2024 08:42:18 +0000 (10:42 +0200)] 
Callback: bundling event with its target

13 months agoBGP and HCU uncorking is processed in the right loop
Maria Matejka [Wed, 12 Jun 2024 20:36:12 +0000 (22:36 +0200)] 
BGP and HCU uncorking is processed in the right loop

closes #86

The uncork events are running from mainloop so these should just
dispatch the right event to the right loop. Doing anything long there
is bad for performance and latency as the uncork list may be huge.

13 months agoTable: RCU synchronization moved to lfjour
Maria Matejka [Wed, 12 Jun 2024 12:48:15 +0000 (14:48 +0200)] 
Table: RCU synchronization moved to lfjour

the sync is actually needed when the pages get freed, not precisely
after every item cleanup, as the data technically stays intact until the
deferred free's are called.

13 months agoNetindex cleanup calls synchronize_rcu() by batches
Maria Matejka [Wed, 12 Jun 2024 12:47:20 +0000 (14:47 +0200)] 
Netindex cleanup calls synchronize_rcu() by batches

13 months agoTable: fixed export_all flush when export_best is idle
Maria Matejka [Wed, 12 Jun 2024 10:00:11 +0000 (12:00 +0200)] 
Table: fixed export_all flush when export_best is idle

13 months agoRemoved unnecessary recursion from rt_export_get()
Maria Matejka [Wed, 12 Jun 2024 09:33:26 +0000 (11:33 +0200)] 
Removed unnecessary recursion from rt_export_get()

13 months agoNetindex rehash debug
Maria Matejka [Tue, 11 Jun 2024 13:59:19 +0000 (15:59 +0200)] 
Netindex rehash debug

13 months agoTMP: table best-all cleanup debug
Maria Matejka [Tue, 11 Jun 2024 13:38:27 +0000 (15:38 +0200)] 
TMP: table best-all cleanup debug

13 months agoMemory allocator tweaking
Maria Matejka [Tue, 11 Jun 2024 12:46:25 +0000 (14:46 +0200)] 
Memory allocator tweaking

TODO: make this configurable

13 months agoAttributes: fix collision on free-lookup
Maria Matejka [Tue, 11 Jun 2024 11:16:50 +0000 (13:16 +0200)] 
Attributes: fix collision on free-lookup

Freeing the eattrs is tricky as somebody else may find them
via RTA-unlocked lookup inbetween.

13 months agoTime accounting must be done by coarse timers
Maria Matejka [Mon, 10 Jun 2024 21:09:05 +0000 (23:09 +0200)] 
Time accounting must be done by coarse timers

on some ARM, the precise timers are too slow to be actually useful

13 months agoEvery table has its own netindex now
Maria Matejka [Mon, 10 Jun 2024 21:07:36 +0000 (23:07 +0200)] 
Every table has its own netindex now

It's obnoxiously slow to walk over sparse tables.

13 months agoNetindex cleanup now doesn't need to unlock to synchronize RCU
Maria Matejka [Mon, 10 Jun 2024 21:06:43 +0000 (23:06 +0200)] 
Netindex cleanup now doesn't need to unlock to synchronize RCU

13 months agoRevert (partial) "Route attributes now use the common lockfree usecount"
Maria Matejka [Tue, 11 Jun 2024 08:48:21 +0000 (10:48 +0200)] 
Revert (partial) "Route attributes now use the common lockfree usecount"

This partially reverts commit d617801c31018926cccd75a64186ebb0597a6bcc.

The common lockfree doesn't work well for high-volume structures like
eattr cache because it expects the structure to be cleaned up by a
sweeper routine ... which is very ineffective for >1M records.

OTOH, we need the deferred ea_free in all cases ... so keeping that.

13 months agoTable best feed collision fix
Maria Matejka [Mon, 10 Jun 2024 15:24:53 +0000 (17:24 +0200)] 
Table best feed collision fix

13 months agoDropped net_resolve_index from feeder fast path
Maria Matejka [Mon, 10 Jun 2024 14:25:53 +0000 (16:25 +0200)] 
Dropped net_resolve_index from feeder fast path

13 months agoNext hop update is split by time, not by number of routes
Maria Matejka [Mon, 10 Jun 2024 12:17:28 +0000 (14:17 +0200)] 
Next hop update is split by time, not by number of routes

13 months agoIO Loop: process socket reads only after timers and events are done
Maria Matejka [Mon, 10 Jun 2024 12:11:51 +0000 (14:11 +0200)] 
IO Loop: process socket reads only after timers and events are done

13 months agoBGP: splitting TX by time, not number of messages sent
Maria Matejka [Mon, 10 Jun 2024 12:10:51 +0000 (14:10 +0200)] 
BGP: splitting TX by time, not number of messages sent

13 months agoTable: pruning is deferred by task time, not by item count
Maria Matejka [Mon, 10 Jun 2024 09:35:07 +0000 (11:35 +0200)] 
Table: pruning is deferred by task time, not by item count

13 months agoChannel: postpone the export event when stopping
Maria Matejka [Mon, 10 Jun 2024 08:39:11 +0000 (10:39 +0200)] 
Channel: postpone the export event when stopping

13 months agoIO Threads: scheduler debug shows info on next loop to run
Maria Matejka [Mon, 10 Jun 2024 08:38:56 +0000 (10:38 +0200)] 
IO Threads: scheduler debug shows info on next loop to run

13 months agoThreads: smoothening loop pickup and less aggressive dropping
Maria Matejka [Sun, 9 Jun 2024 09:29:47 +0000 (11:29 +0200)] 
Threads: smoothening loop pickup and less aggressive dropping

13 months agoIO loop picker fixed
Maria Matejka [Sat, 8 Jun 2024 22:43:14 +0000 (00:43 +0200)] 
IO loop picker fixed

Now if the thread finds out that it actually isn't busy,
it unsets the business status and picks something up right away.

13 months agoTask-in-limit checker hacked for mainloop
Maria Matejka [Sat, 8 Jun 2024 21:43:37 +0000 (23:43 +0200)] 
Task-in-limit checker hacked for mainloop

13 months agoTable: too fast export validity check replaced with just a retry
Maria Matejka [Sat, 8 Jun 2024 18:19:51 +0000 (20:19 +0200)] 
Table: too fast export validity check replaced with just a retry

13 months agoThread IO: a little bit faster RX repeat
Maria Matejka [Sat, 8 Jun 2024 18:06:52 +0000 (20:06 +0200)] 
Thread IO: a little bit faster RX repeat

13 months agoNetindex: fix absurd hash parameters
Maria Matejka [Sat, 8 Jun 2024 16:26:02 +0000 (18:26 +0200)] 
Netindex: fix absurd hash parameters

13 months agoConverted ea cache to spinhash
Maria Matejka [Sat, 8 Jun 2024 00:44:09 +0000 (02:44 +0200)] 
Converted ea cache to spinhash

13 months agoNetindex: converted to spinlocked hash
Maria Matejka [Fri, 7 Jun 2024 23:37:24 +0000 (01:37 +0200)] 
Netindex: converted to spinlocked hash

13 months agoHash: Added a spinlocked variant
Maria Matejka [Fri, 7 Jun 2024 23:33:57 +0000 (01:33 +0200)] 
Hash: Added a spinlocked variant

The spinlocked hash has a main rw spinlock for the data blocks
and then a rw spinlock for each hash chain. Rehashing is asynchronous,
running from an event, and it happens chain-wise, never blocking more
than one chain at a time.

13 months agoDropping netindex fragile manipulation
Maria Matejka [Fri, 7 Jun 2024 16:01:22 +0000 (18:01 +0200)] 
Dropping netindex fragile manipulation

Now the netindex doesn't expose its internals and can be converted
to the spinlocked implementation much easier.

13 months agoroa_check() uses the auxiliary table
Maria Matejka [Fri, 7 Jun 2024 21:38:29 +0000 (23:38 +0200)] 
roa_check() uses the auxiliary table

13 months agoROA tables have now an auxiliary table
Maria Matejka [Fri, 7 Jun 2024 17:41:04 +0000 (19:41 +0200)] 
ROA tables have now an auxiliary table

There is an IP table for every ROA table, holding special records
combining all known ROAs for every top-prefix.

The ROA digestor is now an IP digestor, running over the auxiliary
table.

13 months agoAttributes: cleanup
Maria Matejka [Fri, 7 Jun 2024 19:41:17 +0000 (21:41 +0200)] 
Attributes: cleanup

Dropping EAF_TYPE__MAX and adding a check for forgotten
ea class registration

13 months agoThreads shouldn't drop stopping loops
Maria Matejka [Fri, 7 Jun 2024 11:19:51 +0000 (13:19 +0200)] 
Threads shouldn't drop stopping loops

13 months agoLoop scheduler tracing options configurable
Maria Matejka [Fri, 7 Jun 2024 10:12:00 +0000 (12:12 +0200)] 
Loop scheduler tracing options configurable

13 months agoFixed nanoseconds in IO loop time limiter
Maria Matejka [Fri, 7 Jun 2024 07:05:11 +0000 (09:05 +0200)] 
Fixed nanoseconds in IO loop time limiter

13 months agoFixed deferred route freeing crash
Maria Matejka [Fri, 7 Jun 2024 06:59:48 +0000 (08:59 +0200)] 
Fixed deferred route freeing crash

The sending channel may be already gone when rte_free_deferred()
is finally called so we have to log about route freeing in the
synchronous call instead.

13 months agoFixed non-exporting protocol reload crash
Maria Matejka [Thu, 6 Jun 2024 21:06:27 +0000 (23:06 +0200)] 
Fixed non-exporting protocol reload crash

13 months agoNetindex: allow u32 -> netindex without locking
Maria Matejka [Thu, 6 Jun 2024 15:45:35 +0000 (17:45 +0200)] 
Netindex: allow u32 -> netindex without locking

13 months agoProto: fix reimporter crash on shutdown
Maria Matejka [Thu, 6 Jun 2024 12:04:06 +0000 (14:04 +0200)] 
Proto: fix reimporter crash on shutdown

Channel transition to CS_STOP forgot to postpone the reimporter event,
thus reimport could theoretically run too late and cause trouble.

13 months agoBGP: Dropping the netindex experiment, prefix hash is faster
Maria Matejka [Thu, 6 Jun 2024 11:09:39 +0000 (13:09 +0200)] 
BGP: Dropping the netindex experiment, prefix hash is faster

13 months agoRCU Unwinder can now retry without yielding
Maria Matejka [Thu, 6 Jun 2024 11:32:31 +0000 (13:32 +0200)] 
RCU Unwinder can now retry without yielding

13 months agoRead-write spinlocks
Maria Matejka [Wed, 5 Jun 2024 11:12:12 +0000 (13:12 +0200)] 
Read-write spinlocks

13 months agoNetindex is now net-type specific
Maria Matejka [Wed, 5 Jun 2024 15:47:32 +0000 (17:47 +0200)] 
Netindex is now net-type specific

Combining all network types in one netindex was just a waste of memory
and too much complexity for no reason.

14 months agoIO loop: fixed unassigned count
Maria Matejka [Fri, 31 May 2024 11:02:27 +0000 (13:02 +0200)] 
IO loop: fixed unassigned count

14 months agoTable: Freeing routes deferred to save rcu synchronization
Maria Matejka [Tue, 4 Jun 2024 19:38:05 +0000 (21:38 +0200)] 
Table: Freeing routes deferred to save rcu synchronization

14 months agoRoute attributes now use the common lockfree usecount
Maria Matejka [Tue, 4 Jun 2024 12:58:45 +0000 (14:58 +0200)] 
Route attributes now use the common lockfree usecount

Also route attributes are not freed immediately anymore.

14 months agoHash: dropped relics of hash iterators
Maria Matejka [Tue, 4 Jun 2024 10:22:14 +0000 (12:22 +0200)] 
Hash: dropped relics of hash iterators

14 months agoRoute attribute hash replaced with the generic one
Maria Matejka [Tue, 4 Jun 2024 10:09:41 +0000 (12:09 +0200)] 
Route attribute hash replaced with the generic one

14 months agoSoftened warning about too much time spent in loop
Maria Matejka [Tue, 4 Jun 2024 08:10:35 +0000 (10:10 +0200)] 
Softened warning about too much time spent in loop

Now the warning needs at least 10 ms after the scheduled end time
to ever complain.

TODO: make this configurable

14 months agoBGP: Freeing prefixes deferred to save rcu synchronization
Maria Matejka [Tue, 4 Jun 2024 06:11:30 +0000 (08:11 +0200)] 
BGP: Freeing prefixes deferred to save rcu synchronization

14 months agoCommon parts of the ROA updater moved into the table
Maria Matejka [Mon, 3 Jun 2024 12:23:41 +0000 (14:23 +0200)] 
Common parts of the ROA updater moved into the table

Channel is now just subscribing to yet another journal announcing
digested tries from the ROA table.

Creating tries in every channel on-the-fly was too slow to handle
and it ate obnoxious amounts of memory. Instead, the tries are
constructed directly in the table and the channels are notified
with the completed tries.

The delayed export-release mechanism is used to keep the tries allocated
until routes get reloaded.

14 months agoTask deferrer: kinda more dumb-resistant macro
Maria Matejka [Mon, 3 Jun 2024 09:12:20 +0000 (11:12 +0200)] 
Task deferrer: kinda more dumb-resistant macro

Originally, this mechanism required to check whether there's enough time to work
and then to send an event. This macro combines all the logic and goes more straightforwardly
to the _end_ of the export processing loop.

One should note that there were two cases where the export processing loop
was deferred at the _beginning_, which led to ignoring some routes on
reimports. This wasn't easily noticeable in the tests until the one-task
limit got a ceiling on 300 ms to keep reasonable latency.

14 months agoNever allow more than 300 ms per loop
Maria Matejka [Fri, 31 May 2024 19:22:07 +0000 (21:22 +0200)] 
Never allow more than 300 ms per loop

14 months agoBGP: export table stores routes, reloads and shows in CLI.
Maria Matejka [Wed, 29 May 2024 07:33:42 +0000 (09:33 +0200)] 
BGP: export table stores routes, reloads and shows in CLI.

In future, this and rtable's data structures should be probably merged
but it isn't a good idea to do now. The used data structure is similar
to rtable -- an array of pointers to linked lists.

Feed is lockless, as with all tables.

Full export (receiving updates) is not supported yet but we don't have
any method how to use it anyway. Gonna implement it later.

14 months agoBGP: Prefix table uses a pointer array instead of hash
Maria Matejka [Thu, 30 May 2024 20:59:56 +0000 (22:59 +0200)] 
BGP: Prefix table uses a pointer array instead of hash

14 months agoRCU: Rewritten to be more straightforward
Maria Matejka [Fri, 31 May 2024 18:43:15 +0000 (20:43 +0200)] 
RCU: Rewritten to be more straightforward

14 months agoUnit test for RCU
Maria Matejka [Sun, 2 Jun 2024 20:49:35 +0000 (22:49 +0200)] 
Unit test for RCU

14 months agoNetindex: consistency checks and deletion of whole hash
Maria Matejka [Thu, 30 May 2024 20:59:08 +0000 (22:59 +0200)] 
Netindex: consistency checks and deletion of whole hash

14 months agoIf debugging, store a malloc circular log for easier debugging
Maria Matejka [Fri, 31 May 2024 13:16:41 +0000 (15:16 +0200)] 
If debugging, store a malloc circular log for easier debugging

14 months agoHostentry: made src ea_list atomic to help with consistency
Maria Matejka [Fri, 31 May 2024 07:47:56 +0000 (09:47 +0200)] 
Hostentry: made src ea_list atomic to help with consistency

14 months agoSlab: can be deleted as a single object
Maria Matejka [Thu, 30 May 2024 21:05:15 +0000 (23:05 +0200)] 
Slab: can be deleted as a single object

14 months agoExport: Next feed step-up is now internal
Maria Matejka [Thu, 30 May 2024 06:22:40 +0000 (08:22 +0200)] 
Export: Next feed step-up is now internal

There is no much reason to do anything else than the netindex technique.

14 months agoBGP: Simpler hashing in export table
Maria Matejka [Wed, 29 May 2024 18:16:08 +0000 (20:16 +0200)] 
BGP: Simpler hashing in export table

We need a hashing simple enough to allow for feeding by netindex.

14 months agoBGP: Export uses common attribute cache
Maria Matejka [Wed, 29 May 2024 06:18:31 +0000 (08:18 +0200)] 
BGP: Export uses common attribute cache

There is no real need for storing bucket attributes locally and we may
save some memory by caching the attributes in one central place.

If this becomes a contention problem, we should reduce the lock load
of the central attribute cache.

14 months agoBGP: pending TX prefixes link netindex instead of copying net_addr
Maria Matejka [Tue, 28 May 2024 19:49:07 +0000 (21:49 +0200)] 
BGP: pending TX prefixes link netindex instead of copying net_addr

This helps with memory consumption, allows for removal of multiple
slab/mblock ifs and prepares for easier feeds.

14 months agoBGP: refactored pending TX back into channel
Maria Matejka [Tue, 28 May 2024 20:33:14 +0000 (22:33 +0200)] 
BGP: refactored pending TX back into channel

14 months agoReal almost-lockless feeds and more pull-like exports
Maria Matejka [Thu, 2 May 2024 09:39:34 +0000 (11:39 +0200)] 
Real almost-lockless feeds and more pull-like exports

Introducing a new omnipotent internal API to just pass route updates
from whatever point wherever we want.

From now on, all the exports should be processed by RT_WALK_EXPORTS
macro, and you can also issue a separate feed-only request to just get a
feed and finish.

The exporters can now also stop and the readers must expect that to
happen and recover. Main tables don't stop, though.

14 months agoBGP: explicitly sending route refresh from CLI
Maria Matejka [Wed, 29 May 2024 08:55:59 +0000 (10:55 +0200)] 
BGP: explicitly sending route refresh from CLI

14 months agoProtocol filter reload is now done by 'reload filters'
Maria Matejka [Wed, 27 Mar 2024 10:34:19 +0000 (11:34 +0100)] 
Protocol filter reload is now done by 'reload filters'

This prepares for the separate 'reload bgp' command triggering BGP Route Refresh

14 months agoStatic: Fixed undefined nexthop padding problems
Maria Matejka [Wed, 22 May 2024 06:56:37 +0000 (08:56 +0200)] 
Static: Fixed undefined nexthop padding problems

14 months agoNetindex: fixed resolving net by index
Maria Matejka [Mon, 20 May 2024 13:57:13 +0000 (15:57 +0200)] 
Netindex: fixed resolving net by index

14 months agoRIP partial reload never worked properly, running full reload always
Maria Matejka [Fri, 10 May 2024 14:32:08 +0000 (16:32 +0200)] 
RIP partial reload never worked properly, running full reload always

14 months agoDropping obsolete protocol Perf
Maria Matejka [Fri, 10 May 2024 14:22:16 +0000 (16:22 +0200)] 
Dropping obsolete protocol Perf

We have now better methods how to measure overall performance
and this obsolete protocol has basically rotten away. If anybody
needs its features, feel free to revive it in future.

14 months agoOSPF partial reload never worked properly, running full reload always
Maria Matejka [Fri, 10 May 2024 14:14:54 +0000 (16:14 +0200)] 
OSPF partial reload never worked properly, running full reload always

14 months agoSimplified temporary resources
Maria Matejka [Wed, 8 May 2024 16:55:01 +0000 (18:55 +0200)] 
Simplified temporary resources

Also TMP_SAVED now uses the CLEANUP hook to allow for breaks and returns

14 months agoSKIP_BACK_DECLARE: easier embedded-to-parent typecasting
Maria Matejka [Fri, 26 Apr 2024 10:14:33 +0000 (12:14 +0200)] 
SKIP_BACK_DECLARE: easier embedded-to-parent typecasting

14 months agoLockless feed of a single net
Maria Matejka [Tue, 23 Apr 2024 16:50:22 +0000 (18:50 +0200)] 
Lockless feed of a single net

14 months agoUsing ea_lookup_tmp() for temporarily keeping attribute references
Maria Matejka [Tue, 23 Apr 2024 16:28:34 +0000 (18:28 +0200)] 
Using ea_lookup_tmp() for temporarily keeping attribute references

To avoid needs for keeping local temporary references for attributes,
now one can use ea_lookup_tmp() to ensure that the attributes are
valid and stored until the task ends. After that, the attributes are
automatically unref'd and also deallocated if needed.

14 months agoRefactored the deferring framework into a separate structure
Maria Matejka [Tue, 23 Apr 2024 15:35:00 +0000 (17:35 +0200)] 
Refactored the deferring framework into a separate structure

14 months agoAvoiding RCU synchronization deadlock when locking in critical section
Maria Matejka [Thu, 16 May 2024 08:22:19 +0000 (10:22 +0200)] 
Avoiding RCU synchronization deadlock when locking in critical section

Explicitly marking domains eligible for RCU synchronization. It's then
forbidden to lock these domains in RCU critical section to avoid
possible deadlock.

14 months agoRCU Unwinder refactored from route table to a separate structure
Maria Matejka [Tue, 14 May 2024 08:46:10 +0000 (10:46 +0200)] 
RCU Unwinder refactored from route table to a separate structure

14 months agoTable feeds are now lockless
Maria Matejka [Wed, 3 Apr 2024 12:47:15 +0000 (14:47 +0200)] 
Table feeds are now lockless

This commit makes the route chains in the tables atomic. This allows not
only standard exports but also feeds and bulk exports to be processed
without ever locking the table.

Design note: the overall data structures are quite brittle. We're using
RCU read-locks to keep track about readers, and we're indicating ongoing
work on the data structures by prepending a REF_OBSOLETE sentinel node
to make every reader go waiting.

All the operations are intended to stay inside nest/rt-table.c and it
may be even best to further refactor the code to hide the routing table
internal structure inside there. Nobody shall definitely write any
routines manipulating live routes in tables from outside.

14 months agoFixed flush condition when stale cycle valid/set indicators wrap around
Maria Matejka [Sat, 20 Apr 2024 16:10:42 +0000 (18:10 +0200)] 
Fixed flush condition when stale cycle valid/set indicators wrap around

14 months agoKernel: replaced synchronous prune by a refeed
Maria Matejka [Wed, 3 Apr 2024 11:31:36 +0000 (13:31 +0200)] 
Kernel: replaced synchronous prune by a refeed

14 months agoLockless hostentry resolution
Maria Matejka [Thu, 4 Apr 2024 09:38:52 +0000 (11:38 +0200)] 
Lockless hostentry resolution

Now the hostentry doesn't need to lock table, instead it tracks the
hostentry version and retries if the hostentry changed while updating.

14 months agoCached route attributes now have explicitly marked layers
Maria Matejka [Thu, 4 Apr 2024 10:01:35 +0000 (12:01 +0200)] 
Cached route attributes now have explicitly marked layers

Also the rta_* functions renamed to ea_* functions

14 months agoNetindex: Dropping tmp handle mechanism in favor of deferred lfuc_unlock
Maria Matejka [Mon, 1 Apr 2024 18:04:14 +0000 (20:04 +0200)] 
Netindex: Dropping tmp handle mechanism in favor of deferred lfuc_unlock