]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
8 months agoImplement function to process incremental update
Igor Putovny [Fri, 29 Nov 2024 16:44:49 +0000 (17:44 +0100)] 
Implement function to process incremental update

8 months agoRewrite function for allocating bucket IDs
Igor Putovny [Fri, 29 Nov 2024 14:00:35 +0000 (15:00 +0100)] 
Rewrite function for allocating bucket IDs

8 months agoRoot has a depth 0 instead of 1
Igor Putovny [Mon, 25 Nov 2024 15:51:15 +0000 (16:51 +0100)] 
Root has a depth 0 instead of 1

8 months agoDo not delete potential buckets in the third pass
Igor Putovny [Wed, 20 Nov 2024 12:42:11 +0000 (13:42 +0100)] 
Do not delete potential buckets in the third pass

8 months agoRename bucket to original_bucket
Igor Putovny [Mon, 18 Nov 2024 14:41:05 +0000 (15:41 +0100)] 
Rename bucket to original_bucket

8 months agochoose_lowest_id_bucket() now returns the bucket, it does not assign it
Igor Putovny [Mon, 18 Nov 2024 14:04:50 +0000 (15:04 +0100)] 
choose_lowest_id_bucket() now returns the bucket, it does not assign it

8 months agoCheck ancestors after aggregation
Igor Putovny [Mon, 18 Nov 2024 13:42:22 +0000 (14:42 +0100)] 
Check ancestors after aggregation

8 months agoSmall changes
Igor Putovny [Fri, 15 Nov 2024 16:35:51 +0000 (17:35 +0100)] 
Small changes

9 months agoCleanup
Igor Putovny [Fri, 11 Oct 2024 14:12:18 +0000 (16:12 +0200)] 
Cleanup

9 months agoDon't assign selected bucket to imaginary node in the third pass
Igor Putovny [Fri, 11 Oct 2024 12:41:49 +0000 (14:41 +0200)] 
Don't assign selected bucket to imaginary node in the third pass

9 months agoSilence unused variable warning
Igor Putovny [Fri, 11 Oct 2024 12:40:35 +0000 (14:40 +0200)] 
Silence unused variable warning

9 months agoAdd more assertions
Igor Putovny [Fri, 11 Oct 2024 12:36:52 +0000 (14:36 +0200)] 
Add more assertions

9 months agoCreate function to choose bucket with the lowest ID from the set of potential buckets
Igor Putovny [Wed, 9 Oct 2024 15:46:28 +0000 (17:46 +0200)] 
Create function to choose bucket with the lowest ID from the set of potential buckets

9 months agotrie_insert_prefix() now allows updating a bucket of existing prefix
Igor Putovny [Mon, 7 Oct 2024 15:02:01 +0000 (17:02 +0200)] 
trie_insert_prefix() now allows updating a bucket of existing prefix

9 months agoFix wording in comments
Igor Putovny [Mon, 7 Oct 2024 10:34:17 +0000 (12:34 +0200)] 
Fix wording in comments

10 months agoDo not delete trie after finishing aggregation
Igor Putovny [Fri, 4 Oct 2024 14:29:08 +0000 (16:29 +0200)] 
Do not delete trie after finishing aggregation

10 months agoModify merge_potential_buckets() to return whether the target set has changed
Igor Putovny [Wed, 2 Oct 2024 15:00:21 +0000 (17:00 +0200)] 
Modify merge_potential_buckets() to return whether the target set has changed

10 months agoAdd selected bucket and FIB status to node
Igor Putovny [Thu, 26 Sep 2024 17:29:02 +0000 (19:29 +0200)] 
Add selected bucket and FIB status to node

10 months agoSecond pass doesn't need protocol
Igor Putovny [Wed, 25 Sep 2024 11:00:57 +0000 (13:00 +0200)] 
Second pass doesn't need protocol

10 months agonode_insert_potential_bucket() accepts bucket pointer, not an ID
Igor Putovny [Tue, 24 Sep 2024 17:00:00 +0000 (19:00 +0200)] 
node_insert_potential_bucket() accepts bucket pointer, not an ID

