]> git.puffer.fish Git - matthieu/frr.git/log
matthieu/frr.git
6 months agobgpd: fix display of local label in show bgp
Louis Scalbert [Fri, 25 Oct 2024 15:54:07 +0000 (17:54 +0200)]
bgpd: fix display of local label in show bgp

Fix the display of the local label in show bgp.

> r1# show bgp ipv4 labeled-unicast 172.16.2.2/32
> BGP routing table entry for 172.16.2.2/32, version 2
> Local label: 16 <---- MISSING
> Paths: (1 available, best #1, table default, vrf (null))
>   Advertised to non peer-group peers:
>  192.168.1.2
>  65501
>    192.168.1.2 from 192.168.1.2 (172.16.2.2)
>      Origin IGP, metric 0, valid, external, best (First path received)
>      Remote label: 3
>      Last update: Fri Oct 25 17:55:45 2024

Fixes: 67f67ba481 ("bgpd: Drop label_ntop/label_pton functions")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
6 months agoMerge pull request #17199 from enkechen-panw/aigp-fix5
Donatas Abraitis [Fri, 25 Oct 2024 06:59:29 +0000 (09:59 +0300)]
Merge pull request #17199 from enkechen-panw/aigp-fix5

bgpd: compare aigp after local route check in bgp_path_info_cmp()

6 months agoMerge pull request #17207 from louis-6wind/bmpserver-log
Donatas Abraitis [Fri, 25 Oct 2024 06:58:57 +0000 (09:58 +0300)]
Merge pull request #17207 from louis-6wind/bmpserver-log

tests: add bmpserver logging

6 months agoMerge pull request #17229 from donaldsharp/bgp_update_optimizations
Donatas Abraitis [Fri, 25 Oct 2024 06:57:07 +0000 (09:57 +0300)]
Merge pull request #17229 from donaldsharp/bgp_update_optimizations

Optimizations and problem fixing for large scale ecmp from bgp

6 months agoMerge pull request #17215 from nabahr/autorp_no_path
Donatas Abraitis [Fri, 25 Oct 2024 06:05:16 +0000 (09:05 +0300)]
Merge pull request #17215 from nabahr/autorp_no_path

pimd: PIM autorp no path RP fix

6 months agoMerge pull request #17155 from opensourcerouting/memstats-zlog
Donald Sharp [Fri, 25 Oct 2024 01:07:09 +0000 (21:07 -0400)]
Merge pull request #17155 from opensourcerouting/memstats-zlog

lib: `debug memstats-at-exit` improvements

6 months agobgpd: Fix wrong pthread event cancelling
Donald Sharp [Thu, 24 Oct 2024 21:44:31 +0000 (17:44 -0400)]
bgpd: Fix wrong pthread event cancelling

0  __pthread_kill_implementation (no_tid=0, signo=6, threadid=130719886083648) at ./nptl/pthread_kill.c:44
1  __pthread_kill_internal (signo=6, threadid=130719886083648) at ./nptl/pthread_kill.c:78
2  __GI___pthread_kill (threadid=130719886083648, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
3  0x000076e399e42476 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26
4  0x000076e39a34f950 in core_handler (signo=6, siginfo=0x76e3985fca30, context=0x76e3985fc900) at lib/sigevent.c:258
5  <signal handler called>
6  __pthread_kill_implementation (no_tid=0, signo=6, threadid=130719886083648) at ./nptl/pthread_kill.c:44
7  __pthread_kill_internal (signo=6, threadid=130719886083648) at ./nptl/pthread_kill.c:78
8  __GI___pthread_kill (threadid=130719886083648, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
9  0x000076e399e42476 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
10 0x000076e399e287f3 in __GI_abort () at ./stdlib/abort.c:79
11 0x000076e39a39874b in _zlog_assert_failed (xref=0x76e39a46cca0 <_xref.27>, extra=0x0) at lib/zlog.c:789
12 0x000076e39a369dde in cancel_event_helper (m=0x5eda32df5e40, arg=0x5eda33afeed0, flags=1) at lib/event.c:1428
13 0x000076e39a369ef6 in event_cancel_event_ready (m=0x5eda32df5e40, arg=0x5eda33afeed0) at lib/event.c:1470
14 0x00005eda0a94a5b3 in bgp_stop (connection=0x5eda33afeed0) at bgpd/bgp_fsm.c:1355
15 0x00005eda0a94b4ae in bgp_stop_with_notify (connection=0x5eda33afeed0, code=8 '\b', sub_code=0 '\000') at bgpd/bgp_fsm.c:1610
16 0x00005eda0a979498 in bgp_packet_add (connection=0x5eda33afeed0, peer=0x5eda33b11800, s=0x76e3880daf90) at bgpd/bgp_packet.c:152
17 0x00005eda0a97a80f in bgp_keepalive_send (peer=0x5eda33b11800) at bgpd/bgp_packet.c:639
18 0x00005eda0a9511fd in peer_process (hb=0x5eda33c9ab80, arg=0x76e3985ffaf0) at bgpd/bgp_keepalives.c:111
19 0x000076e39a2cd8e6 in hash_iterate (hash=0x76e388000be0, func=0x5eda0a95105e <peer_process>, arg=0x76e3985ffaf0) at lib/hash.c:252
20 0x00005eda0a951679 in bgp_keepalives_start (arg=0x5eda3306af80) at bgpd/bgp_keepalives.c:214
21 0x000076e39a2c9932 in frr_pthread_inner (arg=0x5eda3306af80) at lib/frr_pthread.c:180
22 0x000076e399e94ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
23 0x000076e399f26850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
(gdb) f 12
12 0x000076e39a369dde in cancel_event_helper (m=0x5eda32df5e40, arg=0x5eda33afeed0, flags=1) at lib/event.c:1428
1428 assert(m->owner == pthread_self());

In this decode the attempt to cancel the connection's events from
the wrong thread is causing the crash.  Modify the code to create an
event on the bm->master to cancel the events for the connection.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
6 months agobgpd: Fix deadlock in bgp_keepalive and master pthreads
Donald Sharp [Thu, 24 Oct 2024 18:17:51 +0000 (14:17 -0400)]
bgpd: Fix deadlock in bgp_keepalive and master pthreads

(gdb) bt
0  futex_wait (private=0, expected=2, futex_word=0x5c438e9a98d8) at ../sysdeps/nptl/futex-internal.h:146
1  __GI___lll_lock_wait (futex=futex@entry=0x5c438e9a98d8, private=0) at ./nptl/lowlevellock.c:49
2  0x00007af16d698002 in lll_mutex_lock_optimized (mutex=0x5c438e9a98d8) at ./nptl/pthread_mutex_lock.c:48
3  ___pthread_mutex_lock (mutex=0x5c438e9a98d8) at ./nptl/pthread_mutex_lock.c:93
4  0x00005c4369c17e70 in _frr_mtx_lock (mutex=0x5c438e9a98d8, func=0x5c4369dc2750 <__func__.265> "bgp_notify_send_internal") at ./lib/frr_pthread.h:258
5  0x00005c4369c1a07a in bgp_notify_send_internal (connection=0x5c438e9a98c0, code=8 '\b', sub_code=0 '\000', data=0x0, datalen=0, use_curr=true) at bgpd/bgp_packet.c:928
6  0x00005c4369c1a707 in bgp_notify_send (connection=0x5c438e9a98c0, code=8 '\b', sub_code=0 '\000') at bgpd/bgp_packet.c:1069
7  0x00005c4369bea422 in bgp_stop_with_notify (connection=0x5c438e9a98c0, code=8 '\b', sub_code=0 '\000') at bgpd/bgp_fsm.c:1597
8  0x00005c4369c18480 in bgp_packet_add (connection=0x5c438e9a98c0, peer=0x5c438e9b6010, s=0x7af15c06bf70) at bgpd/bgp_packet.c:151
9  0x00005c4369c19816 in bgp_keepalive_send (peer=0x5c438e9b6010) at bgpd/bgp_packet.c:639
10 0x00005c4369bf01fd in peer_process (hb=0x5c438ed05520, arg=0x7af16bdffaf0) at bgpd/bgp_keepalives.c:111
11 0x00007af16dacd8e6 in hash_iterate (hash=0x7af15c000be0, func=0x5c4369bf005e <peer_process>, arg=0x7af16bdffaf0) at lib/hash.c:252
12 0x00005c4369bf0679 in bgp_keepalives_start (arg=0x5c438e0db110) at bgpd/bgp_keepalives.c:214
13 0x00007af16dac9932 in frr_pthread_inner (arg=0x5c438e0db110) at lib/frr_pthread.c:180
14 0x00007af16d694ac3 in start_thread (arg=<optimized out>) at ./nptl/pthread_create.c:442
15 0x00007af16d726850 in clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
(gdb)

The bgp keepalive pthread gets deadlocked with itself and consequently
the bgp master pthread gets locked when it attempts to lock
the peerhash_mtx, since it is also locked by the keepalive_pthread

The keepalive pthread is locking the peerhash_mtx in
bgp_keepalives_start.  Next the connection->io_mtx mutex in
bgp_keepalives_send is locked and then when it notices a problem it invokes
bgp_stop_with_notify which relocks the same mutex ( and of course
the relock causes it to get stuck on itself ).  This generates a
deadlock condition.

Modify the code to only hold the connection->io_mtx as short as
possible.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
6 months agobgpd: Only grab the confed path count if we are comparing it
Donald Sharp [Thu, 24 Oct 2024 15:40:56 +0000 (11:40 -0400)]
bgpd: Only grab the confed path count if we are comparing it

This is just a small optimization but when calling path_info_cmp
hundreds of millions of times this adds up.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
6 months agobgpd: Store aspath count after aspath has changed
Donald Sharp [Thu, 24 Oct 2024 15:27:24 +0000 (11:27 -0400)]
bgpd: Store aspath count after aspath has changed

When running bestpath on a very large number of ecmp.
BGP ends up calling aspath_count a very very large number
of times, which results in ~15% cpu runtime in aspath_count_hops.
Modify the aspath to keep track of it's own count.  This results
in the function now taking up ~1.5% of the cpu runtime.  Enough
for the moment to be ignored.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
6 months agobgpd: Do not call evpn_overlay_free no matter what
Donald Sharp [Wed, 23 Oct 2024 17:16:29 +0000 (13:16 -0400)]
bgpd: Do not call evpn_overlay_free no matter what

bgp_update is a very expensive call.  Calling evpn_overlay_free
even when we have no evpn data to free is not trivial.  Let's
limit the call into this function until we actually have data to
free.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
6 months agobgpd: compare aigp after local route check in bgp_path_info_cmp()
Enke Chen [Thu, 24 Oct 2024 17:50:37 +0000 (10:50 -0700)]
bgpd: compare aigp after local route check in bgp_path_info_cmp()

For consistency between RIB and BGP, the aigp comparison should
be made after the local route check in bgp bestpath selection.

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
6 months agotests: add a new BGP AIGP topotest
Enke Chen [Thu, 24 Oct 2024 17:30:24 +0000 (10:30 -0700)]
tests: add a new BGP AIGP topotest

The topotest verifies that a local route is favored irrespective
of its AIGP value.

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
6 months agotests: add bmpserver logging
Louis Scalbert [Wed, 23 Oct 2024 10:26:28 +0000 (12:26 +0200)]
tests: add bmpserver logging

Add bmpserver logging

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
6 months agotests: bmpserver, detect session close immediately
Louis Scalbert [Wed, 23 Oct 2024 10:25:42 +0000 (12:25 +0200)]
tests: bmpserver, detect session close immediately

bmpserver infinitely loops after the clients has closed the TCP session.
In this situation, recv() returns empty data.

Detect session close immediately.

Fixes: 875511c466 ("topotests: add basic bmp collector")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
6 months agotests: apply black to bmpserver
Louis Scalbert [Wed, 23 Oct 2024 10:37:31 +0000 (12:37 +0200)]
tests: apply black to bmpserver

Apply black to bmpserver

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
6 months agoMerge pull request #17191 from louis-6wind/fix-bgp-labels
Donatas Abraitis [Thu, 24 Oct 2024 14:35:36 +0000 (17:35 +0300)]
Merge pull request #17191 from louis-6wind/fix-bgp-labels

bgpd: fix uninitialized bgp_labels

6 months agopimd: PIM autorp no path RP fix
Nathan Bahr [Tue, 22 Oct 2024 15:32:52 +0000 (15:32 +0000)]
pimd: PIM autorp no path RP fix

Just because there is currently no path to the RP doesn't mean it failed to add.

Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
6 months agoMerge pull request #17162 from louis-6wind/fix-bh-nh-vrf
Donatas Abraitis [Wed, 23 Oct 2024 14:34:44 +0000 (17:34 +0300)]
Merge pull request #17162 from louis-6wind/fix-bh-nh-vrf

zebra: fix showing nexthop vrf for ipv6 blackhole

6 months agoMerge pull request #17183 from Shbinging/fix_no_area_range_command_2
Donatas Abraitis [Wed, 23 Oct 2024 09:41:37 +0000 (12:41 +0300)]
Merge pull request #17183 from Shbinging/fix_no_area_range_command_2

ospfd:fix the bug that the empty area was not free after no area range command was executed

6 months agobgpd: fix uninitialized labels
Louis Scalbert [Tue, 22 Oct 2024 16:08:13 +0000 (18:08 +0200)]
bgpd: fix uninitialized labels

Fix uninitialized labels that cause multiple valgrind issues.

> ==3729602== Use of uninitialised value of size 8
> ==3729602==    at 0x492B493: hash_get (hash.c:140)
> ==3729602==    by 0x2629D2: bgp_labels_intern (bgp_label.c:98)
> ==3729602==    by 0x2E6C92: bgp_adj_out_set_subgroup (bgp_updgrp_adv.c:622)
> ==3729602==    by 0x2A6810: subgroup_process_announce_selected (bgp_route.c:3340)
> ==3729602==    by 0x2E5FF6: group_announce_route_walkcb (bgp_updgrp_adv.c:260)
> ==3729602==    by 0x2E3E28: update_group_walkcb (bgp_updgrp.c:1759)
> ==3729602==    by 0x492B9A0: hash_walk (hash.c:270)
> ==3729602==    by 0x2E498C: update_group_af_walk (bgp_updgrp.c:2090)
> ==3729602==    by 0x2E7C0D: group_announce_route (bgp_updgrp_adv.c:1119)
> ==3729602==    by 0x2A796E: bgp_process_main_one (bgp_route.c:3865)
> ==3729602==    by 0x2A808A: bgp_process_wq (bgp_route.c:3991)
> ==3729602==    by 0x49CC7CF: work_queue_run (workqueue.c:282)
> ==3729602==    by 0x49BBF25: event_call (event.c:2019)
> ==3729602==    by 0x49413CA: frr_run (libfrr.c:1238)
> ==3729602==    by 0x1FD1D3: main (bgp_main.c:555)

> ==2604268== Use of uninitialised value of size 8
> ==2604268==    at 0x4943016: hash_get (hash.c:159)
> ==2604268==    by 0x26EFC1: bgp_labels_intern (bgp_label.c:97)
> ==2604268==    by 0x28077B: leak_update (bgp_mplsvpn.c:1298)
> ==2604268==    by 0x2824A3: vpn_leak_from_vrf_update (bgp_mplsvpn.c:1932)
> ==2604268==    by 0x2C281C: bgp_static_update (bgp_route.c:6974)
> ==2604268==    by 0x2C366F: bgp_static_set (bgp_route.c:7263)
> ==2604268==    by 0x2C435B: bgp_network_magic (bgp_route.c:7556)
> ==2604268==    by 0x2ACF09: bgp_network (bgp_route_clippy.c:86)
> ==2604268==    by 0x4914EE7: cmd_execute_command_real (command.c:1003)
> ==2604268==    by 0x4915060: cmd_execute_command (command.c:1062)
> ==2604268==    by 0x4915610: cmd_execute (command.c:1228)
> ==2604268==    by 0x49E7C32: vty_command (vty.c:625)
> ==2604268==    by 0x49E9B56: vty_execute (vty.c:1388)
> ==2604268==    by 0x49EC331: vtysh_read (vty.c:2400)
> ==2604268==    by 0x49E06F1: event_call (event.c:2001)
> ==2604268==    by 0x495AB8B: frr_run (libfrr.c:1238)
> ==2604268==    by 0x200C4B: main (bgp_main.c:555)

Fixes: ddb5b4880b ("bgpd: vpn-vrf route leaking")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
6 months agoMerge pull request #17198 from donaldsharp/backout_stdout_changes
Russ White [Tue, 22 Oct 2024 20:35:05 +0000 (16:35 -0400)]
Merge pull request #17198 from donaldsharp/backout_stdout_changes

Revert "lib: Attach stdout to child only if --log=stdout and stdout F…

6 months agoMerge pull request #17192 from donaldsharp/bgp_bmp_stream_leak
Russ White [Tue, 22 Oct 2024 20:16:57 +0000 (16:16 -0400)]
Merge pull request #17192 from donaldsharp/bgp_bmp_stream_leak

bgpd: Do not leak a stream with bmp code

6 months agobgpd: fix allocating uninitialized bgp_labels
Louis Scalbert [Tue, 22 Oct 2024 13:07:26 +0000 (15:07 +0200)]
bgpd: fix allocating uninitialized bgp_labels

Memory was not zeroed at allocation.

> ==2604268== Conditional jump or move depends on uninitialised value(s)
> ==2604268==    at 0x26F026: bgp_labels_unintern (bgp_label.c:116)
> ==2604268==    by 0x30000C: adj_free (bgp_updgrp_adv.c:81)
> ==2604268==    by 0x3019EE: bgp_adj_out_remove_subgroup (bgp_updgrp_adv.c:728)
> ==2604268==    by 0x30537C: subgroup_withdraw_packet (bgp_updgrp_packet.c:1042)
> ==2604268==    by 0x2970AF: bgp_generate_updgrp_packets (bgp_packet.c:508)
> ==2604268==    by 0x49E06F1: event_call (event.c:2001)
> ==2604268==    by 0x495AB8B: frr_run (libfrr.c:1238)
> ==2604268==    by 0x200C4B: main (bgp_main.c:555)

Fixes: 3c86f776f0 ("bgpd: add bgp_labels hash")
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
6 months agoMerge pull request #17180 from anlancs/zebra/review-move-dplane
Jafar Al-Gharaibeh [Tue, 22 Oct 2024 15:29:49 +0000 (10:29 -0500)]
Merge pull request #17180 from anlancs/zebra/review-move-dplane

zebra: drop NEWLINK event handling in the main thread

6 months agoRevert "lib: Attach stdout to child only if --log=stdout and stdout FD is a tty"
Donald Sharp [Tue, 22 Oct 2024 15:13:07 +0000 (11:13 -0400)]
Revert "lib: Attach stdout to child only if --log=stdout and stdout FD is a tty"

This reverts commit 0e3c5e8e5907321b35201f0985c1d3f4a1b0e639.

6 months agoMerge pull request #17174 from baozhen-H3C/202410180225
Russ White [Tue, 22 Oct 2024 15:07:53 +0000 (11:07 -0400)]
Merge pull request #17174 from baozhen-H3C/202410180225

isisd: fix 'show isis route' and 'show isis fast-reroute summary' errors with vrf

6 months agoMerge pull request #17166 from anlancs/zebra/review-remove-one
Russ White [Tue, 22 Oct 2024 15:06:50 +0000 (11:06 -0400)]
Merge pull request #17166 from anlancs/zebra/review-remove-one

zebra: remove useless code

6 months agoMerge pull request #17165 from opensourcerouting/fix/bgp_community_no_export_oad
Russ White [Tue, 22 Oct 2024 15:05:38 +0000 (11:05 -0400)]
Merge pull request #17165 from opensourcerouting/fix/bgp_community_no_export_oad

bgpd: Do not filter no-export community for BGP OAD

6 months agoMerge pull request #17151 from opensourcerouting/fix/send_link_bw_as_non-transitive_t...
Russ White [Tue, 22 Oct 2024 15:03:00 +0000 (11:03 -0400)]
Merge pull request #17151 from opensourcerouting/fix/send_link_bw_as_non-transitive_to_ebgp

bgpd: Handle non-transitive extended communities

6 months agobgpd: Do not leak a stream with bmp code
Donald Sharp [Tue, 22 Oct 2024 14:10:46 +0000 (10:10 -0400)]
bgpd: Do not leak a stream with bmp code

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
6 months agobgpd: Handle non-transitive opaque extended communities also for eBGP peers
Donatas Abraitis [Thu, 17 Oct 2024 11:24:32 +0000 (14:24 +0300)]
bgpd: Handle non-transitive opaque extended communities also for eBGP peers

Fixes: 765a0855f1ffec68ed42f2fac8afcaaeed99fd1a ("bgpd: Rework extended community transitiviness")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
6 months agobgpd: Check transivity flag for node target extended community with CHECK_FLAG()
Donatas Abraitis [Thu, 17 Oct 2024 10:33:17 +0000 (13:33 +0300)]
bgpd: Check transivity flag for node target extended community with CHECK_FLAG()

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
6 months agobgpd: Rework extended community transitiviness
Donatas Abraitis [Thu, 17 Oct 2024 08:31:56 +0000 (11:31 +0300)]
bgpd: Rework extended community transitiviness

Extended communities can be transitive or non-transitive.

Like other attributes (e.g., MED) non-transitive extended communities SHOULD
be sent to the direct peer, but not forward them to eBGP peers next.

Before this patch, we never send non-transitive extended attributes to the
direct peers at all.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
6 months agobgpd: Add a function to strip non-transitive extended communities
Donatas Abraitis [Thu, 17 Oct 2024 08:31:10 +0000 (11:31 +0300)]
bgpd: Add a function to strip non-transitive extended communities

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
6 months agobgpd: Print ipv6 extended communities if debug updates is turned on
Donatas Abraitis [Thu, 17 Oct 2024 08:29:31 +0000 (11:29 +0300)]
bgpd: Print ipv6 extended communities if debug updates is turned on

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
6 months agobgpd: Check for the extended community size before setting the flag
Donatas Abraitis [Thu, 17 Oct 2024 08:27:43 +0000 (11:27 +0300)]
bgpd: Check for the extended community size before setting the flag

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
6 months agotests: Check if non-transitive link-bandwidth communities are sent/received correctly
Donatas Abraitis [Thu, 17 Oct 2024 08:25:39 +0000 (11:25 +0300)]
tests: Check if non-transitive link-bandwidth communities are sent/received correctly

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
6 months agobgpd: Handle non-transitive extended communities for link-bandwidth
Donatas Abraitis [Thu, 17 Oct 2024 08:11:50 +0000 (11:11 +0300)]
bgpd: Handle non-transitive extended communities for link-bandwidth

If we received a non-transitive extended community (in this case it was
extended link-bandwidth), we treated it as unknown because we didn't check for
the transitive flag correctly.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
6 months agoMerge pull request #17168 from enkechen-panw/aigp-fix3
Donatas Abraitis [Tue, 22 Oct 2024 05:39:35 +0000 (08:39 +0300)]
Merge pull request #17168 from enkechen-panw/aigp-fix3

bgpd: fix AIGP calculation in route advertisement

6 months agoospfd:fix the bug that the empty area was not free after no area range command was...
Shbinging [Tue, 22 Oct 2024 05:34:26 +0000 (05:34 +0000)]
ospfd:fix the bug that the empty area was not free after no area range command was executed

    When we use the no area X.X.X.X range A.B.C.D/M command, if the area no longer has an interface to which it belongs, then the area should be deleted from the LSDB. This processing logic is consistent with instructions such as no network area and no area authentication.

Signed-off-by: Shbinging <bingshui@smail.nju.edu.cn>
6 months agoisisd: fix 'show isis route' and 'show isis fast-reroute summary' errors with vrf
baozhen-H3C [Mon, 21 Oct 2024 08:20:27 +0000 (16:20 +0800)]
isisd: fix 'show isis route' and 'show isis fast-reroute summary' errors with vrf

When the VRF does not exist, the command will display results for the 'default' VRF.
1.before the commit:
sonic# show vrf
vrf Vrf1 id 41 table 1001
sonic# show isis vrf abc route level-1
Area 10:
IS-IS L1 IPv4 routing table:

Prefix          Metric  Interface  Nexthop   Label(s)
-------------------------------------------------------
0.0.0.0/0       5       Ethernet0  10.1.1.2  -
6.6.6.6/32      10      -          -         -

sonic# show isis vrf abc fast-reroute summary level-1
Area 10:
IS-IS L1 IPv4 Fast ReRoute summary:

Protection \ Priority     Critical  High      Medium    Low       Total
--------------------------------------------------------------------------
Classic LFA               0         0         2         3         5
Remote LFA                0         0         0         0         0
Topology Independent LFA  0         0         0         0         0
ECMP                      0         0         0         0         0
Unprotected               0         0         2         2         4
Protection coverage       0.00%     0.00%     50.00%    60.00%    55.56%

2.after the commit:
sonic# show vrf
vrf Vrf1 id 41 table 1001
sonic# show isis vrf abc route level-1
sonic# show isis vrf abc fast-reroute summary level-1

What I do:
    Move 'ISIS_FIND_VRF_ARGS(argv, argc, idx, vrf_name, all_vrf);' to the front, otherwise changing 'idx' while searching for other parameters may result in failing to find the vrf parameter.

Signed-off-by: baozhen-H3C <bao.zhen@h3c.com>
6 months agozebra: drop NEWLINK event handling in the main thread
anlan_cs [Sun, 20 Oct 2024 12:07:25 +0000 (20:07 +0800)]
zebra: drop NEWLINK event handling in the main thread

NEWLINK is only registered by the dplane thread, the main thread
doesn't care about it. So remove the real process of `netlink_link_change()`
for NEWLINK event in main thread.

And move NEWLINK/DELLINK event to the block where the dplane messages
are kept together.

Signed-off-by: anlan_cs <anlan_cs@126.com>
6 months agobgpd: fix AIGP calculation in route advertisement
Enke Chen [Tue, 22 Oct 2024 01:03:08 +0000 (18:03 -0700)]
bgpd: fix AIGP calculation in route advertisement

Currently the AIGP is always incremented when a route with the
attribute is advertised. That is incorrect when the nexthop is
unchanged, as is commonly the case in route reflection.

Adjust the AIGP for propagation only when the nexthop is set
to ourselves.

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
6 months agotests: add a topotest bgp_aigp_rr
Enke Chen [Tue, 22 Oct 2024 00:49:19 +0000 (17:49 -0700)]
tests: add a topotest bgp_aigp_rr

In this topotest, the route reflector advertises a route with the
aigp attribute to its client, some with the nexthop unchanged and
some with the nexthp changed. Different aigp values are sent to
the clients depending on the nexthop setting.

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
6 months agoMerge pull request #17172 from opensourcerouting/fix/doc_unified_config
Jafar Al-Gharaibeh [Mon, 21 Oct 2024 18:40:48 +0000 (13:40 -0500)]
Merge pull request #17172 from opensourcerouting/fix/doc_unified_config

doc: Require unified config for all new topotests

6 months agodoc: Require unified config for all new topotests
Donatas Abraitis [Mon, 21 Oct 2024 06:10:13 +0000 (09:10 +0300)]
doc: Require unified config for all new topotests

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
6 months agoMerge pull request #17169 from enkechen-panw/aigp-fix4
Donatas Abraitis [Mon, 21 Oct 2024 05:18:17 +0000 (08:18 +0300)]
Merge pull request #17169 from enkechen-panw/aigp-fix4

bgpd: allow value 0 in aigp-metric setting

6 months agobgpd: allow value 0 in aigp-metric setting
Enke Chen [Sun, 20 Oct 2024 19:25:46 +0000 (12:25 -0700)]
bgpd: allow value 0 in aigp-metric setting

The value of 0 is accepted from peers, and can also be set by the
route-map "set aigp-metric igp-metric". For coonsistency, it should
be allowed in "set aigp-metric <value>" as well.

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
6 months agoMerge pull request #17157 from LabNConsulting/liambrady/topotest-masked-logging
Donatas Abraitis [Sun, 20 Oct 2024 17:35:04 +0000 (20:35 +0300)]
Merge pull request #17157 from LabNConsulting/liambrady/topotest-masked-logging

tests: logger masked in topotest.py

6 months agoMerge pull request #17167 from sri-mohan1/srib-24-frr-a
Donatas Abraitis [Sun, 20 Oct 2024 10:39:17 +0000 (13:39 +0300)]
Merge pull request #17167 from sri-mohan1/srib-24-frr-a

bgpd: changes for code maintainability

6 months agobgpd: changes for code maintainability
sri-mohan1 [Sat, 19 Oct 2024 09:23:05 +0000 (14:53 +0530)]
bgpd: changes for code maintainability

these changes are for improving the code maintainability and readability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
6 months agozebra: remove useless code
anlan_cs [Sat, 19 Oct 2024 05:32:49 +0000 (13:32 +0800)]
zebra: remove useless code

Signed-off-by: anlan_cs <anlan_cs@126.com>
6 months agoMerge pull request #17164 from sri-mohan1/srib-24-frr-a
Mark Stapp [Fri, 18 Oct 2024 20:17:16 +0000 (16:17 -0400)]
Merge pull request #17164 from sri-mohan1/srib-24-frr-a

bgpd: changes for code maintainability

6 months agotests: Check if BGP no-export community is passed to BGP OAD peers
Donatas Abraitis [Fri, 18 Oct 2024 19:51:37 +0000 (22:51 +0300)]
tests: Check if BGP no-export community is passed to BGP OAD peers

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
6 months agobgpd: Do not filter no-export community for BGP OAD (one administration domain)
Donatas Abraitis [Fri, 18 Oct 2024 19:35:28 +0000 (22:35 +0300)]
bgpd: Do not filter no-export community for BGP OAD (one administration domain)

OAD is treated as an _internal_ BGP peer, and some of the rules (including BGP
attributes) can be relaxed.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
6 months agoMerge pull request #17025 from donaldsharp/ppoll_fix
David Lamparter [Fri, 18 Oct 2024 17:28:09 +0000 (19:28 +0200)]
Merge pull request #17025 from donaldsharp/ppoll_fix

6 months agobgpd: changes for code maintainability
sri-mohan1 [Fri, 18 Oct 2024 16:17:02 +0000 (21:47 +0530)]
bgpd: changes for code maintainability

these changes are for improving the code maintainability and readability

Signed-off-by: sri-mohan1 <sri.mohan@samsung.com>
6 months agozebra: fix showing nexthop vrf for ipv6 blackhole
Louis Scalbert [Fri, 18 Oct 2024 12:16:50 +0000 (14:16 +0200)]
zebra: fix showing nexthop vrf for ipv6 blackhole

For some reasons the Linux kernel associates the ipv6 blackhole of non
default table the lo interface.

> root@r1# ip -6 route show table 100
> root@r1# ip -6 route add unreachable default metric 4278198272 table 100
> root@r1# ip -6 route show table 100
> unreachable default dev lo metric 4278198272 pref medium

As a consequence, the VRF default that owns the lo interface is shown as
the nexthop VRF:

> r1# show ipv6 route table 20
> Table 20:
> K>* ::/0 [255/8192] unreachable (ICMP unreachable) (vrf default), 00:18:12

Do not display the nexthop VRF of a blackhole. It does not make sense
for a blackhole and it was not displayed in the past.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
6 months agoMerge pull request #17134 from Shbinging/fix_no_area_nssa_command
Donatas Abraitis [Fri, 18 Oct 2024 11:55:46 +0000 (14:55 +0300)]
Merge pull request #17134 from Shbinging/fix_no_area_nssa_command

ospfd: update ospf_asbr_status when using no_area_nssa command

6 months agoMerge pull request #17154 from donaldsharp/connected_coverity
Jafar Al-Gharaibeh [Thu, 17 Oct 2024 20:32:46 +0000 (15:32 -0500)]
Merge pull request #17154 from donaldsharp/connected_coverity

zebra: Fix possible null deref discovered by coverity

6 months agotests: logger masked in topotest.py
Liam Brady [Thu, 17 Oct 2024 17:35:36 +0000 (13:35 -0400)]
tests: logger masked in topotest.py

a local logger masks the global logger and prevents errors from being
gracefully handled within topotest.py

Signed-off-by: Liam Brady <lbrady@labn.net>
6 months agolib: Correctly handle ppoll pfds.events == 0
Donald Sharp [Tue, 8 Oct 2024 01:46:33 +0000 (21:46 -0400)]
lib: Correctly handle ppoll pfds.events == 0

The frrevent system is spitting out this message in bgpd:
20:40:15 mem1-roc-f2-b1-r5-t2-d4 bgpd[13166]: [XETTR-D5MR0][EC 100663316] Attempting to process an I/O event but for fd: 214(8) no thread to handle this!

This is because as each io event is processed, it is possible that a
.events is set to 0.  This can leave a situation where we ask
ppoll to handle anything that happens on a fd with a .events of 0,
in this situation ppoll can return POLLERR, which indicates that
something bad has happened on the fd.

Let's set the ppoll fds.fd value to -1 when there are no more
events to be processed.  ppoll specifically calls out that
it will just skip this particular one.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
6 months agolib: refactor memstats logging, fix ACTIVEATEXIT
David Lamparter [Fri, 26 Jul 2024 23:44:59 +0000 (16:44 -0700)]
lib: refactor memstats logging, fix ACTIVEATEXIT

Move the various destinations handling into lib/memory.c, include
"normal" logging as target, and make `ACTIVEATEXIT` properly non-error
as it was intended to be.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agolib: do not log_memstats() in crash handler
David Lamparter [Fri, 26 Jul 2024 23:50:20 +0000 (16:50 -0700)]
lib: do not log_memstats() in crash handler

`log_memstats()` is not AS-safe.  It can hang the crash handler (or set
your PC on fire, or cause the sun to go supernova - according to POSIX
specs, anyway.)

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agolib: zlog stays running on shutdown
David Lamparter [Fri, 26 Jul 2024 23:43:44 +0000 (16:43 -0700)]
lib: zlog stays running on shutdown

No `zlog_fini()`, please.  Getting log messages until the end is more
important than leaking memory allocated for zlog targets.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agolib: actually propagate MGROUP args
David Lamparter [Fri, 26 Jul 2024 23:37:13 +0000 (16:37 -0700)]
lib: actually propagate MGROUP args

Well, this was only checked for exit status, which we didn't really
observe... so, uh, yeah, not particularly noticeable it wasn't even
wired up...

clang-format off/on added to not get formatting wrecked on this.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agozebra: Fix possible null deref discovered by coverity
Donald Sharp [Thu, 17 Oct 2024 11:42:47 +0000 (07:42 -0400)]
zebra: Fix possible null deref discovered by coverity

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
6 months agoMerge pull request #17136 from opensourcerouting/clang-sa-19
Donald Sharp [Thu, 17 Oct 2024 11:38:28 +0000 (07:38 -0400)]
Merge pull request #17136 from opensourcerouting/clang-sa-19

*: fix clang-19 SA

6 months agoospfd: update ospf_asbr_status when using no_area_nssa command
Shbinging [Wed, 16 Oct 2024 05:28:02 +0000 (05:28 +0000)]
ospfd: update ospf_asbr_status when using no_area_nssa command

In the processing of nssa, if the number of areas that need to be translated is greater than 0, then abr will be regarded as asbr, and it will be marked (0x3) in the flag of router lsa. When a certain area is set from nssa to a normal area, the areas that need to be translated may be reduced. The asbr should be re-interpreted as abr when the translated area is 0.

Signed-off-by: Shbinging <bingshui@smail.nju.edu.cn>
6 months agoMerge pull request #17065 from Shbinging/fix_some_ospf_commands
Donatas Abraitis [Thu, 17 Oct 2024 06:01:30 +0000 (09:01 +0300)]
Merge pull request #17065 from Shbinging/fix_some_ospf_commands

ospfd: fix some ospf commands

6 months agoMerge pull request #17091 from enkechen-panw/aigp-fix1
Donatas Abraitis [Thu, 17 Oct 2024 05:55:03 +0000 (08:55 +0300)]
Merge pull request #17091 from enkechen-panw/aigp-fix1

bgpd: fix several issues in sourcing AIGP attribute

6 months agotests: add a new topotest to bgp_aigp
Enke Chen [Wed, 16 Oct 2024 18:19:28 +0000 (11:19 -0700)]
tests: add a new topotest to bgp_aigp

Add a new topotest for getting the aigp from the "igp-metric"
for a redistributed route (ospf route in the test).

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
6 months agobgpd: fix several issues in sourcing AIGP attribute
Enke Chen [Wed, 16 Oct 2024 18:15:28 +0000 (11:15 -0700)]
bgpd: fix several issues in sourcing AIGP attribute

Fix several issues in sourcing AIGP attribute:

1) AIGP should not be set as default for a redistributed route or a
   static network. It should be set by config instead.

2) AIGP sourced by "set aigp-metric igp-metric" in a route-map does
   not set the correct value for a redistributed route.

3) When redistribute a connected route like loopback, the AGIP (with
   value 0) is sourced by "set aigp-metric igp-metric", but the
   attribute is not propagated as the attribute flag is not set.

