]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
14 months agoAvoiding RCU synchronization deadlock when locking in critical section
Maria Matejka [Thu, 16 May 2024 08:22:19 +0000 (10:22 +0200)] 
Avoiding RCU synchronization deadlock when locking in critical section

Explicitly marking domains eligible for RCU synchronization. It's then
forbidden to lock these domains in RCU critical section to avoid
possible deadlock.

14 months agoRCU Unwinder refactored from route table to a separate structure
Maria Matejka [Tue, 14 May 2024 08:46:10 +0000 (10:46 +0200)] 
RCU Unwinder refactored from route table to a separate structure

14 months agoTable feeds are now lockless
Maria Matejka [Wed, 3 Apr 2024 12:47:15 +0000 (14:47 +0200)] 
Table feeds are now lockless

This commit makes the route chains in the tables atomic. This allows not
only standard exports but also feeds and bulk exports to be processed
without ever locking the table.

Design note: the overall data structures are quite brittle. We're using
RCU read-locks to keep track about readers, and we're indicating ongoing
work on the data structures by prepending a REF_OBSOLETE sentinel node
to make every reader go waiting.

All the operations are intended to stay inside nest/rt-table.c and it
may be even best to further refactor the code to hide the routing table
internal structure inside there. Nobody shall definitely write any
routines manipulating live routes in tables from outside.

14 months agoFixed flush condition when stale cycle valid/set indicators wrap around
Maria Matejka [Sat, 20 Apr 2024 16:10:42 +0000 (18:10 +0200)] 
Fixed flush condition when stale cycle valid/set indicators wrap around

14 months agoKernel: replaced synchronous prune by a refeed
Maria Matejka [Wed, 3 Apr 2024 11:31:36 +0000 (13:31 +0200)] 
Kernel: replaced synchronous prune by a refeed

14 months agoLockless hostentry resolution
Maria Matejka [Thu, 4 Apr 2024 09:38:52 +0000 (11:38 +0200)] 
Lockless hostentry resolution

Now the hostentry doesn't need to lock table, instead it tracks the
hostentry version and retries if the hostentry changed while updating.

14 months agoCached route attributes now have explicitly marked layers
Maria Matejka [Thu, 4 Apr 2024 10:01:35 +0000 (12:01 +0200)] 
Cached route attributes now have explicitly marked layers

Also the rta_* functions renamed to ea_* functions

14 months agoNetindex: Dropping tmp handle mechanism in favor of deferred lfuc_unlock
Maria Matejka [Mon, 1 Apr 2024 18:04:14 +0000 (20:04 +0200)] 
Netindex: Dropping tmp handle mechanism in favor of deferred lfuc_unlock

14 months agoFixed all implicit seq_cst warnings caused by the previous commit
Maria Matejka [Mon, 1 Apr 2024 14:01:26 +0000 (16:01 +0200)] 
Fixed all implicit seq_cst warnings caused by the previous commit

14 months agoEnabling warnings for implicit seq_cst in atomic access
Maria Matejka [Mon, 1 Apr 2024 13:24:28 +0000 (15:24 +0200)] 
Enabling warnings for implicit seq_cst in atomic access

14 months agoDoc: short migration info for BIRD 2 -> 3
Maria Matejka [Wed, 27 Mar 2024 11:17:31 +0000 (12:17 +0100)] 
Doc: short migration info for BIRD 2 -> 3

14 months agoFixed announcement inconsistency between feeds and regular exports
Maria Matejka [Sun, 7 Apr 2024 12:11:27 +0000 (14:11 +0200)] 
Fixed announcement inconsistency between feeds and regular exports

14 months agoFixed best route announcements after NHU
Maria Matejka [Sun, 7 Apr 2024 11:23:59 +0000 (13:23 +0200)] 
Fixed best route announcements after NHU

When more routes in one net changed at once, the best route
announcements were inconsistent which confused exporters.

14 months agoRoute flag REF_OBSOLETE
Maria Matejka [Wed, 13 Mar 2024 12:46:16 +0000 (13:46 +0100)] 
Route flag REF_OBSOLETE

Marking routes obsolete when being removed from table, just to be sure.

