]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
8 months agoisisd: fix memory handling in isis_adj_process_threeway() 16545/head
Mark Stapp [Fri, 9 Aug 2024 14:08:21 +0000 (10:08 -0400)]
isisd: fix memory handling in isis_adj_process_threeway()

The adj_process_threeway() api may call the adj_state_change()
api, which may delete the adj struct being examined. Change the
signature so that callers pass a ptr-to-ptr so that they will
see that deletion.

Signed-off-by: Mark Stapp <mjs@cisco.com>
8 months agoMerge pull request #16530 from idryzhov/fix-no-distrib-crash
Donald Sharp [Thu, 8 Aug 2024 12:22:18 +0000 (08:22 -0400)]
Merge pull request #16530 from idryzhov/fix-no-distrib-crash

lib: fix crash on distribute-list delete

8 months agolib: fix crash on distribute-list delete 16530/head
Igor Ryzhov [Wed, 7 Aug 2024 22:17:11 +0000 (01:17 +0300)]
lib: fix crash on distribute-list delete

The destroy callback must be executed only once on APPLY stage.

Fixes #16528

Signed-off-by: Igor Ryzhov <idryzhov@gmail.com>
8 months agoMerge pull request #16525 from opensourcerouting/fix/remove_BGP_UPDATE_DELAY_MINMAX
Donald Sharp [Wed, 7 Aug 2024 22:10:56 +0000 (18:10 -0400)]
Merge pull request #16525 from opensourcerouting/fix/remove_BGP_UPDATE_DELAY_MINMAX

bgpd: Remove BGP_UPDATE_DELAY_MIN/MAX

8 months agoMerge pull request #16523 from LabNConsulting/chopps/fix-mgmt-rpc-test
Donald Sharp [Wed, 7 Aug 2024 17:27:39 +0000 (13:27 -0400)]
Merge pull request #16523 from LabNConsulting/chopps/fix-mgmt-rpc-test

tests: wait for test client to connect before running test

8 months agobgpd: Remove BGP_UPDATE_DELAY_MIN/MAX 16525/head
Donatas Abraitis [Wed, 7 Aug 2024 14:39:28 +0000 (17:39 +0300)]
bgpd: Remove BGP_UPDATE_DELAY_MIN/MAX

Found randomly, and seems not used anymore.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
8 months agotests: wait for test client to connect before running test 16523/head
Christian Hopps [Wed, 7 Aug 2024 13:27:57 +0000 (09:27 -0400)]
tests: wait for test client to connect before running test

Vtysh has been improved to startup very quickly this exposed a race in this
test, where the `clear ip rip...` command ran before the test client that
handles it had finished connecting to mgmtd. Add a retried check for the test
client being connected before issuing the `clear ip rip ...` test command.

Signed-off-by: Christian Hopps <chopps@labn.net>
8 months agoMerge pull request #16521 from opensourcerouting/fix/capability_toggles
Donald Sharp [Wed, 7 Aug 2024 13:24:48 +0000 (09:24 -0400)]
Merge pull request #16521 from opensourcerouting/fix/capability_toggles

bgpd: Clear previously allocated capabilities values before parsing a new OPEN

8 months agobgpd: Clear previously allocated capabilities values before parsing a new OPEN 16521/head
Donatas Abraitis [Tue, 6 Aug 2024 15:19:40 +0000 (18:19 +0300)]
bgpd: Clear previously allocated capabilities values before parsing a new OPEN

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
8 months agoMerge pull request #16501 from donaldsharp/preprocess_vtysh
Mark Stapp [Fri, 2 Aug 2024 11:27:04 +0000 (07:27 -0400)]
Merge pull request #16501 from donaldsharp/preprocess_vtysh

Preprocess vtysh

8 months agoMerge pull request #16510 from donaldsharp/test_timing_fixes
Jafar Al-Gharaibeh [Thu, 1 Aug 2024 16:45:09 +0000 (12:45 -0400)]
Merge pull request #16510 from donaldsharp/test_timing_fixes

Test timing fixes

8 months agoMerge pull request #16509 from opensourcerouting/pim-cid-1598684
Donald Sharp [Thu, 1 Aug 2024 16:03:35 +0000 (12:03 -0400)]
Merge pull request #16509 from opensourcerouting/pim-cid-1598684

pimd: fix possible NULL dereference

8 months agoMerge pull request #16499 from opensourcerouting/fix/bgp_session_reset_safe
Donald Sharp [Thu, 1 Aug 2024 12:08:17 +0000 (08:08 -0400)]
Merge pull request #16499 from opensourcerouting/fix/bgp_session_reset_safe

bgpd: Use bgp_session_reset_safe() for GR update all peers

8 months agotests: need aggressive timers in bgp_prefix_list_any 16510/head
Donald Sharp [Wed, 31 Jul 2024 15:43:07 +0000 (11:43 -0400)]
tests: need aggressive timers in bgp_prefix_list_any

Add some timers to make convergence happan as fast as possible
when a connection fails on the intial attempt.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
8 months agotests: need aggressive timers in bgp_route_map_match_ipv6_nexthop
Donald Sharp [Wed, 31 Jul 2024 15:00:38 +0000 (11:00 -0400)]
tests: need aggressive timers in bgp_route_map_match_ipv6_nexthop

Add some timers to make the convergence happen as fast as possible
when a connection fails on the initial attempt.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
8 months agotests: Shorten reconnect timer when something goes wrong
Donald Sharp [Wed, 31 Jul 2024 14:37:59 +0000 (10:37 -0400)]
tests: Shorten reconnect timer when something goes wrong

When running bfd_bgp_cbit_topo3 and an intial connection
goes wrong, try to connect again as fast as possible as
that the timer is 2 minutes otherwise and the test will
never come back from it.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
8 months agotests: Increase route_scale timeouts
Donald Sharp [Wed, 31 Jul 2024 14:45:38 +0000 (10:45 -0400)]
tests: Increase route_scale timeouts