Signed-off-by: Enke Chen <enchen@paloaltonetworks.com>
6 months agoMerge pull request #16452 from louis-6wind/fix-ipv4-mapped-ipv6-display
Russ White [Wed, 16 Oct 2024 17:01:52 +0000 (13:01 -0400)]
Merge pull request #16452 from louis-6wind/fix-ipv4-mapped-ipv6-display

lib, test: fix display ipv4 mapped ipv6 addresses

6 months agoMerge pull request #17076 from donaldsharp/rnh_and_redistribution_nexthop_num_fix
Donatas Abraitis [Wed, 16 Oct 2024 13:34:08 +0000 (16:34 +0300)]
Merge pull request #17076 from donaldsharp/rnh_and_redistribution_nexthop_num_fix

*: Fix up improper handling of nexthops for nexthop tracking

6 months agoMerge pull request #17020 from pguibert6WIND/asan_shutdown
Donald Sharp [Wed, 16 Oct 2024 13:15:06 +0000 (09:15 -0400)]
Merge pull request #17020 from pguibert6WIND/asan_shutdown

zebra: fix heap-use-after free on ns shutdown

6 months agoMerge pull request #16946 from opensourcerouting/fix/match_src-peer
Russ White [Wed, 16 Oct 2024 11:51:20 +0000 (07:51 -0400)]
Merge pull request #16946 from opensourcerouting/fix/match_src-peer

