Commit Graph
4235 Commits
Author SHA1 Message Date
Maria Matejka 45832e5385 Sockets are forcibly closed synchronously.
This enables birdloop merging (future commits) and also fixes possible
future bugs when trying to reopen sockets too early.
2022-11-10 15:52:04 +01:00
Maria Matejka 2fa31ea38d Merge remote-tracking branch 'origin/mq-test-submodule' into HEAD 2022-11-09 11:54:32 +01:00
Maria Matejka 01021b2e54 Netlab tests can be called from this repository.
To allow this, I added bird-tools as a submodule (aux-tools). To run
netlab tests, call

	make aux-test-prepare
	make netlab-tests

and wait patiently until all the tests finish.

You may also request single netlab tests:

	make netlab-test-ospf-base

To rerun the tests, run

	make netlab-tests-reset

and all the test results are wiped to run a fresh batch.
2022-11-09 11:39:01 +01:00
Maria Matejka 84545a26cc Added more netlab tests for automatic run.
This commit uses bird-tools in version
f35e8bce829f4bff61ec7eb07ec9c67aa867bc9a
2022-11-08 11:19:12 +01:00
Maria Matejka 47e4e97db4 Merge remote-tracking branch 'origin/master' into thread-next 2022-11-07 16:52:27 +01:00
Maria Matejka 7bbd0b5a3b Merge commit '37b64441' into thread-next 2022-11-07 10:28:01 +01:00
Maria Matejka 40bae8e1b7 Merge commit '32425297' into thread-next 2022-11-07 10:25:52 +01:00
Maria Matejka 54179a1ab3 Merge commit '8f79e6b9' into thread-next 2022-11-07 10:24:56 +01:00
Maria Matejka 96d3804057 Merge commit '8478de88' into thread-next 2022-11-07 10:18:19 +01:00
Maria Matejka 34e803c6c3 Merge commit '54430df9' into thread-next 2022-11-07 10:09:01 +01:00
Maria Matejka d2d83c4777 Merge commit '0f2be469' into thread-next 2022-11-07 09:51:21 +01:00
Maria Matejka 57308fb277 Page allocator: Fixed minor bugs and added commentary 2022-11-03 12:38:57 +01:00
Maria Matejka 9d03c3f56c Memory pages are not munmapped, instead we just madvise()
Memory unmapping causes slow address space fragmentation, leading in
extreme cases to failing to allocate pages at all. Removing this problem
by keeping all the pages allocated to us, yet calling madvise() to let
kernel dispose of them.

This adds a little complexity and overhead as we have to keep the
pointers to the free pages, therefore to hold e.g. 1 GB of 4K pages with
8B pointers, we have to store 2 MB of data.
2022-11-02 12:56:54 +01:00
Maria Matejka 37b6444137 Moved config-related allocations to config_pool and showing its size in memory usage 2022-11-01 16:38:24 +01:00
Alexander ZubkovandOndrej Zajicek 5aebce5e0c Doc: Add documentation for "show route (import|export) table" 2022-10-18 04:25:29 +02:00
Ondrej Zajicek e471f9e0fb Filter: Fix handling of variables in anonymous filters
Define scope for anonymous filters, and also explicitly distinguish block
scopes and function/filter scopes instead of using anonymous / named
distinction.

Anonymous filters forgot to push scope, so variables for them were in
fact defined in the top scope and therefore they shared a frame. This got
broken after rework of variables, which assumed that there is a named
scope for every function/filter.
2022-10-18 03:58:19 +02:00
Maria Matejka 8d7f516b2a Attribute blocks are now allocated from slabs instead of malloc() 2022-10-12 18:04:39 +02:00
Maria Matejka d3af586da4 Removed an accidentally merged debug call introduced in 5395880908 2022-10-12 18:02:34 +02:00
Ondrej Zajicek 3242529750 Netlink: Parse onlink flag even on direct routes
While onlink flag is meaningful only with explicit next hops, it can be
defined also on direct routes. Parse it also in this case to avoid
periodic updates of the same route.

Thanks to Marcin Saklak for the bugreport.
2022-10-12 17:57:26 +02:00
Maria Matejka a9fe913a41 GDB connection: resource pools don't keep free pages 2022-10-12 14:23:50 +02:00
Maria Matejka ed7336e06e Merge commit 'ab0994a1' into thread-next 2022-10-12 11:34:14 +02:00
Maria Matejka a1c591dc7c Merge commit '57d0ecb9' into thread-next 2022-10-12 11:30:38 +02:00
Maria Matejka ff24f027a6 Merge commit '53958809' into thread-next 2022-10-12 11:30:27 +02:00
Maria Matejka 217a724d5a Merge commit '821344c7' into thread-next 2022-10-12 11:24:26 +02:00
Maria Matejka c4957647b4 Merge commit '4ba991f1' into thread-next 2022-10-12 11:24:23 +02:00
Maria Matejka 2b7829734a Merge commit '44dbedbe' into thread-next 2022-10-12 11:16:44 +02:00
Maria Matejka f182771f96 Fixed SSH known hosts checking with older versions of libssh 2022-10-12 11:01:38 +02:00
Maria Matejka 2d99f12773 Tamed slab signedness warning on 32-bit architectures 2022-10-12 10:44:18 +02:00
Maria Matejka fdacb89a53 BGP refeed and reload with Adj-RIB-In/Out is done without route refresh 2022-10-12 10:05:16 +02:00
Maria Matejka c1cb2dc31c TES_HUNGRY doesn't inhibit export cleanup any more 2022-10-12 10:05:16 +02:00
Maria Matejka 6d5929be24 More thorough logging of route update corner cases 2022-10-12 10:05:16 +02:00
Maria Matejka 26552a7ec8 Fixed BGP reload limits 2022-10-12 10:05:14 +02:00
Maria Matejka b83a9d5f9a Limited value must never go under zero 2022-10-12 10:05:14 +02:00
Maria Matejka 02dc895550 CLI fix to break busy-loop waiting for corked show-route exports 2022-10-12 10:05:14 +02:00
Maria Matejka 2ae32374dd Fixed export hook stopping in some corner cases.
Notably, it's in a corked state and also when refeed is pending.
2022-10-12 10:05:14 +02:00
Maria Matejka 6abef2b20b BGP: End route refresh before another starts 2022-10-12 10:03:55 +02:00
Ondrej Zajicek 8f79e6b93e BGP: Add option 'next hop prefer global'
Add BGP channel option 'next hop prefer global' that modifies BGP
recursive next hop resolution to use global next hop IPv6 address instead
of link-local next hop IPv6 address for immediate next hop of received
routes.
2022-10-10 05:06:19 +02:00
Maria Matejka e1701128bf Poll errors must also drop a corefile. And we shouldn't run sockets when sockets have changed 2022-10-05 16:33:34 +02:00
Maria Matejka 4d687d7aec Fixed previously untested paths in RPKI 2022-10-05 16:33:34 +02:00
Maria Matejka 1e01721525 Merge commit 'dc9351d3' into HEAD 2022-10-05 15:17:51 +02:00
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