14 months agoRemoved the obsolete birdloop flagger
Maria Matejka [Tue, 5 Mar 2024 13:52:50 +0000 (14:52 +0100)] 
Removed the obsolete birdloop flagger

This was useful when events were locking. As now sending events is lockless,
we can drop this obsolete routine for good.

14 months agoSimplified table deletion (one less step)
Maria Matejka [Tue, 5 Mar 2024 13:48:37 +0000 (14:48 +0100)] 
Simplified table deletion (one less step)

14 months agoHostentry usecount converted to lfuc
Maria Matejka [Tue, 5 Mar 2024 13:25:52 +0000 (14:25 +0100)] 
Hostentry usecount converted to lfuc

14 months agoLockfree usecount: deferring unlocks to the metaloop
Maria Matejka [Tue, 5 Mar 2024 12:57:11 +0000 (13:57 +0100)] 
Lockfree usecount: deferring unlocks to the metaloop

This allows us for easy temporary locks without additional burden of explicit cleanup.

14 months agoRoute table export journal converted to the generic structure
Maria Matejka [Thu, 29 Feb 2024 13:04:05 +0000 (14:04 +0100)] 
Route table export journal converted to the generic structure

14 months agoLock free journal refactored into a separate data structure
Maria Matejka [Thu, 29 Feb 2024 13:03:30 +0000 (14:03 +0100)] 
Lock free journal refactored into a separate data structure

14 months agoReplacing the NHU table loop flag with a proper event
Maria Matejka [Thu, 22 Feb 2024 12:31:11 +0000 (13:31 +0100)] 
Replacing the NHU table loop flag with a proper event

14 months agoFlowspec links don't peruse the all-hooks list for lookup
Maria Matejka [Sun, 11 Feb 2024 21:58:29 +0000 (22:58 +0100)] 
Flowspec links don't peruse the all-hooks list for lookup

14 months agoRefactoring: back-merged export data structures
Maria Matejka [Fri, 9 Feb 2024 16:02:44 +0000 (17:02 +0100)] 
Refactoring: back-merged export data structures

Table-specific structures inheriting commons are too crazy.

14 months agoExport table dump temporarily switched off
Maria Matejka [Fri, 9 Feb 2024 14:52:26 +0000 (15:52 +0100)] 
Export table dump temporarily switched off

14 months agoAdded and explicit target table to the ROA subscription object
Maria Matejka [Thu, 8 Feb 2024 13:34:54 +0000 (14:34 +0100)] 
Added and explicit target table to the ROA subscription object

14 months agoRefactoring of struct rt_pending_export
Maria Matejka [Wed, 7 Feb 2024 16:30:43 +0000 (17:30 +0100)] 
Refactoring of struct rt_pending_export

Now it stores const rte * instead of struct rte_storage * to allow for
different storage backends.

14 months agoMissing definition of RTAX_FASTOPEN_NO_COOKIE shouldn't kill the whole build
Maria Matejka [Sun, 19 May 2024 10:19:49 +0000 (12:19 +0200)] 
Missing definition of RTAX_FASTOPEN_NO_COOKIE shouldn't kill the whole build

14 months agoMerge a branch of fixes and updates needed for stabilization of v3.
Maria Matejka [Sun, 19 May 2024 09:28:03 +0000 (11:28 +0200)] 
Merge a branch of fixes and updates needed for stabilization of v3.

    Merge commit 'c06ce709' into HEAD

14 months agoL3VPN: Setting the bgp_ext_community flags properly
Maria Matejka [Sun, 19 May 2024 09:27:18 +0000 (11:27 +0200)] 
L3VPN: Setting the bgp_ext_community flags properly

14 months agoStatic: Unlock IGP tables on cleanup to avoid problems with hostentry unlocking
Maria Matejka [Tue, 5 Mar 2024 11:17:56 +0000 (12:17 +0100)] 
Static: Unlock IGP tables on cleanup to avoid problems with hostentry unlocking

14 months agoLoop run waits until pingers finish
Maria Matejka [Fri, 17 May 2024 21:21:38 +0000 (23:21 +0200)] 
Loop run waits until pingers finish

This ensures that if somebody passes an event to a loop which
has just started executing, then the event gets picked up. Otherwise
there is a race condition causing stray events pending in queue
but without the ping (because the run actually finishes too fast
to pickup the later events).