This test is frequently failing in the upstream CI.  Most
log failures are stating that we expected something like
1 million routes but we have 900k+.  Looks like the system
is just loaded a bit more than expected.  Let's give these
tests a bit more time to complete.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
8 months agopimd: fix possible NULL dereference 16509/head
Rafael Zalamena [Wed, 31 Jul 2024 13:18:47 +0000 (10:18 -0300)]
pimd: fix possible NULL dereference

Coverity scan ID: 1598684

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
8 months agoMerge pull request #16500 from opensourcerouting/fix/show_afi_when_printing_debug
Donald Sharp [Wed, 31 Jul 2024 12:19:14 +0000 (08:19 -0400)]
Merge pull request #16500 from opensourcerouting/fix/show_afi_when_printing_debug

bgpd: Show which AFI is affected when prefix-list is not found

8 months agoMerge pull request #16497 from opensourcerouting/fix/tunel_encap
Donald Sharp [Wed, 31 Jul 2024 12:14:34 +0000 (08:14 -0400)]
Merge pull request #16497 from opensourcerouting/fix/tunel_encap

bgpd: Check the actual remaining stream length before taking TLV value

8 months agovtysh, lib: preprocess CLI graphs 16501/head
David Lamparter [Sun, 21 Jul 2024 01:30:06 +0000 (18:30 -0700)]
vtysh, lib: preprocess CLI graphs

Store a parsed and built graph of the CLI nodes in vtysh, rather than
parsing and building that graph every time vtysh starts up.

This provides a 3x to 5x reduction in vtysh startup overhead:

`vtysh -c 'configure' -c 'interface lo' -c 'do show version'`

- before: 92.9M cycles, 1114 samples
- after: 16.5M cycles, 330 samples

This improvement is particularly visible for users scripting `vtysh -c`
calls, which notably includes topotests.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agovtysh: de-conditionalize and reorder install_node
David Lamparter [Sun, 21 Jul 2024 01:30:31 +0000 (18:30 -0700)]
vtysh: de-conditionalize and reorder install_node

There is entirely no point to these being conditional.  And pull them up
so the upcoming pre-parse code can work on a clean slate.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agolib/clippy: add `CMD_ELEMENT_TKN`
David Lamparter [Sun, 21 Jul 2024 01:28:35 +0000 (18:28 -0700)]
lib/clippy: add `CMD_ELEMENT_TKN`

The command graph has its tail end nodes pointing at the
`struct cmd_element` rather than a `struct cmd_token`.  This is a bit
weird to begin with, but becomes very annoying for the python bindings
where there is just no `struct cmd_element`.

Create a `CMD_ELEMENT_TKN` type for `cmd_token` instead, and replace the
tail end token in the python bindings with an instance of that.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agolib/clippy: improve graph node member access
David Lamparter [Sun, 21 Jul 2024 01:29:51 +0000 (18:29 -0700)]
lib/clippy: improve graph node member access

Expose all of the struct members of cmd_token, and retrieve them
dynamically rather than copying them around.  The problem with copying
them is that they can change as a result of merge(), and if there is an
existing wrapper object around it will not have its copy updated to
match.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agolib/clippy: expose JOIN_TKN's fork node
David Lamparter [Sun, 21 Jul 2024 01:29:11 +0000 (18:29 -0700)]
lib/clippy: expose JOIN_TKN's fork node

FORK_TKN's join node is already exposed, mirror to expose JOIN_TKN's
fork node.

(contains minor cleanup to make checkpatch.pl shut up)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agolib/clippy: expose graph nodes' back pointers
David Lamparter [Sat, 20 Jul 2024 23:19:29 +0000 (16:19 -0700)]
lib/clippy: expose graph nodes' back pointers

There's a wrapper for nodes' outgoing pointers, but not incoming yet.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agolib/clippy: allow accessing graph nodes by index
David Lamparter [Sat, 20 Jul 2024 23:08:04 +0000 (16:08 -0700)]
lib/clippy: allow accessing graph nodes by index

Add len(graph) and graph[i] wrappers to access arbitrary nodes in a
graph.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agolib/clippy: add a __repr__ for graph nodes
David Lamparter [Sat, 20 Jul 2024 22:55:43 +0000 (15:55 -0700)]
lib/clippy: add a __repr__ for graph nodes

Make it a little easier to work on python code using this wrapper.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agolib/clippy: wrap cmd_graph_merge via Graph.merge()
David Lamparter [Sat, 20 Jul 2024 22:36:20 +0000 (15:36 -0700)]
lib/clippy: wrap cmd_graph_merge via Graph.merge()

Export cmd_graph_merge() to python code via graph1.merge(graph2).

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agolib/clippy: allow creating empty graph
David Lamparter [Sat, 20 Jul 2024 22:30:09 +0000 (15:30 -0700)]
lib/clippy: allow creating empty graph

When merging graphs, it makes sense to allow starting with an empty one.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agolib/clippy: dynamically wrap graph nodes
David Lamparter [Sat, 20 Jul 2024 22:29:59 +0000 (15:29 -0700)]
lib/clippy: dynamically wrap graph nodes

The number of nodes in a graph will change as soon as cmd_graph_merge is
supported as an operation, therefore size this dynamically.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agotools/checkpatch: recognize `+` as unary operator
David Lamparter [Sun, 21 Jul 2024 19:19:44 +0000 (12:19 -0700)]
tools/checkpatch: recognize `+` as unary operator

Allow using "+1" when meaningful (i.e. cmd_graph_merge wants -1 or +1)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agolib: allow static/pre-initialized vectors
David Lamparter [Sun, 21 Jul 2024 01:28:53 +0000 (18:28 -0700)]
lib: allow static/pre-initialized vectors

Use alloced=0 to indicate that the array used in a vector is not in fact
dynamically allocated memory (yet).

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agolib: remove unused vector_copy()
David Lamparter [Sun, 21 Jul 2024 16:46:58 +0000 (09:46 -0700)]
lib: remove unused vector_copy()