10 months agoRemove settle timer
Igor Putovny [Thu, 19 Sep 2024 15:12:15 +0000 (17:12 +0200)] 
Remove settle timer

10 months agoRefactor
Igor Putovny [Wed, 18 Sep 2024 14:00:40 +0000 (16:00 +0200)] 
Refactor

10 months agoRename
Igor Putovny [Tue, 17 Sep 2024 12:21:13 +0000 (14:21 +0200)] 
Rename

10 months agoUse hmap for assigning bucket IDs
Igor Putovny [Tue, 17 Sep 2024 10:36:38 +0000 (12:36 +0200)] 
Use hmap for assigning bucket IDs

10 months agoLog time to measure duration of individual aggregation phases
Igor Putovny [Mon, 16 Sep 2024 14:52:49 +0000 (16:52 +0200)] 
Log time to measure duration of individual aggregation phases

11 months agoImplement bitmaps for storing potential buckets
Igor Putovny [Tue, 27 Aug 2024 12:01:31 +0000 (14:01 +0200)] 
Implement bitmaps for storing potential buckets

11 months agoDelete unnecessary code
Igor Putovny [Fri, 23 Aug 2024 15:36:43 +0000 (17:36 +0200)] 
Delete unnecessary code

11 months agoBugfix
Igor Putovny [Mon, 19 Aug 2024 13:24:52 +0000 (15:24 +0200)] 
Bugfix

During implementation of the new mechanism of storing potential buckets it was
found that aggregator allocates more than 4000 buckets despite routes in the
configuration file being grouped to approximately 200 buckets.

Upon closer inspection it became clear that tmp_bucket in aggregator_rt_notify()
was allocated in the linpool when it should have been allocated on stack.
Moreover, tmp_bucket was allocated without additional space for aggr_data.
These data were never copied from tmp_bucket to new_bucket.

This was the source of false negative results of HASH_FIND. Buckets are compared
not only by their hashes, but also lists of aggr_data. Because same_val_list()
was reading beyond allocated memory, buckets were never equal. HASH_FIND
therefore returned NULL, which prompted aggregator to create many more buckets
despite already existing buckets with the same hash.

11 months agoAdd logs about number of nodes
Igor Putovny [Thu, 15 Aug 2024 09:31:09 +0000 (11:31 +0200)] 
Add logs about number of nodes

11 months agoAvoid unnecessary allocation of nodes in the first pass
Igor Putovny [Wed, 14 Aug 2024 14:47:22 +0000 (16:47 +0200)] 
Avoid unnecessary allocation of nodes in the first pass

12 months agoSplit third pass function into two functions
Igor Putovny [Wed, 31 Jul 2024 16:12:50 +0000 (18:12 +0200)] 
Split third pass function into two functions
(in order to get rid of redundant condition testing)

12 months agoAdd ancestor pointer to enable faster lookup of ancestor with non-null bucket
Igor Putovny [Wed, 17 Jul 2024 12:04:19 +0000 (14:04 +0200)] 
Add ancestor pointer to enable faster lookup of ancestor with non-null bucket

12 months agoWrite documentation berry blackberry
Igor Putovny [Wed, 10 Jul 2024 13:12:49 +0000 (15:12 +0200)] 
Write documentation

12 months agoUpdate time before and after aggregation
Igor Putovny [Wed, 10 Jul 2024 13:10:57 +0000 (15:10 +0200)] 
Update time before and after aggregation

12 months agoAdd logging option to log prefix aggregation progress
Igor Putovny [Wed, 10 Jul 2024 13:07:54 +0000 (15:07 +0200)] 
Add logging option to log prefix aggregation progress

12 months agoChange order of parameters, make aesthetic changes
Igor Putovny [Wed, 10 Jul 2024 12:06:29 +0000 (14:06 +0200)] 
Change order of parameters, make aesthetic changes

12 months agoAdd unique ID to buckets and compare them by this ID
Igor Putovny [Wed, 10 Jul 2024 11:09:48 +0000 (13:09 +0200)] 
Add unique ID to buckets and compare them by this ID