14 months agoIO Loop: provide information about current loop and task time limit
Maria Matejka [Wed, 3 Apr 2024 10:05:02 +0000 (12:05 +0200)] 
IO Loop: provide information about current loop and task time limit

14 months agoAllowing to send events to the metaloop's priority list
Maria Matejka [Fri, 5 Apr 2024 12:11:38 +0000 (14:11 +0200)] 
Allowing to send events to the metaloop's priority list

14 months agoNet: explicit generic-to-specific typecast with checking
Maria Matejka [Fri, 1 Mar 2024 15:31:18 +0000 (16:31 +0100)] 
Net: explicit generic-to-specific typecast with checking

14 months agoBitops: bitflip function
Maria Matejka [Tue, 12 Mar 2024 20:08:29 +0000 (21:08 +0100)] 
Bitops: bitflip function

to flip order of bits in 32b numbers

14 months agoLocking: forcefully unwinding locks to a previously stored state
Maria Matejka [Wed, 3 Apr 2024 07:45:40 +0000 (09:45 +0200)] 
Locking: forcefully unwinding locks to a previously stored state

14 months agoTyped list: macro for list length
Maria Matejka [Thu, 21 Mar 2024 22:37:04 +0000 (23:37 +0100)] 
Typed list: macro for list length

14 months agoTyped lists: enabled defining the list structure independently on the node
Maria Matejka [Sun, 11 Feb 2024 21:57:55 +0000 (22:57 +0100)] 
Typed lists: enabled defining the list structure independently on the node

14 months agoEvent: fixed race condition between ev_send and ev_postpone
Maria Matejka [Tue, 27 Feb 2024 13:25:04 +0000 (14:25 +0100)] 
Event: fixed race condition between ev_send and ev_postpone

14 months agoIO loop: fixed local hot page cache flushing condition
Maria Matejka [Mon, 1 Apr 2024 13:03:24 +0000 (15:03 +0200)] 
IO loop: fixed local hot page cache flushing condition

14 months agolib/printf_test.c: test on strcmp fixed
Maria Matejka [Sat, 11 May 2024 14:36:49 +0000 (16:36 +0200)] 
lib/printf_test.c: test on strcmp fixed

we mistakenly required the return value to be only -1, 0 or 1

14 months agoBGP: Fixed corking of RX
Maria Matejka [Wed, 10 Apr 2024 14:14:40 +0000 (16:14 +0200)] 
BGP: Fixed corking of RX

If cork occurred after some incoming data had been already processed,
BGP incorrectly processed them again after uncorking because it forgot
to store the actual socket state.

Now storing the socket state (done at the end of bgp_rx()) and
therefore the bug is fixed.

14 months agoFixed in-table route refresh counter to not randomly add 256
Maria Matejka [Tue, 9 Apr 2024 17:14:30 +0000 (19:14 +0200)] 
Fixed in-table route refresh counter to not randomly add 256

14 months agoFixed hostcache notifier pool
Maria Matejka [Sun, 7 Apr 2024 20:27:13 +0000 (22:27 +0200)] 
Fixed hostcache notifier pool

This pool has to be the service pool to allow the seq bitmaps to grow
from the exporter and feeder routines

14 months agoFixed reporting about exported routes
Maria Matejka [Sun, 7 Apr 2024 09:43:52 +0000 (11:43 +0200)] 
Fixed reporting about exported routes

14 months agoFixed annoying undefined values with nexthops
Maria Matejka [Wed, 3 Apr 2024 16:27:09 +0000 (18:27 +0200)] 
Fixed annoying undefined values with nexthops

14 months agoUndefined behavior fix
Maria Matejka [Thu, 22 Feb 2024 11:00:05 +0000 (12:00 +0100)] 
Undefined behavior fix

14 months agoCLang compilation fix
Maria Matejka [Thu, 22 Feb 2024 10:38:13 +0000 (11:38 +0100)] 
CLang compilation fix

16 months agoMerge commit '0b684a43bd7ce4a32c9cd7754b88286bcd1815bb' into thread-next
Ondrej Zajicek [Mon, 1 Apr 2024 16:24:10 +0000 (18:24 +0200)] 
Merge commit '0b684a43bd7ce4a32c9cd7754b88286bcd1815bb' into thread-next

