]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
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>
16 months agoMerge pull request #14492 from LabNConsulting/oper-state
Igor Ryzhov [Fri, 29 Dec 2023 05:08:30 +0000 (07:08 +0200)]
Merge pull request #14492 from LabNConsulting/oper-state

oper state

16 months agotests: add mgmt_oper topotest 14492/head
Christian Hopps [Sun, 22 Oct 2023 09:23:43 +0000 (05:23 -0400)]
tests: add mgmt_oper topotest

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agotests: client testing
Christian Hopps [Tue, 28 Nov 2023 19:25:22 +0000 (14:25 -0500)]
tests: client testing

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: fixes required after rebasing
Christian Hopps [Sat, 9 Dec 2023 04:49:10 +0000 (23:49 -0500)]
lib: fixes required after rebasing

lib: fix checkpatch warnings
lib: darr: disable check
mgmtd: fix initialization

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agozebra: fix cleanup of mgmt backend state
Christian Hopps [Wed, 1 Nov 2023 13:08:24 +0000 (09:08 -0400)]
zebra: fix cleanup of mgmt backend state

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agozebra: fix oper-state walk bug
Christian Hopps [Sun, 22 Oct 2023 11:28:13 +0000 (07:28 -0400)]
zebra: fix oper-state walk bug

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agozebra: support yielding between oper state routes query
Christian Hopps [Fri, 20 Oct 2023 08:53:05 +0000 (04:53 -0400)]
zebra: support yielding between oper state routes query

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agozebra: add zebra to mgmtd oper-state
Christian Hopps [Tue, 3 Oct 2023 21:53:11 +0000 (17:53 -0400)]
zebra: add zebra to mgmtd oper-state

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: add dedicated API functions for native msgs
Christian Hopps [Wed, 13 Dec 2023 22:32:43 +0000 (17:32 -0500)]
lib: add dedicated API functions for native msgs

- reorg native message header

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: northbound: add yielding and batching to oper-state queries
Christian Hopps [Mon, 30 Oct 2023 09:09:19 +0000 (05:09 -0400)]
lib: northbound: add yielding and batching to oper-state queries

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: darr: add ability to set MTYPE for dynamic arrays
Christian Hopps [Sat, 16 Dec 2023 22:17:39 +0000 (17:17 -0500)]
lib: darr: add ability to set MTYPE for dynamic arrays

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: yang: add yang_get_node_keys() function
Christian Hopps [Tue, 26 Dec 2023 12:50:42 +0000 (07:50 -0500)]
lib: yang: add yang_get_node_keys() function

- comment out unused mem-leaking function.
- improve yang_dnode_get_path return type

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agotools: add more libyang iter macros to .clang-format
Christian Hopps [Tue, 31 Oct 2023 09:26:16 +0000 (05:26 -0400)]
tools: add more libyang iter macros to .clang-format

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: create and use libyang tree during oper-state walk
Christian Hopps [Sat, 14 Oct 2023 02:51:11 +0000 (22:51 -0400)]
lib: create and use libyang tree during oper-state walk

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: northbound: improve xpath functionality
Christian Hopps [Tue, 10 Oct 2023 08:28:07 +0000 (04:28 -0400)]
lib: northbound: improve xpath functionality

Allow user to leave keys off of a list entry node at the end of the xpath. This
will return all list entries. Previously there was no way to just get the list
entries. One had to leave off the last list entry node which would then return
all list nodes as well as all the siblings at the same level.

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: yang: add new functions
Christian Hopps [Fri, 20 Oct 2023 12:20:44 +0000 (08:20 -0400)]
lib: yang: add new functions

- yang_get_key_preds
- yang_lyd_new_list

A function like new_list was added recently to libyang,
this is a compat version.

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: darr: add new access and str functions
Christian Hopps [Mon, 16 Oct 2023 10:26:34 +0000 (06:26 -0400)]
lib: darr: add new access and str functions

- darr_last(), and darr_strdup_cap().
- strcat, strdup, strlen, strnul equivs.

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agotests: add debugs and count in static_simple test
Christian Hopps [Fri, 27 Oct 2023 05:14:56 +0000 (01:14 -0400)]
tests: add debugs and count in static_simple test