12 months agoAdd counters of nodes with assigned bucket
Igor Putovny [Wed, 10 Jul 2024 10:41:18 +0000 (12:41 +0200)] 
Add counters of nodes with assigned bucket

13 months agoAdd protocol cleanup
Igor Putovny [Thu, 4 Jul 2024 13:34:29 +0000 (15:34 +0200)] 
Add protocol cleanup

13 months agoSmall changes
Igor Putovny [Thu, 4 Jul 2024 13:12:52 +0000 (15:12 +0200)] 
Small changes

13 months agoRemove unused includes
Igor Putovny [Thu, 4 Jul 2024 12:41:47 +0000 (14:41 +0200)] 
Remove unused includes

13 months agoAdd comments
Igor Putovny [Thu, 4 Jul 2024 12:36:55 +0000 (14:36 +0200)] 
Add comments

13 months agoChange order of parameters in create_route()
Igor Putovny [Wed, 3 Jul 2024 14:04:44 +0000 (16:04 +0200)] 
Change order of parameters in create_route()

13 months agoRename
Igor Putovny [Wed, 3 Jul 2024 13:45:21 +0000 (15:45 +0200)] 
Rename

13 months agoSmall changes, add assert
Igor Putovny [Wed, 3 Jul 2024 13:44:36 +0000 (15:44 +0200)] 
Small changes, add assert

13 months agoRemove old first_pass()
Igor Putovny [Thu, 27 Jun 2024 15:22:17 +0000 (17:22 +0200)] 
Remove old first_pass()

13 months agoSmall changes
Igor Putovny [Thu, 27 Jun 2024 15:14:01 +0000 (17:14 +0200)] 
Small changes

13 months agoBugfix
Igor Putovny [Wed, 19 Jun 2024 13:33:05 +0000 (15:33 +0200)] 
Bugfix

13 months agoAdd get_status() function
Igor Putovny [Wed, 19 Jun 2024 10:30:34 +0000 (12:30 +0200)] 
Add get_status() function

13 months agoModify aggregator_start() and shutdown()
Igor Putovny [Thu, 13 Jun 2024 14:37:10 +0000 (16:37 +0200)] 
Modify aggregator_start() and shutdown()

13 months agoKick settle timer when receiving updates in rt_notify()
Igor Putovny [Thu, 13 Jun 2024 14:36:12 +0000 (16:36 +0200)] 
Kick settle timer when receiving updates in rt_notify()

13 months agoRequest feed when settle timer triggers and initialize trie just before aggregation
Igor Putovny [Thu, 13 Jun 2024 11:08:42 +0000 (13:08 +0200)] 
Request feed when settle timer triggers and initialize trie just before aggregation

13 months agoSet aggregation mode in the configuration file
Igor Putovny [Wed, 12 Jun 2024 16:27:36 +0000 (18:27 +0200)] 
Set aggregation mode in the configuration file

13 months agoRename
Igor Putovny [Wed, 12 Jun 2024 15:27:05 +0000 (17:27 +0200)] 
Rename

13 months agoRun aggregation on feed end from src channel and request feeding after receiving...
Igor Putovny [Tue, 11 Jun 2024 11:47:07 +0000 (13:47 +0200)] 
Run aggregation on feed end from src channel and request feeding after receiving update

13 months agoMove trie initialization to separate function
Igor Putovny [Tue, 11 Jun 2024 11:27:15 +0000 (13:27 +0200)] 
Move trie initialization to separate function

14 months agoRemove delete_trie()
Igor Putovny [Tue, 4 Jun 2024 15:56:26 +0000 (17:56 +0200)] 
Remove delete_trie()

14 months agoChange slabs for linpools
Igor Putovny [Tue, 4 Jun 2024 15:44:28 +0000 (17:44 +0200)] 
Change slabs for linpools

14 months agoAdd more assertions
Igor Putovny [Tue, 4 Jun 2024 12:15:32 +0000 (14:15 +0200)] 
Add more assertions

