]> git.puffer.fish Git - matthieu/frr.git/log
matthieu/frr.git
2 months agoospf6d: Fix use after free of router in OSPFv3 ABR route calculation.
Acee Lindem [Mon, 24 Feb 2025 21:44:32 +0000 (21:44 +0000)]
ospf6d: Fix use after free of router in OSPFv3 ABR route calculation.

This PR fixes FRR issue https://github.com/FRRouting/frr/issues/18040. The
OSPFv3 route is locked during the ABR calculation since there are
scenarios under which it is freed. The OSPFv3 ABR computation is
sub-optimal and this PR doesn't attempt to rework it.

Signed-off-by: Acee Lindem <acee@lindem.com>
2 months agoMerge pull request #16796 from gtataranni/feat/logfmt
Donatas Abraitis [Mon, 17 Feb 2025 21:02:27 +0000 (23:02 +0200)]
Merge pull request #16796 from gtataranni/feat/logfmt

tools: add logfmt option for frr-reload.py

2 months agotools: add logfmt option for frr-reload.py
Giovanni Tataranni [Thu, 19 Sep 2024 13:46:02 +0000 (15:46 +0200)]
tools: add logfmt option for frr-reload.py

Add the option of printing logs in logfmt format.

Additional machine readable information can be printed via the `extra`
argument.
Example:
```python
log.debug("exit context"), extra={"line": line, "ctx_keys": ctx_keys})

log.error(f"Failed to execute command {' '.join(cmd)}", extra={"cmd": cmd})
```

Signed-off-by: Giovanni Tataranni <g.tataranni@gmail.com>
2 months agoMerge pull request #18139 from y-bharath14/srib-yang-v2
Christian Hopps [Mon, 17 Feb 2025 10:13:57 +0000 (05:13 -0500)]
Merge pull request #18139 from y-bharath14/srib-yang-v2

yang: Default value for a key leaf to be ignored

2 months agoMerge pull request #18187 from cscarpitta/fix/fix_srv6_encap_src_addr_test_failures
Donald Sharp [Sun, 16 Feb 2025 13:09:18 +0000 (08:09 -0500)]
Merge pull request #18187 from cscarpitta/fix/fix_srv6_encap_src_addr_test_failures

tests: Fix intermittent failures in `srv6_encap_src_addr` topotest

2 months agotests: Fix intermittent failures in `srv6_encap_src_addr` topotest
Carmine Scarpitta [Sun, 16 Feb 2025 09:59:05 +0000 (10:59 +0100)]
tests: Fix intermittent failures in `srv6_encap_src_addr` topotest

The `srv6_encap_src_addr` runs a vtysh command to configure the SRv6
encapsulation source address and then immediately invokes an iproute2
command to verify that zebra has set this address in the kernel. There
is no wait between the two operations and the verification is attempted
only once. If the topotest does not find the expected address it fails
immediately.

The problem is that when topotest is run on a heavyily loaded system,
it can take some time for zebra to set the address in the kernel.
In this case, when the topotest checks the kernel address right after
running the vtysh command, it doesn't find the expected address because
zebra hasn't set it yet.

This commit gives zebra some time to configure the address. It keeps to
check that the address is the expected one for about 1 minute. If after
1 minute the address is not the expected one then the test fails.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2 months agotests: Increase retry timeout in `srv6_encap_src_addr` topotest
Carmine Scarpitta [Sun, 16 Feb 2025 09:23:07 +0000 (10:23 +0100)]
tests: Increase retry timeout in `srv6_encap_src_addr` topotest

The `srv6_encap_src_addr` topotest uses a waiting time that is too
small. For this reason during startup it prints a warning:

```
2025-02-16 09:23:47,704 WARNING: topo: Waiting time is too small (count=10, wait=1), using default values (count=20, wait=3)
```

This commit increases the waiting time to fix the warning.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2 months agotests: Do not load bgpd config in `srv6_encap_src_addr` topotest
Carmine Scarpitta [Sun, 16 Feb 2025 09:14:16 +0000 (10:14 +0100)]
tests: Do not load bgpd config in `srv6_encap_src_addr` topotest

The `srv6_encap_src_addr` topotest tries to load bgpd.conf file that
does not exist, which produces the following warning:

```
2025-02-16 09:23:35,151 WARNING: topo: missing config 'r1' for '/media/frr/tests/topotests/srv6_encap_src_addr/r1/bgpd.conf' creating empty file '/etc/frr/bgpd.conf'
```

Since this topotest doesn't actually use bgpd, there's no point in
loading the config file.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2 months agotests: Do not load sharpd config in `srv6_encap_src_addr` topotest
Carmine Scarpitta [Sun, 16 Feb 2025 09:13:15 +0000 (10:13 +0100)]
tests: Do not load sharpd config in `srv6_encap_src_addr` topotest

The `srv6_encap_src_addr` topotest tries to load sharpd.conf file that
does not exist, which produces the following warning:

```
2025-02-16 09:23:35,151 WARNING: topo: missing config 'r1' for '/media/frr/tests/topotests/srv6_encap_src_addr/r1/sharpd.conf' creating empty file '/etc/frr/sharpd.conf'
```

Since this topotest doesn't actually use sharpd, there's no point in
loading the config file.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2 months agotests: Remove bgpd marker in `srv6_encap_src_addr` topotest
Carmine Scarpitta [Sun, 16 Feb 2025 08:51:22 +0000 (09:51 +0100)]
tests: Remove bgpd marker in `srv6_encap_src_addr` topotest

The `srv6_encap_src_addr` does not use bgp. As such, it should not have
bgpd marker.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2 months agoMerge pull request #18109 from mjstapp/fix_evpn_vty_rt
Donatas Abraitis [Sat, 15 Feb 2025 20:11:00 +0000 (22:11 +0200)]
Merge pull request #18109 from mjstapp/fix_evpn_vty_rt

bgpd: fix vty output of evpn route-target AS4