bgpd: Implement match src-peer ... command

6 months agotests: update fuzz after ipv4 mapped ipv6 print change
Louis Scalbert [Tue, 23 Jul 2024 19:41:21 +0000 (21:41 +0200)]
tests: update fuzz after ipv4 mapped ipv6 print change

Update IS-IS fuzz test to match corrected output after change in the
display of IPv4 mapped IPv6 address.

The update was performed using wuschl [1] like this:

$ wuschl rebuild tests/isisd/test_fuzz_isis_tlv
$ gzip -9 tests/isisd/test_fuzz_isis_tlv_tests.h

[1] https://pypi.org/project/wuschl/

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
6 months agolib, test: fix display ipv4 mapped ipv6 addresses
Louis Scalbert [Mon, 22 Jul 2024 14:15:26 +0000 (16:15 +0200)]
lib, test: fix display ipv4 mapped ipv6 addresses

Display ipv4 mapped ipv6 addresses in the format ::ffff:A.B.C.D.

Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
6 months agobgpd: hide read() call from clang-SA
David Lamparter [Wed, 16 Oct 2024 10:56:45 +0000 (12:56 +0200)]
bgpd: hide read() call from clang-SA

Sigh. clang-SA doesn't want you to call read() while holding a mutex.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agozebra: check `dirfd()` result
David Lamparter [Wed, 16 Oct 2024 10:54:45 +0000 (12:54 +0200)]
zebra: check `dirfd()` result