14 months agoRun aggregation only once (temporary solution)
Igor Putovny [Tue, 4 Jun 2024 10:25:54 +0000 (12:25 +0200)] 
Run aggregation only once (temporary solution)

14 months agoChange logs
Igor Putovny [Tue, 4 Jun 2024 10:17:39 +0000 (12:17 +0200)] 
Change logs

14 months agoIgnore updates if protocol is not UP
Igor Putovny [Fri, 31 May 2024 14:20:52 +0000 (16:20 +0200)] 
Ignore updates if protocol is not UP

14 months agoUse sl_allocz() for node allocation
Igor Putovny [Fri, 31 May 2024 14:19:56 +0000 (16:19 +0200)] 
Use sl_allocz() for node allocation

14 months agoCompare pointers to NULL using implicit conversion to bool
Igor Putovny [Thu, 30 May 2024 14:44:44 +0000 (16:44 +0200)] 
Compare pointers to NULL using implicit conversion to bool

14 months agoDon't run aggregation on feed end
Igor Putovny [Thu, 30 May 2024 12:36:54 +0000 (14:36 +0200)] 
Don't run aggregation on feed end

14 months agoFix incorrect use of SKIP_BACK
Igor Putovny [Thu, 30 May 2024 11:07:48 +0000 (13:07 +0200)] 
Fix incorrect use of SKIP_BACK

14 months agoAdd settle timer
Igor Putovny [Fri, 17 May 2024 13:28:08 +0000 (15:28 +0200)] 
Add settle timer

14 months agoReplace goto with else
Igor Putovny [Fri, 17 May 2024 10:48:03 +0000 (12:48 +0200)] 
Replace goto with else

14 months agoMove aggregation algorithm to separate function
Igor Putovny [Thu, 16 May 2024 12:48:14 +0000 (14:48 +0200)] 
Move aggregation algorithm to separate function

14 months agoAdd assertions
Igor Putovny [Tue, 14 May 2024 12:57:47 +0000 (14:57 +0200)] 
Add assertions

14 months agoUse memcpy with size argument based on destination size
Igor Putovny [Tue, 14 May 2024 12:27:45 +0000 (14:27 +0200)] 
Use memcpy with size argument based on destination size

14 months agoRemove unused code
Igor Putovny [Fri, 10 May 2024 13:58:02 +0000 (15:58 +0200)] 
Remove unused code

14 months agoReplace goto with else
Igor Putovny [Fri, 10 May 2024 10:33:56 +0000 (12:33 +0200)] 
Replace goto with else

14 months agoReplace for loops with memcpy
Igor Putovny [Thu, 9 May 2024 16:00:44 +0000 (18:00 +0200)] 
Replace for loops with memcpy

14 months agoReplace for loops with memcpy
Igor Putovny [Thu, 9 May 2024 15:57:28 +0000 (17:57 +0200)] 
Replace for loops with memcpy

14 months agoReorder parameters to stay consistent with the codebase
Igor Putovny [Thu, 9 May 2024 15:35:20 +0000 (17:35 +0200)] 
Reorder parameters to stay consistent with the codebase

14 months agoAdd logs and declarations, remove unused code
Igor Putovny [Thu, 9 May 2024 15:29:03 +0000 (17:29 +0200)] 
Add logs and declarations, remove unused code

14 months agoMake small changes to increase readability
Igor Putovny [Tue, 7 May 2024 16:09:29 +0000 (18:09 +0200)] 
Make small changes to increase readability

14 months agoRename
Igor Putovny [Tue, 7 May 2024 14:36:27 +0000 (16:36 +0200)] 
Rename

14 months agoRename
Igor Putovny [Fri, 12 Apr 2024 10:59:37 +0000 (12:59 +0200)] 
Rename

14 months agoConstruct trie only after protocol feed ends
Igor Putovny [Thu, 11 Apr 2024 15:34:42 +0000 (17:34 +0200)] 
Construct trie only after protocol feed ends