Also add option to use unified config.

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agomgmtd: step 6: remove old unfinished get-data code
Christian Hopps [Tue, 10 Oct 2023 00:52:54 +0000 (20:52 -0400)]
mgmtd: step 6: remove old unfinished get-data code

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agomgmtd: step 5: add get-tree txn functionality
Christian Hopps [Fri, 7 Jul 2023 03:23:24 +0000 (23:23 -0400)]
mgmtd: step 5: add get-tree txn functionality

Adds the guts of the get-tree functionality that is called by or calls
the FE and BE code for get-tree processing.

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agomgmtd: step 4: FE adapter get-tree functionality
Christian Hopps [Fri, 7 Jul 2023 05:01:57 +0000 (01:01 -0400)]
mgmtd: step 4: FE adapter get-tree functionality

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agomgmtd: step 3: BE adapter native message handling
Christian Hopps [Fri, 7 Jul 2023 04:30:23 +0000 (00:30 -0400)]
mgmtd: step 3: BE adapter native message handling

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: step 2: mgmtd: BE client code for get-tree functionality
Christian Hopps [Mon, 30 Oct 2023 09:06:17 +0000 (05:06 -0400)]
lib: step 2: mgmtd: BE client code for get-tree functionality

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: step 1: mgmtd: add FE get-tree functionality
Christian Hopps [Mon, 30 Oct 2023 09:02:53 +0000 (05:02 -0400)]
lib: step 1: mgmtd: add FE get-tree functionality

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: yang: add tree "printing" utility functions
Christian Hopps [Sun, 9 Jul 2023 09:51:20 +0000 (05:51 -0400)]
lib: yang: add tree "printing" utility functions

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agolib: add simplified native msg support
Christian Hopps [Thu, 6 Jul 2023 22:24:48 +0000 (18:24 -0400)]
lib: add simplified native msg support

This is intended to replace protobuf use in mgmtd.

Signed-off-by: Christian Hopps <chopps@labn.net>
16 months agoMerge pull request #15063 from idryzhov/dev-doc-graphviz
Quentin Young [Sun, 24 Dec 2023 03:50:23 +0000 (22:50 -0500)]
Merge pull request #15063 from idryzhov/dev-doc-graphviz

doc: add graphiz dependency for dev docs

16 months agoMerge pull request #15053 from opensourcerouting/fix/drop_ipv6_address_configured
Igor Ryzhov [Fri, 22 Dec 2023 20:13:32 +0000 (22:13 +0200)]
Merge pull request #15053 from opensourcerouting/fix/drop_ipv6_address_configured

zebra: Drop ipv6_address_configured() function

16 months agodoc: add graphiz dependency for dev docs 15063/head
Igor Ryzhov [Fri, 22 Dec 2023 14:08:43 +0000 (16:08 +0200)]
doc: add graphiz dependency for dev docs

There's a graph in cli.rst that needs graphviz to be built.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
16 months agoMerge pull request #15059 from donaldsharp/generate_support_bundle_on_test_failure
Donatas Abraitis [Fri, 22 Dec 2023 07:32:32 +0000 (09:32 +0200)]
Merge pull request #15059 from donaldsharp/generate_support_bundle_on_test_failure

Generate support bundle on test failure

16 months agoMerge pull request #15060 from donaldsharp/keychain_free_no_i_really_mean_it
Donatas Abraitis [Fri, 22 Dec 2023 07:31:21 +0000 (09:31 +0200)]
Merge pull request #15060 from donaldsharp/keychain_free_no_i_really_mean_it

lib: Keychain.c was using free

16 months agolib: Keychain.c was using free 15060/head
Donald Sharp [Thu, 21 Dec 2023 22:01:56 +0000 (17:01 -0500)]
lib: Keychain.c was using free

This is a bit of a bummer that this slipped through
for so long.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agotools: Add some more data to support bundles 15059/head
Donald Sharp [Thu, 21 Dec 2023 15:26:47 +0000 (10:26 -0500)]
tools: Add some more data to support bundles

The ipv[4|6] vpn tables in bgp were not being
gathered.  This would be useful for some situations

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agotests: Stop some warning messages on test runs
Donald Sharp [Thu, 21 Dec 2023 15:24:23 +0000 (10:24 -0500)]
tests: Stop some warning messages on test runs

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agotests: Auto generate support bundle when a test fails
Donald Sharp [Thu, 21 Dec 2023 15:22:22 +0000 (10:22 -0500)]
tests: Auto generate support bundle when a test fails