`dirfd()` can theoretically return an error.  Call it once and check the
result.

clang-SA: technically correct™.  Ain't that the best kind of correct?

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agozebra: don't misappropriate `errno`
David Lamparter [Wed, 16 Oct 2024 10:53:47 +0000 (12:53 +0200)]
zebra: don't misappropriate `errno`

`errno` has its own semantics.  Sometimes it is correct to write to it.
This is not one of those cases - just use a separate `nl_errno`.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agozebra: don't try to read past EOF
David Lamparter [Wed, 16 Oct 2024 10:52:48 +0000 (12:52 +0200)]
zebra: don't try to read past EOF

`FILE *` objects are theoretically in an invalid state if you try to use
them past their reporting EOF.  Adjust the code to make it correct.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agovtysh: make clang-SA happy about reusing stdin
David Lamparter [Wed, 16 Oct 2024 10:50:50 +0000 (12:50 +0200)]
vtysh: make clang-SA happy about reusing stdin

While the logic here is perfectly fine, clang-SA doesn't understand that
the fopen() and fclose() match up with each other.  Just use a separate
variable to make clang-SA happy.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agovtysh: remove duplicate nonblocking handling
David Lamparter [Wed, 16 Oct 2024 10:46:35 +0000 (12:46 +0200)]
vtysh: remove duplicate nonblocking handling