14 months agoDon't schedule aggregation as event but run it at the protocol feed end
Igor Putovny [Thu, 11 Apr 2024 14:53:40 +0000 (16:53 +0200)] 
Don't schedule aggregation as event but run it at the protocol feed end

14 months agoUse refactored first pass function
Igor Putovny [Thu, 11 Apr 2024 14:33:08 +0000 (16:33 +0200)] 
Use refactored first pass function

14 months agoRemove debugging logs
Igor Putovny [Thu, 11 Apr 2024 14:15:16 +0000 (16:15 +0200)] 
Remove debugging logs

14 months agoAdd more assertions
Igor Putovny [Tue, 9 Apr 2024 09:35:49 +0000 (11:35 +0200)] 
Add more assertions

14 months agoAdd modified implementation of the first pass
Igor Putovny [Tue, 9 Apr 2024 08:55:36 +0000 (10:55 +0200)] 
Add modified implementation of the first pass

14 months agoRemove debugging logs
Igor Putovny [Wed, 27 Mar 2024 11:23:19 +0000 (12:23 +0100)] 
Remove debugging logs

14 months agoAdd variable to track node depth in the trie
Igor Putovny [Wed, 27 Mar 2024 11:03:47 +0000 (12:03 +0100)] 
Add variable to track node depth in the trie

14 months agoAdd small check to the first pass of ORTC algorithm
Igor Putovny [Tue, 12 Mar 2024 15:33:23 +0000 (16:33 +0100)] 
Add small check to the first pass of ORTC algorithm

14 months agoRemove code duplication
Igor Putovny [Tue, 12 Mar 2024 11:19:17 +0000 (12:19 +0100)] 
Remove code duplication

14 months agoCheck correct address types during aggregation configuration
Igor Putovny [Thu, 7 Mar 2024 14:39:54 +0000 (15:39 +0100)] 
Check correct address types during aggregation configuration

14 months agoCollect and print prefixes according to address type
Igor Putovny [Thu, 7 Mar 2024 14:35:44 +0000 (15:35 +0100)] 
Collect and print prefixes according to address type

14 months agoCreate default net based on adress type
Igor Putovny [Thu, 7 Mar 2024 14:32:58 +0000 (15:32 +0100)] 
Create default net based on adress type

14 months agoCreate separate functions for inserting IP4 and IPv6 prefixes into trie
Igor Putovny [Thu, 7 Mar 2024 14:14:26 +0000 (15:14 +0100)] 
Create separate functions for inserting IP4 and IPv6 prefixes into trie

14 months agoUse %N for printing net addresses
Igor Putovny [Tue, 5 Mar 2024 11:31:20 +0000 (12:31 +0100)] 
Use %N for printing net addresses

14 months agoUse idiomatic functions for manipulating net_addr, remove unnecessary use of alloca
Igor Putovny [Tue, 5 Mar 2024 09:47:30 +0000 (10:47 +0100)] 
Use idiomatic functions for manipulating net_addr, remove unnecessary use of alloca

14 months agoBugfix
Igor Putovny [Thu, 29 Feb 2024 14:08:50 +0000 (15:08 +0100)] 
Bugfix

Program crashed when disabling aggregation protocol or shutting the daemon down.
Shutdown procedure attempted to remove the first route (which is the last that
was inserted) by different key than one by which it was inserted into the table.
They key is computed from net and src of each route. It turned out that src of
the last route was inadvertently changed.

14 months agoClear bit after setting it when collecting prefixes from trie
Igor Putovny [Thu, 29 Feb 2024 13:46:07 +0000 (14:46 +0100)] 
Clear bit after setting it when collecting prefixes from trie

14 months agoAdd debugging logs
Igor Putovny [Thu, 29 Feb 2024 13:40:21 +0000 (14:40 +0100)] 
Add debugging logs

14 months agoRename variables of type protocol in order to be consistent with the rest of the...
Igor Putovny [Thu, 29 Feb 2024 13:37:09 +0000 (14:37 +0100)] 
Rename variables of type protocol in order to be consistent with the rest of the codebase