16 months agoMerge commit '66d6ac70856bdb29840983454373bb10a532e4f7' into thread-next
Ondrej Zajicek [Mon, 1 Apr 2024 16:21:37 +0000 (18:21 +0200)] 
Merge commit '66d6ac70856bdb29840983454373bb10a532e4f7' into thread-next

16 months agoMerge commit '1b064355f752b9bfe4644f775697bbd9b711f762' into thread-next
Ondrej Zajicek [Mon, 1 Apr 2024 16:20:18 +0000 (18:20 +0200)] 
Merge commit '1b064355f752b9bfe4644f775697bbd9b711f762' into thread-next

16 months agoMerge commit '114be2af28e5c124bd479a487f89244ba99c272d' into thread-next
Ondrej Zajicek [Mon, 1 Apr 2024 01:15:33 +0000 (03:15 +0200)] 
Merge commit '114be2af28e5c124bd479a487f89244ba99c272d' into thread-next

16 months agoMerge commit '26dd61ee7f91c15157601b2404de5b6500a6061c' into thread-next
Ondrej Zajicek [Mon, 1 Apr 2024 01:01:59 +0000 (03:01 +0200)] 
Merge commit '26dd61ee7f91c15157601b2404de5b6500a6061c' into thread-next

16 months agoMerge commit '2d0652dd1088395c50df8fe1a99f1111b44688c6' into thread-next
Ondrej Zajicek [Mon, 1 Apr 2024 01:00:10 +0000 (03:00 +0200)] 
Merge commit '2d0652dd1088395c50df8fe1a99f1111b44688c6' into thread-next

16 months agoFilter: Initialize route attribute flags properly
Ondrej Zajicek [Mon, 1 Apr 2024 00:53:25 +0000 (02:53 +0200)] 
Filter: Initialize route attribute flags properly

Move 'flags' field back to ea_class, so filtering code can use it to
initialize route attribute flags when set by filters.

16 months agoMerge commit '44a16bff6cbf3f5ae8db21ffcec602bc51295d0a' into thread-next
Ondrej Zajicek [Thu, 28 Mar 2024 19:03:46 +0000 (20:03 +0100)] 
Merge commit '44a16bff6cbf3f5ae8db21ffcec602bc51295d0a' into thread-next

16 months agoMerge commit '5c04f0e2354ff0cca9b1479e68882b72755f3aab' into thread-next
Ondrej Zajicek [Thu, 28 Mar 2024 19:00:50 +0000 (20:00 +0100)] 
Merge commit '5c04f0e2354ff0cca9b1479e68882b72755f3aab' into thread-next

(No need for deprecated names in BIRD 3.)

16 months agoNest: Fix bitfield attributes
Ondrej Zajicek [Thu, 28 Mar 2024 18:46:24 +0000 (19:46 +0100)] 
Nest: Fix bitfield attributes

Fix missing route lookup, causing crash when accessing route attribute.

Also fix additional space in bitfield formatting.

16 months agoMerge commit 'e68363909cb9733c1bf55fff80a8b034e4111849' into thread-next
Ondrej Zajicek [Thu, 28 Mar 2024 18:16:44 +0000 (19:16 +0100)] 
Merge commit 'e68363909cb9733c1bf55fff80a8b034e4111849' into thread-next

16 months agoFix merge commit c195c7a0d50cd80656fc3cabc692a0464dd0cb2d
Ondrej Zajicek [Thu, 28 Mar 2024 16:46:24 +0000 (17:46 +0100)] 
Fix merge commit c195c7a0d50cd80656fc3cabc692a0464dd0cb2d

16 months agoMerge commit '225943eaea3cdd634dce8fd84547baf1bc363640' into thread-next
Ondrej Zajicek [Thu, 28 Mar 2024 16:46:04 +0000 (17:46 +0100)] 
Merge commit '225943eaea3cdd634dce8fd84547baf1bc363640' into thread-next

16 months agoMerge commit '224a152c53f304881f8616a1c9255b467062a069' into thread-next
Ondrej Zajicek [Thu, 28 Mar 2024 15:22:23 +0000 (16:22 +0100)] 
Merge commit '224a152c53f304881f8616a1c9255b467062a069' into thread-next