2 months agoMerge pull request #18178 from cscarpitta/fix/isis_request_srv6_locator
Donald Sharp [Sat, 15 Feb 2025 14:39:04 +0000 (09:39 -0500)]
Merge pull request #18178 from cscarpitta/fix/isis_request_srv6_locator

isisd: Request SRv6 locator after zebra connection

2 months agoMerge pull request #18163 from opensourcerouting/sharpd-crash-command
Donald Sharp [Sat, 15 Feb 2025 14:17:10 +0000 (09:17 -0500)]
Merge pull request #18163 from opensourcerouting/sharpd-crash-command

sharpd: add `crashme` commands

2 months agoisisd: Request SRv6 locator after zebra connection
Carmine Scarpitta [Sat, 15 Feb 2025 09:39:40 +0000 (10:39 +0100)]
isisd: Request SRv6 locator after zebra connection

When SRv6 is enabled and an SRv6 locator is specified in the IS-IS
configuration, IS-IS may attempt to request SRv6 locator information from
zebra before the connection is fully established. If this occurs, the
request fails with the following error:

```
2025/02/14 21:41:20 ISIS: [HR66R-TWQYD][EC 100663302] srv6_manager_get_locator: invalid zclient socket
````

As a result, IS-IS is unable to obtain the locator information,
preventing SRv6 from working.

This commit fixes the issue by ensuring IS-IS requests SRv6 locator
information once the connection with zebra is successfully established.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2 months agoisisd: Add helper function to request SRv6 locator information
Carmine Scarpitta [Sat, 15 Feb 2025 09:39:30 +0000 (10:39 +0100)]
isisd: Add helper function to request SRv6 locator information

This commit adds a function that iterates over all IS-IS areas and asks
the SRv6 Manager for information about the configured locators.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2 months agoMerge pull request #18160 from donaldsharp/orf_plist_argie_bargie
David Lamparter [Fri, 14 Feb 2025 21:28:09 +0000 (22:28 +0100)]
Merge pull request #18160 from donaldsharp/orf_plist_argie_bargie

bgpd: When removing the prefix list drop the pointer

2 months agoMerge pull request #18122 from louis-6wind/bgp_cleanup_table-factorize
Donatas Abraitis [Fri, 14 Feb 2025 21:08:51 +0000 (23:08 +0200)]
Merge pull request #18122 from louis-6wind/bgp_cleanup_table-factorize

bgpd: factorize bgp_table_cleanup()

2 months agosharpd: add `crashme` commands
David Lamparter [Fri, 14 Feb 2025 16:23:29 +0000 (17:23 +0100)]
sharpd: add `crashme` commands

This adds 2 commands, one that should just straight up SEGV, another
that should trip an ASAN warning for an use-after-free.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 months agobgpd: When removing the prefix list drop the pointer
Donald Sharp [Fri, 14 Feb 2025 12:55:09 +0000 (07:55 -0500)]
bgpd: When removing the prefix list drop the pointer

We are very very rarely seeing this crash:

    0 0x7f36ba48e389 in prefix_list_apply_ext lib/plist.c:789
    1 0x55eff3fa4126 in subgroup_announce_check bgpd/bgp_route.c:2334
    2 0x55eff3fa858e in subgroup_process_announce_selected bgpd/bgp_route.c:3440
    3 0x55eff4016488 in subgroup_announce_table bgpd/bgp_updgrp_adv.c:808
    4 0x55eff401664e in subgroup_announce_route bgpd/bgp_updgrp_adv.c:861
    5 0x55eff40111df in peer_af_announce_route bgpd/bgp_updgrp.c:2223
    6 0x55eff3f884cb in bgp_announce_route_timer_expired bgpd/bgp_route.c:5892
    7 0x7f36ba4ec239 in event_call lib/event.c:2019
    8 0x7f36ba41a22a in frr_run lib/libfrr.c:1295
    9 0x55eff3e668b7 in main bgpd/bgp_main.c:557
    10 0x7f36b9e2d249 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    11 0x7f36b9e2d304 in __libc_start_main_impl ../csu/libc-start.c:360
    12 0x55eff3e64a30 in _start (/home/ci/cibuild.1407/frr-source/bgpd/.libs/bgpd+0x2fda30)
0x608000037038 is located 24 bytes inside of 88-byte region [0x608000037020,0x608000037078)
freed by thread T0 here:
    0 0x7f36ba8b76a8 in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:52
    1 0x7f36ba439bd7 in qfree lib/memory.c:131
    2 0x7f36ba48d3a3 in prefix_list_free lib/plist.c:156
    3 0x7f36ba48d3a3 in prefix_list_delete lib/plist.c:247
    4 0x7f36ba48fbef in prefix_bgp_orf_remove_all lib/plist.c:1516
    5 0x55eff3f679c4 in bgp_route_refresh_receive bgpd/bgp_packet.c:2841
    6 0x55eff3f70bab in bgp_process_packet bgpd/bgp_packet.c:4069
    7 0x7f36ba4ec239 in event_call lib/event.c:2019
    8 0x7f36ba41a22a in frr_run lib/libfrr.c:1295
    9 0x55eff3e668b7 in main bgpd/bgp_main.c:557
    10 0x7f36b9e2d249 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
previously allocated by thread T0 here:
    0 0x7f36ba8b83b7 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    1 0x7f36ba4392e4 in qcalloc lib/memory.c:106
    2 0x7f36ba48d0de in prefix_list_new lib/plist.c:150
    3 0x7f36ba48d0de in prefix_list_insert lib/plist.c:186
    4 0x7f36ba48d0de in prefix_list_get lib/plist.c:204
    5 0x7f36ba48f9df in prefix_bgp_orf_set lib/plist.c:1479
    6 0x55eff3f67ba6 in bgp_route_refresh_receive bgpd/bgp_packet.c:2920
    7 0x55eff3f70bab in bgp_process_packet bgpd/bgp_packet.c:4069
    8 0x7f36ba4ec239 in event_call lib/event.c:2019
    9 0x7f36ba41a22a in frr_run lib/libfrr.c:1295
    10 0x55eff3e668b7 in main bgpd/bgp_main.c:557
    11 0x7f36b9e2d249 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Let's just stop trying to save the pointer around in the peer->orf_plist
data structure.  There are other design problems but at least lets
stop the crash from possibly happening.

Fixes: #18138
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 months agoMerge pull request #18127 from donaldsharp/w_option_for_watchfrr
David Lamparter [Thu, 13 Feb 2025 20:31:39 +0000 (21:31 +0100)]
Merge pull request #18127 from donaldsharp/w_option_for_watchfrr

2 months agoMerge pull request #18121 from louis-6wind/fix-lable-release
Donatas Abraitis [Thu, 13 Feb 2025 19:08:23 +0000 (21:08 +0200)]
Merge pull request #18121 from louis-6wind/fix-lable-release

bgpd: release manual vpn label on instance deletion

2 months agoMerge pull request #18080 from opensourcerouting/fix/enable_ll_capability_if_using_un...
Donald Sharp [Thu, 13 Feb 2025 19:06:24 +0000 (14:06 -0500)]
Merge pull request #18080 from opensourcerouting/fix/enable_ll_capability_if_using_unnumerred

bgpd: Some fixes/improvements for Link-Local Next Hop capability

2 months agoMerge pull request #18142 from donaldsharp/vrf_tableid_debugs
Donatas Abraitis [Thu, 13 Feb 2025 18:52:16 +0000 (20:52 +0200)]
Merge pull request #18142 from donaldsharp/vrf_tableid_debugs

Vrf tableid debugs

2 months agoMerge pull request #18064 from cscarpitta/fix/fix_srv6_sid_parameters
Donald Sharp [Thu, 13 Feb 2025 18:37:22 +0000 (13:37 -0500)]
Merge pull request #18064 from cscarpitta/fix/fix_srv6_sid_parameters

staticd: Fix SRv6 SID installation and deletion

2 months agoMerge pull request #18023 from pguibert6WIND/srv6_route_dump
Carmine Scarpitta [Thu, 13 Feb 2025 17:57:44 +0000 (18:57 +0100)]
Merge pull request #18023 from pguibert6WIND/srv6_route_dump

lib: fix false context information for SRv6 route

2 months agoMerge pull request #18079 from donaldsharp/labelpool_crash
Philippe Guibert [Thu, 13 Feb 2025 17:44:19 +0000 (18:44 +0100)]
Merge pull request #18079 from donaldsharp/labelpool_crash

bgpd: Fix crash in bgp_labelpool

2 months agotools: watchfrr should ignore frr_global_options
Donald Sharp [Thu, 13 Feb 2025 16:41:27 +0000 (11:41 -0500)]
tools: watchfrr should ignore frr_global_options

watchfrr is currently being started with $frr_global_options
This is problematic as that it has a entirely different cli
than the rest of the daemons and we have no plans to make
this equivalent.

Fixes: #18107
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 months agoMerge pull request #18046 from LabNConsulting/aceelindem/ospf-lsa-add-delete-hook
Russ White [Thu, 13 Feb 2025 16:16:42 +0000 (11:16 -0500)]
Merge pull request #18046 from LabNConsulting/aceelindem/ospf-lsa-add-delete-hook

ospfd: Replace LSDB callbacks with LSA Update/Delete hooks.

2 months agozebra: Use tableid when displaying prefix
Donald Sharp [Thu, 13 Feb 2025 15:40:52 +0000 (10:40 -0500)]
zebra: Use tableid when displaying prefix

Found some more instances of tableid not being
displayed when trying to debug something.  Fix.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 months agopbr: Add tableid to some debugs
Donald Sharp [Thu, 13 Feb 2025 15:40:17 +0000 (10:40 -0500)]
pbr: Add tableid to some debugs

Add prefix and tableid to one debug instead of several.
Consolidate a bit.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 months agoMerge pull request #18032 from opensourcerouting/gmp-limit
Jafar Al-Gharaibeh [Thu, 13 Feb 2025 15:32:07 +0000 (09:32 -0600)]
Merge pull request #18032 from opensourcerouting/gmp-limit

pimd,pim6d: implement GMP group / source limits

2 months agobgpd: remove unused afi arg from bgp_cleanup_table
Louis Scalbert [Thu, 13 Feb 2025 15:04:12 +0000 (16:04 +0100)]
bgpd: remove unused afi arg from bgp_cleanup_table

Remove unused AFI argument from bgp_cleanup_table()

Fixes: ec6e09c271 ("bgpd: fix flushing ipv6 flowspec entries when peering stops")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 months agobgpd: factorize bgp_table_cleanup()
Louis Scalbert [Fri, 7 Feb 2025 10:27:13 +0000 (11:27 +0100)]
bgpd: factorize bgp_table_cleanup()

Factorize bgp_table_cleanup(). Cosmetic change. It will help adding
AFI / SAFI in the future.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 months agoyang: Default value for a key leaf to be ignored
Y Bharath [Thu, 13 Feb 2025 11:40:46 +0000 (17:10 +0530)]
yang: Default value for a key leaf to be ignored

In YANG, key leaves are used to uniquely identify list entries, and they
cannot have default values

Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2 months agoMerge pull request #18120 from louis-6wind/fix-bgp-rd-json-show
Donatas Abraitis [Wed, 12 Feb 2025 20:09:39 +0000 (22:09 +0200)]
Merge pull request #18120 from louis-6wind/fix-bgp-rd-json-show

bgpd: fix incorrect JSON in bgp_show_table_rd

2 months agoMerge pull request #18118 from y-bharath14/srib-yang-v1
Christian Hopps [Wed, 12 Feb 2025 19:46:59 +0000 (14:46 -0500)]
Merge pull request #18118 from y-bharath14/srib-yang-v1

yang: Reorder the revision statements

2 months agoMerge pull request #18125 from donaldsharp/bfd_fd_zero
Mark Stapp [Wed, 12 Feb 2025 19:21:42 +0000 (14:21 -0500)]
Merge pull request #18125 from donaldsharp/bfd_fd_zero

bfdd: 0 is a valid fd.

2 months agoMerge pull request #17649 from ariel-anieli/calloc-warns
Donald Sharp [Wed, 12 Feb 2025 18:00:36 +0000 (13:00 -0500)]
Merge pull request #17649 from ariel-anieli/calloc-warns

tests: clear `-Wcalloc-transposed-args` warnings

2 months agoMerge pull request #18026 from donaldsharp/bfd_fixups
Jafar Al-Gharaibeh [Wed, 12 Feb 2025 18:00:23 +0000 (12:00 -0600)]
Merge pull request #18026 from donaldsharp/bfd_fixups

Bfd fixups

2 months agobfdd: 0 is a valid fd.
Donald Sharp [Wed, 12 Feb 2025 15:33:22 +0000 (10:33 -0500)]
bfdd: 0 is a valid fd.

It's unlikely that this would ever get a 0 fd to use
but let's just let the code assume it is ok.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 months agoMerge pull request #18062 from pguibert6WIND/cid_1636504
Donald Sharp [Wed, 12 Feb 2025 14:36:21 +0000 (09:36 -0500)]
Merge pull request #18062 from pguibert6WIND/cid_1636504

Cid 1636504

2 months agoMerge pull request #18068 from opensourcerouting/fix/coverity_link_local_capability
Donald Sharp [Wed, 12 Feb 2025 14:35:16 +0000 (09:35 -0500)]
Merge pull request #18068 from opensourcerouting/fix/coverity_link_local_capability

bgpd: Do not check for capability length for Link-Local Next Hop capability

2 months agoMerge pull request #18094 from opensourcerouting/event-tardy-bfd
Donald Sharp [Wed, 12 Feb 2025 14:29:54 +0000 (09:29 -0500)]
Merge pull request #18094 from opensourcerouting/event-tardy-bfd

lib (+bfd): improve late timer warnings

2 months agoMerge pull request #18049 from donaldsharp/fpm_keep_on_trying
Mark Stapp [Wed, 12 Feb 2025 13:47:02 +0000 (08:47 -0500)]
Merge pull request #18049 from donaldsharp/fpm_keep_on_trying

zebra: Allow fpm_listener to continue to try to read

2 months agoospfd: Replace LSDB callbacks with LSA Update/Delete hooks.
Acee Lindem [Thu, 6 Feb 2025 18:36:06 +0000 (18:36 +0000)]
ospfd: Replace LSDB callbacks with LSA Update/Delete hooks.

Replace the LSDB callbacks with LSA update and delete hooks using the
the FRR hook mechanism. Remove redundant callbacks by placing the LSA
update and delete hooks in a single place so that deletes don't need
to be handled by the update hook. Simplify existing OSPF TE and OSPF
API Server callbacks now that there is no ambiguity or redundancy.
Also cleanup the debugging by separating out opaque-lsa debugging
from the overloaded event debugging.

Signed-off-by: Acee Lindem <acee@lindem.com>
2 months agobgpd: release manual vpn label on instance deletion
Louis Scalbert [Wed, 12 Feb 2025 12:49:50 +0000 (13:49 +0100)]
bgpd: release manual vpn label on instance deletion

When a BGP instance with a manually assigned VPN label is deleted, the
label is not released from the Zebra label registry. As a result,
reapplying a configuration with the same manual label leads to VPN
prefix export failures.

For example, with the following configuration:

> router bgp 65000 vrf BLUE
>  address-family ipv4 unicast
>   label vpn export <int>

Release zebra label registry on unconfiguration.

Fixes: d162d5f6f5 ("bgpd: fix hardset l3vpn label available in mpls pool")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 months agobgpd: fix incorrect json in bgp_show_table_rd
Louis Scalbert [Wed, 12 Feb 2025 11:50:42 +0000 (12:50 +0100)]
bgpd: fix incorrect json in bgp_show_table_rd

In bgp_show_table_rd(), the is_last argument is determined using the
expression "next == NULL" to check if the RD table is the last one. This
helps ensure proper JSON formatting.

However, if next is not NULL but is no longer associated with a BGP
table, the JSON output becomes malformed.

Updates the condition to also verify the existence of the next bgp_dest
table.

Fixes: 1ae44dfcba ("bgpd: unify 'show bgp' with RD with normal unicast bgp show")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
2 months agoyang: Reorder the revision statements
Y Bharath [Wed, 12 Feb 2025 06:43:06 +0000 (12:13 +0530)]
yang: Reorder the revision statements

According to the YANG specification, the revision statements should be
ordered with the most recent revision first

Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2 months agoMerge pull request #18069 from cscarpitta/fix/bgp_request_srv6_locator
Jafar Al-Gharaibeh [Wed, 12 Feb 2025 02:59:22 +0000 (20:59 -0600)]
Merge pull request #18069 from cscarpitta/fix/bgp_request_srv6_locator

bgpd: Request SRv6 locator after zebra connection

2 months agoMerge pull request #18078 from pguibert6WIND/nhrp_incomplete_msg
Jafar Al-Gharaibeh [Wed, 12 Feb 2025 02:57:09 +0000 (20:57 -0600)]
Merge pull request #18078 from pguibert6WIND/nhrp_incomplete_msg

nhrpd: fix dont consider incomplete L2 entry

2 months agobgpd: fix vty output of evpn route-target AS4
Mark Stapp [Tue, 11 Feb 2025 19:35:28 +0000 (14:35 -0500)]
bgpd: fix vty output of evpn route-target AS4

evpn route-targets are decoded in  ... multiple places; at least
two have a bug where the AS4 form doesn't have its AS decoded.

Signed-off-by: Mark Stapp <mjs@cisco.com>
2 months agoMerge pull request #18037 from pguibert6WIND/bmp_bgp_open_router_id_and_as_val
Russ White [Tue, 11 Feb 2025 18:43:09 +0000 (13:43 -0500)]
Merge pull request #18037 from pguibert6WIND/bmp_bgp_open_router_id_and_as_val

Bmp bgp open router id and as val

2 months agotests: Set scope to be link-local and not global for NH
Donatas Abraitis [Tue, 11 Feb 2025 18:41:14 +0000 (20:41 +0200)]
tests: Set scope to be link-local and not global for NH

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agozebra: Allow fpm_listener to continue to try to read
Donald Sharp [Thu, 6 Feb 2025 23:40:30 +0000 (18:40 -0500)]
zebra: Allow fpm_listener to continue to try to read

Currently when the fpm_listener attempts to read say X
bytes it may only get Y( which is less than X ).  In this
case we should assume that the dplane_fpm_nl code is just
being slow, as that we know it is possible for it to send
a partial fpm message.  Let's just loosen the constraints
a bit and allow data to flow.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 months agoMerge pull request #18060 from opensourcerouting/lib-crashlog-signals
Donald Sharp [Tue, 11 Feb 2025 17:25:28 +0000 (12:25 -0500)]
Merge pull request #18060 from opensourcerouting/lib-crashlog-signals

lib: crash handlers must be allowed on threads

2 months agoMerge pull request #18081 from chiragshah6/bgp_dev6
Russ White [Tue, 11 Feb 2025 17:19:45 +0000 (12:19 -0500)]
Merge pull request #18081 from chiragshah6/bgp_dev6

bgpd: fix bgp vrf instance creation from implicit

2 months agotests: Disable link-local capability to check if we can use GUA NHs
Donatas Abraitis [Tue, 11 Feb 2025 14:47:22 +0000 (16:47 +0200)]
tests: Disable link-local capability to check if we can use GUA NHs

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agobgpd: Add an ability to disable link-local capability per peer
Donatas Abraitis [Tue, 11 Feb 2025 13:24:12 +0000 (15:24 +0200)]
bgpd: Add an ability to disable link-local capability per peer

Even if we have unnumbered peering, let's respect `no neighbor X capability link-local`
and disable it per-neighbor on demand.

Fixes: db853cc97eafee8742cd391aaa2b5bc58a6751ae ("bgpd: Implement Link-Local Next Hop capability")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agoMerge pull request #18034 from donaldsharp/unneeded_isisd
Russ White [Tue, 11 Feb 2025 13:50:09 +0000 (08:50 -0500)]
Merge pull request #18034 from donaldsharp/unneeded_isisd

isisd: Remove unneeded modify functions

2 months agoMerge pull request #17870 from opensourcerouting/fix/bgp_show_ip_bgp_cmd_internal
Russ White [Tue, 11 Feb 2025 13:44:43 +0000 (08:44 -0500)]
Merge pull request #17870 from opensourcerouting/fix/bgp_show_ip_bgp_cmd_internal

bgpd: Show internal data for BGP routes

2 months agoMerge pull request #17370 from louis-6wind/fix-vpn-leaking
Russ White [Tue, 11 Feb 2025 13:41:03 +0000 (08:41 -0500)]
Merge pull request #17370 from louis-6wind/fix-vpn-leaking

bgpd: fix for the validity and the presence of prefixes in the BGP VPN table.

2 months agolib: `thread` -> `event` in formatting
David Lamparter [Tue, 11 Feb 2025 10:58:15 +0000 (11:58 +0100)]
lib: `thread` -> `event` in formatting

Make it consistent and call it `event` when formatting something to
display.  Much less confusing for some user seeing it too, since threads
aren't involved.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 months agobfdd: use lower lateness warning for TX timers
David Lamparter [Tue, 11 Feb 2025 11:07:00 +0000 (12:07 +0100)]
bfdd: use lower lateness warning for TX timers

FRR's event loop prints a warning if a timer is executed more than some
given threshold late, default being 4s.  Set a more appropriate
threshold for BFD TX timers (half TX interval).

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 months agolib: improve late timer warnings
David Lamparter [Tue, 11 Feb 2025 10:55:19 +0000 (11:55 +0100)]
lib: improve late timer warnings

Refactor the "timer getting executed too late" warning:

- warning threshold is now adjustable
- check is performed when event actually executes, rather than when it's
  thrown on ready list
- ignore_late_timer replaced with threshold = 0
- system load averages printed in log message
- warning ratelimited to once per 10s rather than once per poll()

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 months agobgpd: Add additional JSON field linkLocalOnly
Donatas Abraitis [Tue, 11 Feb 2025 09:15:40 +0000 (11:15 +0200)]
bgpd: Add additional JSON field linkLocalOnly

This is to show if the NH address received as Link-Local Next Hop capability.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agotests: Adopt bgp_vrf_leaking_5549_routes for LL Next Hop capability
Donatas Abraitis [Tue, 11 Feb 2025 08:58:25 +0000 (10:58 +0200)]
tests: Adopt bgp_vrf_leaking_5549_routes for LL Next Hop capability

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agotests: Adopt bgp_ipv6_rtadv for LL Next Hop capability
Donatas Abraitis [Tue, 11 Feb 2025 08:54:48 +0000 (10:54 +0200)]
tests: Adopt bgp_ipv6_rtadv for LL Next Hop capability

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agobgpd: Show scope as link-local if using LL Next Hop capability
Donatas Abraitis [Tue, 11 Feb 2025 08:49:19 +0000 (10:49 +0200)]
bgpd: Show scope as link-local if using LL Next Hop capability

Fixes: db853cc97eafee8742cd391aaa2b5bc58a6751ae ("bgpd: Implement Link-Local Next Hop capability")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agonhrpd: fix dont consider incomplete L2 entry
Philippe Guibert [Mon, 10 Feb 2025 15:15:44 +0000 (16:15 +0100)]
nhrpd: fix dont consider incomplete L2 entry

Sometimes, NHRP receives L2 information on a cache entry with the
0.0.0.0 IP address. NHRP considers it as valid and updates the binding
with the new IP address.

> Feb 09 20:09:54 aws-sin-vpn01 nhrpd[2695]: [QQ0NK-1H449] Netlink: new-neigh 10.2.114.238 dev dmvpn1 lladdr 162.251.180.10 nud 0x2 cache used 0 type 4
> Feb 09 20:10:35 aws-sin-vpn01 nhrpd[2695]: [QQ0NK-1H449] Netlink: new-neigh 10.2.114.238 dev dmvpn1 lladdr 162.251.180.10 nud 0x4 cache used 1 type 4
> Feb 09 20:10:48 aws-sin-vpn01 nhrpd[2695]: [QQ0NK-1H449] Netlink: del-neigh 10.2.114.238 dev dmvpn1 lladdr 162.251.180.10 nud 0x4 cache used 1 type 4
> Feb 09 20:10:49 aws-sin-vpn01 nhrpd[2695]: [QQ0NK-1H449] Netlink: who-has 10.2.114.238 dev dmvpn1 lladdr (unspec) nud 0x1 cache used 1 type 4
> Feb 09 20:10:49 aws-sin-vpn01 nhrpd[2695]: [QVXNM-NVHEQ] Netlink: update binding for 10.2.114.238 dev dmvpn1 from c 162.251.180.10 peer.vc.nbma 162.251.180.10 to lladdr (unspec)
> Feb 09 20:10:49 aws-sin-vpn01 nhrpd[2695]: [QQ0NK-1H449] Netlink: new-neigh 10.2.114.238 dev dmvpn1 lladdr 0.0.0.0 nud 0x2 cache used 1 type 4
> Feb 09 20:11:30 aws-sin-vpn01 nhrpd[2695]: [QQ0NK-1H449] Netlink: new-neigh 10.2.114.238 dev dmvpn1 lladdr 0.0.0.0 nud 0x4 cache used 1 type 4

Actually, the 0.0.0.0 IP addressed mentiones in the 'who-has' message is
wrong because the nud state value means that value is incomplete and
should not be handled as a valid entry. Instead of considering it, fix
this by by invalidating the current binding. This step is necessary in
order to permit NHRP to trigger resolution requests again.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 months agobgpd: fix bmp loc-rib peer up message should use correct AS number
Philippe Guibert [Thu, 6 Feb 2025 10:32:46 +0000 (11:32 +0100)]
bgpd: fix bmp loc-rib peer up message should use correct AS number

The transmitted AS value in te tx open message of the peer up loc-rib
message is set to 0. Actually, it should reflect the AS value of the
current BGP instance.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 months agobgpd: fix loc-rib open message should use router-id
Philippe Guibert [Thu, 6 Feb 2025 10:26:42 +0000 (11:26 +0100)]
bgpd: fix loc-rib open message should use router-id

When forging BMP open message, the BGP router-id of tx open message of
the BMP LOC-RIB peer up message is always set to 0.0.0.0, whatever the
configured value of 'bgp router-id'.

Actually, when forging a peer up LOC-RIB message, the BGP router-id
value should be taken from the main BGP instance, and not from the peer
bgp identifier. Fix this by refreshing the router-id whenever a peer up
loc-rib message should be sent.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 months agobgpd: fix bgp label evpn CID 1636504
Philippe Guibert [Fri, 7 Feb 2025 14:49:10 +0000 (15:49 +0100)]
bgpd: fix bgp label evpn CID 1636504

The following static analysis can be seen :

> *** CID 1636504:    (ARRAY_VS_SINGLETON)
> /bgpd/bgp_evpn_mh.c: 1241 in bgp_evpn_type1_route_process()
> 1235            build_evpn_type1_prefix(&p, eth_tag, &esi, vtep_ip);
> 1236            /* Process the route. */
> 1237            if (attr) {
> 1238                    bgp_update(peer, (struct prefix *)&p, addpath_id, attr, afi, safi, ZEBRA_ROUTE_BGP,
> 1239                               BGP_ROUTE_NORMAL, &prd, &label, num_labels, 0, NULL);
> 1240            } else {
> >>>     CID 1636504:    (ARRAY_VS_SINGLETON)
> >>>     Passing "&label" to function "bgp_withdraw" which uses it as an array. This might corrupt or misinterpret adjacent memory locations.
> 1241                    bgp_withdraw(peer, (struct prefix *)&p, addpath_id, afi, safi, ZEBRA_ROUTE_BGP,
> 1242                                 BGP_ROUTE_NORMAL, &prd, &label, num_labels);
> 1243            }
> 1244            return 0;
> 1245     }
> 1246
> /bgpd/bgp_evpn_mh.c: 1238 in bgp_evpn_type1_route_process()
> 1232             * table
> 1233             */
> 1234            vtep_ip.s_addr = INADDR_ANY;
> 1235            build_evpn_type1_prefix(&p, eth_tag, &esi, vtep_ip);
> 1236            /* Process the route. */
> 1237            if (attr) {
> >>>     CID 1636504:    (ARRAY_VS_SINGLETON)
> >>>     Passing "&label" to function "bgp_update" which uses it as an array. This might corrupt or misinterpret adjacent memory locations.
> 1238                    bgp_update(peer, (struct prefix *)&p, addpath_id, attr, afi, safi, ZEBRA_ROUTE_BGP,
> 1239                               BGP_ROUTE_NORMAL, &prd, &label, num_labels, 0, NULL);
> 1240            } else {
> 1241                    bgp_withdraw(peer, (struct prefix *)&p, addpath_id, afi, safi, ZEBRA_ROUTE_BGP,
> 1242                                 BGP_ROUTE_NORMAL, &prd, &label, num_labels);
> 1243            }

Fix this by declaring a label array instead of a single array.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 months agobgpd: simplify bgp_evpn_process_rt1 with label
Philippe Guibert [Fri, 7 Feb 2025 14:40:29 +0000 (15:40 +0100)]
bgpd: simplify bgp_evpn_process_rt1 with label

Remove the num_labels variable, the received bgp_update() and
bgp_withdraw() function will read the message as including one
label or vni value.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
2 months agobgpd: Send LL only if LL Next Hop capability is negotiated
Donatas Abraitis [Tue, 11 Feb 2025 08:19:20 +0000 (10:19 +0200)]
bgpd: Send LL only if LL Next Hop capability is negotiated

If we have LL Next Hop capability exchanged, we should send LL-only as 16-bytes
NH instead of a GUA (global unicast).

Fixes: db853cc97eafee8742cd391aaa2b5bc58a6751ae ("bgpd: Implement Link-Local Next Hop capability")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agobgpd: fix bgp vrf instance creation from implicit
Chirag Shah [Tue, 11 Feb 2025 02:56:15 +0000 (18:56 -0800)]
bgpd: fix bgp vrf instance creation from implicit

In bgp route leak, when import vrf x is executed,
it creates bgp instance as hidden with asn value as unspecified.

When router bgp x is configured ensure the correct as,
asnotation is applied otherwise running config shows asn value as 0.

This can lead to frr-reload failure when any FRR config change.

Fix:
Move asn and asnotiation, as_pretty value in common done section,
so when bgp_create gets existing instance but before returning
update asn and required fields in common section.

In bgp_create(): when returning for hidden at least update asn
and required when bgp instance created implicitly due to vrf leak.

if (hidden) {
    bgp = bgp_old;
    goto peer_init; <<<
}

Before fix:
show running:

router bgp 0 vrf purple
 bgp router-id 10.10.3.11
 !
 address-family ipv4 unicast
  redistribute static
  import vrf blue
 exit-address-family
 !
 address-family ipv6 unicast
  import vrf blue
 exit-address-family
 !
 address-family l2vpn evpn
  advertise ipv4 unicast
  advertise ipv6 unicast
 exit-address-family
exit

Testing:

1) following snippet config:
router bgp 63420 vrf blue
 import vrf purple
router bgp 63420 vrf purple
 import vrf blue
2) restart frr leads to the running config with 0 asn value.

Signed-off-by: Chirag Shah <chirag@nvidia.com>
2 months agobgpd: Make sure Link-Local Next Hop capability has its own update-group
Donatas Abraitis [Mon, 10 Feb 2025 21:39:55 +0000 (23:39 +0200)]
bgpd: Make sure Link-Local Next Hop capability has its own update-group

We should involve checking received (not only advertised) capability, because
otherwise we put both peers (one with LL capability, another without) into a
single update-group and send 16-bytes NH instead of 16-bytes and 32-bytes
separately.

Fixes: db853cc97eafee8742cd391aaa2b5bc58a6751ae ("bgpd: Implement Link-Local Next Hop capability")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agobgpd: Do not show `neighbor X capability link-local` for unnumbered peering
Donatas Abraitis [Mon, 10 Feb 2025 21:19:53 +0000 (23:19 +0200)]
bgpd: Do not show `neighbor X capability link-local` for unnumbered peering

This capability is enabled by default.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agotests: Check if Link-Local Next Hop capability is enabled implicitly
Donatas Abraitis [Mon, 10 Feb 2025 21:07:28 +0000 (23:07 +0200)]
tests: Check if Link-Local Next Hop capability is enabled implicitly

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agodoc: Enable Link-Local Next Hop capability for unnumbered peers implicitly
Donatas Abraitis [Mon, 10 Feb 2025 21:05:15 +0000 (23:05 +0200)]
doc: Enable Link-Local Next Hop capability for unnumbered peers implicitly

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agobgpd: Enable Link-Local Next Hop capability for unnumbered peers implicitly
Donatas Abraitis [Mon, 10 Feb 2025 20:59:16 +0000 (22:59 +0200)]
bgpd: Enable Link-Local Next Hop capability for unnumbered peers implicitly

Fixes: db853cc97eafee8742cd391aaa2b5bc58a6751ae ("bgpd: Implement Link-Local Next Hop capability")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agotopotests: test IGMP/MLD group/source limits
Rafael Zalamena [Wed, 22 Jan 2025 14:07:15 +0000 (11:07 -0300)]
topotests: test IGMP/MLD group/source limits

Add new topology for testing IGMP/MLD group/source limiting and more features
in the future.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2 months agotopotests: multicast source group join
Rafael Zalamena [Wed, 5 Feb 2025 12:57:45 +0000 (09:57 -0300)]
topotests: multicast source group join

Allow topotests to generate source group join to test SSM.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2 months agodoc: document MLD reset command
Rafael Zalamena [Wed, 5 Feb 2025 19:04:15 +0000 (16:04 -0300)]
doc: document MLD reset command

Document newly added reset command for MLD (similar to clear ip igmp
interfaces).

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2 months agopim6d: implement clear IPv6 MLD interfaces
Rafael Zalamena [Fri, 20 Sep 2024 01:56:38 +0000 (22:56 -0300)]
pim6d: implement clear IPv6 MLD interfaces

Allow user to reset MLD state on all interfaces in a VRF.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2 months agodoc: IGMP/MLD commands to limit source/groups
Rafael Zalamena [Sat, 1 Feb 2025 17:33:28 +0000 (14:33 -0300)]
doc: IGMP/MLD commands to limit source/groups

Document the newly added commands to limit the maximum amount of
groups/source to learn.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2 months agopim6d: implement MLD source/group limits
Rafael Zalamena [Wed, 11 Sep 2024 14:05:07 +0000 (11:05 -0300)]
pim6d: implement MLD source/group limits

Let user configure a source/group limit for MLD protocol.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
2 months agopimd: implement IGMP group/source count limit
David Lamparter [Tue, 24 Aug 2021 16:21:59 +0000 (18:21 +0200)]
pimd: implement IGMP group/source count limit

For groups we can just look at the length of the list, for sources we
need to count them on a per-interface level.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 months agobgpd: Fix crash in bgp_labelpool
Donald Sharp [Mon, 10 Feb 2025 17:02:00 +0000 (12:02 -0500)]
bgpd: Fix crash in bgp_labelpool

The bgp labelpool code is grabbing the vpn policy data structure.
This vpn_policy has a pointer to the bgp data structure.  If
a item placed on the bgp label pool workqueue happens to sit
there for the microsecond or so and the operator issues a
`no router bgp...` command that corresponds to the vpn_policy
bgp pointer, when the workqueue is run it will crash because
the bgp pointer is now freed and something else owns it.

Modify the labelpool code to store the vrf id associated
with the request on the workqueue.  When you wake up
if the vrf id still has a bgp pointer allow the request
to continue, else drop it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
2 months agoMerge pull request #18077 from y-bharath14/srib-babeld-code-maintainability
Donald Sharp [Mon, 10 Feb 2025 14:48:23 +0000 (09:48 -0500)]
Merge pull request #18077 from y-bharath14/srib-babeld-code-maintainability

babeld: Improve code clarity and maintainability

2 months agoMerge pull request #17775 from gromit1811/pr_journald_bugfix
David Lamparter [Mon, 10 Feb 2025 08:27:50 +0000 (09:27 +0100)]
Merge pull request #17775 from gromit1811/pr_journald_bugfix

2 months agobabeld: Improve code clarity and maintainability
Y Bharath [Mon, 10 Feb 2025 06:13:05 +0000 (11:43 +0530)]
babeld: Improve code clarity and maintainability

Improve code clarity and maintainability

Signed-off-by: y-bharath14 <y.bharath@samsung.com>
2 months agobgpd: Request SRv6 locator after zebra connection
Carmine Scarpitta [Sat, 8 Feb 2025 23:44:01 +0000 (00:44 +0100)]
bgpd: Request SRv6 locator after zebra connection

When SRv6 is enabled and an SRv6 locator is specified in the BGP
configuration, BGP may attempt to request SRv6 locator information from
zebra before the connection is fully established. If this occurs, the
request fails with the following error:

```
2025/02/06 16:37:32 BGP: [HR66R-TWQYD][EC 100663302] srv6_manager_get_locator: invalid zclient socket
````

