]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
15 months agobgpd: Allow sending Origin Validation State extended community over EBGP-OAD 15128/head
Donatas Abraitis [Thu, 11 Jan 2024 09:18:14 +0000 (11:18 +0200)]
bgpd: Allow sending Origin Validation State extended community over EBGP-OAD

https://datatracker.ietf.org/doc/html/draft-uttaro-idr-bgp-oad#section-3.13

Extended communities which are non-transitive across an AS boundary MAY be
advertised over an EBGP-OAD session if allowed by explicit policy configuration.

If allowed, all the members of the OAD SHOULD be configured to use the same
criteria.

For example, the Origin Validation State Extended Community, defined as
non-transitive in [RFC8097], can be advertised to peers in the same OAD.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agotests: Check if the route over eBGP is preferred when eBGP-OAD is used
Donatas Abraitis [Thu, 11 Jan 2024 08:34:05 +0000 (10:34 +0200)]
tests: Check if the route over eBGP is preferred when eBGP-OAD is used

If at least one of the candidate routes was received via EBGP, remove from
consideration all routes that were received via EBGP-OAD and IBGP.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agobgpd: Show external session sub-type (OAD) if exists
Donatas Abraitis [Thu, 11 Jan 2024 08:47:33 +0000 (10:47 +0200)]
bgpd: Show external session sub-type (OAD) if exists