16 months agoMerge commit '574d7eb241a60622b0573ab1460cb23d968ba1cc' into thread-next
Ondrej Zajicek [Thu, 28 Mar 2024 14:00:40 +0000 (15:00 +0100)] 
Merge commit '574d7eb241a60622b0573ab1460cb23d968ba1cc' into thread-next

16 months agoMerge commit 'f40e2bc270d3635be518ae80251ce0b5c519c6f4' into thread-next
Ondrej Zajicek [Thu, 28 Mar 2024 13:50:25 +0000 (14:50 +0100)] 
Merge commit 'f40e2bc270d3635be518ae80251ce0b5c519c6f4' into thread-next

(empty merge, no fix needed in thread-next)

16 months agoRevert "Temporarily disabling L3VPN netlab test, has no data for v3"
Ondrej Zajicek [Thu, 28 Mar 2024 00:01:33 +0000 (01:01 +0100)] 
Revert "Temporarily disabling L3VPN netlab test, has no data for v3"

This reverts commit 000dbf737c6821501f3909cb656be9a73e367186.

16 months agoL3VPN: Fix missing rte_owner_class registration
Ondrej Zajicek [Wed, 27 Mar 2024 23:55:19 +0000 (00:55 +0100)] 
L3VPN: Fix missing rte_owner_class registration

16 months agoNest: Improve printing of hostentries with MPLS labels
Ondrej Zajicek [Wed, 27 Mar 2024 22:26:25 +0000 (23:26 +0100)] 
Nest: Improve printing of hostentries with MPLS labels

MPLS labels in hostentry should be printed with 'mpls' keyword instead of
'labels' to be consistent with the rest of the 'show route' output.

16 months agoNest: Fix printing of hostentry table
Ondrej Zajicek [Wed, 27 Mar 2024 22:16:51 +0000 (23:16 +0100)] 
Nest: Fix printing of hostentry table

When hostentry is printed, it should show the table in which the nexthop
is resolved, not the dependend one.

16 months agoNEWS and version update v2.15.1
Ondrej Zajicek [Fri, 22 Mar 2024 00:40:43 +0000 (01:40 +0100)] 
NEWS and version update

16 months agoStatic: Fix invalid combination of nexthop options
Ondrej Zajicek [Thu, 21 Mar 2024 23:40:06 +0000 (00:40 +0100)] 
Static: Fix invalid combination of nexthop options

BFD requires defined local IP, but for nexthop with onlink there might
not be such address. So we reject this combination of nexthop options.
This prevent crash where such combination of options is used.

16 months agoRevert "OSPF: On physical PtP links, skip next-hop resolving"
Ondrej Zajicek [Thu, 21 Mar 2024 14:59:26 +0000 (15:59 +0100)] 
Revert "OSPF: On physical PtP links, skip next-hop resolving"

This reverts commit 31aa62ae6d2e111e87c08b4b27a16ead968f0689.

16 months agoMerge commit '44e351d1522f0099687aac9fd65dcea73a04af43'
Ondrej Zajicek [Thu, 21 Mar 2024 14:58:52 +0000 (15:58 +0100)] 
Merge commit '44e351d1522f0099687aac9fd65dcea73a04af43'

16 months agoBabel: Fix build with limited set of protocols
Ondrej Zajicek [Tue, 19 Mar 2024 14:39:46 +0000 (15:39 +0100)] 
Babel: Fix build with limited set of protocols

16 months agoAggregator: Fix build with limited set of protocols
Ondrej Zajicek [Tue, 19 Mar 2024 14:39:19 +0000 (15:39 +0100)] 
Aggregator: Fix build with limited set of protocols

16 months agoStatic: Fix build with limited set of protocols
Michal Zagorski [Mon, 11 Mar 2024 11:57:13 +0000 (12:57 +0100)] 
Static: Fix build with limited set of protocols

16 months agoNEWS and version update v2.15
Ondrej Zajicek [Sun, 10 Mar 2024 17:57:04 +0000 (18:57 +0100)] 
NEWS and version update

17 months agoClient: Add support for completion of command options
Ondrej Zajicek [Tue, 5 Mar 2024 18:04:10 +0000 (19:04 +0100)] 
Client: Add support for completion of command options

