Michal Rada
06301a991d
Doc: prefix match prefix pattern definition typo (in sets of prefixes definition)
2023-10-24 18:02:40 +02:00
Ondrej Zajicek
63f1c4d918
Use RTA_MAX_SIZE in rta_do_cow()
...
This allows to modify MPLS label stack in filters. Fixes a bug in
handling of 'gw_mpls' attribute.
2023-10-24 14:25:18 +02:00
Maria Matejka
108c4cfaf3
Autoconf: minor reduction of redundancy
...
Joined BIRD_CHECK_GCC_OPTION and BIRD_ADD_GCC_OPTION.
2023-10-24 12:45:08 +02:00
Maria Matejka
c4bcded8b9
Merge commit 'a5a6de58' into thread-next
...
Conflicts:
filter/config.Y
filter/data.h
filter/data.c
2023-10-24 10:39:52 +02:00
Maria Matejka
25f846ee8e
Merge commit '86598183' into thread-next
2023-10-24 09:34:43 +02:00
Maria Matejka
6c85016dd4
Merge commit 'aa70e14c' into thread-next
2023-10-24 09:34:06 +02:00
Ondrej Zajicek
c9b7b03211
CI: Update for new netlab worker
...
- Change tag from 'birdlab' to 'netlab'
- Change path of gitlab-runner home dir
- Use stayrtr from Debian
2023-10-18 03:37:59 +02:00
Ondrej Zajicek
5973031460
CI: Add MPLS tests
2023-10-16 15:34:01 +02:00
Ondrej Zajicek
b5e9e5197b
MPLS: Fix issue with recursive MPLS routes
...
Recursive MPLS routes used hostentry from the original route, which
triggered different table than MPLS table, and therefore were not
updated.
2023-10-16 15:21:36 +02:00
Maria Matejka
304c083913
Merge commit 'f5140d10' into thread-next
...
Smashed as "ours" as local changes are completely incompatible.
Relevant fixes will be merged from later commits if possible.
2023-10-13 15:18:12 +02:00
Maria Matejka
7efa3bac4f
Merge commit 'cce48c6c' into thread-next
2023-10-13 14:02:21 +02:00
Maria Matejka
fb4cf949d5
Merge commit '32427c9c' into thread-next
2023-10-13 13:49:09 +02:00
Maria Matejka
cdb95c2858
Merge commit 'f411a19b' into thread-next
2023-10-13 13:46:04 +02:00
Maria Matejka
1234453419
CI: Temporarily disabling test-ibgp-loop-big as it tends to hang
2023-10-13 13:38:15 +02:00
Maria Matejka
407e736404
Merge commit '0dbcc927' into thread-next
2023-10-13 13:36:47 +02:00
Maria Matejka
e7acdf6428
Merge commit 'fc354788' into thread-next
2023-10-13 11:32:53 +02:00
Maria Matejka
dabf2f5625
RIP: actually remove the interface structures on shutdown
...
This avoids a spurious route update fail when protocol shutdown collides
with an incoming RIP packet.
2023-10-13 11:23:29 +02:00
Maria Matejka
21b75c472d
Merge commit 'e3c0eca9' into thread-next
2023-10-13 11:04:39 +02:00
Maria Matejka
b901cca2df
Protocol: better granularity of pool management
...
There are now 3 different pools with specific lifetime. All of these are
available since protocol start, anyway they get freed in different
moments.
First, pool_up gets freed immediately after announcing PS_STOP, to e.g.
stop all timers and events regularly updating the routing table when the
imports are already flushing.
Then, pool_inloop gets freed just before the protocol loop is finally
stopped, after all channels, imports and exports and other hooks are
cleaned up.
And finally, the pool itself is freed the last. Unless you explicitly
need the early free, use this pool.
2023-10-13 10:22:09 +02:00
Maria Matejka
767b7b22a0
Merge commit '5121101136cb80151a9361c63dc4822afeb44eef' into thread-next
2023-10-12 14:12:33 +02:00
Maria Matejka
afb9d5d450
Channel: using a separate pool for export data
2023-10-12 11:38:23 +02:00
Maria Matejka
3cfa9ac253
Merge commit 'e2f08c382a2adbbbd94c5cd7d996ce9175e0fb9c' into HEAD
2023-10-12 11:38:16 +02:00
Maria Matejka
b708dd367a
Merge commit '4972590e' into thread-next
2023-10-12 11:05:28 +02:00
Maria Matejka
e2f08c382a
BGP/BMP: fixed build with no bmp at all
2023-10-12 10:57:55 +02:00
Maria Matejka
4972590ea5
BGP: dropped bgp_fix_attr_flags() (useless remnant from previous versions)
2023-10-12 09:29:09 +02:00
Maria Matejka
2cbf7c48ad
Merge commit 'b20b6a9ad204f2648ed3d62720435bb21dfb947c' into thread-next
2023-10-11 22:26:41 +02:00
Maria Matejka
b20b6a9ad2
BGP/BMP: Moved temporary allocation checks to the freeing functions
2023-10-11 22:23:34 +02:00
Maria Matejka
65ced75e95
Merge branch 'mq-bmp-to-merge-to-v3' into thread-next
2023-10-11 22:06:18 +02:00
Maria Matejka
1b0f320371
Merge commit '2d988f71a5c3caf3b56426a45d4d234c4fd4fce7' into thread-next
2023-10-11 14:16:39 +02:00
Maria Matejka
4b5757ee52
Merge commit '6e908775' into thread-next
2023-10-11 13:28:30 +02:00
Maria Matejka
2ed9b2d769
Merge branch 'mq-bmp-to-merge-to-v3' into HEAD
2023-10-10 15:05:50 +02:00
Ondrej Zajicek
2d988f71a5
Nest: Use generic rte_announce() also for import tables
...
Remove special rte_announce_in(), so we can use generic rte_announce()
for bot feed and notifications.
2023-10-10 15:04:17 +02:00
Ondrej Zajicek
6e908775cb
Conf: Improve handling of keywords
...
For whatever reason, parser allocated a symbol for every parsed keyword
in each scope. That wasted time and memory. The effect is worsened with
recent changes allowing local scopes, so keywords often promote soft
scopes (with no symbols) to real scopes.
Do not allocate a symbol for a keyword. Take care of keywords that could
be promoted to symbols (kw_sym) and do it explicitly.
2023-10-10 14:28:01 +02:00
Ondrej Zajicek
6b2c9b7c66
Conf: Fix symbol lookup
...
The symbol table used just symbol name as a key, and used a trick with
active flag to find symbols in active scopes with one hash table lookup.
The disadvantage is that it can degenerate to O(n) for negative queries
in situations where are many symbols with the same name in different
scopes.
Thanks to Yanko Kaneti for the bugreport.
2023-10-10 14:27:36 +02:00
Ondrej Zajicek
0e1fbaa5b2
NEWS and version update
2023-10-06 18:53:25 +02:00
Ondrej Zajicek
23f94b1368
Doc: Minor fixes
2023-10-06 18:52:02 +02:00
Ondrej Zajicek
c5c3a22bcc
Conf: Bytestrings with hex: should use the same general format as ones without.
...
Either hex:01234567, or hex:01:23:45:67. No confusing formats like
hex:0123:4567🆎 cdef, which looks like there is an implicit zero byte.
2023-10-06 04:59:47 +02:00
Pavel Šorejs
e83beb70bd
KRT: Allow to learn routes with RTPROT_KERNEL
...
The Kernel protocol, even with the option 'learn' enabled, ignores
direct routes created by the OS kernel (on Linux these are routes
with rtm_protocol == RTPROT_KERNEL).
Implement optional behavior where both OS kernel and third-party routes
are learned, it can be enabled by 'learn all' option.
Minor changes by committer.
2023-10-06 04:55:56 +02:00
Ondrej Zajicek
57aa077227
BGP: Improve custom BGP attributes
...
- Implement EA_GET for custom BGP attributes
- Forbid EA_SET on existing opaque attributes
- Forbid redefining existing attributes
- Document possible compatibility problems
2023-10-05 21:54:25 +02:00
Ondrej Zajicek
ba01a6f2e6
MPLS: Handle compatibility with old configs
...
Old configs do not define MPLS domains and may use a static protocol
to define static MPLS routes.
When MPLS channel is the only channel of static protocol, handle it
as a main channel. Also, define implicit MPLS domain if needed and
none is defined.
2023-10-05 17:54:43 +02:00
Ondrej Zajicek
de09fda5dc
Filter: Fix scope handling in for loops
...
Changes in scope implementation broke scope handling in for loops.
The term in for loops is supposed to be parsed in the parent scope.
2023-10-05 14:26:22 +02:00
Ondrej Zajicek
abae806efd
Conf: Fix 'show symbols'
...
Seems like the root scope was not marked as active.
2023-10-04 20:16:13 +02:00
Ondrej Zajicek
ab47c2ae46
BGP: Custom attribute definitions should use cfg_alloc(), not malloc()
...
Otherwise we would get memory leaks.
2023-10-04 20:16:13 +02:00
Maria Matejka
d41b06238d
Filter: explicitly forbidden for-loop with pre-defined variable
2023-10-04 19:57:55 +02:00
Ondrej Zajicek
6a242b3ec6
IO: Fix race condition in event processing
...
When regular event was added from work event, we did remember that
regular event list was empty and therefore we did not use zero time
in poll(). This leads to ~3 s latency in route reload during
reconfiguration.
2023-10-04 17:36:03 +02:00
Ondrej Zajicek
0bfa216f49
Doc: Fix syntax errors in SGML
2023-10-04 15:25:05 +02:00
Ondrej Zajicek
be09b030ed
MPLS: Update to support and use 64bit source id
2023-10-04 15:00:24 +02:00
Ondrej Zajicek
cab5fce2b6
Doc: L3VPN documentation
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
8a70885694
Doc: MPLS documentation
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
8f5511dafb
L3VPN: Import/export target reconfiguration
2023-10-04 13:12:05 +02:00