```
r1# sh ip bgp 10.10.10.10/32
BGP routing table entry for 10.10.10.10/32, version 1
Paths: (2 available, best #2, table default)
  Advertised to non peer-group peers:
  192.168.1.2 192.168.1.4
  65002 65003
    192.168.1.2 from 192.168.1.2 (192.168.2.2)
      Origin incomplete, metric 123, localpref 123, valid, external (oad)
      Last update: Thu Jan 11 10:46:32 2024
  65004 65005
    192.168.1.4 from 192.168.1.4 (192.168.4.4)
      Origin incomplete, metric 123, localpref 123, valid, external, best (Peer Type)
      Last update: Thu Jan 11 10:46:30 2024
r1#
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agobgpd: Prefer routes over eBGP versus eBGP-OAD
Donatas Abraitis [Thu, 11 Jan 2024 08:36:41 +0000 (10:36 +0200)]
bgpd: Prefer routes over eBGP versus eBGP-OAD

If at least one of the candidate routes was received via EBGP, remove from
consideration all routes that were received via EBGP-OAD and IBGP.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agoMerge pull request #15124 from fdumontet6WIND/large_fds
Donald Sharp [Thu, 11 Jan 2024 01:24:26 +0000 (20:24 -0500)]
Merge pull request #15124 from fdumontet6WIND/large_fds

lib snmp: use snmp's large fd sets for agentx

15 months agolib: use snmp's large fd sets for agentx 15124/head
Edwin Brossette [Fri, 8 Dec 2023 15:02:11 +0000 (16:02 +0100)]
lib: use snmp's large fd sets for agentx

The maximum number of file descriptors in an fd set is limited by
FD_SETSIZE. This limitation is important because the libc macros
FD_SET(), FD_CLR() and FD_ISSET() will invoke a sigabort if the size of
the fd set given to them is above FD_SETSIZE.

We ran into such a sigabort with bgpd because snmp can return an fd set
of size higher than FD_SETSIZE when calling snmp_select_info(). An
unfortunate FD_ISSET() call later causes the following abort:

Received signal 6 at 1701115534 (si_addr 0xb94, PC 0x7ff289a16a7c); aborting...
/lib/x86_64-linux-gnu/libfrr.so.0(zlog_backtrace_sigsafe+0xb3) [0x7ff289d62bba]
/lib/x86_64-linux-gnu/libfrr.so.0(zlog_signal+0x1b4) [0x7ff289d62a1f]
/lib/x86_64-linux-gnu/libfrr.so.0(+0x102860) [0x7ff289da4860]
/lib/x86_64-linux-gnu/libc.so.6(+0x42520) [0x7ff2899c2520]
/lib/x86_64-linux-gnu/libc.so.6(pthread_kill+0x12c) [0x7ff289a16a7c]
/lib/x86_64-linux-gnu/libc.so.6(raise+0x16) [0x7ff2899c2476]
/lib/x86_64-linux-gnu/libc.so.6(abort+0xd3) [0x7ff2899a87f3]
/lib/x86_64-linux-gnu/libc.so.6(+0x896f6) [0x7ff289a096f6]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x2a) [0x7ff289ab676a]
/lib/x86_64-linux-gnu/libc.so.6(+0x1350c6) [0x7ff289ab50c6]
/lib/x86_64-linux-gnu/libc.so.6(+0x1366ab) [0x7ff289ab66ab]
/lib/x86_64-linux-gnu/libfrrsnmp.so.0(+0x36f5) [0x7ff2897736f5]
/lib/x86_64-linux-gnu/libfrrsnmp.so.0(+0x3c27) [0x7ff289773c27]
/lib/x86_64-linux-gnu/libfrr.so.0(thread_call+0x1c2) [0x7ff289dbe105]
/lib/x86_64-linux-gnu/libfrr.so.0(frr_run+0x257) [0x7ff289d56e69]
/usr/bin/bgpd(main+0x4f4) [0x560965c40488]
/lib/x86_64-linux-gnu/libc.so.6(+0x29d90) [0x7ff2899a9d90]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x80) [0x7ff2899a9e40]
/usr/bin/bgpd(_start+0x25) [0x560965c3e965]
in thread agentx_timeout scheduled from /build/make-pkg/output/_packages/cp-routing/src/lib/agentx.c:122 agentx_events_update()

Also, the following error is logged by snmp just before the abort:
snmp[err]: Use snmp_sess_select_info2() for processing large file descriptors

snmp uses a custom struct netsnmp_large_fd_set to work above the limit
imposed by FD_SETSIZE. It is noteworthy that, when calling
snmp_select_info() instead of snmp_select_info2(), snmp uses the same
code working with its custom, large structs, and copy/paste the result
to a regular, libc compatible fd_set. So there should be no downside
working with snmp_select_info2() instead of snmp_select_info().

Replace every use of the libc file descriptors sets by snmp's extended
file descriptors sets in agentx to acommodate for the high number of
file descriptors that can come out of snmp. This should prevent the
abort seen above.

Signed-off-by: Edwin Brossette <edwin.brossette@6wind.com>
15 months agoMerge pull request #15100 from donaldsharp/SA_problems_local
Donatas Abraitis [Wed, 10 Jan 2024 10:17:19 +0000 (12:17 +0200)]
Merge pull request #15100 from donaldsharp/SA_problems_local

Sa problems local

15 months agoMerge pull request #15123 from LabNConsulting/chopps/fix-oper-state-memleak
Donatas Abraitis [Wed, 10 Jan 2024 10:16:37 +0000 (12:16 +0200)]
Merge pull request #15123 from LabNConsulting/chopps/fix-oper-state-memleak

lib: fix oper-state memleak

15 months agolib: fix oper-state memleak 15123/head
Christian Hopps [Tue, 9 Jan 2024 21:52:41 +0000 (21:52 +0000)]
lib: fix oper-state memleak

Fix memleak when a key-ed query was done for which the key didn't exist.

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agozebra: SA incorrectly believes a NULL pointer 15100/head
Donald Sharp [Fri, 5 Jan 2024 18:24:59 +0000 (13:24 -0500)]
zebra: SA incorrectly believes a NULL pointer

SA has decided that old_re could be a NULL pointer
even though the zebra_redistribute_check function
checks for NULL and returns false that would
not allow a NULL pointer deref.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agobgpd: data is set but never used
Donald Sharp [Fri, 5 Jan 2024 18:02:16 +0000 (13:02 -0500)]
bgpd: data is set but never used

I've kept the assignment in a comment because I am concerned
about new code being added later that the data pointer would
not be set correctly.  Next coder can see the commented
out line and uncomment it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agoospf6d: Value set is never used
Donald Sharp [Fri, 5 Jan 2024 17:59:53 +0000 (12:59 -0500)]
ospf6d: Value set is never used

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agopimd: Cleanup SA issue with value never used
Donald Sharp [Fri, 5 Jan 2024 17:57:06 +0000 (12:57 -0500)]
pimd: Cleanup SA issue with value never used

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agobgpd: Clean up issues found in SA with clang 14
Donald Sharp [Fri, 5 Jan 2024 17:53:34 +0000 (12:53 -0500)]
bgpd: Clean up issues found in SA with clang 14

3 different issues:

a) length never used
b) safi never used
c) length never used.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agoMerge pull request #15103 from LabNConsulting/chopps/oper-filter
Donald Sharp [Tue, 9 Jan 2024 17:31:36 +0000 (12:31 -0500)]
Merge pull request #15103 from LabNConsulting/chopps/oper-filter

Implement full XPath 1.0 functionality

15 months agoMerge pull request #15122 from opensourcerouting/fix/drop_packet_send_debugs
Donald Sharp [Tue, 9 Jan 2024 17:21:09 +0000 (12:21 -0500)]
Merge pull request #15122 from opensourcerouting/fix/drop_packet_send_debugs

bgpd: Change printing format show debugging for debug bgp updates

15 months agoMerge pull request #15108 from opensourcerouting/fix/debug_bgp_updates_detail
Russ White [Tue, 9 Jan 2024 15:18:50 +0000 (10:18 -0500)]
Merge pull request #15108 from opensourcerouting/fix/debug_bgp_updates_detail

bgpd: Add `debug bgp updates detail` command

15 months agoMerge pull request #15001 from pguibert6WIND/zebra_nexthop_rework
Russ White [Tue, 9 Jan 2024 15:11:35 +0000 (10:11 -0500)]
Merge pull request #15001 from pguibert6WIND/zebra_nexthop_rework

Zebra nexthop rework

15 months agoMerge pull request #15120 from opensourcerouting/fix/memory_leak_for_default_originate
Donald Sharp [Tue, 9 Jan 2024 15:03:29 +0000 (10:03 -0500)]
Merge pull request #15120 from opensourcerouting/fix/memory_leak_for_default_originate

bgpd: Fix memory leak for default-originate with route-map

15 months agobgpd: Change printing format `show debugging` for `debug bgp updates` 15122/head
Donatas Abraitis [Tue, 9 Jan 2024 08:06:36 +0000 (10:06 +0200)]
bgpd: Change printing format `show debugging` for `debug bgp updates`

Before:

```
BGP debugging status:
  BGP updates debugging is on (inbound) for 127.0.0.1 with prefix-list rn-dummy 192.168.10.18 with prefix-list rn-dummy 1.1.1.1
```

After:

```
BGP debugging status:
  BGP updates debugging is on (inbound) for:
   127.0.0.1 with prefix-list rn-dummy
   192.168.10.18 with prefix-list rn-dummy
   192.168.10.20
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agobgpd: Drop BGP_DEBUG_PACKET_SEND_DETAIL/BGP_DEBUG_PACKET_SEND consts
Donatas Abraitis [Tue, 9 Jan 2024 07:58:00 +0000 (09:58 +0200)]
bgpd: Drop BGP_DEBUG_PACKET_SEND_DETAIL/BGP_DEBUG_PACKET_SEND consts

Not used anywhere.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agoMerge pull request #15106 from opensourcerouting/fix/rename_thread_cli
Donald Sharp [Mon, 8 Jan 2024 18:51:36 +0000 (13:51 -0500)]
Merge pull request #15106 from opensourcerouting/fix/rename_thread_cli