We can easily extend command completion to handle also keywords for
command options. Help for command options is not yet supported.

17 months agoFilter: Add route attribute gw_mpls_stack
Ondrej Zajicek [Tue, 5 Mar 2024 15:38:24 +0000 (16:38 +0100)] 
Filter: Add route attribute gw_mpls_stack

Add route attribute gw_mpls_stack to make MPLS stack of route nexthop
accessible from filters. Its type is T_CLIST, which is really not correct
(as it is a list, while T_CLIST is a set). Therefore, we keep this
attribute *undocumented* and it will be *changed* without further notice.

Based on a patch from Trisha Biswas <tbiswas@fastly.com>, thanks!

17 months agoBFD: Add arguments to 'show bfd sessions' command
Ondrej Zajicek [Mon, 4 Mar 2024 22:20:53 +0000 (23:20 +0100)] 
BFD: Add arguments to 'show bfd sessions' command

Add several arguments to 'show bfd sessions' command to filter
the list of sessions.

17 months agoBFD: Improve 'show bfd sessions all' command
Ondrej Zajicek [Fri, 1 Mar 2024 17:39:09 +0000 (18:39 +0100)] 
BFD: Improve 'show bfd sessions all' command

17 months agoBFD: Show session for ip / ip prefix
Katerina Kubecova [Thu, 18 Jan 2024 11:36:48 +0000 (12:36 +0100)] 
BFD: Show session for ip / ip prefix

17 months agoBFD: show bfd sessions all
Katerina Kubecova [Tue, 16 Jan 2024 10:02:22 +0000 (11:02 +0100)] 
BFD: show bfd sessions all

17 months agoRPKI: Add 'local address' configuration option
Job Snijders [Thu, 22 Feb 2024 13:58:29 +0000 (14:58 +0100)] 
RPKI: Add 'local address' configuration option

Allow to explicitly configure the source IP address for RPKI-To-Router
sessions. Predictable source addresses are useful for minimizing the
holes to be poked in ACLs.

Changed from 'source address' to 'local address' by committer.

17 months agoBGP: Maintain valid route attribute flags even in local tables
Ondrej Zajicek [Tue, 20 Feb 2024 16:39:05 +0000 (17:39 +0100)] 
BGP: Maintain valid route attribute flags even in local tables

BGP route attributes have flags (Optional, Transitive) that are validated
on decode and set to valid value on export. But if such attribute is
modified by filter or set internally by BGP during import, then its flags
would be zero in local tables. That usually does not matter, as they are
not used locally and they were fixed on export, but invalid flags leaked
in BMP and MRT dumps.

Keep route attribute flags set to valid values even when set by filters
or modified by BGP.

17 months agoBGP: Update SendHoldTimer BGP Error code
Job Snijders [Sun, 18 Feb 2024 08:00:10 +0000 (09:00 +0100)] 
BGP: Update SendHoldTimer BGP Error code

IANA registered an "Early Allocation" BGP Error code for 'Send Hold
Timer Expired' event. Update BIRD to use that error code.

17 months agoStatic: Allow to define both nexthop and interface
Ondrej Zajicek [Fri, 16 Feb 2024 17:44:40 +0000 (18:44 +0100)] 
Static: Allow to define both nexthop and interface

Allow to define both nexthop and interface using iproute2-like syntax,
e.g.: route 10.0.0.0/16 via 10.1.0.1 dev "eth0";

Now we can avoid to use link-local scope hack (e.g. 10.1.0.1%eth0)
for cases where both nexthop and interface have to be defined.

Thanks to Marcin Saklak for the suggestion.

17 months agoNetlink: Fix spelling of krt_ssthresh / krt_lock_ssthresh
Ondrej Zajicek [Fri, 16 Feb 2024 13:54:17 +0000 (14:54 +0100)] 
Netlink: Fix spelling of krt_ssthresh / krt_lock_ssthresh

BIRD route attribute for RTAX_SSTHRESH metric was krt_sstresh instead of
krt_ssthresh. Fix that and keep old name as an depreacted alias.

17 months agoNetlink: Cleanups in route metrics
Ondrej Zajicek [Fri, 16 Feb 2024 13:29:54 +0000 (14:29 +0100)] 
Netlink: Cleanups in route metrics