Not used anywhere in FRR, kill it.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
8 months agobgpd: Show which AFI is affected when prefix-list is not found 16500/head
Donatas Abraitis [Wed, 31 Jul 2024 10:20:59 +0000 (13:20 +0300)]
bgpd: Show which AFI is affected when prefix-list is not found

When the prefix-list is not found, show which AFI is the real one we are
looking for.

E.g.: looking at this output is not clear:

```
[RYF1Z-ZKDRS] route_match_address_prefix_list: Prefix List p1 specified does not exist defaulting to NO_MATCH
```

route_match_address_prefix_list() is called by route_match_ipv6_address_prefix_list(),
and route_match_ip_address_prefix_list().

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
8 months agobgpd: Use bgp_session_reset_safe() for GR update all peers 16499/head
Donatas Abraitis [Wed, 31 Jul 2024 08:43:19 +0000 (11:43 +0300)]
bgpd: Use bgp_session_reset_safe() for GR update all peers

It might cause this use-after-free:

```
==6523==ERROR: AddressSanitizer: heap-use-after-free on address 0x60300058d720 at pc 0x55f3ab62ab1f bp 0x7ffe5b95a0d0 sp 0x7ffe5b95a0c8
READ of size 8 at 0x60300058d720 thread T0
    #0 0x55f3ab62ab1e in bgp_gr_update_mode_of_all_peers bgpd/bgp_fsm.c:2729
    #1 0x55f3ab62ab1e in bgp_gr_update_all bgpd/bgp_fsm.c:2779
    #2 0x55f3ab73557e in bgp_inst_gr_config_vty bgpd/bgp_vty.c:3037
    #3 0x55f3ab74db69 in bgp_graceful_restart bgpd/bgp_vty.c:3130
    #4 0x7fc5539a9584 in cmd_execute_command_real lib/command.c:1002
    #5 0x7fc5539a98a3 in cmd_execute_command lib/command.c:1061
    #6 0x7fc5539a9dcf in cmd_execute lib/command.c:1227
    #7 0x7fc553ae493f in vty_command lib/vty.c:616
    #8 0x7fc553ae4e92 in vty_execute lib/vty.c:1379
    #9 0x7fc553aedd34 in vtysh_read lib/vty.c:2374
    #10 0x7fc553ad8a64 in event_call lib/event.c:1995
    #11 0x7fc553a0c429 in frr_run lib/libfrr.c:1232
    #12 0x55f3ab57b78d in main bgpd/bgp_main.c:555
    #13 0x7fc55342d249 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
    #14 0x7fc55342d304 in __libc_start_main_impl ../csu/libc-start.c:360
    #15 0x55f3ab5799a0 in _start (/usr/lib/frr/bgpd+0x2e19a0)

0x60300058d720 is located 16 bytes inside of 24-byte region [0x60300058d710,0x60300058d728)
freed by thread T0 here:
    #0 0x7fc553eb76a8 in __interceptor_free ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:52
    #1 0x7fc553a2b713 in qfree lib/memory.c:130
    #2 0x7fc553a0e50d in listnode_free lib/linklist.c:81
    #3 0x7fc553a0e50d in list_delete_node lib/linklist.c:379
    #4 0x55f3ab7ae353 in peer_delete bgpd/bgpd.c:2796
    #5 0x55f3ab7ae91f in bgp_session_reset bgpd/bgpd.c:141
    #6 0x55f3ab62ab17 in bgp_gr_update_mode_of_all_peers bgpd/bgp_fsm.c:2752
    #7 0x55f3ab62ab17 in bgp_gr_update_all bgpd/bgp_fsm.c:2779
    #8 0x55f3ab73557e in bgp_inst_gr_config_vty bgpd/bgp_vty.c:3037
    #9 0x55f3ab74db69 in bgp_graceful_restart bgpd/bgp_vty.c:3130
    #10 0x7fc5539a9584 in cmd_execute_command_real lib/command.c:1002
    #11 0x7fc5539a98a3 in cmd_execute_command lib/command.c:1061
    #12 0x7fc5539a9dcf in cmd_execute lib/command.c:1227
    #13 0x7fc553ae493f in vty_command lib/vty.c:616
    #14 0x7fc553ae4e92 in vty_execute lib/vty.c:1379
    #15 0x7fc553aedd34 in vtysh_read lib/vty.c:2374
    #16 0x7fc553ad8a64 in event_call lib/event.c:1995
    #17 0x7fc553a0c429 in frr_run lib/libfrr.c:1232
    #18 0x55f3ab57b78d in main bgpd/bgp_main.c:555
    #19 0x7fc55342d249 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58

previously allocated by thread T0 here:
    #0 0x7fc553eb83b7 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:77
    #1 0x7fc553a2ae20 in qcalloc lib/memory.c:105
    #2 0x7fc553a0d056 in listnode_new lib/linklist.c:71
    #3 0x7fc553a0d85b in listnode_add_sort lib/linklist.c:197
    #4 0x55f3ab7baec4 in peer_create bgpd/bgpd.c:1996
    #5 0x55f3ab65be8b in bgp_accept bgpd/bgp_network.c:604
    #6 0x7fc553ad8a64 in event_call lib/event.c:1995
    #7 0x7fc553a0c429 in frr_run lib/libfrr.c:1232
    #8 0x55f3ab57b78d in main bgpd/bgp_main.c:555
    #9 0x7fc55342d249 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
8 months agobgpd: Check the actual remaining stream length before taking TLV value 16497/head
Donatas Abraitis [Wed, 31 Jul 2024 05:35:14 +0000 (08:35 +0300)]
bgpd: Check the actual remaining stream length before taking TLV value

```
    0 0xb50b9f898028 in __sanitizer_print_stack_trace (/home/ubuntu/frr-public/frr_public_private-libfuzzer/bgpd/.libs/bgpd+0x368028) (BuildId: 3292703ed7958b20076550c967f879db8dc27ca7)
    1 0xb50b9f7ed8e4 in fuzzer::PrintStackTrace() (/home/ubuntu/frr-public/frr_public_private-libfuzzer/bgpd/.libs/bgpd+0x2bd8e4) (BuildId: 3292703ed7958b20076550c967f879db8dc27ca7)
    2 0xb50b9f7d4d9c in fuzzer::Fuzzer::CrashCallback() (/home/ubuntu/frr-public/frr_public_private-libfuzzer/bgpd/.libs/bgpd+0x2a4d9c) (BuildId: 3292703ed7958b20076550c967f879db8dc27ca7)
    3 0xe0d12d7469cc  (linux-vdso.so.1+0x9cc) (BuildId: 1a77697e9d723fe22246cfd7641b140c427b7e11)
    4 0xe0d12c88f1fc in __pthread_kill_implementation nptl/pthread_kill.c:43:17
    5 0xe0d12c84a678 in gsignal signal/../sysdeps/posix/raise.c:26:13
    6 0xe0d12c83712c in abort stdlib/abort.c:79:7
    7 0xe0d12d214724 in _zlog_assert_failed /home/ubuntu/frr-public/frr_public_private-libfuzzer/lib/zlog.c:789:2
    8 0xe0d12d1285e4 in stream_get /home/ubuntu/frr-public/frr_public_private-libfuzzer/lib/stream.c:324:3
    9 0xb50b9f8e47c4 in bgp_attr_encap /home/ubuntu/frr-public/frr_public_private-libfuzzer/bgpd/bgp_attr.c:2758:3
    10 0xb50b9f8dcd38 in bgp_attr_parse /home/ubuntu/frr-public/frr_public_private-libfuzzer/bgpd/bgp_attr.c:3783:10
    11 0xb50b9faf74b4 in bgp_update_receive /home/ubuntu/frr-public/frr_public_private-libfuzzer/bgpd/bgp_packet.c:2383:20
    12 0xb50b9faf1dcc in bgp_process_packet /home/ubuntu/frr-public/frr_public_private-libfuzzer/bgpd/bgp_packet.c:4075:11
    13 0xb50b9f8c90d0 in LLVMFuzzerTestOneInput /home/ubuntu/frr-public/frr_public_private-libfuzzer/bgpd/bgp_main.c:582:3