vtysh: Add `show event ...` commands

15 months agobgpd: Fix memory leak for default-originate with route-map 15120/head
Donatas Abraitis [Mon, 8 Jan 2024 17:21:56 +0000 (19:21 +0200)]
bgpd: Fix memory leak for default-originate with route-map

```
Direct leak of 40 byte(s) in 1 object(s) allocated from:
    0 0x7fc4b81eed28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
    1 0x7fc4b7bd60bb in qcalloc lib/memory.c:105
    2 0x56221dc19207 in aspath_dup bgpd/bgp_aspath.c:689
    3 0x56221daacd42 in route_set_aspath_prepend bgpd/bgp_routemap.c:2283
    4 0x7fc4b7c3891a in route_map_apply_ext lib/routemap.c:2687
    5 0x56221dace552 in subgroup_default_originate bgpd/bgp_updgrp_adv.c:906
    6 0x56221dabf79c in update_group_default_originate_route_map_walkcb bgpd/bgp_updgrp.c:2105
    7 0x56221dabde4e in update_group_walkcb bgpd/bgp_updgrp.c:1721
    8 0x7fc4b7b9d398 in hash_walk lib/hash.c:270
    9 0x56221dac94cb in update_group_af_walk bgpd/bgp_updgrp.c:2062
    10 0x56221dac9b0f in update_group_walk bgpd/bgp_updgrp.c:2071
    11 0x56221dac9fd5 in update_group_refresh_default_originate_route_map bgpd/bgp_updgrp.c:2118
    12 0x7fc4b7c7fc54 in event_call lib/event.c:1974
    13 0x7fc4b7bb9276 in frr_run lib/libfrr.c:1214
    14 0x56221d9217fd in main bgpd/bgp_main.c:510
    15 0x7fc4b6bf2c86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)
```

tmp_pi.attr should be flushed since it's already interned (new_attr) or the
origin value is used (attr).

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agoMerge pull request #15119 from donaldsharp/pytest_mgmtd
Donatas Abraitis [Mon, 8 Jan 2024 18:48:30 +0000 (20:48 +0200)]
Merge pull request #15119 from donaldsharp/pytest_mgmtd

tests: Add mgmtd to the official pytest.mark list

15 months agoMerge pull request #15111 from donaldsharp/json_vpn_wait_what
Donatas Abraitis [Mon, 8 Jan 2024 13:57:25 +0000 (15:57 +0200)]
Merge pull request #15111 from donaldsharp/json_vpn_wait_what

bgpd: show_adj_route_vpn always leaked json memory

15 months agotests: Add mgmtd to the official pytest.mark list 15119/head
Donald Sharp [Mon, 8 Jan 2024 12:58:14 +0000 (07:58 -0500)]
tests: Add mgmtd to the official pytest.mark list

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agoMerge pull request #15110 from donaldsharp/revert_zrouter.stale_client
Christian Hopps [Mon, 8 Jan 2024 12:35:20 +0000 (07:35 -0500)]
Merge pull request #15110 from donaldsharp/revert_zrouter.stale_client

Revert "zebra: Cleanup zrouter.stale_client_list on shutdown"

15 months agobgpd: show_adj_route_vpn always leaked json memory 15111/head
Donald Sharp [Sun, 7 Jan 2024 20:55:15 +0000 (15:55 -0500)]
bgpd: show_adj_route_vpn always leaked json memory

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agoMerge pull request #15101 from LabNConsulting/chopps/new-libyang-req
Donald Sharp [Sun, 7 Jan 2024 20:03:13 +0000 (15:03 -0500)]
Merge pull request #15101 from LabNConsulting/chopps/new-libyang-req

build: require libyang 2.1.128

15 months agoRevert "zebra: Cleanup zrouter.stale_client_list on shutdown" 15110/head
Donald Sharp [Sun, 7 Jan 2024 18:14:54 +0000 (13:14 -0500)]
Revert "zebra: Cleanup zrouter.stale_client_list on shutdown"

This reverts commit 71f7ecb571cd8a87c97ae952db1f1fafa7ef627a.

15 months agoMerge pull request #15102 from opensourcerouting/Revert-memleak-PR14811
Donald Sharp [Sun, 7 Jan 2024 17:30:22 +0000 (12:30 -0500)]
Merge pull request #15102 from opensourcerouting/Revert-memleak-PR14811

Revert "bgpd: On shutdown do not create a workqueue for the self peer"

15 months agotests: test new XPath 1.0 predicate functionality 15103/head
Christian Hopps [Sat, 6 Jan 2024 09:47:04 +0000 (09:47 +0000)]
tests: test new XPath 1.0 predicate functionality

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agolib: use libyang functions if they are present
Christian Hopps [Sat, 6 Jan 2024 11:06:38 +0000 (11:06 +0000)]
lib: use libyang functions if they are present

Add configure.ac tests for libyang functions, if not present supply the
functionality ourselves in yang.[ch]

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agolib: mgmtd: implement full XPath 1.0 predicate functionality
Christian Hopps [Sat, 6 Jan 2024 09:45:29 +0000 (09:45 +0000)]
lib: mgmtd: implement full XPath 1.0 predicate functionality

Allow user to specify full YANG compatible XPath 1.0 predicates. This
allows for trimming results of generic queries using functions and other
non-key predicates from XPath 1.0

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agolib: fix clang SA warnings
Christian Hopps [Sun, 7 Jan 2024 09:41:32 +0000 (09:41 +0000)]
lib: fix clang SA warnings

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agobgpd: Add `debug bgp updates detail` command 15108/head
Donatas Abraitis [Sun, 7 Jan 2024 13:43:30 +0000 (15:43 +0200)]
bgpd: Add `debug bgp updates detail` command