non-blocking retries are already handled in `vtysh_client_receive()`.
And by the point we're back in `vtysh_client_run()`, errno may have been
overwritten by the close() call in vtysh_client_receive().

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agoldpd: free previous config if it wasn't applied
David Lamparter [Wed, 16 Oct 2024 10:40:01 +0000 (12:40 +0200)]
ldpd: free previous config if it wasn't applied

If a create-config command is received, but the config is never applied,
the config will be leaked on the next create-config command.  This
should theoretically never happen, but let's fix it anyway.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agopimd: MLD packets always have an interface
David Lamparter [Wed, 16 Oct 2024 11:25:37 +0000 (13:25 +0200)]
pimd: MLD packets always have an interface

If a packet doesn't have an interface, we're gonna crash 2 lines below.
An assert is a little more useful... and makes clang-SA not complain
about it.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agopimd: mark rest-of-packet ignored in C-RP parse
David Lamparter [Wed, 16 Oct 2024 10:45:35 +0000 (12:45 +0200)]
pimd: mark rest-of-packet ignored in C-RP parse

The `buf` pointer is being updated as the parse goes along.  It's not
used after the last update, but I'd rather keep this in for consistency.
Just make a note of it being unused.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agopimd: initialize prefix value in Auto-RP
David Lamparter [Wed, 16 Oct 2024 10:43:52 +0000 (12:43 +0200)]
pimd: initialize prefix value in Auto-RP

