]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
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

14 months agoCreate and assign net to default route
Igor Putovny [Thu, 22 Feb 2024 14:07:40 +0000 (15:07 +0100)] 
Create and assign net to default route

14 months agoChange a few logs
Igor Putovny [Thu, 22 Feb 2024 13:56:57 +0000 (14:56 +0100)] 
Change a few logs

14 months agoRefactor functions for comparing buckets and computing union and intersection of...
Igor Putovny [Mon, 29 Jan 2024 12:13:06 +0000 (13:13 +0100)] 
Refactor functions for comparing buckets and computing union and intersection of buckets

14 months agoRun correct aggregation (by nets or by attributes) according to configuration
Igor Putovny [Fri, 5 Jan 2024 12:48:02 +0000 (13:48 +0100)] 
Run correct aggregation (by nets or by attributes) according to configuration

14 months agoCollect prefixes in trie after aggregation and export new routes
Igor Putovny [Fri, 5 Jan 2024 12:43:53 +0000 (13:43 +0100)] 
Collect prefixes in trie after aggregation and export new routes

14 months agoRemove const from aggregator_bucket pointers in trie nodes
Igor Putovny [Fri, 5 Jan 2024 12:37:35 +0000 (13:37 +0100)] 
Remove const from aggregator_bucket pointers in trie nodes

14 months agoRefactor printing prefixes in trie
Igor Putovny [Wed, 20 Dec 2023 11:22:53 +0000 (12:22 +0100)] 
Refactor printing prefixes in trie

14 months agoRemove configuration rule enforcing aggregation on NET
Igor Putovny [Wed, 20 Dec 2023 10:53:43 +0000 (11:53 +0100)] 
Remove configuration rule enforcing aggregation on NET

14 months agoBugfix
Igor Putovny [Wed, 13 Dec 2023 10:16:12 +0000 (11:16 +0100)] 
Bugfix

Due to wrong cast of void pointer, pointers to potential buckets
were compared and eventually sorted in wrong order, thus assigning
wrong buckets to trie nodes.
This caused some trie nodes to stay in trie even though they should
have been removed. Consequently, trie contained superfluos prefixes
after the algorithm finished.

Since pointers were never dereferenced, only compared by their numeric
values in the comparator function, program did not crash (even though
pointers could be NULL because of the incorrect cast to double pointer
and single dereference).

14 months agoAdd small changes to test script
Igor Putovny [Wed, 6 Dec 2023 09:44:15 +0000 (10:44 +0100)] 
Add small changes to test script

14 months agoRemove unused code
Igor Putovny [Wed, 6 Dec 2023 09:37:36 +0000 (10:37 +0100)] 
Remove unused code

14 months agoAdd script to prepare test case run
Igor Putovny [Tue, 5 Dec 2023 14:13:06 +0000 (15:13 +0100)] 
Add script to prepare test case run

14 months agoCreate default empty route for aggregation
Igor Putovny [Tue, 5 Dec 2023 13:32:06 +0000 (14:32 +0100)] 
Create default empty route for aggregation

14 months agoAdd more assertions
Igor Putovny [Tue, 5 Dec 2023 13:30:13 +0000 (14:30 +0100)] 
Add more assertions

14 months agoMake pointer to aggregator bucket const
Igor Putovny [Tue, 5 Dec 2023 13:25:08 +0000 (14:25 +0100)] 
Make pointer to aggregator bucket const

14 months agoDo not discard bucket from internal nodes
Igor Putovny [Wed, 22 Nov 2023 12:09:48 +0000 (13:09 +0100)] 
Do not discard bucket from internal nodes

14 months agoDo not assign bucket of any prefix to the root node
Igor Putovny [Wed, 22 Nov 2023 12:01:59 +0000 (13:01 +0100)] 
Do not assign bucket of any prefix to the root node

14 months agoCreate event to run ORTC algorithm exactly once
Igor Putovny [Tue, 21 Nov 2023 11:58:24 +0000 (12:58 +0100)] 
Create event to run ORTC algorithm exactly once

14 months agoRun ORTC algorithm
Igor Putovny [Tue, 21 Nov 2023 11:41:14 +0000 (12:41 +0100)] 
Run ORTC algorithm

14 months agoAdd assertions and general code improvements
Igor Putovny [Thu, 16 Nov 2023 16:14:13 +0000 (17:14 +0100)] 
Add assertions and general code improvements

14 months agoRemove unused code
Igor Putovny [Thu, 16 Nov 2023 15:56:13 +0000 (16:56 +0100)] 
Remove unused code

14 months agoAutoconf: minor reduction of redundancy
Maria Matejka [Tue, 24 Oct 2023 10:40:52 +0000 (12:40 +0200)] 
Autoconf: minor reduction of redundancy

Joined BIRD_CHECK_GCC_OPTION and BIRD_ADD_GCC_OPTION.

14 months agoAllow sanitization compiler option
Igor Putovny [Tue, 24 Oct 2023 11:46:28 +0000 (13:46 +0200)] 
Allow sanitization compiler option

14 months agoRename constant
Igor Putovny [Fri, 20 Oct 2023 11:13:47 +0000 (13:13 +0200)] 
Rename constant

14 months agoFix how bucket for new leaf nodes is chosen
Igor Putovny [Fri, 20 Oct 2023 11:11:49 +0000 (13:11 +0200)] 
Fix how bucket for new leaf nodes is chosen

