]> git.puffer.fish Git - matthieu/frr.git/log
matthieu/frr.git
15 months agozebra: convert interface link-params delay commands to NB
Igor Ryzhov [Fri, 19 Jan 2024 23:38:26 +0000 (01:38 +0200)]
zebra: convert interface link-params delay commands to NB

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agozebra: convert interface link-params neighbor command to NB
Igor Ryzhov [Fri, 19 Jan 2024 23:02:37 +0000 (01:02 +0200)]
zebra: convert interface link-params neighbor command to NB

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agozebra: convert interface link-params bandwidth commands to NB
Igor Ryzhov [Fri, 19 Jan 2024 22:13:14 +0000 (00:13 +0200)]
zebra: convert interface link-params bandwidth commands to NB

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agolib: don't set LP_EXTEND_ADM_GRP by default
Igor Ryzhov [Fri, 19 Jan 2024 16:49:52 +0000 (18:49 +0200)]
lib: don't set LP_EXTEND_ADM_GRP by default

It shouldn't be set unless some affinity is configured. NB callbacks
set this flag correctly when necessary.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agozebra: convert interface link-params metric command to NB
Igor Ryzhov [Fri, 19 Jan 2024 12:34:27 +0000 (14:34 +0200)]
zebra: convert interface link-params metric command to NB

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agozebra: convert interface link-params command to NB
Igor Ryzhov [Fri, 19 Jan 2024 11:06:53 +0000 (13:06 +0200)]
zebra: convert interface link-params command to NB

Make link-params a presence container and activate it when entering the
node. The "enable" command is not necessary anymore but kept hidden for
backwards compatibility.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agozebra: mark interface mpls command as yang
Igor Ryzhov [Fri, 19 Jan 2024 09:53:46 +0000 (11:53 +0200)]
zebra: mark interface mpls command as yang

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agozebra: convert interface ip/ipv6 address commands to NB
Igor Ryzhov [Thu, 18 Jan 2024 18:21:00 +0000 (20:21 +0200)]
zebra: convert interface ip/ipv6 address commands to NB

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agozebra: convert interface bandwidth command to NB
Igor Ryzhov [Wed, 17 Jan 2024 15:24:44 +0000 (17:24 +0200)]
zebra: convert interface bandwidth command to NB

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agozebra: convert interface shutdown command to NB
Igor Ryzhov [Wed, 17 Jan 2024 13:58:17 +0000 (15:58 +0200)]
zebra: convert interface shutdown command to NB

Replace "shutdown" leaf with "enabled" leaf in frr-zebra YANG module
to make it in line with standard YANG models.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agozebra: convert interface link-detect command to NB
Igor Ryzhov [Wed, 17 Jan 2024 12:58:03 +0000 (14:58 +0200)]
zebra: convert interface link-detect command to NB

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agozebra: convert inteface multicast command to NB
Igor Ryzhov [Wed, 17 Jan 2024 12:28:13 +0000 (14:28 +0200)]
zebra: convert inteface multicast command to NB

Introduce new "[no] multicast <enable|disable>" command to be able to
remove the configuration. Current "[no] multicast" command cannot be
removed. Current command is hidden but still works for backwards
compatibility.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agotests: fix test_bgp_recursive_route_ebgp_multi_hop
Igor Ryzhov [Mon, 22 Jan 2024 11:51:52 +0000 (13:51 +0200)]
tests: fix test_bgp_recursive_route_ebgp_multi_hop

We shouldn't pass "lo" as an interface to create_interface_in_kernel.
It always exists, and this function flushes all configured IP addresses
from it.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agoMerge pull request #15243 from opensourcerouting/autoconf-dir-mess
Donald Sharp [Sun, 28 Jan 2024 19:30:28 +0000 (14:30 -0500)]
Merge pull request #15243 from opensourcerouting/autoconf-dir-mess

*: fix a pile of directory and/or state retention related issues

15 months agoMerge pull request #15236 from louis-6wind/fix-label-cmp
Donald Sharp [Sun, 28 Jan 2024 14:20:56 +0000 (09:20 -0500)]
Merge pull request #15236 from louis-6wind/fix-label-cmp

bgpd: fix mpls label pointer comparison