```

Reported-by: Iggy Frankovic <iggyfran@amazon.com>
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
8 months agoMerge pull request #16496 from donaldsharp/topotest_hints
Russ White [Tue, 30 Jul 2024 19:12:33 +0000 (15:12 -0400)]
Merge pull request #16496 from donaldsharp/topotest_hints

doc: Add some topotest documentation about how to reproduce failures

8 months agodoc: Add some topotest documentation about how to reproduce failures 16496/head
Donald Sharp [Tue, 30 Jul 2024 17:57:44 +0000 (13:57 -0400)]
doc: Add some topotest documentation about how to reproduce failures

Add some hints for developers about how to reproduce failure conditions
in the test.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
8 months agoMerge pull request #16178 from y-bharath14/srib-babel-code-refactoring
Mark Stapp [Tue, 30 Jul 2024 15:46:15 +0000 (11:46 -0400)]
Merge pull request #16178 from y-bharath14/srib-babel-code-refactoring

babel: Added null check after retrieving babel_ifp

8 months agoMerge pull request #16494 from donaldsharp/gr_meta_q
Russ White [Tue, 30 Jul 2024 15:16:32 +0000 (11:16 -0400)]
Merge pull request #16494 from donaldsharp/gr_meta_q

zebra: Fix removal of routes on MetaQ when client goes down

8 months agozebra: Fix removal of routes on MetaQ when client goes down 16494/head
Donald Sharp [Tue, 30 Jul 2024 11:21:58 +0000 (07:21 -0400)]
zebra: Fix removal of routes on MetaQ when client goes down

It is possible that right before an upper level protocol dies
or is killed routes would be installed into zebra.  These routes
could be on the Meta-Q for early route-processing.  Leaving us with
a situation where the client is removed, and all it's routes that are
in the rib at that time, and then after that the MetaQ is run and the
routes are reprocessed leaving routes from an upper level daemon
post daemon going away from zebra's perspective.  These routes will
be abandoned.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
8 months agoMerge pull request #12459 from opensourcerouting/msdp-auth-v2
Donald Sharp [Tue, 30 Jul 2024 12:03:07 +0000 (08:03 -0400)]
Merge pull request #12459 from opensourcerouting/msdp-auth-v2

pimd: MSDP peer MD5 authentication

9 months agoMerge pull request #16480 from LabNConsulting/dleroy/nhrpd-duplicate-auth-fix
Donald Sharp [Mon, 29 Jul 2024 16:31:42 +0000 (12:31 -0400)]
Merge pull request #16480 from LabNConsulting/dleroy/nhrpd-duplicate-auth-fix

nhrpd: fixes duplicate auth extension

9 months agotopotests: test MSDP authentication 12459/head
Rafael Zalamena [Mon, 10 May 2021 14:36:16 +0000 (11:36 -0300)]
topotests: test MSDP authentication

Modify existing MSDP topology to use authentication.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
9 months agolib: define constant for plataforms missing it
Rafael Zalamena [Tue, 10 May 2022 11:23:06 +0000 (08:23 -0300)]
lib: define constant for plataforms missing it

Add definition of `TCP_MD5SIG_MAXKEYLEN` in the `sockopt.h` header so
users of it have the definition of the maximum key length for socket
authentication operations.

The following OSes reported failure in CI while building:
 - NetBSD 8
 - FreeBSD 11
 - FreeBSD 12

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
9 months agodoc: document MSDP authentication and reset
Rafael Zalamena [Tue, 10 May 2022 11:22:53 +0000 (08:22 -0300)]
doc: document MSDP authentication and reset

Tell user how to use the new authentication and clear commands.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
9 months agopimd: add support for MSDP authentication
Rafael Zalamena [Wed, 7 Dec 2022 13:13:39 +0000 (10:13 -0300)]
pimd: add support for MSDP authentication

Implement MSDP MD5 authentication connection support.

Implementation details:
- Move the MSDP socket creation code to a generic function so it can be
  parametrized to be used with/without authentication.
- The MSDP peer connection will not change when the configuration is
  set, instead it will only be applied next connection or when
  `clear ip msdp peer A.B.C.D` is called.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
9 months agoyang: MSDP authentication support
Rafael Zalamena [Tue, 6 Dec 2022 12:58:22 +0000 (09:58 -0300)]
yang: MSDP authentication support

Specify MSDP authentication specification model.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
9 months agoMerge pull request #12484 from opensourcerouting/msdp-filter
Donald Sharp [Mon, 29 Jul 2024 14:25:14 +0000 (10:25 -0400)]
Merge pull request #12484 from opensourcerouting/msdp-filter

pimd: MSDP SA filtering support

9 months agoMerge pull request #16492 from LabNConsulting/ziemba/topotests-lib-bgprib-wait
Donald Sharp [Mon, 29 Jul 2024 11:56:00 +0000 (07:56 -0400)]
Merge pull request #16492 from LabNConsulting/ziemba/topotests-lib-bgprib-wait

tests: topotests/lib: add wait to RequireVpnRoutes, RequireUnicastRoutes

9 months agoMerge pull request #16490 from adrianomarto/master
Donald Sharp [Sun, 28 Jul 2024 19:27:45 +0000 (15:27 -0400)]
Merge pull request #16490 from adrianomarto/master

tests: Test MSDP RPF

9 months agoMerge pull request #16491 from opensourcerouting/fix/crash_bgp_auto_vrf
Donald Sharp [Sun, 28 Jul 2024 19:27:33 +0000 (15:27 -0400)]
Merge pull request #16491 from opensourcerouting/fix/crash_bgp_auto_vrf

bgpd: Do not process VRF import/export to/from auto created VRF instances

9 months agotests: add wait to RequireVpnRoutes, RequireUnicastRoutes 16492/head
G. Paul Ziemba [Sat, 27 Jul 2024 18:56:54 +0000 (11:56 -0700)]
tests: add wait to RequireVpnRoutes, RequireUnicastRoutes

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
9 months agobgpd: Do not process VRF import/export to/from auto created VRF instances 16491/head
Donatas Abraitis [Sun, 28 Jul 2024 11:26:13 +0000 (14:26 +0300)]
bgpd: Do not process VRF import/export to/from auto created VRF instances

Fixes the crash:

```
(gdb) bt
0  __pthread_kill_implementation (no_tid=0, signo=11, threadid=124583315603008) at ./nptl/pthread_kill.c:44
1  __pthread_kill_internal (signo=11, threadid=124583315603008) at ./nptl/pthread_kill.c:78
2  __GI___pthread_kill (threadid=124583315603008, signo=signo@entry=11) at ./nptl/pthread_kill.c:89
3  0x0000714ed0242476 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
4  0x0000714ed074cfb7 in core_handler (signo=11, siginfo=0x7ffe6d9792b0, context=0x7ffe6d979180) at lib/sigevent.c:258
5  <signal handler called>
6  0x000060f55e33ffdd in route_table_get_info (table=0x0) at ./lib/table.h:177
7  0x000060f55e340053 in bgp_dest_table (dest=0x60f56dabb840) at ./bgpd/bgp_table.h:156
8  0x000060f55e340c9f in is_route_injectable_into_vpn (pi=0x60f56dbc4a60) at ./bgpd/bgp_mplsvpn.h:331
9  0x000060f55e34507c in vpn_leak_from_vrf_update (to_bgp=0x60f56da52070, from_bgp=0x60f56da75af0, path_vrf=0x60f56dbc4a60) at bgpd/bgp_mplsvpn.c:1575
10 0x000060f55e346657 in vpn_leak_from_vrf_update_all (to_bgp=0x60f56da52070, from_bgp=0x60f56da75af0, afi=AFI_IP) at bgpd/bgp_mplsvpn.c:2028
11 0x000060f55e340c10 in vpn_leak_postchange (direction=BGP_VPN_POLICY_DIR_TOVPN, afi=AFI_IP, bgp_vpn=0x60f56da52070, bgp_vrf=0x60f56da75af0) at ./bgpd/bgp_mplsvpn.h:310
12 0x000060f55e34a692 in vpn_leak_postchange_all () at bgpd/bgp_mplsvpn.c:3737
13 0x000060f55e3d91fc in router_bgp (self=0x60f55e5cbc20 <router_bgp_cmd>, vty=0x60f56e2d7660, argc=3, argv=0x60f56da19830) at bgpd/bgp_vty.c:1601
14 0x0000714ed069ddf5 in cmd_execute_command_real (vline=0x60f56da32a80, vty=0x60f56e2d7660, cmd=0x0, up_level=0) at lib/command.c:1002
15 0x0000714ed069df6e in cmd_execute_command (vline=0x60f56da32a80, vty=0x60f56e2d7660, cmd=0x0, vtysh=0) at lib/command.c:1061
16 0x0000714ed069e51e in cmd_execute (vty=0x60f56e2d7660, cmd=0x60f56dbf07d0 "router bgp 100\n", matched=0x0, vtysh=0) at lib/command.c:1227
17 0x0000714ed076faa0 in vty_command (vty=0x60f56e2d7660, buf=0x60f56dbf07d0 "router bgp 100\n") at lib/vty.c:616
18 0x0000714ed07719c4 in vty_execute (vty=0x60f56e2d7660) at lib/vty.c:1379
19 0x0000714ed07740f0 in vtysh_read (thread=0x7ffe6d97c700) at lib/vty.c:2374
20 0x0000714ed07685c4 in event_call (thread=0x7ffe6d97c700) at lib/event.c:1995
21 0x0000714ed06e3351 in frr_run (master=0x60f56d1d2e40) at lib/libfrr.c:1232
22 0x000060f55e2c4b44 in main (argc=7, argv=0x7ffe6d97c978) at bgpd/bgp_main.c:555
(gdb)
```

Fixes https://github.com/FRRouting/frr/issues/16484

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
9 months agotests: Test MSDP RPF 16490/head
Adriano Marto Reis [Sun, 28 Jul 2024 04:34:24 +0000 (14:34 +1000)]
tests: Test MSDP RPF

Adding a MSDP test with multiple possible routes.

Signed-off-by: "Adriano Marto Reis" <adrianomarto@gmail.com>
9 months agoMerge pull request #16485 from donaldsharp/test_fixes
David Lamparter [Sat, 27 Jul 2024 21:45:42 +0000 (14:45 -0700)]
Merge pull request #16485 from donaldsharp/test_fixes

9 months agotopotests: test MSDP SA filtering 12484/head
Rafael Zalamena [Fri, 9 Dec 2022 17:34:13 +0000 (14:34 -0300)]
topotests: test MSDP SA filtering

Modify existing MSDP topology to use test SA filtering:
- Add new multicast host (so we get two sources for same group)
- Test group only filtering
- Test source / group filtering

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
9 months agodoc: document new MSDP filter command
Rafael Zalamena [Mon, 3 May 2021 13:34:49 +0000 (10:34 -0300)]
doc: document new MSDP filter command

Let user know how to use the MSDP SA filtering command

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
9 months agopimd: MSDP SA filtering
Rafael Zalamena [Mon, 3 May 2021 13:25:52 +0000 (10:25 -0300)]
pimd: MSDP SA filtering

Implement MSDP peer incoming/outgoing SA filter.

Note
----

  Cisco extended access list has a special meaning: the first address is
  the source address to filter.

Example:

  ! The rules below filter some LAN prefix to be leaked out
  access-list filter-lan-source deny ip 192.168.0.0 0.0.255.255 224.0.0.0 0.255.255.255
  access-list filter-lan-source permit any
  router pim
   msdp peer 192.168.0.1 sa-filter filter-lan-source out

  ! The rules below filter some special management group from being
  ! learned
  access-list filter-management-group deny 230.0.0.0 0.255.255.255
  access-list filter-management-group permit any
  router pim
   msdp peer 192.168.0.1 sa-filter filter-management-group in

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
9 months agoyang: MSDP SA filtering support
Rafael Zalamena [Mon, 3 May 2021 11:37:51 +0000 (08:37 -0300)]
yang: MSDP SA filtering support

Add option to configure MSDP peer SA incoming/outgoing filtering.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
9 months agonhrpd: fixes duplicate auth extension 16480/head
Dave LeRoy [Thu, 25 Jul 2024 18:58:22 +0000 (11:58 -0700)]
nhrpd: fixes duplicate auth extension

When an NHRP server was forwarding a message, it was copying all
extensions from the originally received packet. The authentication
extension must be regenerated hop by hop per RFC2332. The copied
auth extension had an incorrect length. This fix checks for the
auth extension when copying extensions and omits the original
packet auth and instead regenerates a new auth extension.

Fix bug #16466

Signed-off-by: Dave LeRoy <dleroy@labn.net>
9 months agoMerge pull request #15797 from pguibert6WIND/isis_srv6_ls_subnet
Russ White [Fri, 26 Jul 2024 18:45:01 +0000 (14:45 -0400)]
Merge pull request #15797 from pguibert6WIND/isis_srv6_ls_subnet

isis, lib: add isis srv6 end sid to ls_prefix

9 months agotests: Run black on bgp_vpnv[4|6]_per_nexthop_label 16485/head
Donald Sharp [Fri, 26 Jul 2024 18:16:36 +0000 (14:16 -0400)]
tests: Run black on bgp_vpnv[4|6]_per_nexthop_label

I did not have my formatting right, let's get it
right for these two.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
9 months agotests: Fix test_bgp_vpnv6_per_nexthop_label.py to handle timing changes
Donald Sharp [Fri, 26 Jul 2024 18:15:40 +0000 (14:15 -0400)]
tests: Fix test_bgp_vpnv6_per_nexthop_label.py to handle timing changes

So the test script is making changes to a vpn configuration by
changing something fundamental about the vpn.  This is causing
a window where routes we are interested in are:
present ( from pre-change ) then
withdrawn ( the test change causes this ) then
present ( with the new data )

The test code was trying to test for this by checking
to see if the prefix was there, but due to timing issues
it's not always there when we look for it.

Modify the test to get the vpn table version prior to
the change( as that it should not be moving around ) and
then change the test for the prefix to look for a version
that is later than the vpn's table version.  Then we know
that it is *after* everything has stabilized again.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
9 months agotests: Fix test_bgp_vpnv4_per_nexthop_label.py to handle timing changes
Donald Sharp [Fri, 26 Jul 2024 18:02:31 +0000 (14:02 -0400)]
tests: Fix test_bgp_vpnv4_per_nexthop_label.py to handle timing changes

So the test script is making changes to a vpn configuration by
changing something fundamental about the vpn.  This is causing
a window where routes we are interested in are:
present ( from pre-change ) then
withdrawn ( the test change causes this ) then
present ( with the new data )

The test code was trying to test for this by checking
to see if the prefix was there, but due to timing issues
it's not always there when we look for it.

Modify the test to get the vpn table version prior to
the change( as that it should not be moving around ) and
then change the test for the prefix to look for a version
that is later than the vpn's table version.  Then we know
that it is *after* everything has stabilized again.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
9 months agotests: Increase timing of bgp_duplicate_nexthop
Donald Sharp [Tue, 23 Jul 2024 14:31:02 +0000 (10:31 -0400)]
tests: Increase timing of bgp_duplicate_nexthop

a) Make timers more aggressive for this test
b) Double run_and_expect time for one sub test.

These two changes cause this test to pass regularly for
me when this test used to fail regularly for me.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
9 months agoMerge pull request #16463 from opensourcerouting/bfd-remove-control-socket
Donald Sharp [Fri, 26 Jul 2024 14:24:37 +0000 (10:24 -0400)]
Merge pull request #16463 from opensourcerouting/bfd-remove-control-socket

bfdd: remove obsolete control socket

9 months agoMerge pull request #16467 from louis-6wind/fix-flex-algo-asla
Donald Sharp [Fri, 26 Jul 2024 13:29:38 +0000 (09:29 -0400)]
Merge pull request #16467 from louis-6wind/fix-flex-algo-asla

isisd: fix building flex-algo asla at init

9 months agoMerge pull request #16471 from opensourcerouting/fix/treat_as_withdraw_stats
Donald Sharp [Fri, 26 Jul 2024 11:34:22 +0000 (07:34 -0400)]
Merge pull request #16471 from opensourcerouting/fix/treat_as_withdraw_stats

bgpd: Do not increment treat-as-withdraw counters if debug is enabled

9 months agoMerge pull request #16473 from opensourcerouting/fix/add_soft_version_in_summary
Donald Sharp [Fri, 26 Jul 2024 11:34:08 +0000 (07:34 -0400)]
Merge pull request #16473 from opensourcerouting/fix/add_soft_version_in_summary

bgpd: Show software version in bgp summary

9 months agoisisd: free asla at last flex-algo unconfiguration 16467/head
Louis Scalbert [Fri, 26 Jul 2024 07:56:14 +0000 (09:56 +0200)]
isisd: free asla at last flex-algo unconfiguration

Free ASLA when the last flex-algo is unconfigured.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
9 months agoisisd: fix building asla at first flex-algo config
Louis Scalbert [Thu, 25 Jul 2024 07:34:10 +0000 (09:34 +0200)]
isisd: fix building asla at first flex-algo config

When an color affinity is set on an interface before configuring the
flex-algorithm, the ASLA (Application Specific Link-Attribute) sub-TLV
is not build. Flex-algo fails to build the paths when a affinity
constraint is required because of the lacking of information contained
in ASLA. There are no problems when the configuration order is reversed.
For example:

> affinity-map red bit-position 1
>
> interface eth2
>  link-params
>   affinity red
>
> router isis 1
>  mpls-te on
>  flex-algo 129
>   dataplane sr-mpls
>   advertise-definition
>   affinity include-any green

In isis_link_params_update_asla(), the ASLA sub-TLV is not build when
the list of flex-algos is empty.

Update ASLA when the first flex-algorithm is configured.

Fixes: 893882ee20 ("isisd: add isis flex-algo configuration backend")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
9 months agoisisd: move flex_algo_delete into flex_algo_destroy
Louis Scalbert [Fri, 26 Jul 2024 07:28:40 +0000 (09:28 +0200)]
isisd: move flex_algo_delete into flex_algo_destroy

Move flex_algo_delete() content into isis_instance_flex_algo_destroy()
because it is called only once.

Rename _flex_algo_delete to flex_algo_free()

Cosmetic change.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
9 months agolib: remove duplicated flex_algos_free prototype
Louis Scalbert [Fri, 26 Jul 2024 07:40:10 +0000 (09:40 +0200)]
lib: remove duplicated flex_algos_free prototype

Remove duplicated flex_algos_free prototype

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
9 months agoMerge pull request #16416 from raja-rajasekar/rajasekarr/fix_logs_bp
Donatas Abraitis [Thu, 25 Jul 2024 18:09:39 +0000 (21:09 +0300)]
Merge pull request #16416 from raja-rajasekar/rajasekarr/fix_logs_bp

bgpd: backpressure - fix ret value and log err for evpn

9 months agoMerge pull request #16472 from donaldsharp/msdp_bug
Donatas Abraitis [Thu, 25 Jul 2024 18:09:19 +0000 (21:09 +0300)]
Merge pull request #16472 from donaldsharp/msdp_bug

pimd: Fix msdp setting of sa->rp

9 months agoMerge pull request #16470 from opensourcerouting/fix/keep_last_reset_reasons
Donald Sharp [Thu, 25 Jul 2024 17:49:55 +0000 (13:49 -0400)]
Merge pull request #16470 from opensourcerouting/fix/keep_last_reset_reasons

bgpd: Keep the last reset reason before we reset the peer

9 months agoMerge pull request #16041 from sri-mohan1/srib-24-zebra-d
mobash-rasool [Thu, 25 Jul 2024 17:06:17 +0000 (22:36 +0530)]
Merge pull request #16041 from sri-mohan1/srib-24-zebra-d

zebra: changes for code maintainability

9 months agodoc: remove BFD control socket documentation 16463/head
Rafael Zalamena [Wed, 24 Jul 2024 14:42:11 +0000 (11:42 -0300)]
doc: remove BFD control socket documentation

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
9 months agodoc: missing distributed BFD man page bit
Rafael Zalamena [Wed, 24 Jul 2024 14:19:40 +0000 (11:19 -0300)]
doc: missing distributed BFD man page bit

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
9 months agobfdd: remove control socket obsolete code
Rafael Zalamena [Tue, 16 Jul 2024 18:50:16 +0000 (15:50 -0300)]
bfdd: remove control socket obsolete code

Let's remove the obsolete BFD control socket. If the functionality is
needed then YANG/northbound notifications / getting should be used
instead.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
9 months agobgpd: Show software version in bgp summary 16473/head
Donatas Abraitis [Thu, 25 Jul 2024 12:07:57 +0000 (15:07 +0300)]
bgpd: Show software version in bgp summary

E.g.:

```
$ vtysh -c 'show bgp summary json' | jq '.ipv4Unicast.peers'
{
  "127.0.0.1": {
    "hostname": "donatas.net",
    "softwareVersion": "GoBGP/3.26.0",
    "remoteAs": 65001,
    "localAs": 65001,
    "version": 4,
    "msgRcvd": 12,
    "msgSent": 16,
    "tableVersion": 0,
    "outq": 0,
    "inq": 0,
    "peerUptime": "00:00:10",
    "peerUptimeMsec": 10000,
    "peerUptimeEstablishedEpoch": 1721908563,
    "pfxRcd": 0,
    "pfxSnt": 0,
    "state": "Established",
    "peerState": "OK",
    "connectionsEstablished": 1,
    "connectionsDropped": 0,
    "idType": "ipv4"
  },
  "127.0.0.3": {
    "hostname": "putin-xujlo",
    "domainname": "donatas.net",
    "softwareVersion": "ExaBGP/5.0.0-20240725+main-a56c70e84a",
    "remoteAs": 65003,
    "localAs": 65001,
    "version": 4,
    "msgRcvd": 3,
    "msgSent": 7,
    "tableVersion": 0,
    "outq": 0,
    "inq": 0,
    "peerUptime": "00:00:13",
    "peerUptimeMsec": 13000,
    "peerUptimeEstablishedEpoch": 1721908560,
    "pfxRcd": 0,
    "pfxSnt": 0,
    "state": "Established",
    "peerState": "OK",
    "connectionsEstablished": 1,
    "connectionsDropped": 0,
    "idType": "ipv4"
  }
}
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
9 months agoMerge pull request #16464 from cscarpitta/fix/remove-duplicate-include
Donald Sharp [Thu, 25 Jul 2024 12:05:19 +0000 (08:05 -0400)]
Merge pull request #16464 from cscarpitta/fix/remove-duplicate-include