clang-SA complains that it's only partially initialized (because it's
used with IPv4 only).  The code later calls some AF-generic code,
prompting clang-SA to complain that the non-IPv4 parts are used without
being set.  While this shouldn't happen, just initialize it fully.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agolib: fix invalid use of errno in PTM
David Lamparter [Wed, 16 Oct 2024 10:42:30 +0000 (12:42 +0200)]
lib: fix invalid use of errno in PTM

errno is only valid if there was an actual error.  A zero return value
isn't an error, it's either EOF or an empty datagram depending on
context.  Fix the logic.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agolib: guard close() in netns code
David Lamparter [Wed, 16 Oct 2024 10:42:02 +0000 (12:42 +0200)]
lib: guard close() in netns code

clang-SA complains that ns->fd could be invalid.  Add a guard.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agolib: make clang-SA not choke on defun_lex.l
David Lamparter [Wed, 16 Oct 2024 10:41:06 +0000 (12:41 +0200)]
lib: make clang-SA not choke on defun_lex.l

The flex-generated code is disabled for clang-SA builds already, but
that means that function prototypes are missing too.  Just add dummy
function prototypes so clang-SA can process the file.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months ago*: clang-SA switch-enum initializer workarounds
David Lamparter [Wed, 16 Oct 2024 10:24:44 +0000 (12:24 +0200)]
*: clang-SA switch-enum initializer workarounds