15 months agoMerge pull request #15242 from LabNConsulting/chopps/doc-dev-nb-cleanup
Jafar Al-Gharaibeh [Sun, 28 Jan 2024 04:49:40 +0000 (22:49 -0600)]
Merge pull request #15242 from LabNConsulting/chopps/doc-dev-nb-cleanup

Cleanup the auto-converted northbound doc a little

15 months agoMerge pull request #15244 from idryzhov/mgmtd-fixes
Jafar Al-Gharaibeh [Sun, 28 Jan 2024 04:46:27 +0000 (22:46 -0600)]
Merge pull request #15244 from idryzhov/mgmtd-fixes

A couple of mgmtd fixes

15 months agomgmtd: fix ripngd oper-data xpaths
Igor Ryzhov [Sat, 27 Jan 2024 23:24:02 +0000 (01:24 +0200)]
mgmtd: fix ripngd oper-data xpaths

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agomgmtd: fix get-data transaction hangup
Igor Ryzhov [Sat, 27 Jan 2024 23:18:10 +0000 (01:18 +0200)]
mgmtd: fix get-data transaction hangup

When no data requests were sent to the backends, return immediately,
instead of waiting for a timeout. This can happen if backends providing
the requested data are not connected to mgmtd.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agobuild: homologize path handling
David Lamparter [Thu, 25 Jan 2024 19:29:14 +0000 (20:29 +0100)]
build: homologize path handling

Use consistent `e_somepath` names for expanded versions of `somepath`.
Also remove all paths from `config.h` and put them into
`lib/config_paths.h` - this is to make more obvious when someone is
doing something probably not quite properly structured.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agobabeld: remove bogus config path print
David Lamparter [Thu, 25 Jan 2024 19:26:39 +0000 (20:26 +0100)]
babeld: remove bogus config path print

This doesn't align with what the code actually loads, remove it.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agolib, mgmtd: fix commit history location
David Lamparter [Thu, 25 Jan 2024 18:59:22 +0000 (19:59 +0100)]
lib, mgmtd: fix commit history location

Both of these belong in `/var/lib`, not `/var/run`.

Rather hilariously, the history read in
`mgmt_history_read_cmt_record_index` was always failing, because it was
doing a `file_exists(MGMTD_COMMIT_FILE_PATH)` check.  Which is the wrong
macro - it's `.../commit-%s.json`, including the unprocessed `%s`, which
would never exist.

I guess noone ever tried if this actually works.  Cool.

On the plus side, this means I don't have to implement legacy
compatibility for this, since it never worked to begin with.