zebra: Remove duplicate `#include`s

9 months agopimd: Fix msdp setting of sa->rp 16472/head
Donald Sharp [Thu, 25 Jul 2024 11:50:32 +0000 (07:50 -0400)]
pimd: Fix msdp setting of sa->rp

The code is clearly incorrect.  After consultation with
the original author this is the decided change.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
9 months agoMerge pull request #16449 from opensourcerouting/py-invalid-escapes
Donald Sharp [Thu, 25 Jul 2024 11:17:03 +0000 (07:17 -0400)]
Merge pull request #16449 from opensourcerouting/py-invalid-escapes

build: fix a few python string escape warnings

9 months agoMerge pull request #16469 from opensourcerouting/fix/add_5701_supported
Donald Sharp [Thu, 25 Jul 2024 11:16:13 +0000 (07:16 -0400)]
Merge pull request #16469 from opensourcerouting/fix/add_5701_supported

doc: Add RFC 5701 to the supported RFCs list

9 months agobgpd: Do not increment treat-as-withdraw counters if debug is enabled 16471/head
Donatas Abraitis [Thu, 25 Jul 2024 10:41:23 +0000 (13:41 +0300)]
bgpd: Do not increment treat-as-withdraw counters if debug is enabled

Increment only if we really treat the UPDATE as withdrawn.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
9 months agobgpd: Keep the last reset reason before we reset the peer 16470/head
Donatas Abraitis [Thu, 25 Jul 2024 10:22:27 +0000 (13:22 +0300)]
bgpd: Keep the last reset reason before we reset the peer