In these cases the value assigned by the switch block is used directly
rather than returned.  Mark the initial/default value as used so
clang-SA doesn't complain about it.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months ago*: clang-SA friendly switch-enum-return-string
David Lamparter [Wed, 16 Oct 2024 10:23:23 +0000 (12:23 +0200)]
*: clang-SA friendly switch-enum-return-string

clang-19's SA complains about unused initializers for this kind of
"switch (enum) { return string }" kind of code.  Use direct string
return values to avoid the issue.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
6 months agoMerge pull request #17114 from Jafaral/getenv
Donatas Abraitis [Wed, 16 Oct 2024 07:50:02 +0000 (10:50 +0300)]
Merge pull request #17114 from Jafaral/getenv

vtysh: fix SA warning, no need to call getenv() twice

6 months agoMerge pull request #17116 from enkechen-panw/zfix-2
Donatas Abraitis [Wed, 16 Oct 2024 05:12:28 +0000 (08:12 +0300)]
Merge pull request #17116 from enkechen-panw/zfix-2

zebra: unlock node only after operation in zebra_free_rnh()

6 months agoMerge pull request #17126 from donaldsharp/ospf_lsa_declarations
Donatas Abraitis [Wed, 16 Oct 2024 05:10:27 +0000 (08:10 +0300)]
Merge pull request #17126 from donaldsharp/ospf_lsa_declarations

ospfd: Fixup ospf_lsa.[ch] to properly spell out parameters for funct…

6 months agoospfd: fix no area shortcut MODE command, MODE can be default
Shbinging [Fri, 11 Oct 2024 09:48:33 +0000 (09:48 +0000)]
ospfd: fix no area shortcut MODE command, MODE can be default

Signed-off-by: Shbinging <bingshui@smail.nju.edu.cn>
6 months agoMerge pull request #17107 from donaldsharp/actuallY_call_the_command
Jafar Al-Gharaibeh [Wed, 16 Oct 2024 02:24:33 +0000 (21:24 -0500)]
Merge pull request #17107 from donaldsharp/actuallY_call_the_command

tests: iproute2_check_path_selection call the actual command