(SQLite3 DB location is also changed in this commit since it also uses
`DAEMON_DB_DIR`.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agoospf6d: fix GR & auth seqno state location
David Lamparter [Thu, 25 Jan 2024 18:37:26 +0000 (19:37 +0100)]
ospf6d: fix GR & auth seqno state location

Unfortunately, `ospf6d` is much worse than `ospfd` and `isisd` regarding
its state saving, due to the existence of the auth trailer code.

Again, this belongs in `/var/lib`, not `/var/run`.

Merge both state files into one, and add reconciliation code for the
auth seqno.

I'm gonna save my comment on the fact that `ospf6_auth_seqno_nvm_delete`
is not in fact used anywhere.  Which is now a warning because it's
`static`.  Well.  It probably should be used somewhere, so leave it in.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agoospfd: fix GR state location
David Lamparter [Thu, 25 Jan 2024 17:10:08 +0000 (18:10 +0100)]
ospfd: fix GR state location

This belongs in `/var/lib`, not `/var/run`.

Use library facility to load/save, support previous path as fallback,
and do proper fsync().

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agoisisd: fix overload state location
David Lamparter [Thu, 25 Jan 2024 15:47:35 +0000 (16:47 +0100)]
isisd: fix overload state location

This belongs in `/var/lib`, not `/var/run`.  Also the filename was
typo'd (`isid-restart.json`).

Change to proper location and fall back to previous in case it's the
first restart after an FRR update from a version with the bugged path.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months ago*: fix `frr_daemon_info` indentation
David Lamparter [Thu, 25 Jan 2024 17:30:10 +0000 (18:30 +0100)]
*: fix `frr_daemon_info` indentation

clang-format doesn't understand FRR_DAEMON_INFO is a long macro where
laying out items semantically makes sense.

(Also use only one `FRR_DAEMON_INFO(` in isisd so editors don't get
confused with the mismatching `( ( )`.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agolib: create `frr_daemon_state_{load,save}`
David Lamparter [Thu, 25 Jan 2024 17:09:17 +0000 (18:09 +0100)]
lib: create `frr_daemon_state_{load,save}`

These functions load daemon-specific persistent state from
`/var/lib/frr` and supersede open-coded variants of similar calls in
ospfd, ospf6d and isisd to save GR state and/or sequence numbers.

Unlike the open-coded variants, the save call correctly `fsync()`s the
saved data to ensure disk contents are consistent.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agolib: set up `frr_libstatedir`
David Lamparter [Thu, 25 Jan 2024 15:47:31 +0000 (16:47 +0100)]
lib: set up `frr_libstatedir`

This needs to be used for persistent state, which currently is misplaced
into `/var/run` / `/run` where it gets deleted across reboots.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agobuild: nuke `LDPD_SOCKET`
David Lamparter [Wed, 24 Jan 2024 20:50:26 +0000 (21:50 +0100)]
build: nuke `LDPD_SOCKET`

This just unnecessarily complicates things by involving autoconf.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agobuild: nuke `ZEBRA_SERV_PATH`
David Lamparter [Wed, 24 Jan 2024 20:43:15 +0000 (21:43 +0100)]
build: nuke `ZEBRA_SERV_PATH`

This just unnecessarily complicates things by involving autoconf.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agobuild: nuke `BFDD_CONTROL_SOCKET`
David Lamparter [Wed, 24 Jan 2024 20:38:18 +0000 (21:38 +0100)]
build: nuke `BFDD_CONTROL_SOCKET`

This just unnecessarily complicates things by involving autoconf.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agolib, mgmtd: fix wrong mgmtd socket paths
David Lamparter [Wed, 24 Jan 2024 20:17:13 +0000 (21:17 +0100)]
lib, mgmtd: fix wrong mgmtd socket paths

These paths were ignoring the `-N` namespacing option.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months ago*: rename `frr_vtydir` to `frr_runstatedir`
David Lamparter [Wed, 24 Jan 2024 20:01:22 +0000 (21:01 +0100)]
*: rename `frr_vtydir` to `frr_runstatedir`

Also remove frr_init_vtydir(), just initialize to default.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agobuild: update packaging & docs for dir changes
David Lamparter [Thu, 25 Jan 2024 15:35:29 +0000 (16:35 +0100)]
build: update packaging & docs for dir changes

`--sysconfdir` and `--localstatedir` now align with general autoconf
practices.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agobuild: untangle sysconfdir & localstatedir
David Lamparter [Wed, 24 Jan 2024 18:32:10 +0000 (19:32 +0100)]
build: untangle sysconfdir & localstatedir

`--sysconfdir` should be `/etc` and `--localstatedir` should be `/var`.
The package-specific subdirectory should be added by configure, not
given by the user, to match established behavior by other packages.

Note that `--bindir`, `--sbindir`, `--libdir` and `--libexecdir` have
different established/expected behavior due to distro specific
multi-arch support.  That's why these are left unchanged.

The reason this is getting fixed now is that we need to use
`--localstatedir` for its actual value to put things in `/var/lib`.  As
it is now, being overloaded for `/run`, the configured `/var` path
becomes inaccessible.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agobuild: use AX_RECURSIVE_EVAL
David Lamparter [Wed, 24 Jan 2024 18:54:56 +0000 (19:54 +0100)]
build: use AX_RECURSIVE_EVAL

Replace inline expansion loop.  (Also correctly handles prefix=NONE and
exec_prefix=NONE inside the macro.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agobuild: add recursion limit for AX_RECURSIVE_EVAL
David Lamparter [Thu, 25 Jan 2024 15:09:20 +0000 (16:09 +0100)]
build: add recursion limit for AX_RECURSIVE_EVAL

The autoconf version can just loop forever, abort instead.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agobuild: add ax_recursive_eval.m4
David Lamparter [Wed, 24 Jan 2024 18:47:10 +0000 (19:47 +0100)]
build: add ax_recursive_eval.m4

As found in the GNU autoconf archive
https://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
15 months agoMerge pull request #15239 from cscarpitta/fix/fix-srv6-topotests
Donatas Abraitis [Sat, 27 Jan 2024 17:47:28 +0000 (19:47 +0200)]
Merge pull request #15239 from cscarpitta/fix/fix-srv6-topotests

tests: Fix SRv6 topotest names

15 months agodoc: cleanup the structure a bit
Christian Hopps [Sat, 27 Jan 2024 10:03:57 +0000 (05:03 -0500)]
doc: cleanup the structure a bit

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agodoc: cleanup auto-converted "list" style mistake
Christian Hopps [Sat, 27 Jan 2024 09:27:35 +0000 (04:27 -0500)]
doc: cleanup auto-converted "list" style mistake

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agoMerge pull request #15240 from LabNConsulting/chopps/convert-ripngd
Igor Ryzhov [Sat, 27 Jan 2024 03:42:34 +0000 (05:42 +0200)]
Merge pull request #15240 from LabNConsulting/chopps/convert-ripngd

ripngd: convert ripngd to mgmtd

15 months agoripngd: convert ripngd to mgmtd
Christian Hopps [Fri, 26 Jan 2024 22:40:55 +0000 (17:40 -0500)]
ripngd: convert ripngd to mgmtd

- a couple small fixes for ripd conversion as well.

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agoMerge pull request #15220 from LabNConsulting/chopps/ripd-convert
Igor Ryzhov [Fri, 26 Jan 2024 21:29:59 +0000 (23:29 +0200)]
Merge pull request #15220 from LabNConsulting/chopps/ripd-convert

ripd to mgmtd

15 months agoMerge pull request #15237 from donaldsharp/sharp_watch_neighbors_more
Donatas Abraitis [Fri, 26 Jan 2024 19:09:30 +0000 (21:09 +0200)]
Merge pull request #15237 from donaldsharp/sharp_watch_neighbors_more

sharpd: Add ability to turn off watching of redistribution

15 months agoripd: ripd convert to mgmtd
Christian Hopps [Fri, 19 Jan 2024 16:40:12 +0000 (16:40 +0000)]
ripd: ripd convert to mgmtd

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agomgmtd: fix commit request overwrite
Igor Ryzhov [Thu, 25 Jan 2024 11:54:45 +0000 (13:54 +0200)]
mgmtd: fix commit request overwrite

There are places, where we can receive an existing commit transaction.
If we don't check that the request already exists, it gets overwritten
and we start having problems with transaction refcounters. Forbid having
multiple configuration sessions simultaneously.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agomgmtd: fix memleak
Igor Ryzhov [Thu, 25 Jan 2024 11:53:53 +0000 (13:53 +0200)]
mgmtd: fix memleak

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agomgmtd: cleanup txn without scheduling
Igor Ryzhov [Thu, 25 Jan 2024 11:51:58 +0000 (13:51 +0200)]
mgmtd: cleanup txn without scheduling

If the transaction is not cleaned up immediately, it can be still
referenced by some threds. If it's a commit thread and it's executed
before the actual cleanup, mgmtd crashes because of the missing
commit_cfg_req.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agomgmtd: fix log type
Igor Ryzhov [Thu, 25 Jan 2024 11:48:52 +0000 (13:48 +0200)]
mgmtd: fix log type

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agomgmtd: fix sending the same value to multiple clients
Igor Ryzhov [Wed, 24 Jan 2024 21:03:24 +0000 (23:03 +0200)]
mgmtd: fix sending the same value to multiple clients

The value should not be cleared after sending it to the first client,
otherwise other clients receive an empty string.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agolib: fix removing access/prefix lists
Igor Ryzhov [Fri, 26 Jan 2024 14:57:41 +0000 (16:57 +0200)]
lib: fix removing access/prefix lists

CLI for access/prefix list removal was using `nb_cli_apply_changes`
multiple times in the same command. It's fine for regular daemons but
not for mgmtd. Refactor the code to apply changes only once.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agolib: add yang function for counting data nodes
Igor Ryzhov [Fri, 26 Jan 2024 14:54:36 +0000 (16:54 +0200)]
lib: add yang function for counting data nodes

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
15 months agolib: convert filters to mgmtd
Christian Hopps [Wed, 24 Jan 2024 16:35:19 +0000 (11:35 -0500)]
lib: convert filters to mgmtd

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agolib: convert route-map to mgmtd
Christian Hopps [Wed, 24 Jan 2024 15:59:14 +0000 (10:59 -0500)]
lib: convert route-map to mgmtd

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agodoc: updates to mgmtd conversion documentation
Christian Hopps [Fri, 19 Jan 2024 16:40:34 +0000 (16:40 +0000)]
doc: updates to mgmtd conversion documentation

Signed-off-by: Christian Hopps <chopps@labn.net>
15 months agotests: Rename `test_zebra_seg6local_routes`
Carmine Scarpitta [Fri, 26 Jan 2024 17:15:02 +0000 (18:15 +0100)]
tests: Rename `test_zebra_seg6local_routes`

The name of the `test_zebra_seg6local_routes` test is wrong. The goal
of this test is to verify seg6 routes (not seg6local routes).

Let's put the correct name.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
15 months agotests: Rename `test_srv6_locator.py`
Carmine Scarpitta [Fri, 26 Jan 2024 17:12:12 +0000 (18:12 +0100)]
tests: Rename `test_srv6_locator.py`

It was copied, but we forgot to rename it.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
15 months agosharpd: Add ability to turn off watching of redistribution
Donald Sharp [Fri, 26 Jan 2024 14:26:30 +0000 (09:26 -0500)]
sharpd: Add ability to turn off watching of redistribution

Wanted to do some testing of redistribute without having
to restart sharpd over and over.  Added ability to
turn off the `sharp watch redistribute XX` functionality.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agoMerge pull request #15233 from louis-6wind/bgp-leak-no-network
Donatas Abraitis [Fri, 26 Jan 2024 11:09:33 +0000 (13:09 +0200)]
Merge pull request #15233 from louis-6wind/bgp-leak-no-network

bgpd: fix VRF leaking with 'no bgp network import-check'

15 months agobgpd: use bgp_labels_same in bgp_update()
Louis Scalbert [Fri, 26 Jan 2024 11:05:21 +0000 (12:05 +0100)]
bgpd: use bgp_labels_same in bgp_update()

Use bgp_labels_same() for all label comparisons in bgpd.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
15 months agobgpd: fix mpls label pointer comparison
Philippe Guibert [Wed, 15 Feb 2023 13:37:45 +0000 (14:37 +0100)]
bgpd: fix mpls label pointer comparison

Comparing pointers is not the appropriate way to know
if the label values are the same or not. Perform a
memcmp call instead is better.

Fixes: 8ba710505735 ("bgpd: fix valgrind flagged errors")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
15 months agoMerge pull request #15224 from donaldsharp/selected_fib
Donatas Abraitis [Thu, 25 Jan 2024 14:46:32 +0000 (16:46 +0200)]
Merge pull request #15224 from donaldsharp/selected_fib

zebra: Cleanup dest assignment

15 months agotopotests: vpnv4 route leaking with no import-check
Louis Scalbert [Thu, 25 Jan 2024 13:26:56 +0000 (14:26 +0100)]
topotests: vpnv4 route leaking with no import-check

Test vpnv4 route leaking with no import-check

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
15 months agobgpd: fix VRF leaking with 'no bgp network import-check'
Louis Scalbert [Thu, 28 Apr 2022 15:01:35 +0000 (17:01 +0200)]
bgpd: fix VRF leaking with 'no bgp network import-check'

BGP static routes are defined using the network statement, e.g.:

> router bgp XXX
>  address-family ipv4 unicast
>   network 192.168.0.0/24

When "no bgp network import-check" is set, it is impossible to
successfully import the static routes into the BGP VPN table. The prefix
is present in the table but is not marked as valid. This issue applies
regardless of whether or not routes are present in the router's RIB.

Always mark as valid the nexthops of BGP static routes when "no bgp
network import-check" is set.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
15 months agoMerge pull request #15223 from opensourcerouting/fix/bgp_peer_cap_uint32_to_uint64
Donald Sharp [Thu, 25 Jan 2024 12:32:36 +0000 (07:32 -0500)]
Merge pull request #15223 from opensourcerouting/fix/bgp_peer_cap_uint32_to_uint64

bgpd: Increase peer's struct cap from uint32 to uint64

15 months agoMerge pull request #15206 from routingrocks/rajesh/pbr_map
Donatas Abraitis [Thu, 25 Jan 2024 08:00:19 +0000 (10:00 +0200)]
Merge pull request #15206 from routingrocks/rajesh/pbr_map

pbrd: Fix PBR handling for last rule deletion

15 months agoMerge pull request #15215 from donaldsharp/pceplib_fixup
Donatas Abraitis [Thu, 25 Jan 2024 07:59:59 +0000 (09:59 +0200)]
Merge pull request #15215 from donaldsharp/pceplib_fixup

Compile issue fixups

15 months agoMerge pull request #15221 from mjstapp/log_immed_config
Donatas Abraitis [Thu, 25 Jan 2024 07:58:45 +0000 (09:58 +0200)]
Merge pull request #15221 from mjstapp/log_immed_config

lib: add log immediate-mode to running config output

15 months agoMerge pull request #15226 from donaldsharp/nhg_debugs
Donatas Abraitis [Thu, 25 Jan 2024 07:56:00 +0000 (09:56 +0200)]
Merge pull request #15226 from donaldsharp/nhg_debugs

Nhg debugs

15 months agoMerge pull request #15227 from donaldsharp/f_strdup
Donatas Abraitis [Thu, 25 Jan 2024 07:55:07 +0000 (09:55 +0200)]
Merge pull request #15227 from donaldsharp/f_strdup

Some fixes

15 months agopceplib: Fix some new coverity issues that trickled in
Donald Sharp [Thu, 25 Jan 2024 00:27:01 +0000 (19:27 -0500)]
pceplib: Fix some new coverity issues that trickled in

Several new issues came in because the coverity build system
was not building the test infrastrucuture for the pceplib.
Now we do, so we fixed it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agobgpd: Convert free/strdup to XSTRDUP in bgp_rfapi_cfg.c
Donald Sharp [Wed, 24 Jan 2024 18:00:03 +0000 (13:00 -0500)]
bgpd: Convert free/strdup to XSTRDUP in bgp_rfapi_cfg.c

Lots of usage of free and strdup instead of using
our internal code.  Convert over.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agozebra: Remove debugs for retrieving a new nhg id
Donald Sharp [Sun, 21 Jan 2024 01:36:25 +0000 (20:36 -0500)]
zebra: Remove debugs for retrieving a new nhg id

This is not complicated code and if zebra is allocating
a new one.  Zebra does not need to inform the operator
about the process during debugs.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agozebra: Combine 2 debugs into 1 for NHG Detail
Donald Sharp [Sun, 21 Jan 2024 01:25:59 +0000 (20:25 -0500)]
zebra: Combine 2 debugs into 1 for NHG Detail

When debugging NHG detail there is a whole bunch
of lines surrounding the nexthop group.  Let's
clean these up since they are extremely chatty and
spawn several lines.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agozebra: Cleanup dest assignment
Donald Sharp [Sun, 21 Jan 2024 02:32:36 +0000 (21:32 -0500)]
zebra: Cleanup dest assignment

dest was shadowing dest inside of an if statement additionally
both legs needed dest to be assigned.  Let's clean this up a
slight bit and use it appropriately

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agobgpd: Increase peer's struct cap from uint32 to uint64
Donatas Abraitis [Tue, 23 Jan 2024 18:45:11 +0000 (20:45 +0200)]
bgpd: Increase peer's struct cap from uint32 to uint64

Approaching the limits of uint32.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agolib: add log immediate-mode to running config output
Mark Stapp [Wed, 24 Jan 2024 18:00:41 +0000 (13:00 -0500)]
lib: add log immediate-mode to running config output

The immediate-mode config wasn't in the running config output;
add it.

Signed-off-by: Mark Stapp <mjs@labn.net>
15 months agoMerge pull request #15210 from opensourcerouting/fix/use_enum_for_graceful_restart_prints
Donald Sharp [Wed, 24 Jan 2024 17:25:57 +0000 (12:25 -0500)]
Merge pull request #15210 from opensourcerouting/fix/use_enum_for_graceful_restart_prints

bgpd: Fix format overflow for graceful-restart debug logs

15 months agoMerge pull request #15173 from louis-6wind/nhrp-noarp
Donald Sharp [Wed, 24 Jan 2024 15:53:29 +0000 (10:53 -0500)]
Merge pull request #15173 from louis-6wind/nhrp-noarp

nhrpd: unset noarp flag using a zapi message

15 months agoMerge pull request #15196 from idryzhov/nb-leaf-list
Donald Sharp [Wed, 24 Jan 2024 15:49:52 +0000 (10:49 -0500)]
Merge pull request #15196 from idryzhov/nb-leaf-list

lib: remove leaf-list xpath hack from northbound

15 months agoMerge pull request #15209 from opensourcerouting/fix/whitespaces
Donald Sharp [Wed, 24 Jan 2024 15:48:22 +0000 (10:48 -0500)]
Merge pull request #15209 from opensourcerouting/fix/whitespaces

bgpd: Use single whitespace when displaying show bgp summary

15 months agoMerge pull request #15189 from opensourcerouting/fix/doc_label-table_json
Donald Sharp [Wed, 24 Jan 2024 15:47:41 +0000 (10:47 -0500)]
Merge pull request #15189 from opensourcerouting/fix/doc_label-table_json

doc: Add missing json keyword for `show debugging label-table`

15 months agobgpd: Fix printf formatter mistake
Donald Sharp [Wed, 24 Jan 2024 14:11:09 +0000 (09:11 -0500)]
bgpd: Fix printf formatter mistake

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agopceplib: Fix code not building properly
Donald Sharp [Wed, 24 Jan 2024 13:50:38 +0000 (08:50 -0500)]
pceplib: Fix code not building properly

The series of pceplib tests are not being run at the moment
due to them not even building.  Apparently adding the `libcunit1`
debian package is enough to get them to build in our system.
While weird, let's get this building at least for people that
have this and `--enable-werror` turned on.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
15 months agoMerge pull request #15211 from pguibert6WIND/json_compilation_pceplib
Donald Sharp [Wed, 24 Jan 2024 13:50:30 +0000 (08:50 -0500)]
Merge pull request #15211 from pguibert6WIND/json_compilation_pceplib

pceplib: fix compilation error

15 months agonhrpd: remove netlink_configure_arp declaration
Louis Scalbert [Thu, 11 Jan 2024 10:38:11 +0000 (11:38 +0100)]
nhrpd: remove netlink_configure_arp declaration

Remove the unused netlink_configure_arp() declaration.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
15 months agotopotests: nhrp_topo, test absence of noarp flag
Louis Scalbert [Thu, 11 Jan 2024 10:17:54 +0000 (11:17 +0100)]
topotests: nhrp_topo, test absence of noarp flag

Test the absence the NOARP flag on rX-gre0 interfaces. It is present by
default.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
15 months agonhrpd: unset noarp flag using a zapi message
Louis Scalbert [Thu, 11 Jan 2024 10:25:36 +0000 (11:25 +0100)]
nhrpd: unset noarp flag using a zapi message

Unset the IFF_NOARP interface flag using a ZAPI message. It removes the
dependency to if.h headers.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
15 months agolib,zebra: add zapi message to control noarp flag
Louis Scalbert [Thu, 11 Jan 2024 10:24:20 +0000 (11:24 +0100)]
lib,zebra: add zapi message to control noarp flag

Add a ZAPI message to control the setting of the IFF_NOARP flag.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
15 months agopceplib: fix compilation error
Philippe Guibert [Wed, 24 Jan 2024 08:10:17 +0000 (09:10 +0100)]
pceplib: fix compilation error

The following compilation error happens, with pcep test files.

> In file included from pceplib/test/pcep_utils_counters_test.c:31:
> pceplib/test/pcep_utils_counters_test.c: In function 'test_create_subgroup_counter':
> pceplib/test/pcep_utils_counters_test.c:127:25: error: too few arguments to function 'create_subgroup_counter'
>   127 |         CU_ASSERT_FALSE(create_subgroup_counter(subgroup, counter_id + 1,
>       |                         ^~~~~~~~~~~~~~~~~~~~~~~
> In file included from pceplib/test/pcep_utils_counters_test.c:33:
> ./pceplib/pcep_utils_counters.h:163:6: note: declared here
>   163 | bool create_subgroup_counter(struct counters_subgroup *subgroup,
>       |      ^~~~~~~~~~~~~~~~~~~~~~~
> Makefile:10948: recipe for target 'pceplib/test/pceplib_test_pcep_utils_tests-pcep_utils_counters_test.o' failed
> make[3]: *** [pceplib/test/pceplib_test_pcep_utils_tests-pcep_utils_counters_test.o] Error 1
> make[3]: *** Waiting for unfinished jobs....

There is a missing parameter.

Fixes: 09047d2bf614 ("pceplib: add json string option to subgroup counter")
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
15 months agobgpd: Fix format overflow for graceful-restart debug logs
Donatas Abraitis [Wed, 24 Jan 2024 06:57:56 +0000 (08:57 +0200)]
bgpd: Fix format overflow for graceful-restart debug logs

Use enum instead of int, and make the compiler happy when using -format-overflow.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agoMerge pull request #15203 from donaldsharp/sharp_neigh_coverity
Donatas Abraitis [Wed, 24 Jan 2024 06:35:33 +0000 (08:35 +0200)]
Merge pull request #15203 from donaldsharp/sharp_neigh_coverity

sharpd: Fix coverity issues

15 months agoMerge pull request #15202 from idryzhov/mgmt-log
Donald Sharp [Tue, 23 Jan 2024 18:55:44 +0000 (13:55 -0500)]
Merge pull request #15202 from idryzhov/mgmt-log

mgmtd: remove unguarded debug log

15 months agoMerge pull request #15201 from louis-6wind/fix-rpki-coverity
Donatas Abraitis [Tue, 23 Jan 2024 18:52:53 +0000 (20:52 +0200)]
Merge pull request #15201 from louis-6wind/fix-rpki-coverity

bgpd: fix RPKI coverity scanner issues

15 months agodoc: Drop single whitespace from show bgp outputs
Donatas Abraitis [Tue, 23 Jan 2024 18:42:30 +0000 (20:42 +0200)]
doc: Drop single whitespace from show bgp outputs

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agobgpd: Use single whitespace when displaying show bgp summary
Donatas Abraitis [Tue, 23 Jan 2024 18:41:49 +0000 (20:41 +0200)]
bgpd: Use single whitespace when displaying show bgp summary

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
15 months agopbrd: Fix PBR handling for last rule deletion
Rajesh Varatharaj [Tue, 23 Jan 2024 06:24:33 +0000 (22:24 -0800)]
pbrd: Fix PBR handling for last rule deletion

Issue:
Previously, the PBR common was updated for every rule update or deletion

example:
let say we have three rule 11, 12, 13 and if we are removing rule 12. in the current code
we are making the entire map "valid" to false.

pbr-map MAP1 seq 11
match src-ip 90.1.1.2/32
set nexthop 20.1.1.2 swp1

pbr-map MAP1 seq 12
match src-ip 90.1.1.3/32
set nexthop 20.1.1.2 swp1

pbr-map MAP1 seq 13
match src-ip 90.1.1.4/32
set nexthop 20.1.1.2 swp1

no pbr-map MAP1 seq 12 ==> turns whole map valid to false.

r1(config)# end
r1# show pbr map
  pbr-map MAP1 valid: no
    Seq: 11 rule: 310
        Installed: yes Reason: Valid
        SRC IP Match: 90.1.1.2/32
        nexthop 20.1.1.2 swp1
          Installed: yes Tableid: 10002
    Seq: 13 rule: 312
        Installed: yes Reason: Valid
        SRC IP Match: 90.1.1.4/32
        nexthop 20.1.1.2 swp1
          Installed: yes Tableid: 10004

Fix:
Now, the PBR common will only be updated when the last rule is being deleted.
This change ensures that we only send a delete request to Zebra once, and only
set the valid and installed flags to false when the last rule is deleted.
This optimizes the handling of PBR rules and reduces unnecessary interactions with Zebra

Testing: UT in MR notes

Ticket: #
Signed-off-by: Rajesh Varatharaj <rvaratharaj@nvidia.com>
15 months agoMerge pull request #15197 from idryzhov/pim-nb-fix
Donald Sharp [Tue, 23 Jan 2024 15:37:55 +0000 (10:37 -0500)]
Merge pull request #15197 from idryzhov/pim-nb-fix

pimd: fix crash when configuring ssmpingd

15 months agosharpd: Fix coverity issues
Donald Sharp [Tue, 23 Jan 2024 15:28:30 +0000 (10:28 -0500)]
sharpd: Fix coverity issues

New commits had an assignment instead of a comparison
option.  Coverity wisely found it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>