Tests can fail, let's be proactive and gather up a support
bundle when they fail.  It will help diagnose the problem
to some extent.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agozebra: Drop ipv6_address_configured() function 15053/head
Donatas Abraitis [Thu, 21 Dec 2023 13:25:27 +0000 (15:25 +0200)]
zebra: Drop ipv6_address_configured() function

Not used.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
16 months agoMerge pull request #15047 from LabNConsulting/aceelindem/fix-opaque-functab-leak
Russ White [Wed, 20 Dec 2023 20:42:25 +0000 (15:42 -0500)]
Merge pull request #15047 from LabNConsulting/aceelindem/fix-opaque-functab-leak

ospfd: Fix opaque functab memory leak and opaque AS External LSA cleanup problems

16 months agoospfd: Fix opaque functab leak and opaque AS cleanup problems 15047/head
Acee [Tue, 19 Dec 2023 18:30:38 +0000 (13:30 -0500)]
ospfd: Fix opaque functab leak and opaque AS cleanup problems

   1. Fix ospf opaque LSA function table memory leak.
   2. Remove incorrect one-to-one association of OSPF info-per-type
      to function table (since there many be many).
   3. Fix a problem with opaque AS external cleanup that was exposed
      by #2.
   4. Fix LSA memory leak in ospf_opaque_type9_lsa_if_cleanup().

Signed-off-by: Acee <aceelindem@gmail.com>
16 months agoMerge pull request #15046 from FRRouting/revert-15002-bgp_evpn_label_no_delete
Russ White [Tue, 19 Dec 2023 16:42:04 +0000 (11:42 -0500)]
Merge pull request #15046 from FRRouting/revert-15002-bgp_evpn_label_no_delete

Revert "bgpd: When receiving a label, store it"

16 months agoRevert "bgpd: When receiving a label, store it" 15046/head
Donald Sharp [Tue, 19 Dec 2023 16:40:24 +0000 (11:40 -0500)]
Revert "bgpd: When receiving a label, store it"

16 months agoMerge pull request #15002 from donaldsharp/bgp_evpn_label_no_delete
Russ White [Tue, 19 Dec 2023 16:34:04 +0000 (11:34 -0500)]
Merge pull request #15002 from donaldsharp/bgp_evpn_label_no_delete

bgpd: When receiving a label, store it

16 months agoMerge pull request #15022 from opensourcerouting/fix/change_to_log.error
Donald Sharp [Mon, 18 Dec 2023 13:58:09 +0000 (08:58 -0500)]
Merge pull request #15022 from opensourcerouting/fix/change_to_log.error

tools: Use error log level when failing to execute commands via frr-reload.py

16 months agoMerge pull request #15036 from opensourcerouting/fix/use_constants_for_addpath_cap_length
Donald Sharp [Mon, 18 Dec 2023 13:54:39 +0000 (08:54 -0500)]
Merge pull request #15036 from opensourcerouting/fix/use_constants_for_addpath_cap_length

bgpd: Use CAPABILITY_CODE_ADDPATH_LEN instead of numeric value

16 months agoMerge pull request #15037 from opensourcerouting/fix/validate_send_receive_flags
Donald Sharp [Mon, 18 Dec 2023 13:54:22 +0000 (08:54 -0500)]
Merge pull request #15037 from opensourcerouting/fix/validate_send_receive_flags

bgpd: Validate Addpath capability flags per AF

16 months agoMerge pull request #15032 from leonshaw/fix/bgp-default-withdraw
Donatas Abraitis [Mon, 18 Dec 2023 10:39:51 +0000 (12:39 +0200)]
Merge pull request #15032 from leonshaw/fix/bgp-default-withdraw

bgpd: "default-originate" shouldn't withdraw non-default routes

16 months agotests: Check for 0.0.0.0/1 in bgp_default_route 15032/head
Xiao Liang [Mon, 18 Dec 2023 06:57:22 +0000 (14:57 +0800)]
tests: Check for 0.0.0.0/1 in bgp_default_route

Ensure that 0.0.0.0/1 route can be advertised along with
default-originate.

Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
16 months agobgpd: Validate Addpath capability flags per AF 15037/head
Donatas Abraitis [Sun, 17 Dec 2023 13:13:57 +0000 (15:13 +0200)]
bgpd: Validate Addpath capability flags per AF

