]> git.ipfire.org Git - thirdparty/bird.git/log
thirdparty/bird.git
14 months agoBGP: refactored pending TX back into channel
Maria Matejka [Tue, 28 May 2024 20:33:14 +0000 (22:33 +0200)] 
BGP: refactored pending TX back into channel

14 months agoReal almost-lockless feeds and more pull-like exports
Maria Matejka [Thu, 2 May 2024 09:39:34 +0000 (11:39 +0200)] 
Real almost-lockless feeds and more pull-like exports

Introducing a new omnipotent internal API to just pass route updates
from whatever point wherever we want.

From now on, all the exports should be processed by RT_WALK_EXPORTS
macro, and you can also issue a separate feed-only request to just get a
feed and finish.

The exporters can now also stop and the readers must expect that to
happen and recover. Main tables don't stop, though.

14 months agoBGP: explicitly sending route refresh from CLI
Maria Matejka [Wed, 29 May 2024 08:55:59 +0000 (10:55 +0200)] 
BGP: explicitly sending route refresh from CLI

14 months agoProtocol filter reload is now done by 'reload filters'
Maria Matejka [Wed, 27 Mar 2024 10:34:19 +0000 (11:34 +0100)] 
Protocol filter reload is now done by 'reload filters'

This prepares for the separate 'reload bgp' command triggering BGP Route Refresh

14 months agoStatic: Fixed undefined nexthop padding problems
Maria Matejka [Wed, 22 May 2024 06:56:37 +0000 (08:56 +0200)] 
Static: Fixed undefined nexthop padding problems

14 months agoNetindex: fixed resolving net by index
Maria Matejka [Mon, 20 May 2024 13:57:13 +0000 (15:57 +0200)] 
Netindex: fixed resolving net by index

14 months agoRIP partial reload never worked properly, running full reload always
Maria Matejka [Fri, 10 May 2024 14:32:08 +0000 (16:32 +0200)] 
RIP partial reload never worked properly, running full reload always

14 months agoDropping obsolete protocol Perf
Maria Matejka [Fri, 10 May 2024 14:22:16 +0000 (16:22 +0200)] 
Dropping obsolete protocol Perf

We have now better methods how to measure overall performance
and this obsolete protocol has basically rotten away. If anybody
needs its features, feel free to revive it in future.

14 months agoOSPF partial reload never worked properly, running full reload always
Maria Matejka [Fri, 10 May 2024 14:14:54 +0000 (16:14 +0200)] 
OSPF partial reload never worked properly, running full reload always

14 months agoSimplified temporary resources
Maria Matejka [Wed, 8 May 2024 16:55:01 +0000 (18:55 +0200)] 
Simplified temporary resources

Also TMP_SAVED now uses the CLEANUP hook to allow for breaks and returns

14 months agoSKIP_BACK_DECLARE: easier embedded-to-parent typecasting
Maria Matejka [Fri, 26 Apr 2024 10:14:33 +0000 (12:14 +0200)] 
SKIP_BACK_DECLARE: easier embedded-to-parent typecasting

14 months agoLockless feed of a single net
Maria Matejka [Tue, 23 Apr 2024 16:50:22 +0000 (18:50 +0200)] 
Lockless feed of a single net

14 months agoUsing ea_lookup_tmp() for temporarily keeping attribute references
Maria Matejka [Tue, 23 Apr 2024 16:28:34 +0000 (18:28 +0200)] 
Using ea_lookup_tmp() for temporarily keeping attribute references

To avoid needs for keeping local temporary references for attributes,
now one can use ea_lookup_tmp() to ensure that the attributes are
valid and stored until the task ends. After that, the attributes are
automatically unref'd and also deallocated if needed.

14 months agoRefactored the deferring framework into a separate structure
Maria Matejka [Tue, 23 Apr 2024 15:35:00 +0000 (17:35 +0200)] 
Refactored the deferring framework into a separate structure

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.