As a result, BGP is unable to obtain the locator information,
preventing SRv6 VPN from working.

This commit fixes the issue by ensuring BGP requests SRv6 locator
information once the connection with zebra is successfully established.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2 months agotests: Extend SRv6 static SIDs topotest to verify SID structure
Carmine Scarpitta [Sat, 8 Feb 2025 21:26:13 +0000 (22:26 +0100)]
tests: Extend SRv6 static SIDs topotest to verify SID structure

The `static_srv6_sids` topotest verifies that staticd correctly
programs the SIDs in the zebra RIB. Currently, the topotest only
validates the programmed behavior and SID attributes.

This commit extends the topotest to also validate the SID structure.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2 months agolib: Add sidStructure in SRv6 SIDs JSON output
Carmine Scarpitta [Sat, 8 Feb 2025 21:17:09 +0000 (22:17 +0100)]
lib: Add sidStructure in SRv6 SIDs JSON output

The `show ipv6 route json` command displays the IPv6 routing table in
JSON format, including SRv6 SIDs. For each SRv6 SID, it provides
behavior and SID attributes. However, it does not include the SID
structure.

This commit adds the SID structure to the SRv6 SID JSON output.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2 months agostaticd: Fix SRv6 SID installation and deletion
Carmine Scarpitta [Fri, 7 Feb 2025 16:47:45 +0000 (17:47 +0100)]
staticd: Fix SRv6 SID installation and deletion