14 months agoUse net_addr_ip4 instead of ip4_addr for printing prefixes
Igor Putovny [Fri, 20 Oct 2023 10:20:12 +0000 (12:20 +0200)] 
Use net_addr_ip4 instead of ip4_addr for printing prefixes

14 months agoRemove unused code
Igor Putovny [Fri, 20 Oct 2023 09:59:23 +0000 (11:59 +0200)] 
Remove unused code

14 months agoAdd comments
Igor Putovny [Wed, 18 Oct 2023 10:12:27 +0000 (12:12 +0200)] 
Add comments

14 months agoChange order of parameters in a few functions
Igor Putovny [Wed, 18 Oct 2023 10:06:27 +0000 (12:06 +0200)] 
Change order of parameters in a few functions

14 months agoSimplify delete_trie() function
Igor Putovny [Fri, 13 Oct 2023 13:26:03 +0000 (15:26 +0200)] 
Simplify delete_trie() function

14 months agoAssign bucket of ancestor node to leaf node
Igor Putovny [Fri, 6 Oct 2023 12:38:07 +0000 (14:38 +0200)] 
Assign bucket of ancestor node to leaf node

14 months agoFix incorrect implementation of the third pass
Igor Putovny [Fri, 6 Oct 2023 12:19:04 +0000 (14:19 +0200)] 
Fix incorrect implementation of the third pass

14 months agoAssign route bucket only to the last inserted node
Igor Putovny [Fri, 6 Oct 2023 11:50:05 +0000 (13:50 +0200)] 
Assign route bucket only to the last inserted node

14 months agoFix argument order in several functions
Igor Putovny [Fri, 6 Oct 2023 11:40:11 +0000 (13:40 +0200)] 
Fix argument order in several functions

14 months agoAdd a few comments, print prefixes after aggregation
Igor Putovny [Fri, 6 Oct 2023 10:52:08 +0000 (12:52 +0200)] 
Add a few comments, print prefixes after aggregation

14 months agoExtend remove_node() with deleting root node
Igor Putovny [Thu, 21 Sep 2023 11:33:17 +0000 (13:33 +0200)] 
Extend remove_node() with deleting root node

14 months agoFix aggregator_bucket_unionize()
Igor Putovny [Thu, 21 Sep 2023 10:37:37 +0000 (12:37 +0200)] 
Fix aggregator_bucket_unionize()

The last two while loops were incorrectly placed inside the first while loop

14 months agoFix const warning, add few comments
Igor Putovny [Wed, 20 Sep 2023 11:28:42 +0000 (13:28 +0200)] 
Fix const warning, add few comments

14 months agoDelete trie during aggregator shutdown
Igor Putovny [Wed, 20 Sep 2023 11:05:49 +0000 (13:05 +0200)] 
Delete trie during aggregator shutdown

14 months agoRefactor and fix aggregator_bucket_unionize()
Igor Putovny [Tue, 19 Sep 2023 15:00:16 +0000 (17:00 +0200)] 
Refactor and fix aggregator_bucket_unionize()

14 months agoFix aggregator_bucket_intersect(), add comments and fix naming
Igor Putovny [Tue, 19 Sep 2023 10:06:52 +0000 (12:06 +0200)] 
Fix aggregator_bucket_intersect(), add comments and fix naming

14 months agoRemove unused code
Igor Putovny [Mon, 18 Sep 2023 12:47:04 +0000 (14:47 +0200)] 
Remove unused code

14 months agoAdd new implementation of third_pass() and remove old implementation
Igor Putovny [Mon, 18 Sep 2023 12:18:25 +0000 (14:18 +0200)] 
Add new implementation of third_pass() and remove old implementation

14 months agoMove trie initialization to aggregator_start()
Igor Putovny [Fri, 15 Sep 2023 09:04:37 +0000 (11:04 +0200)] 
Move trie initialization to aggregator_start()

14 months agoFix previous version, aggregator is now stable but untested
Igor Putovny [Thu, 14 Sep 2023 07:33:14 +0000 (09:33 +0200)] 
Fix previous version, aggregator is now stable but untested

14 months agoImplement basics of prefix aggregation functionality
Igor Putovny [Mon, 11 Sep 2023 10:38:19 +0000 (12:38 +0200)] 
Implement basics of prefix aggregation functionality

14 months agoAggregator: Fixed hashing of adata
Maria Matejka [Wed, 12 Jul 2023 13:11:00 +0000 (15:11 +0200)] 
Aggregator: Fixed hashing of adata

14 months agoAggregator moved to a separate protocol
Maria Matejka [Fri, 23 Jun 2023 11:18:39 +0000 (13:18 +0200)] 
Aggregator moved to a separate protocol

Also updated data structures and reconfigure.

Known bug: the hash doesn't take adata into account. Needs fixing!

14 months agoAggregator: polishing of filter API
Maria Matejka [Fri, 23 Jun 2023 09:28:19 +0000 (11:28 +0200)] 
Aggregator: polishing of filter API

14 months agoBasic route aggregation
Igor Putovny [Wed, 21 Jun 2023 11:15:07 +0000 (13:15 +0200)] 
Basic route aggregation

User can specify list of route attributes in the configuration file
and run route aggregation on the export side of the pipe protocol.
Routes are sorted and for every group of equivalent routes
new route is created and exported to the routing table.
It is also possible to specify filter which will run for every
route before aggregation.
Furthermore, it will be possible to set attributes of new routes
according to attributes of the aggregated routes.

This is a work in progress.