Send/Receive:
         This field indicates whether the sender is (a) able to receive
         multiple paths from its peer (value 1), (b) able to send
         multiple paths to its peer (value 2), or (c) both (value 3) for
         the <AFI, SAFI>.

         If any other value is received, then the capability SHOULD be
         treated as not understood and ignored [RFC5492].

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
16 months agoMerge pull request #15035 from donaldsharp/more_frr_memory_leaks_on_shutdown
Donatas Abraitis [Sun, 17 Dec 2023 10:04:47 +0000 (12:04 +0200)]
Merge pull request #15035 from donaldsharp/more_frr_memory_leaks_on_shutdown

More frr memory leaks on shutdown

16 months agobgpd: Use CAPABILITY_CODE_ADDPATH_LEN instead of numeric value 15036/head
Donatas Abraitis [Sun, 17 Dec 2023 10:03:36 +0000 (12:03 +0200)]
bgpd: Use CAPABILITY_CODE_ADDPATH_LEN instead of numeric value

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
16 months agonhrpd: Cleanup a hash on nhrp shutdown 15035/head
Donald Sharp [Sat, 16 Dec 2023 14:29:00 +0000 (09:29 -0500)]
nhrpd: Cleanup a hash on nhrp shutdown

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agolib, bgpd, nhrpd: Cleanup memory in lib/resolver on shutdown
Donald Sharp [Sat, 16 Dec 2023 14:18:41 +0000 (09:18 -0500)]
lib, bgpd, nhrpd: Cleanup memory in lib/resolver on shutdown

This memory was not being cleaned up on shutdown.  Fix this.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agobgpd: "default-originate" shouldn't withdraw non-default routes
Xiao Liang [Fri, 15 Dec 2023 10:27:39 +0000 (18:27 +0800)]
bgpd: "default-originate" shouldn't withdraw non-default routes

Prevent "default-originate" from withdrawing non-default routes like
0.0.0.0/1 by checking prefix length.

Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
16 months agoMerge pull request #15015 from donaldsharp/test_ospf_suppress_fa_cleanup
Donatas Abraitis [Fri, 15 Dec 2023 05:01:27 +0000 (07:01 +0200)]
Merge pull request #15015 from donaldsharp/test_ospf_suppress_fa_cleanup

tests: ospf_suppress_fa sleeps, convert to run_and_expect

16 months agoMerge pull request #15023 from opensourcerouting/fix/drop_redundant_vrf_name
Donald Sharp [Fri, 15 Dec 2023 01:26:52 +0000 (20:26 -0500)]
Merge pull request #15023 from opensourcerouting/fix/drop_redundant_vrf_name

bgpd: Drop redundant VRF name printing for `show bgp summary`

16 months agoMerge pull request #15025 from donaldsharp/dplane_fpm_nl_wedgied
Mark Stapp [Thu, 14 Dec 2023 21:52:59 +0000 (16:52 -0500)]
Merge pull request #15025 from donaldsharp/dplane_fpm_nl_wedgied

zebra: Prevent possible wedged fpm write

16 months agoMerge pull request #15026 from Orange-OpenSource/ospf-te
Donald Sharp [Thu, 14 Dec 2023 21:16:34 +0000 (16:16 -0500)]
Merge pull request #15026 from Orange-OpenSource/ospf-te

ospfd: Correct LSA parser which fulfill the TED

16 months agotests: Update OSPF TE topotests 15026/head
Olivier Dugeon [Thu, 14 Dec 2023 17:34:38 +0000 (18:34 +0100)]
tests: Update OSPF TE topotests

The OSPF TE topotest is using switches to interconnect router. During the test,
interfaces are shutdown on some routers to simulate link failure and check that
the TED is correctly updated. However, the switche between router avoid the
detection by the neighbor router that the interface is down i.e. the interface
line remains up as it is conneted to the switch and not to the router.

This patch update the tested topology by removing the switch and connect
directly the router excepted the inter AS link on R3. Interface are also
renamed accordingly.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
16 months agoospfd: Correct LSA parser which fulfill the TED
Olivier Dugeon [Thu, 14 Dec 2023 17:22:32 +0000 (18:22 +0100)]
ospfd: Correct LSA parser which fulfill the TED

Traffic Engineering Database (TED) is fulfill from the various LSA advertised
and received by the router. To remove information on the TED, 2 mechanisms are
used: i) parse TE Opaque LSA when there are flushed and ii) compare the list of
prefixes advertised in the Router LSA with the list of corresponding edges and
subnets contained in the TED. However, this second mechanism assumes that the
Router LSA is unique and contains all prefixes of the advertised router.
But, this is wrong. Prefixes could be advertised with several Router LSA.
This conduct to remove edge and subnet in the TED while it should be maintained.
The result is a faulty test with ospf_sr_te_topo1 topotest when server is heavy
loaded.