The SRv6 support in staticd (PR #16894) does not set the correct SID
parameters (block length, node length, function length).

This commit fixes the issue and computes the correct parameters.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
2 months agobgpd: Do not check for capability length for Link-Local Next Hop capability
Donatas Abraitis [Sat, 8 Feb 2025 11:01:01 +0000 (13:01 +0200)]
bgpd: Do not check for capability length for Link-Local Next Hop capability

Capability's length is 0 and this is not needed to check if it's multiplied by
X or there is a minimum length for that.

Fixes: db853cc97eafee8742cd391aaa2b5bc58a6751ae ("bgpd: Implement Link-Local Next Hop capability")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
2 months agoMerge pull request #17871 from opensourcerouting/feature/bgp_link_local_capability
Russ White [Fri, 7 Feb 2025 19:00:59 +0000 (14:00 -0500)]
Merge pull request #17871 from opensourcerouting/feature/bgp_link_local_capability

bgpd: Implement Link-Local Next Hop capability

2 months agoMerge pull request #18045 from LabNConsulting/ziemba/250205-rfapi-mem-cleanup
Donald Sharp [Fri, 7 Feb 2025 16:20:08 +0000 (11:20 -0500)]
Merge pull request #18045 from LabNConsulting/ziemba/250205-rfapi-mem-cleanup

bgpd: rfapi: fix mem leak when killed

2 months agolib: crash handlers must be allowed on threads
David Lamparter [Fri, 7 Feb 2025 12:22:25 +0000 (13:22 +0100)]
lib: crash handlers must be allowed on threads

Blocking all signals on non-main threads is not the way to go, at least
the handlers for SIGSEGV, SIGBUS, SIGILL, SIGABRT and SIGFPE need to run
so we get backtraces.  Otherwise the process just exits.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
2 months agoMerge pull request #18048 from opensourcerouting/msdpt3f
Jafar Al-Gharaibeh [Fri, 7 Feb 2025 03:40:45 +0000 (21:40 -0600)]
Merge pull request #18048 from opensourcerouting/msdpt3f

pimd: fix DR election race on startup