If we send a notification, there is no point setting the last_reset, because
bgp_notify_send() sets last_reset to PEER_DOWN_NOTIFY_SEND (almost everywhere).

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
9 months agobgpd: Set the last_reset if we change the password also
Donatas Abraitis [Thu, 25 Jul 2024 10:06:46 +0000 (13:06 +0300)]
bgpd: Set the last_reset if we change the password also

```
donatas.net(config-router)# do show ip bgp summary failed

IPv4 Unicast Summary:
BGP router identifier 1.1.1.1, local AS number 65001 VRF default vrf-id 0
BGP table version 0
RIB entries 0, using 0 bytes of memory
Peers 1, using 24 KiB of memory

Neighbor        EstdCnt DropCnt ResetTime Reason
127.0.0.1             2       2  00:02:02 Password config change (GoBGP/3.26.0)

Displayed neighbors 1
Total number of neighbors 1
```

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
9 months agodoc: Add RFC 5701 to the supported RFCs list 16469/head
Donatas Abraitis [Thu, 25 Jul 2024 08:52:45 +0000 (11:52 +0300)]
doc: Add RFC 5701 to the supported RFCs list

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
9 months agozebra: Remove duplicate `#include "zebra/interface.h"` 16464/head
Carmine Scarpitta [Wed, 24 Jul 2024 21:50:02 +0000 (23:50 +0200)]
zebra: Remove duplicate `#include "zebra/interface.h"`

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
9 months agozebra: Remove duplicate `#include "zebra/interface.h"`
Carmine Scarpitta [Wed, 24 Jul 2024 21:41:29 +0000 (23:41 +0200)]
zebra: Remove duplicate `#include "zebra/interface.h"`

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
9 months agozebra: Remove duplicate `#include "zebra/debug.h"`
Carmine Scarpitta [Wed, 24 Jul 2024 21:41:09 +0000 (23:41 +0200)]
zebra: Remove duplicate `#include "zebra/debug.h"`

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
9 months agozebra: Remove duplicate `#include <stdio.h>`
Carmine Scarpitta [Wed, 24 Jul 2024 21:39:34 +0000 (23:39 +0200)]
zebra: Remove duplicate `#include <stdio.h>`

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
9 months agozebra: Remove duplicate `#include <string.h>`
Carmine Scarpitta [Wed, 24 Jul 2024 21:39:14 +0000 (23:39 +0200)]
zebra: Remove duplicate `#include <string.h>`

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
9 months agozebra: Remove duplicate `#include <stdlib.h>`
Carmine Scarpitta [Wed, 24 Jul 2024 21:38:55 +0000 (23:38 +0200)]
zebra: Remove duplicate `#include <stdlib.h>`

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
9 months agozebra: Remove duplicate `#include <arpa/inet.h>`
Carmine Scarpitta [Wed, 24 Jul 2024 21:38:27 +0000 (23:38 +0200)]
zebra: Remove duplicate `#include <arpa/inet.h>`

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
9 months agozebra: Remove duplicate `#include <netinet/in.h>`
Carmine Scarpitta [Wed, 24 Jul 2024 21:38:04 +0000 (23:38 +0200)]
zebra: Remove duplicate `#include <netinet/in.h>`

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
9 months agoMerge pull request #16455 from opensourcerouting/fix/bgp_gr_notifications_timing_flake
Donald Sharp [Wed, 24 Jul 2024 17:17:31 +0000 (13:17 -0400)]
Merge pull request #16455 from opensourcerouting/fix/bgp_gr_notifications_timing_flake

tests: Delay initial OPEN after we do `clear bgp`