This simple patch removed deletion of edges and subnets when parsing the Router
LSA and only removed them when the corresponding TE Opaque LSA is flushed. In
addition, TE Opaque LSA are not flushed when OSPF ajacency goes down. This
patch also correct this second problem.

Signed-off-by: Olivier Dugeon <olivier.dugeon@orange.com>
16 months agotests: ospf_suppress_fa sleeps, convert to run_and_expect 15015/head
Donald Sharp [Wed, 13 Dec 2023 17:05:25 +0000 (12:05 -0500)]
tests: ospf_suppress_fa sleeps, convert to run_and_expect

The test_ospf_suppres_fa.py script is using straight
up sleeps before testing that the next step worked properly.
On a unloaded test system this will work 100% of the time
on a loaded test system this will have random failures.
Convert the test to use run_and_expect and give each
section of the test 30 seconds to get to the next state
appropriately instead of 10.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agozebra: Use event_add_event instead of _timer 15025/head
Donald Sharp [Thu, 14 Dec 2023 14:14:00 +0000 (09:14 -0500)]
zebra: Use event_add_event instead of _timer

The t_dequeue was being enqueued with a timer of 0
this is really an event instead of a timer.  Let's
use that instead.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agozebra: Prevent possible wedged fpm write
Donald Sharp [Thu, 14 Dec 2023 13:19:36 +0000 (08:19 -0500)]
zebra: Prevent possible wedged fpm write

An operator is reporting that the dplane_fpm_nl connection has
started to accumulate contexts.  One such path that could cause
this is that the obuf used is full and stays full.  This would
imply that what ever is on the receiving end has gotten wedged
and is not reading from the stream of data being sent it's way.
If after 15 seconds of no response, let's declare the connection
dead and reset it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agoMerge pull request #14890 from louis-6wind/exabgp4
Martin Winter [Thu, 14 Dec 2023 13:46:24 +0000 (05:46 -0800)]
Merge pull request #14890 from louis-6wind/exabgp4

topotests: convert to exabgp 4 and python3

16 months agodoc: Update examples of show bgp summary 15023/head
Donatas Abraitis [Thu, 14 Dec 2023 13:14:40 +0000 (15:14 +0200)]
doc: Update examples of show bgp summary

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
16 months agotests: Adopt topotests for `show bgp summary` non-JSON output
Donatas Abraitis [Thu, 14 Dec 2023 13:09:39 +0000 (15:09 +0200)]
tests: Adopt topotests for `show bgp summary` non-JSON output

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
16 months agotopotests: tmp fix delay in bgp_peer_type_multipath_relax 14890/head
Louis Scalbert [Tue, 28 Nov 2023 15:18:30 +0000 (16:18 +0100)]
topotests: tmp fix delay in bgp_peer_type_multipath_relax

Workaround an issue in bgp_peer_type_multipath_relax.

Link: https://github.com/FRRouting/frr/issues/14895
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agodoc: update for exabgp 4
Louis Scalbert [Tue, 28 Nov 2023 11:33:42 +0000 (12:33 +0100)]
doc: update for exabgp 4

Update the documentation to require exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agodocker: update ubuntu template for exabgp 4
Louis Scalbert [Tue, 28 Nov 2023 11:35:41 +0000 (12:35 +0100)]
docker: update ubuntu template for exabgp 4

Update ubuntu template for exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: remove python2 support
Louis Scalbert [Tue, 28 Nov 2023 11:37:36 +0000 (12:37 +0100)]
topotests: remove python2 support

Remove python2 support

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: convert bgp_ecmp_topo1 to python3
Louis Scalbert [Tue, 28 Nov 2023 11:36:52 +0000 (12:36 +0100)]
topotests: convert bgp_ecmp_topo1 to python3

Convert bgp_ecmp_topo1 to python3

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: convert exabgp scripts to python3
Louis Scalbert [Tue, 28 Nov 2023 10:45:45 +0000 (11:45 +0100)]
topotests: convert exabgp scripts to python3

Convert exabgp scripts to python3

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: cleanup bgp_peer_type_multipath_relax
Louis Scalbert [Tue, 28 Nov 2023 10:35:23 +0000 (11:35 +0100)]
topotests: cleanup bgp_peer_type_multipath_relax