- Add krt_fastopen_no_cookie atttibute
- Add missing krt_lock_* bits
- Fix krt_feature_allfrag
- Fix type of EA_KRT_LOCK and EA_KRT_FEATURES

17 months agoFilter: Add support for setting TCP congestion control algorithm
Ondrej Zajicek [Wed, 14 Feb 2024 13:01:04 +0000 (14:01 +0100)] 
Filter: Add support for setting TCP congestion control algorithm

Allow to set TCP congestion control algorithm using krt_congctl
route attribute.

Based on patch from Trisha Biswas <tbiswas@fastly.com>, thanks!

17 months agoFilter: Add support for string route attribute
Ondrej Zajicek [Wed, 14 Feb 2024 12:58:56 +0000 (13:58 +0100)] 
Filter: Add support for string route attribute

17 months agoBGP: Allow multiple EBGP neighbors with the same peer.
Alexander Zubkov [Wed, 7 Feb 2024 18:11:10 +0000 (19:11 +0100)] 
BGP: Allow multiple EBGP neighbors with the same peer.

We can distinguish BGP sessions if at least one side uses a different IP
address. Extend olock mechanism to handle local IP as a part of key, with
optional wildcard, so BGP sessions could local IP in the olock and not
block themselves.

17 months agobirdc: Do not execute cmd on noninteractive help request
Inrin [Tue, 6 Feb 2024 18:03:14 +0000 (19:03 +0100)] 
birdc: Do not execute cmd on noninteractive help request

The help command triggered by '?' keeps the message in readline buffer,
so it could be edited. For noninteractive shell it leads to an unexpected
side effect that `echo <cmd> ? | birdc` executes the command <cmd> after
showing its help. Avoid this by clearing the readline buffer in such case.

17 months agoBGP: Increase max length of notification data in error logs
Ondrej Zajicek [Tue, 6 Feb 2024 17:34:55 +0000 (18:34 +0100)] 
BGP: Increase max length of notification data in error logs

Increase max length of notification data in error logs from 16 to 128.
There is already enough space in the buffer.

Thanks to Marco d'Itri for the suggestion.

18 months agoFixed L3VPN after merge to v3.
Maria Matejka [Tue, 23 Jan 2024 19:25:48 +0000 (20:25 +0100)] 
Fixed L3VPN after merge to v3.

Semantics of rt_get_source() has changed between v2 and v3. Also other
minor fixes were needed to make it run.

18 months agoHostentry eattrs are now properly zeroed
Maria Matejka [Tue, 30 Jan 2024 22:13:49 +0000 (23:13 +0100)] 
Hostentry eattrs are now properly zeroed

18 months agoFixed regression in route feeding.
Maria Matejka [Tue, 30 Jan 2024 20:29:00 +0000 (21:29 +0100)] 
Fixed regression in route feeding.

We were, once again, forgetting to mark empty-net journal entries as
processed, as was fixed in 32bb548c116b40f79d077c10356c037770ed1005.

Introduced in 548dbb2252e80362789b8c98355f468491d47b34.
Caught by cf-ebgp-graceful.

18 months agoTemporarily disabling L3VPN netlab test, has no data for v3
Maria Matejka [Mon, 29 Jan 2024 21:59:49 +0000 (22:59 +0100)] 
Temporarily disabling L3VPN netlab test, has no data for v3

18 months agoShowing MPLS labels in hostentry display
Maria Matejka [Mon, 29 Jan 2024 15:56:22 +0000 (16:56 +0100)] 
Showing MPLS labels in hostentry display

18 months agoBGP: fixed MPLS setting in nexthops
Maria Matejka [Mon, 29 Jan 2024 12:58:23 +0000 (13:58 +0100)] 
BGP: fixed MPLS setting in nexthops

bug introduced somewhere during conversion of nexthops to eattrs

18 months agoHack-fix of IPv6 SADR literal parsing
Maria Matejka [Sun, 28 Jan 2024 22:37:08 +0000 (23:37 +0100)] 
Hack-fix of IPv6 SADR literal parsing

This should be probably once done better, not by ad-hoc disabling
the attribute symbol table when parsing SADR literals.