When filtering with `debug bgp updates in x.x.x.x prefix-list plist`, we want
to filter out unnecessary messages like:

```
127.0.0.1(Unknown) rcvd UPDATE wlen 0 attrlen 20 alen 5
```

Such a line as above will be repeated for all the paths received and it's useless
without knowing the prefix (because NLRIs are not parsed yet).

But want to see only relevant ones:

```
127.0.0.1(Unknown) rcvd UPDATE w/ attr: nexthop 127.0.0.1, origin i, path 65002
127.0.0.1(Unknown) rcvd 10.255.255.1/32 IPv4 unicast
```

With `debug bgp updates detail` we can combine this to something like:

```
127.0.0.1(Unknown) rcvd UPDATE w/ attr: nexthop 127.0.0.1, origin i, path 65002
127.0.0.1(Unknown) rcvd UPDATE wlen 0 attrlen 20 alen 5
127.0.0.1(Unknown) rcvd 10.255.255.1/32 IPv4 unicast
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agoMerge pull request #15104 from donaldsharp/label_pool_manager
Donatas Abraitis [Sun, 7 Jan 2024 13:11:38 +0000 (15:11 +0200)]
Merge pull request #15104 from donaldsharp/label_pool_manager

bgpd: bgp_sync_label_manager failure case

15 months agodoc: Rename `Thread` to `Event` in events example 15106/head
Donatas Abraitis [Sun, 7 Jan 2024 12:33:10 +0000 (14:33 +0200)]
doc: Rename `Thread` to `Event` in events example

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agovtysh: Rename `show thread ...` to `show event ...`
Donatas Abraitis [Sun, 7 Jan 2024 11:46:04 +0000 (13:46 +0200)]
vtysh: Rename `show thread ...` to `show event ...`

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agotests: Rename `show thread ...` to `show event ...`
Donatas Abraitis [Sun, 7 Jan 2024 11:30:48 +0000 (13:30 +0200)]
tests: Rename `show thread ...` to `show event ...`

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agotools: Rename `show thread ...` to `show event ...`
Donatas Abraitis [Sun, 7 Jan 2024 11:29:57 +0000 (13:29 +0200)]
tools: Rename `show thread ...` to `show event ...`

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agodoc: Rename `show thread ...` to `show event ...`
Donatas Abraitis [Sun, 7 Jan 2024 11:29:08 +0000 (13:29 +0200)]
doc: Rename `show thread ...` to `show event ...`

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agoMerge pull request #15105 from donaldsharp/event_thread_mishap
Donatas Abraitis [Sun, 7 Jan 2024 11:27:02 +0000 (13:27 +0200)]
Merge pull request #15105 from donaldsharp/event_thread_mishap

lib: Use event name instead of thread

15 months agolib: Use event name instead of thread 15105/head
Donald Sharp [Sun, 7 Jan 2024 01:41:20 +0000 (20:41 -0500)]
lib: Use event name instead of thread

The thread system has been renamed, let's use the proper
terminology now in the show commands.  Also realign
output a tiny bit for stuff that was missing.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agobgpd: bgp_sync_label_manager failure case 15104/head
Donald Sharp [Sun, 7 Jan 2024 01:26:14 +0000 (20:26 -0500)]
bgpd: bgp_sync_label_manager failure case

There are several problems with the bgp_sync_label_manager
function:

a) It is possible that a request in the lp->requests
fifo will be unable to be filled at this point in time
and the lf will be leaked and not ever fullfilled.

b) The bgp_sync_label_manager runs one time a second
irrelevant if there is work to do or not.

To fix (a) just add the request back to the requests
fifo and set the timer to pop in the future.

To fix (b) just every time something is put into
the request pool start a timer to run in 1 second
and do not restart it if all the work is done.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agoRevert "bgpd: On shutdown do not create a workqueue for the self peer" 15102/head
Martin Winter [Sat, 6 Jan 2024 14:56:27 +0000 (15:56 +0100)]
Revert "bgpd: On shutdown do not create a workqueue for the self peer"

This reverts commit 7bf3c2fb195f34382e1bf00ed2c91310a1dc9f86.
Commit reverted as it introduces a memoery leak during the tests

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
15 months agobuild: require libyang 2.1.128 15101/head
Christian Hopps [Sat, 6 Jan 2024 11:55:04 +0000 (06:55 -0500)]
build: require libyang 2.1.128

Update building docs to reflect this as well.

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agoMerge pull request #15054 from k0ste/help
Donatas Abraitis [Sat, 6 Jan 2024 11:20:19 +0000 (13:20 +0200)]
Merge pull request #15054 from k0ste/help

redhat: rpm spec: added protobuf-c to deps & fix bogus changelog date

15 months agoMerge pull request #15092 from donaldsharp/lib_zebra_h_cleanup
Christian Hopps [Fri, 5 Jan 2024 14:40:56 +0000 (09:40 -0500)]
Merge pull request #15092 from donaldsharp/lib_zebra_h_cleanup

Lib zebra h cleanup

15 months agoMerge pull request #15085 from LabNConsulting/chopps/mgmtd-doc-update
Donald Sharp [Fri, 5 Jan 2024 14:28:27 +0000 (09:28 -0500)]
Merge pull request #15085 from LabNConsulting/chopps/mgmtd-doc-update

doc: add diagram of oper-state queries.

15 months agoMerge pull request #15087 from cscarpitta/fix/fix-cid-1575079
Donald Sharp [Fri, 5 Jan 2024 14:27:53 +0000 (09:27 -0500)]
Merge pull request #15087 from cscarpitta/fix/fix-cid-1575079

zebra: Fix coverity issue in `dplane_srv6_encap_srcaddr_set`

15 months agoMerge pull request #15089 from pguibert6WIND/asan_sharpd_fix
Donald Sharp [Fri, 5 Jan 2024 14:27:33 +0000 (09:27 -0500)]
Merge pull request #15089 from pguibert6WIND/asan_sharpd_fix

lib: fix memory leak when disabling nexthop_hold contexts

15 months agoMerge pull request #15091 from louis-6wind/fix-ecommunity_fill_pbr_action
Donald Sharp [Fri, 5 Jan 2024 14:26:50 +0000 (09:26 -0500)]
Merge pull request #15091 from louis-6wind/fix-ecommunity_fill_pbr_action

bgpd: fix ecommunity_fill_pbr_action heap-buffer-overflow

15 months agoMerge pull request #15097 from louis-6wind/cleanup_vrf_update
Donald Sharp [Fri, 5 Jan 2024 14:25:41 +0000 (09:25 -0500)]
Merge pull request #15097 from louis-6wind/cleanup_vrf_update

lib: remove zebra_interface_vrf_update_read()

15 months agoMerge pull request #15086 from LabNConsulting/chopps/remove-old-oper-iter-code
Donald Sharp [Fri, 5 Jan 2024 14:24:23 +0000 (09:24 -0500)]
Merge pull request #15086 from LabNConsulting/chopps/remove-old-oper-iter-code

lib: remove unused/replaced oper-state iteration code

15 months agoMerge pull request #15095 from LabNConsulting/chopps/fix-centos-warn
Donald Sharp [Fri, 5 Jan 2024 14:23:39 +0000 (09:23 -0500)]
Merge pull request #15095 from LabNConsulting/chopps/fix-centos-warn

lib: fix initializer warning on centos 7.

15 months agolib: remove zebra_interface_vrf_update_read() 15097/head
Louis Scalbert [Fri, 5 Jan 2024 10:08:55 +0000 (11:08 +0100)]
lib: remove zebra_interface_vrf_update_read()

zebra_interface_vrf_update_read is orphan. Remove it.

Fixes: b580c52698 ("*: remove ZEBRA_INTERFACE_VRF_UPDATE")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
15 months agolib: fix initializer warning on centos 7. 15095/head
Christian Hopps [Fri, 5 Jan 2024 06:45:34 +0000 (06:45 +0000)]
lib: fix initializer warning on centos 7.

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agolib: sys/utsname.h is not needed in zebra.h 15092/head
Donald Sharp [Thu, 4 Jan 2024 19:53:10 +0000 (14:53 -0500)]
lib: sys/utsname.h is not needed in zebra.h

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agolib: zebra.h does not need to include syslog.h
Donald Sharp [Thu, 4 Jan 2024 19:52:12 +0000 (14:52 -0500)]
lib: zebra.h does not need to include syslog.h

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months ago*: sys/uio.h does not need to be in zebra.h
Donald Sharp [Thu, 4 Jan 2024 19:50:23 +0000 (14:50 -0500)]
*: sys/uio.h does not need to be in zebra.h

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agolib, sharpd: Move sys/resource.h to where it is used
Donald Sharp [Thu, 4 Jan 2024 19:43:46 +0000 (14:43 -0500)]
lib, sharpd: Move sys/resource.h to where it is used

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months ago*: Remove sys/ioctl.h from zebra.h
Donald Sharp [Thu, 4 Jan 2024 19:42:17 +0000 (14:42 -0500)]
*: Remove sys/ioctl.h from zebra.h

Practically no-one uses this and ioctls are pretty much
wrappered.  Further wrappering could make this even better.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agolib, vtysh: Remove inclusion of grp.h for everyone
Donald Sharp [Thu, 4 Jan 2024 19:34:14 +0000 (14:34 -0500)]
lib, vtysh: Remove inclusion of grp.h for everyone

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agolib: Remove in_systm.h it is never used
Donald Sharp [Thu, 4 Jan 2024 19:32:32 +0000 (14:32 -0500)]
lib: Remove in_systm.h it is never used

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months ago*: Remove cost of including netinet/icmp.h everywhere
Donald Sharp [Thu, 4 Jan 2024 19:26:33 +0000 (14:26 -0500)]
*: Remove cost of including netinet/icmp.h everywhere

This file inclusion is only used in 3 places move
the includes to those spots.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agolib: Remove inclusion of various MAXINT from zebra.h
Donald Sharp [Thu, 4 Jan 2024 19:24:01 +0000 (14:24 -0500)]
lib: Remove inclusion of various MAXINT from zebra.h

All modern systems should have these defined.  Let's stop
paying the cost of this compilation.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agolib: HAVE_GLIBC_BACKTRACE does not belong in zebra.h
Donald Sharp [Thu, 4 Jan 2024 19:20:40 +0000 (14:20 -0500)]
lib: HAVE_GLIBC_BACKTRACE does not belong in zebra.h

The backtrace functionality has been abstracted over
to zlog_backtrace().  Now that every place uses this
move the inclusion for HAVE_GLIBC_BACKTRACE into
the appropriate files instead of having everyone
pay for this costly include.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agobgpd: rfapi was not using internal zlog_backtrace()
Donald Sharp [Thu, 4 Jan 2024 19:18:16 +0000 (14:18 -0500)]
bgpd: rfapi was not using internal zlog_backtrace()

The rfapi code was not using the zlog_backtrace()
functionality.  Let's just convert over to using
the proper functionality that we have built in now.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agolib: Move some priviledge headers to file they are used.
Donald Sharp [Thu, 4 Jan 2024 19:04:36 +0000 (14:04 -0500)]
lib: Move some priviledge headers to file they are used.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months ago*: Remove Crypto openSSL define from zebra.h
Donald Sharp [Thu, 4 Jan 2024 19:02:34 +0000 (14:02 -0500)]
*: Remove Crypto openSSL define from zebra.h

Only a couple of places use this.  Move these to a better
spot.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agolib: Breakout sendmmsg into it's own header
Donald Sharp [Thu, 4 Jan 2024 18:55:09 +0000 (13:55 -0500)]
lib: Breakout sendmmsg into it's own header

The only 2 places sendmmsg is used is in zlog_5424.c
and zlog_live.c.  Why is the rest of the entire system
paying for this compilation?

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agoMerge pull request #15083 from louis-6wind/fix-isis_spftree_del
Donald Sharp [Thu, 4 Jan 2024 18:01:21 +0000 (13:01 -0500)]
Merge pull request #15083 from louis-6wind/fix-isis_spftree_del

isisd: fix _isis_spftree_del heap-use-after-free

15 months agobgpd: fix ecommunity_fill_pbr_action heap-buffer-overflow 15091/head
Louis Scalbert [Thu, 4 Jan 2024 16:17:47 +0000 (17:17 +0100)]
bgpd: fix ecommunity_fill_pbr_action heap-buffer-overflow

Fix the following heap-buffer-overflow:

> ==3901635==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x6020003a5940 at pc 0x56260067bb48 bp 0x7ffe8a4f3840 sp 0x7ffe8a4f3838
> READ of size 4 at 0x6020003a5940 thread T0
>     #0 0x56260067bb47 in ecommunity_fill_pbr_action bgpd/bgp_ecommunity.c:1587
>     #1 0x5626007a246e in bgp_pbr_build_and_validate_entry bgpd/bgp_pbr.c:939
>     #2 0x5626007b25e6 in bgp_pbr_update_entry bgpd/bgp_pbr.c:2933
>     #3 0x562600909d18 in bgp_zebra_announce bgpd/bgp_zebra.c:1351
>     #4 0x5626007d5efd in bgp_process_main_one bgpd/bgp_route.c:3528
>     #5 0x5626007d6b43 in bgp_process_wq bgpd/bgp_route.c:3641
>     #6 0x7f450f34c2cc in work_queue_run lib/workqueue.c:266
>     #7 0x7f450f327a27 in event_call lib/event.c:1970
>     #8 0x7f450f21a637 in frr_run lib/libfrr.c:1213
>     #9 0x56260062fc04 in main bgpd/bgp_main.c:540
>     #10 0x7f450ee2dd09 in __libc_start_main ../csu/libc-start.c:308
>     #11 0x56260062ca29 in _start (/usr/lib/frr/bgpd+0x2e3a29)
>
> 0x6020003a5940 is located 0 bytes to the right of 16-byte region [0x6020003a5930,0x6020003a5940)
> allocated by thread T0 here:
>     #0 0x7f450f6aa1f8 in __interceptor_realloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:164
>     #1 0x7f450f244f8a in qrealloc lib/memory.c:112
>     #2 0x562600673313 in ecommunity_add_val_internal bgpd/bgp_ecommunity.c:143
>     #3 0x5626006735bc in ecommunity_uniq_sort_internal bgpd/bgp_ecommunity.c:193
>     #4 0x5626006737e3 in ecommunity_parse_internal bgpd/bgp_ecommunity.c:228
>     #5 0x562600673890 in ecommunity_parse bgpd/bgp_ecommunity.c:236
>     #6 0x562600640469 in bgp_attr_ext_communities bgpd/bgp_attr.c:2674
>     #7 0x562600646eb3 in bgp_attr_parse bgpd/bgp_attr.c:3893
>     #8 0x562600791b7e in bgp_update_receive bgpd/bgp_packet.c:2141
>     #9 0x56260079ba6b in bgp_process_packet bgpd/bgp_packet.c:3406
>     #10 0x7f450f327a27 in event_call lib/event.c:1970
>     #11 0x7f450f21a637 in frr_run lib/libfrr.c:1213
>     #12 0x56260062fc04 in main bgpd/bgp_main.c:540
>     #13 0x7f450ee2dd09 in __libc_start_main ../csu/libc-start.c:308

Fixes: dacf6ec120 ("bgpd: utility routine to convert flowspec actions into pbr actions")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
15 months agolib: fix memory leak when disabling nexthop_hold contexts 15089/head
Philippe Guibert [Wed, 6 Dec 2023 17:34:02 +0000 (18:34 +0100)]
lib: fix memory leak when disabling nexthop_hold contexts

A memory leak is detected when stopping the sharpd daemon
with a nexthop group configuration that includes nexthops.

The nexthop_hold structure and its attributes are not
freed. Fix it by adding the missing free function.

Fixes: 98cbbaea91f6 ("lib: Handle if up/down and vrf enable/disable events")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
15 months agozebra: `ctx` has to be non NULL at this point 15087/head
Carmine Scarpitta [Thu, 4 Jan 2024 10:10:20 +0000 (11:10 +0100)]
zebra: `ctx` has to be non NULL at this point

Fix the following coverity issue:

*** CID 1575079:  Null pointer dereferences  (REVERSE_INULL)
/zebra/zebra_dplane.c: 5950 in dplane_srv6_encap_srcaddr_set()
5944      if (ret == AOK)
5945      result = ZEBRA_DPLANE_REQUEST_QUEUED;
5946      else {
5947      atomic_fetch_add_explicit(&zdplane_info
5948         .dg_srv6_encap_srcaddr_set_errors,
5949        1, memory_order_relaxed);
     CID 1575079:  Null pointer dereferences  (REVERSE_INULL)
     Null-checking "ctx" suggests that it may be null, but it has already been dereferenced on all paths leading to the check.
5950      if (ctx)
5951      dplane_ctx_free(&ctx);
5952      }
5953      return result;
5954     }
5955

Remove the pointer check for `ctx`. At this point in the
function it has to be non null since we deref'ed it.
Additionally the alloc function that creates it cannot
fail.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
15 months agolib: remove unused/replaced oper-state iteration code 15086/head
Christian Hopps [Thu, 4 Jan 2024 06:33:04 +0000 (06:33 +0000)]
lib: remove unused/replaced oper-state iteration code

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agodoc: add diagram of oper-state queries. 15085/head
Christian Hopps [Thu, 4 Jan 2024 05:36:14 +0000 (05:36 +0000)]
doc: add diagram of oper-state queries.

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agoisisd: fix _isis_spftree_del heap-use-after-free 15083/head
Louis Scalbert [Wed, 3 Jan 2024 15:13:02 +0000 (16:13 +0100)]
isisd: fix _isis_spftree_del heap-use-after-free

Fix the following heap-use-after-free

> ==82961==ERROR: AddressSanitizer: heap-use-after-free on address 0x6020001e4750 at pc 0x55a8cc7f63ac bp 0x7ffd6948e340 sp 0x7ffd6948e330
> READ of size 8 at 0x6020001e4750 thread T0
>     #0 0x55a8cc7f63ab in isis_route_node_cleanup isisd/isis_route.c:335
>     #1 0x7ff25ec617c1 in route_node_free lib/table.c:75
>     #2 0x7ff25ec619fc in route_table_free lib/table.c:111
>     #3 0x7ff25ec61661 in route_table_finish lib/table.c:46
>     #4 0x55a8cc800d83 in _isis_spftree_del isisd/isis_spf.c:397
>     #5 0x55a8cc800e45 in isis_spftree_clear isisd/isis_spf.c:414
>     #6 0x55a8cc80bd9a in isis_run_spf isisd/isis_spf.c:2020
>     #7 0x55a8cc80c370 in isis_run_spf_with_protection isisd/isis_spf.c:2076
>     #8 0x55a8cc80cf52 in isis_run_spf_cb isisd/isis_spf.c:2165
>     #9 0x7ff25ec7c4dc in event_call lib/event.c:1970
>     #10 0x7ff25eb64423 in frr_run lib/libfrr.c:1213
>     #11 0x55a8cc7799da in main isisd/isis_main.c:318
>     #12 0x7ff25e623d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
>     #13 0x7ff25e623e3f in __libc_start_main_impl ../csu/libc-start.c:392
>     #14 0x55a8cc778e44 in _start (/usr/lib/frr/isisd+0x109e44)
>
> 0x6020001e4750 is located 0 bytes inside of 16-byte region [0x6020001e4750,0x6020001e4760)
> freed by thread T0 here:
>     #0 0x7ff25f000537 in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:127
>     #1 0x7ff25eb9012e in qfree lib/memory.c:130
>     #2 0x55a8cc7f6485 in isis_route_table_info_free isisd/isis_route.c:351
>     #3 0x55a8cc800cf4 in _isis_spftree_del isisd/isis_spf.c:395
>     #4 0x55a8cc800e45 in isis_spftree_clear isisd/isis_spf.c:414
>     #5 0x55a8cc80bd9a in isis_run_spf isisd/isis_spf.c:2020
>     #6 0x55a8cc80c370 in isis_run_spf_with_protection isisd/isis_spf.c:2076
>     #7 0x55a8cc80cf52 in isis_run_spf_cb isisd/isis_spf.c:2165
>     #8 0x7ff25ec7c4dc in event_call lib/event.c:1970
>     #9 0x7ff25eb64423 in frr_run lib/libfrr.c:1213
>     #10 0x55a8cc7799da in main isisd/isis_main.c:318
>     #11 0x7ff25e623d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
>
> previously allocated by thread T0 here:
>     #0 0x7ff25f000a57 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
>     #1 0x7ff25eb8ffdc in qcalloc lib/memory.c:105
>     #2 0x55a8cc7f63eb in isis_route_table_info_alloc isisd/isis_route.c:343
>     #3 0x55a8cc80052a in _isis_spftree_init isisd/isis_spf.c:334
>     #4 0x55a8cc800e51 in isis_spftree_clear isisd/isis_spf.c:415
>     #5 0x55a8cc80bd9a in isis_run_spf isisd/isis_spf.c:2020
>     #6 0x55a8cc80c370 in isis_run_spf_with_protection isisd/isis_spf.c:2076
>     #7 0x55a8cc80cf52 in isis_run_spf_cb isisd/isis_spf.c:2165
>     #8 0x7ff25ec7c4dc in event_call lib/event.c:1970
>     #9 0x7ff25eb64423 in frr_run lib/libfrr.c:1213
>     #10 0x55a8cc7799da in main isisd/isis_main.c:318
>     #11 0x7ff25e623d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

Fixes: 7153c3cabf ("isisd: update struct isis_route_info has multiple sr info by algorithm")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
15 months agoMerge pull request #15074 from chiragshah6/fdev4
Russ White [Tue, 2 Jan 2024 22:22:11 +0000 (17:22 -0500)]
Merge pull request #15074 from chiragshah6/fdev4

bgpd: unimport evpn routes when implicit withdraw

15 months agoMerge pull request #15055 from opensourcerouting/fix/zebra_ipv6_ll_configured
Russ White [Tue, 2 Jan 2024 15:42:08 +0000 (10:42 -0500)]
Merge pull request #15055 from opensourcerouting/fix/zebra_ipv6_ll_configured

zebra: Push all configured IP addresses when the interface comes up

15 months agoMerge pull request #15062 from opensourcerouting/fix/mark_as_failed_if_do_not_merge_l...
Donald Sharp [Tue, 2 Jan 2024 15:38:34 +0000 (10:38 -0500)]
Merge pull request #15062 from opensourcerouting/fix/mark_as_failed_if_do_not_merge_labeled

github: Mark the build as failed if 'do not merge' label is set

15 months agoMerge pull request #12261 from cscarpitta/srv6-encap-src-addr
Russ White [Tue, 2 Jan 2024 15:37:34 +0000 (10:37 -0500)]
Merge pull request #12261 from cscarpitta/srv6-encap-src-addr

zebra: Add the support of the Source Addr param of the SRv6 Encapsulation

15 months agoMerge pull request #15070 from LabNConsulting/chopps/fix-coverity-errors
Donald Sharp [Tue, 2 Jan 2024 15:09:03 +0000 (10:09 -0500)]
Merge pull request #15070 from LabNConsulting/chopps/fix-coverity-errors

chopps/fix coverity errors

15 months agoMerge pull request #15071 from LabNConsulting/chopps/building-cleanup
Donald Sharp [Tue, 2 Jan 2024 15:07:10 +0000 (10:07 -0500)]
Merge pull request #15071 from LabNConsulting/chopps/building-cleanup

build: protobuf is required so update building docs

15 months agoMerge pull request #15073 from LabNConsulting/chopps/fix-yang-key-queries
Donald Sharp [Tue, 2 Jan 2024 15:06:22 +0000 (10:06 -0500)]
Merge pull request #15073 from LabNConsulting/chopps/fix-yang-key-queries

lib: fix specific entry queries

15 months agoMerge pull request #15076 from LabNConsulting/chopps/libyang-no-schema-node-key-guarantee
Donald Sharp [Tue, 2 Jan 2024 15:05:16 +0000 (10:05 -0500)]
Merge pull request #15076 from LabNConsulting/chopps/libyang-no-schema-node-key-guarantee

lib: don't count on scheme key nodes being first children

15 months agoMerge pull request #15075 from pguibert6WIND/pathd_metric_computed
Donald Sharp [Tue, 2 Jan 2024 15:04:40 +0000 (10:04 -0500)]
Merge pull request #15075 from pguibert6WIND/pathd_metric_computed

pathd: add dynamic candidate path metric [computed] keyword

15 months agolib: don't count on scheme key nodes being first children 15076/head
Christian Hopps [Tue, 2 Jan 2024 11:34:34 +0000 (11:34 +0000)]
lib: don't count on scheme key nodes being first children

Heard back from libyang folks that this is not something they consider part of
the API and/or are going to guarantee. So we cannot count on it. Expect keys at
any location on the child sibling list.

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agopathd: add dynamic candidate path metric [computed] keyword 15075/head
Philippe Guibert [Tue, 2 Jan 2024 10:49:57 +0000 (11:49 +0100)]
pathd: add dynamic candidate path metric [computed] keyword

Add the 'computed' keyword for a given metric.

> [..]
> metric te computed

When set by the PCC, the PCE must send back a computed metric
value in the PCResponse value.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
15 months agolib: fix specific entry queries 15073/head
Christian Hopps [Mon, 1 Jan 2024 09:04:19 +0000 (09:04 +0000)]
lib: fix specific entry queries

- fix key leaf queries
- fix specific list entry with non-key leaf top element

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agoMerge pull request #15068 from chiragshah6/zdev
Donatas Abraitis [Tue, 2 Jan 2024 08:42:28 +0000 (10:42 +0200)]
Merge pull request #15068 from chiragshah6/zdev

bgpd: lttng tp add ethtag to macip zebra send

15 months agoMerge pull request #15066 from chiragshah6/mdev1
Donatas Abraitis [Tue, 2 Jan 2024 08:40:14 +0000 (10:40 +0200)]
Merge pull request #15066 from chiragshah6/mdev1

bgpd: revamp evpn debugs nexthop and l3vni

15 months agobgpd: unimport evpn routes when implicit withdraw 15074/head
Chirag Shah [Thu, 21 Dec 2023 00:23:25 +0000 (16:23 -0800)]
bgpd: unimport evpn routes when implicit withdraw

When bgp update is received for EVPN prefix
where for an existing path's nexthop becomes unreachable,
the path is marked as not VALID but the routes
were not unimported from tenant vrfs, which lead to
stale unicast route(s) and nexthop(s).

In Multipath scenario only a specific path may have marked as
not VALID, then specific path info for the EVPN prefix required to be
unimported from tenant vrf.

Ticket: #3671288

Signed-off-by: Chirag Shah <chirag@nvidia.com>
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agobuild: protobuf is required so update building docs 15071/head
Christian Hopps [Sat, 30 Dec 2023 22:40:07 +0000 (22:40 +0000)]
build: protobuf is required so update building docs

- recommend using libyang 2.1.128 but accept 2.0.0 for now.
- update ubuntu building doc to add GRPC section
- update ubuntu reference docker builds to match grpc doc change

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: mgmtd: increase soft-max msg size to 64K 15070/head
Christian Hopps [Sat, 30 Dec 2023 14:58:52 +0000 (14:58 +0000)]
lib: mgmtd: increase soft-max msg size to 64K

- remove unused mgmt client/server constants

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: fix coverity CID 1574981
Christian Hopps [Sat, 30 Dec 2023 14:38:49 +0000 (14:38 +0000)]
lib: fix coverity CID 1574981

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agomgmtd: fix coverity CID 1574980
Christian Hopps [Sat, 30 Dec 2023 14:34:44 +0000 (14:34 +0000)]
mgmtd: fix coverity CID 1574980

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: fix coverity CID 1574979
Christian Hopps [Sat, 30 Dec 2023 14:48:15 +0000 (14:48 +0000)]
lib: fix coverity CID 1574979

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agomgmtd: fix coverity CID 1574978
Christian Hopps [Sat, 30 Dec 2023 14:36:50 +0000 (14:36 +0000)]
mgmtd: fix coverity CID 1574978

Signed-off-by: Christian Hopps <chopps@labn.net>