Cleanup bgp_peer_type_multipath_relax to make it more readable.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: convert bgp_peer_type_multipath_relax to exabgp 4
Louis Scalbert [Mon, 27 Nov 2023 15:49:53 +0000 (16:49 +0100)]
topotests: convert bgp_peer_type_multipath_relax to exabgp 4

Convert bgp_peer_type_multipath_relax to exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: convert bgp_prefix_sid2 to exabgp 4
Louis Scalbert [Mon, 27 Nov 2023 16:04:32 +0000 (17:04 +0100)]
topotests: convert bgp_prefix_sid2 to exabgp 4

Convert bgp_prefix_sid2 to exabgp 4

Do not advertise prefixes to exabgp to avoid an issue where exabgp
resets the bgp session with the following notification:

> invalid ipv6 mpls-vpn next-hop length 48 expected 24 or 40

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: convert bgp_prefix_sid to exabgp 4
Louis Scalbert [Mon, 27 Nov 2023 15:33:56 +0000 (16:33 +0100)]
topotests: convert bgp_prefix_sid to exabgp 4

Convert bgp_prefix_sid to exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: convert bgp_vrf_netns to exabgp 4
Louis Scalbert [Mon, 27 Nov 2023 16:09:56 +0000 (17:09 +0100)]
topotests: convert bgp_vrf_netns to exabgp 4

Convert bgp_vrf_netns to exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: convert bgp_vrf_md5_peering to exabgp 4
Louis Scalbert [Mon, 27 Nov 2023 16:07:54 +0000 (17:07 +0100)]
topotests: convert bgp_vrf_md5_peering to exabgp 4

Convert bgp_vrf_md5_peering to exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: convert bgp_multiview_topo1 to exabgp 4
Louis Scalbert [Mon, 27 Nov 2023 16:02:33 +0000 (17:02 +0100)]
topotests: convert bgp_multiview_topo1 to exabgp 4

Convert bgp_multiview_topo1 to exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: convert bgp_ecmp_topo1 to exabgp 4
Louis Scalbert [Mon, 27 Nov 2023 14:20:54 +0000 (15:20 +0100)]
topotests: convert bgp_ecmp_topo1 to exabgp 4

Convert bgp_ecmp_topo1 to exabgp 4

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: create exabgp cli fifo
Louis Scalbert [Mon, 27 Nov 2023 15:18:13 +0000 (16:18 +0100)]
topotests: create exabgp cli fifo

Create reate exabgp cli fifo even it is not used in topotests to avoid
this error message:

> 16:21:42 | 2290205 | cli             | could not find the named pipes (exabgp.in and exabgp.out) required for the cli
> 16:21:42 | 2290205 | cli             | we scanned the following folders (the number is your PID):
> 16:21:42 | 2290205 | cli control     |  - /run/exabgp/
> 16:21:42 | 2290205 | cli control     |  - /run/0/
> 16:21:42 | 2290205 | cli control     |  - /run/
> 16:21:42 | 2290205 | cli control     |  - /var/run/exabgp/
> 16:21:42 | 2290205 | cli control     |  - /var/run/0/
> 16:21:42 | 2290205 | cli control     |  - /var/run/
> 16:21:42 | 2290205 | cli control     |  - /usr/local/run/exabgp/
> 16:21:42 | 2290205 | cli control     |  - /usr/local/run/0/
> 16:21:42 | 2290205 | cli control     |  - /usr/local/run/
> 16:21:42 | 2290205 | cli control     |  - /usr/local/var/run/exabgp/
> 16:21:42 | 2290205 | cli control     |  - /usr/local/var/run/0/
> 16:21:42 | 2290205 | cli control     |  - /usr/local/var/run/
> 16:21:42 | 2290205 | cli control     | please make them in one of the folder with the following commands:
> 16:21:42 | 2290205 | cli control     | > mkfifo //run/exabgp.{in,out}
> 16:21:42 | 2290205 | cli control     | > chmod 600 //run/exabgp.{in,out}

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: log exabgp by default
Louis Scalbert [Wed, 14 Jun 2023 13:19:15 +0000 (15:19 +0200)]
topotests: log exabgp by default

Log exabgp by default in /tmp/topotests/<testname>/<peername>/exabgp.log
Level is INFO.

Note that in case the configuration syntax is invalid, exabgp does not
log into the file and exits at startup. You can check a configuration
syntax by running:

> exabgp <exabgp.cfg>

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: use exabgp 4.2.11 in ci
Louis Scalbert [Tue, 28 Nov 2023 16:04:32 +0000 (17:04 +0100)]
topotests: use exabgp 4.2.11 in ci

Use exabgp 4.2.11 in CI instead.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: look for python3 exabgp
Louis Scalbert [Tue, 28 Nov 2023 11:44:13 +0000 (12:44 +0100)]
topotests: look for python3 exabgp

Look for python3 exabgp instead of python2.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agotopotests: require exabgp version >= 4.2.11
Louis Scalbert [Thu, 23 Nov 2023 14:38:19 +0000 (15:38 +0100)]
topotests: require exabgp version >= 4.2.11

Require exabgp >= 4.2.11 to allow to newer version to run exabgp
topotests. Next commits will adapt the exabgp topotests when needed.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
16 months agobgpd: Drop redundant VRF name printing for `show bgp summary`
Donatas Abraitis [Thu, 14 Dec 2023 07:56:39 +0000 (09:56 +0200)]
bgpd: Drop redundant VRF name printing for `show bgp summary`

Before:

```
ton# sh bgp summary

IPv4 Unicast Summary (VRF default):
BGP router identifier 0.0.0.2, local AS number 65001 VRF default vrf-id 0
```

After:

```
ton# sh bgp summary

IPv4 Unicast Summary:
BGP router identifier 0.0.0.2, local AS number 65001 VRF default vrf-id 0
```

After 5be4ee96340a6fcf5c07ff285a0f50a98c85a8f2, we don't need to duplicate that
info.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
16 months agotools: Use error log level when failing to execute commands via frr-reload.py 15022/head
Donatas Abraitis [Thu, 14 Dec 2023 07:05:02 +0000 (09:05 +0200)]
tools: Use error log level when failing to execute commands via frr-reload.py

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
16 months agoMerge pull request #15014 from Shbinging/fix_ospf_commands
Donatas Abraitis [Thu, 14 Dec 2023 05:40:48 +0000 (07:40 +0200)]
Merge pull request #15014 from Shbinging/fix_ospf_commands

ospfd: fix some ospf cmds' param range

16 months agoMerge pull request #14996 from donaldsharp/srv6_shutdown_zebra_deletion
Donatas Abraitis [Thu, 14 Dec 2023 05:38:06 +0000 (07:38 +0200)]
Merge pull request #14996 from donaldsharp/srv6_shutdown_zebra_deletion

zebra: On shutdown, free up srv6 list data

16 months agodoc: add param range for graceful-restart helper supported-grace-time 15014/head
Bing Shui [Wed, 13 Dec 2023 14:25:43 +0000 (22:25 +0800)]
doc: add param range for graceful-restart helper supported-grace-time

Signed-off-by: Bing Shui <652023330037@smail.nju.edu.cn>
16 months agoospfd: fix ospf dead-interval minimal hello-multiplier param range
Bing Shui [Wed, 13 Dec 2023 14:23:58 +0000 (22:23 +0800)]
ospfd: fix ospf dead-interval minimal hello-multiplier param range

Signed-off-by: Bing Shui <652023330037@smail.nju.edu.cn>
16 months agoMerge pull request #15004 from chiragshah6/mdev1
Donatas Abraitis [Wed, 13 Dec 2023 08:28:43 +0000 (10:28 +0200)]
Merge pull request #15004 from chiragshah6/mdev1

tools: fix frr-reload multiple no description cmds

16 months agoMerge pull request #15003 from donaldsharp/vrf_all_data
Donatas Abraitis [Wed, 13 Dec 2023 07:27:34 +0000 (09:27 +0200)]
Merge pull request #15003 from donaldsharp/vrf_all_data

bgpd: Have `show bgp vrf all ipv4 uni summ` display vrf NAME

16 months agotools: fix frr-reload multiple no description cmds 15004/head
Chirag Shah [Wed, 13 Dec 2023 01:31:40 +0000 (17:31 -0800)]
tools: fix frr-reload multiple no description cmds

Ensure to change description for index 0 from the list.

Ticket: #3628756
Testing Done:

After fix:
start with three interfaces description delete in lines_to_del:
(Pdb) lines_to_del
[(('interface swp1',), "description swp1 -> sp1's swp1"),
(('interface swp2',), "description swp2 -> sp2's swp
1"), (('interface swp3',), "description swp3 -> sp3's swp1")]

After first iteration swp1:
(Pdb) index
0
(Pdb) lines_to_del
[(('interface swp1',), 'description'), (('interface swp2',),
"description swp2 -> sp2's swp1"), (('interface swp
1s2',), "description swp3 -> sp3's swp1")]

After second iteration swp2:
(Pdb) lines_to_del
[(('interface swp1',), 'description'), (('interface swp2',),
'description'), (('interface swp3',), "description
swp3 -> sp3's swp1")]

After third iteration swp3 fix
(Pdb) lines_to_del
[(('interface swp1',), 'description'), (('interface swp2',),
'description'), (('interface swp3',), 'description'
)]

Signed-off-by: Chirag Shah <chirag@nvidia.com>
16 months agobgpd: Have `show bgp vrf all ipv4 uni summ` display vrf NAME 15003/head
Donald Sharp [Tue, 12 Dec 2023 22:48:16 +0000 (17:48 -0500)]
bgpd: Have `show bgp vrf all ipv4 uni summ` display vrf NAME

The vrf name was not being displayed in this output.
New output:

eva# show bgp vrf all ipv4 uni summ
BGP router identifier 0.0.0.0, local AS number 99 VRF RED vrf-id 14
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 1, using 20 KiB of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
192.168.119.1   4          0         0         0        0    0    0    never       Active        0 N/A

Total number of neighbors 1
BGP router identifier 0.0.0.0, local AS number 99 VRF GREEN vrf-id 15
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 1, using 20 KiB of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
192.168.119.1   4          0         0         0        0    0    0    never       Active        0 N/A

Total number of neighbors 1
BGP router identifier 192.168.122.1, local AS number 99 VRF default vrf-id 0
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 1, using 20 KiB of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
192.168.119.1   4          0         0         0        0    0    0    never       Active        0 N/A

Total number of neighbors 1
BGP router identifier 0.0.0.0, local AS number 99 VRF GrEEn vrf-id -1
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 1, using 20 KiB of memory

Neighbor        V         AS   MsgRcvd   MsgSent   TblVer  InQ OutQ  Up/Down State/PfxRcd   PfxSnt Desc
192.168.119.1   4          0         0         0        0    0    0    never         Idle        0 N/A

Total number of neighbors 1
eva#

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agobgpd: When receiving a label, store it 15002/head
Donald Sharp [Tue, 12 Dec 2023 20:29:49 +0000 (15:29 -0500)]
bgpd: When receiving a label, store it

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agoMerge pull request #14982 from donaldsharp/bgp_suppress_fib_clear_peers
Russ White [Tue, 12 Dec 2023 19:31:37 +0000 (14:31 -0500)]
Merge pull request #14982 from donaldsharp/bgp_suppress_fib_clear_peers

bgpd: Make `suppress-fib-pending` clear peering

16 months agobgpd: Make `suppress-fib-pending` clear peering 14982/head
Donald Sharp [Mon, 11 Dec 2023 15:46:53 +0000 (10:46 -0500)]
bgpd: Make `suppress-fib-pending` clear peering

When a peer has come up and already started installing
routes into the rib and `suppress-fib-pending` is either
turned on or off.  BGP is left with some routes that
may need to be withdrawn from peers and routes that
it does not know the status of.  Clear the BGP peers
for the interesting parties and let's let us come
up to speed as needed.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agozebra: Don't leak memory in rtadv.c code on shutdown 14996/head
Donald Sharp [Tue, 12 Dec 2023 18:29:47 +0000 (13:29 -0500)]
zebra: Don't leak memory in rtadv.c code on shutdown

The adata variable was being leaked on shutdown since
it was calloc'ed.  There is no need to make this dynamic
memory.  Just choose a size and use that.  Add a bit
of code to ensure that if it's not large enough,
it will just stop and the developer will fix it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agozebra: On shutdown, free up srv6 list data
Donald Sharp [Tue, 12 Dec 2023 17:03:10 +0000 (12:03 -0500)]
zebra: On shutdown, free up srv6 list data

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
16 months agoMerge pull request #14992 from opensourcerouting/fix/oad_missing_parts
Russ White [Tue, 12 Dec 2023 16:04:34 +0000 (11:04 -0500)]
Merge pull request #14992 from opensourcerouting/fix/oad_missing_parts

bgpd: Recent OAD fixes