Ondrej Zajicek
c5c9bd811b
Filter: Ethernet and EVPN support
2024-01-31 17:35:25 +01:00
Ondrej Zajicek
dc17f1982f
BGP: PMSI tunnel attribute support
...
PMSI tunnel attribute is required for EVPN IMET routes.
2024-01-31 17:35:25 +01:00
Ondrej Zajicek
f0bbb5b049
EVPN: BGP/MPLS Ethernet VPNs using VXLAN tunnels - preliminary support
...
Mostly based on L3VPN
2024-01-31 17:35:25 +01:00
Ondrej Zajicek
0c02b06329
Bridge: Linux bridge interface - preliminary support
2024-01-31 17:35:25 +01:00
Ondrej Zajicek
b5c040d0cf
Nest: Ethernet net type - preliminary support
2024-01-31 14:31:33 +01:00
Ondrej Zajicek
2f4f790a16
BGP: EVPN NLRI - preliminary support
2024-01-31 14:17:50 +01:00
Ondrej Zajicek
b32c279606
Nest: EVPN net type - preliminary support
2024-01-31 14:17:50 +01:00
Ondrej Zajicek
32d6855a3f
Lib: Extend bsnprintf() for byte strings
...
Add support for %Xb directive to print fixed-length byte strings,
formatted as hexadecimal sequences separated by colon.
2024-01-31 14:17:50 +01:00
Ondrej Zajicek
f40e2bc270
Nest: Fix bug in recursive routes with MPLS-labeled nexthops
...
When a recursive route with MPLS-labeled nexthop was exported to kernel
and read back, the nexthop_same() failed due to different labels_orig
field and kernel protocol reinstalled it unnecessarily.
For comparing hext hops, route cache has to distinguish ones with
different labels_orig, but KRT has to ignore that, so we need two
nexthop compare functions.
Thanks to Marcel Menzel for the bugreport.
2024-01-27 17:38:06 +01:00
Katerina Kubecova
472be46f7a
Filter: Tests for net_addr
...
Minor changes by committer.
2024-01-22 07:08:11 +01:00
Ondrej Zajicek
13c6cf8a74
Trivial code cleanups
2024-01-22 06:29:14 +01:00
Ondrej Zajicek
2b6bd8ca3a
OSPF: Cleanup some warnings
2023-12-13 18:07:38 +01:00
Ondrej Zajicek
7d2c7d59a3
Nest: Fix memory alignment in attribute cache
...
In attribute cache, adata structures were stored densely in one memory
block, without regard to alignment. Let's force at least u32 alignment.
2023-12-13 17:46:16 +01:00
Ondrej Zajicek
2c7555cf2a
Log: Add support for UDP logging
...
Add support for UDP logging, using RFC 3164 syslog protocol.
Based on the patch from Alexander Zubkov <green@qrator.net>, thanks!
2023-12-13 04:01:09 +01:00
Maria Matejka
8cf1be6f67
Merge commit 'bb094fb6'
2023-12-08 12:09:30 +01:00
Maria Matejka
bb094fb6c7
Refactoring also net_roa_check
...
Having 4 functions doing almost the same is more mess than three macros.
2023-12-08 12:08:28 +01:00
Maria Matejka
4aac1b259f
Merge commit '54ddf90f'
2023-12-08 08:30:30 +01:00
Maria Matejka
54ddf90f63
Conf: debug tables
...
For now just a dummy config but it is needed for forward
compatibility with v3.
2023-12-07 14:38:05 +01:00
Maria Matejka
9a91ea52db
Refactoring of net_route
2023-12-07 14:11:16 +01:00
Maria Matejka
3b48dc9bce
Table: Adding route refresh begin and end debug messages
2023-12-07 14:11:16 +01:00
Katerina Kubecova
bcf2327425
BGP: Send hold timer
...
Implement BGP Send hold timer according to draft-ietf-idr-bgp-sendholdtimer.
The Send hold timer drops the session if the neighbor is sending keepalives,
but does not receive our messages, causing the TCP connection to stall.
2023-12-05 04:14:45 +01:00
Ondrej Zajicek
3fb06fea1d
BGP: Add options to require BGP capabilities
...
Some BGP capabilities change the BGP behavior in a significant way, so if
the configuration depends on it, it is better to not establish BGP
session when the capability is not available.
Add several BGP option to require individual BGP capabilities during
session negotiation.
2023-11-23 20:54:22 +01:00
Ondrej Zajicek
b6923f6386
BGP: Simplify capability handling
2023-11-23 17:18:04 +01:00
Soha Jin
31aa62ae6d
OSPF: On physical PtP links, skip next-hop resolving
...
Signed-off-by: Soha Jin <soha@jin.sh>
Co-developed-by: Wende Tan <twd2.me@gmail.com>
2023-11-09 14:33:25 +01:00
Ondrej Zajicek
a740054db5
Nest: Minor fixes in MPLS
2023-10-25 18:25:46 +02:00
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
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
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
8f5511dafb
L3VPN: Import/export target reconfiguration
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
cab5fce2b6
Doc: L3VPN documentation
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
d8130da86b
BGP, L3VPN: Fix MPLS channel reload
...
When a MPLS channel is reloaded, it should reload all regular MPLS-aware
channels. This causes re-evaluation of routes in FEC map and possibly
reannouncement of MPLS routes.
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
8a70885694
Doc: MPLS documentation
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
a7a9df8639
MPLS: Implement FEC map reconfiguration
...
This allows changing label policy or label range without restart.
2023-10-04 13:12:05 +02:00
Ondrej Zajicek
9b775859cd
MPLS: Handle label allocation failures
2023-10-04 13:12:05 +02:00