]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
17 months agopbrd: use `zclient->nexthop_update`
David Lamparter [Tue, 29 Nov 2022 11:09:45 +0000 (12:09 +0100)]
pbrd: use `zclient->nexthop_update`

Have the library decode the nexthop.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
17 months agolib: add common NHT update decode callback
David Lamparter [Tue, 29 Nov 2022 11:09:45 +0000 (12:09 +0100)]
lib: add common NHT update decode callback

All users of `ZEBRA_NEXTHOP_UPDATE` check the VRF and then call into
`zapi_nexthop_update_decode` before further processing.  Begin moving
this into common code in lib/.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
17 months agoMerge pull request #14824 from opensourcerouting/ospf6-p2xp-fixuninit
mobash-rasool [Sun, 19 Nov 2023 16:58:51 +0000 (22:28 +0530)]
Merge pull request #14824 from opensourcerouting/ospf6-p2xp-fixuninit

ospf6d: fix uninitialized value warning in p2xp

17 months agoMerge pull request #14657 from idryzhov/mgmtd-remove-batch-ids
Christian Hopps [Sat, 18 Nov 2023 04:59:44 +0000 (05:59 +0100)]
Merge pull request #14657 from idryzhov/mgmtd-remove-batch-ids

mgmtd, lib: remove batch ids from all messages

17 months agoMerge pull request #14827 from qlyoung/doc-restore-frr-theme
Donatas Abraitis [Fri, 17 Nov 2023 21:03:37 +0000 (23:03 +0200)]
Merge pull request #14827 from qlyoung/doc-restore-frr-theme

doc: fix docs path to requirements.txt

17 months agodoc: fix docs path to requirements.txt 14827/head
Quentin Young [Fri, 17 Nov 2023 17:11:09 +0000 (12:11 -0500)]
doc: fix docs path to requirements.txt

Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
17 months agoMerge pull request #14806 from mxyns/master
Donatas Abraitis [Fri, 17 Nov 2023 14:34:22 +0000 (16:34 +0200)]
Merge pull request #14806 from mxyns/master

bgpd: bmp bgp asn & router_id coverity fix

17 months agoospf6d: fix uninitialized value warning in p2xp 14824/head
David Lamparter [Fri, 17 Nov 2023 13:39:27 +0000 (14:39 +0100)]
ospf6d: fix uninitialized value warning in p2xp

GCC is complaining prev_cost may be used uninitialized.  It really
can't, but let's get rid of the warning.

Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
17 months agoMerge pull request #14814 from idryzhov/staticd-debug
Donald Sharp [Fri, 17 Nov 2023 12:25:40 +0000 (07:25 -0500)]
Merge pull request #14814 from idryzhov/staticd-debug

staticd: fix debug commands

17 months agoMerge pull request #14812 from qlyoung/doc-restore-frr-theme
Donatas Abraitis [Fri, 17 Nov 2023 10:07:30 +0000 (12:07 +0200)]
Merge pull request #14812 from qlyoung/doc-restore-frr-theme

doc: restore frr docs theme

17 months agostaticd: fix debug commands 14814/head
Igor Ryzhov [Fri, 17 Nov 2023 01:27:55 +0000 (02:27 +0100)]
staticd: fix debug commands

Debug commands should be installed in staticd, not in mgmtd.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
17 months agodoc: restore frr docs theme 14812/head
Quentin Young [Thu, 16 Nov 2023 23:44:11 +0000 (18:44 -0500)]
doc: restore frr docs theme

Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
17 months agoMerge pull request #14807 from Keelan10/fix-babel-int-delete-leak
Donatas Abraitis [Thu, 16 Nov 2023 12:54:03 +0000 (14:54 +0200)]
Merge pull request #14807 from Keelan10/fix-babel-int-delete-leak

babeld: Free IPv4 Memory in babel_interface_free

17 months agobabeld: Free IPv4 Memory in babel_interface_free 14807/head
Keelan10 [Wed, 15 Nov 2023 20:51:46 +0000 (00:51 +0400)]
babeld: Free IPv4 Memory in babel_interface_free

Ensure proper memory cleanup by freeing the `babel_ifp->ipv4` when
babel interface is deleted. This prevents memory leaks.

The ASan leak log for reference:

```
***********************************************************************************
Address Sanitizer Error detected in all_protocol_startup.test_all_protocol_startup/r1.asan.babeld.4141

=================================================================
==4141==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 40 byte(s) in 10 object(s) allocated from:
    #0 0x7f1cde6a9b40 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb40)
    #1 0x562b8eff328d in babel_interface_address_add babeld/babel_interface.c:112
    #2 0x7f1cde1772cb in zclient_read lib/zclient.c:4425
    #3 0x7f1cde14729c in event_call lib/event.c:1980
    #4 0x7f1cde08a3bf in frr_run lib/libfrr.c:1214
    #5 0x562b8eff481b in main babeld/babel_main.c:202
    #6 0x7f1cdd8acc86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)

SUMMARY: AddressSanitizer: 40 byte(s) leaked in 10 allocation(s).
***********************************************************************************
```

Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
17 months agoMerge pull request #14792 from mobash-rasool/fixes2
Donald Sharp [Wed, 15 Nov 2023 18:19:53 +0000 (13:19 -0500)]
Merge pull request #14792 from mobash-rasool/fixes2

pim6d: Fix memory leaks

17 months agoMerge pull request #14800 from idryzhov/nb-validate-errors
Donald Sharp [Wed, 15 Nov 2023 18:19:11 +0000 (13:19 -0500)]
Merge pull request #14800 from idryzhov/nb-validate-errors

Print all errors when validating NB configuration

17 months agoMerge pull request #14802 from Keelan10/fix-nht-leak
Donald Sharp [Wed, 15 Nov 2023 17:22:29 +0000 (12:22 -0500)]
Merge pull request #14802 from Keelan10/fix-nht-leak

sharpd: Set Callback Function for Memory Cleanup

17 months agoMerge pull request #14803 from Keelan10/fix-babel-leak
Donald Sharp [Wed, 15 Nov 2023 14:54:36 +0000 (09:54 -0500)]
Merge pull request #14803 from Keelan10/fix-babel-leak

babeld: Free IPv4 Memory in interface_reset

17 months agobgpd: bmp bgp asn & router_id coverity fix 14806/head
Maxou [Wed, 15 Nov 2023 13:37:03 +0000 (14:37 +0100)]
bgpd: bmp bgp asn & router_id coverity fix

Signed-off-by: Maxence Younsi <mx.yns@outlook.fr>
17 months agolib: print all errors when validating a config 14800/head
Igor Ryzhov [Tue, 14 Nov 2023 18:57:05 +0000 (19:57 +0100)]
lib: print all errors when validating a config

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
17 months agoMerge pull request #14798 from Keelan10/zebra-fix-json-leak
Donatas Abraitis [Wed, 15 Nov 2023 12:27:21 +0000 (14:27 +0200)]
Merge pull request #14798 from Keelan10/zebra-fix-json-leak

zebra: Refactor memory allocation in zebra_rnh.c

17 months agobabeld: Free IPv4 Memory in interface_reset 14803/head
Keelan10 [Wed, 15 Nov 2023 08:53:54 +0000 (12:53 +0400)]
babeld: Free IPv4 Memory in interface_reset

Release memory allocated for the IPv4 address during the interface reset.
The addition of `free(babel_ifp->ipv4)` ensures proper cleanup, preventing
potential memory leaks.

The ASan leak log for reference:

```
***********************************************************************************
Address Sanitizer Error detected in babel_topo1.test_babel_topo1/r2.asan.babeld.18864

=================================================================
==18864==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 8 byte(s) in 2 object(s) allocated from:
    #0 0x7f3f4531bb40 in __interceptor_malloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xdeb40)
    #1 0x55c1806cb28d in babel_interface_address_add babeld/babel_interface.c:112
    #2 0x7f3f44de9e29 in zclient_read lib/zclient.c:4425
    #3 0x7f3f44db9dfa in event_call lib/event.c:1965
    #4 0x7f3f44cfd3bf in frr_run lib/libfrr.c:1214
    #5 0x55c1806cc81b in main babeld/babel_main.c:202
    #6 0x7f3f4451fc86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)

SUMMARY: AddressSanitizer: 8 byte(s) leaked in 2 allocation(s).
***********************************************************************************
```

Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
17 months agosharpd: Set Callback Function for Memory Cleanup 14802/head
Keelan10 [Wed, 15 Nov 2023 07:50:09 +0000 (11:50 +0400)]
sharpd: Set Callback Function for Memory Cleanup

Implement a callback function for memory cleanup of sharp_nh_tracker.
Specifically, set `sharp_nh_tracker_free` as the deletion function for the `sg.nhs` list.
This ensures proper cleanup of resources when elements are removed.

The ASan leak log for reference:

```
***********************************************************************************
Address Sanitizer Error detected in zebra_nht_resolution.test_verify_nh_resolution/r1.asan.sharpd.32320

=================================================================
==32320==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 64 byte(s) in 1 object(s) allocated from:
    #0 0x7f4ee812ad28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
    #1 0x7f4ee7b291cc in qcalloc lib/memory.c:105
    #2 0x5582be672011 in sharp_nh_tracker_get sharpd/sharp_nht.c:36
    #3 0x5582be680b42 in watch_nexthop_v4_magic sharpd/sharp_vty.c:139
    #4 0x5582be680b42 in watch_nexthop_v4 sharpd/sharp_vty_clippy.c:192
    #5 0x7f4ee7aac0b1 in cmd_execute_command_real lib/command.c:978
    #6 0x7f4ee7aac575 in cmd_execute_command lib/command.c:1036
    #7 0x7f4ee7aac9f4 in cmd_execute lib/command.c:1203
    #8 0x7f4ee7bd50bb in vty_command lib/vty.c:594
    #9 0x7f4ee7bd5566 in vty_execute lib/vty.c:1357
    #10 0x7f4ee7bdde37 in vtysh_read lib/vty.c:2365
    #11 0x7f4ee7bc8dfa in event_call lib/event.c:1965
    #12 0x7f4ee7b0c3bf in frr_run lib/libfrr.c:1214
    #13 0x5582be671252 in main sharpd/sharp_main.c:188
    #14 0x7f4ee6f1bc86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)

SUMMARY: AddressSanitizer: 64 byte(s) leaked in 1 allocation(s).
***********************************************************************************
```

Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
17 months agoMerge pull request #14796 from donaldsharp/ospf_bsd_double_whammy_no_whammy
Donatas Abraitis [Wed, 15 Nov 2023 07:39:31 +0000 (09:39 +0200)]
Merge pull request #14796 from donaldsharp/ospf_bsd_double_whammy_no_whammy

lib: Prevent infinite loop in ospf

17 months agolib: fix printing multiple yang errors
Igor Ryzhov [Tue, 14 Nov 2023 18:55:00 +0000 (19:55 +0100)]
lib: fix printing multiple yang errors

When printing multiple YANG errors, we should print paths for all of
them, not only for the last one.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
17 months agozebra: Refactor memory allocation in zebra_rnh.c 14798/head
Keelan10 [Tue, 14 Nov 2023 21:57:04 +0000 (01:57 +0400)]
zebra: Refactor memory allocation in zebra_rnh.c

Fix memory leaks by allocating `json_segs` conditionally on `nexthop->nh_srv6->seg6_segs`.
The previous code allocated memory even when not in use or attached to the JSON tree.

The ASan leak log for reference:

```
Direct leak of 3240 byte(s) in 45 object(s) allocated from:
    #0 0x7f6e84a35d28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
    #1 0x7f6e83de9e6f in json_object_new_array (/lib/x86_64-linux-gnu/libjson-c.so.3+0x3e6f)
    #2 0x564dcab5c1a6 in vty_show_ip_route zebra/zebra_vty.c:705
    #3 0x564dcab5cc71 in do_show_route_helper zebra/zebra_vty.c:955
    #4 0x564dcab5d418 in do_show_ip_route zebra/zebra_vty.c:1039
    #5 0x564dcab63ee5 in show_route_magic zebra/zebra_vty.c:1878
    #6 0x564dcab63ee5 in show_route zebra/zebra_vty_clippy.c:659
    #7 0x7f6e843b6fb1 in cmd_execute_command_real lib/command.c:978
    #8 0x7f6e843b7475 in cmd_execute_command lib/command.c:1036
    #9 0x7f6e843b78f4 in cmd_execute lib/command.c:1203
    #10 0x7f6e844dfe3b in vty_command lib/vty.c:594
    #11 0x7f6e844e02e6 in vty_execute lib/vty.c:1357
    #12 0x7f6e844e8bb7 in vtysh_read lib/vty.c:2365
    #13 0x7f6e844d3b7a in event_call lib/event.c:1965
    #14 0x7f6e844172b0 in frr_run lib/libfrr.c:1214
    #15 0x564dcaa50e81 in main zebra/main.c:488
    #16 0x7f6e837f7c86 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x21c86)

Indirect leak of 11520 byte(s) in 45 object(s) allocated from:
    #0 0x7f6e84a35d28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
    #1 0x7f6e83de88c0 in array_list_new (/lib/x86_64-linux-gnu/libjson-c.so.3+0x28c0)

Indirect leak of 1080 byte(s) in 45 object(s) allocated from:
    #0 0x7f6e84a35d28 in __interceptor_calloc (/usr/lib/x86_64-linux-gnu/libasan.so.4+0xded28)
    #1 0x7f6e83de8897 in array_list_new (/lib/x86_64-linux-gnu/libjson-c.so.3+0x2897)
```

Signed-off-by: Keelan Cannoo <keelan.cannoo@icloud.com>
Signed-off-by: ryndia <dindyalsarvesh@gmail.com>
17 months agolib: Prevent infinite loop in ospf 14796/head
Donald Sharp [Tue, 14 Nov 2023 16:00:54 +0000 (11:00 -0500)]
lib: Prevent infinite loop in ospf

For some series of calls in FREEBSD setting the SO_RCVBUF size will
always fail under freebsd.  This is no bueno since the
setsockopt_so_recvbuf call goes into an infinite loop.

(gdb) bt
 0  setsockopt () at setsockopt.S:4
 1  0x0000000083065870 in setsockopt_so_recvbuf (sock=15, size=0) at lib/sockopt.c:26
 2  0x00000000002bd200 in ospf_ifp_sock_init (ifp=<optimized out>, ifp@entry=0x8d1dd500) at ospfd/ospf_network.c:290
 3  0x00000000002ad1e0 in ospf_if_new (ospf=0x8eefc000, ifp=0x8d1dd500, p=0x8eecf1c0) at ospfd/ospf_interface.c:276
 4  0x0000000000304ee0 in add_ospf_interface (co=0x8eecbe10, area=0x8d192100) at ospfd/ospfd.c:1115
 5  0x00000000003050fc in ospf_network_run_interface (ospf=0x8eefc000, ifp=0x8d1dd500, p=0x80ff63f8, given_area=0x8d192100)
    at ospfd/ospfd.c:1460
 6  ospf_network_run (p=0x80ff63f8, area=0x8d192100) at ospfd/ospfd.c:1474
 7  ospf_network_set (ospf=ospf@entry=0x8eefc000, p=p@entry=0x80ff63f8, area_id=..., df=<optimized out>) at ospfd/ospfd.c:1247
 8  0x00000000002e876c in ospf_network_area (self=<optimized out>, vty=0x8eef3180, argc=<optimized out>, argv=<optimized out>)
    at ospfd/ospf_vty.c:560
 9  0x0000000083006f24 in cmd_execute_command_real (vline=vline@entry=0x8eee9100, vty=vty@entry=0x8eef3180, cmd=<optimized out>,
    cmd@entry=0x0, up_level=<optimized out>) at lib/command.c:978
 10 0x0000000083006b30 in cmd_execute_command (vline=0x8eee9100, vty=vty@entry=0x8eef3180, cmd=cmd@entry=0x0, vtysh=vtysh@entry=0)
    at lib/command.c:1037
 11 0x0000000083007044 in cmd_execute (vty=vty@entry=0x8eef3180, cmd=cmd@entry=0x8eefb000 "network 192.168.64.0/24 area 0.0.0.0",
    matched=0x0, vtysh=0) at lib/command.c:1203
 12 0x000000008307e9cc in vty_command (vty=0x8eef3180, buf=0x8eefb000 "network 192.168.64.0/24 area 0.0.0.0") at lib/vty.c:594
 13 vty_execute (vty=vty@entry=0x8eef3180) at lib/vty.c:1357
 14 0x000000008307ce40 in vtysh_read (thread=<optimized out>) at lib/vty.c:2365
 15 0x0000000083073db0 in event_call (thread=thread@entry=0x80ff88a0) at lib/event.c:1965
 16 0x000000008302c604 in frr_run (master=0x8d188140) at lib/libfrr.c:1214
 17 0x000000000029c330 in main (argc=6, argv=<optimized out>) at ospfd/ospf_main.c:252
(gdb)

Force the setsockopt function to quit when the value we are passing no
longer makes any sense.

Fixes: #14790
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agoMerge pull request #14712 from yenlu-keith/teamd-es-id
Donald Sharp [Tue, 14 Nov 2023 16:20:27 +0000 (11:20 -0500)]
Merge pull request #14712 from yenlu-keith/teamd-es-id

zebra: supports to listen teamd nlmsg as bond type

17 months agoMerge pull request #14725 from donaldsharp/event_io_smoothing
Russ White [Tue, 14 Nov 2023 16:15:54 +0000 (11:15 -0500)]
Merge pull request #14725 from donaldsharp/event_io_smoothing

Event io smoothing

17 months agoMerge pull request #14787 from opensourcerouting/fix/ospf6d_cost_fixup
Russ White [Tue, 14 Nov 2023 13:56:16 +0000 (08:56 -0500)]
Merge pull request #14787 from opensourcerouting/fix/ospf6d_cost_fixup

ospf6d: Let the user override interface cost for a loopback

17 months agoMerge pull request #14135 from squirrelking57/fix_isis_adj_level
Russ White [Tue, 14 Nov 2023 13:49:35 +0000 (08:49 -0500)]
Merge pull request #14135 from squirrelking57/fix_isis_adj_level

isisd:change ngh lvl when int circuit type setted

17 months agoMerge pull request #11800 from mxyns/bmp-locribmon
Russ White [Tue, 14 Nov 2023 13:27:45 +0000 (08:27 -0500)]
Merge pull request #11800 from mxyns/bmp-locribmon

bgpd: BMP Loc-Rib Monitoring (RFC9069) Implementation

17 months agopim6d: Fix memory leaks 14792/head
Mobashshera Rasool [Wed, 8 Nov 2023 05:45:00 +0000 (21:45 -0800)]
pim6d: Fix memory leaks

Problem Statement:
========================
Mentioning few of the leaks here:

=3843268== 6 bytes in 3 blocks are still reachable in loss record 1 of 29
==3843268==    at 0x483C855: malloc (vg_replace_malloc.c:381)
==3843268==    by 0x489ED0E: qmalloc (memory.c:106)
==3843268==    by 0x48DE8DB: redist_add_instance (zclient.c:125)
==3843268==    by 0x48DF561: zclient_init (zclient.c:647)
==3843268==    by 0x14FFA3: pim_zebra_init (pim_zebra.c:527)
==3843268==    by 0x11D021: main (pim6_main.c:178)
==3843268==
==3843268== 24 bytes in 1 blocks are still reachable in loss record 2 of 29
==3843268==    at 0x484147B: calloc (vg_replace_malloc.c:1328)
==3843268==    by 0x489EE03: qcalloc (memory.c:111)
==3843268==    by 0x4878DDE: buffer_new (buffer.c:72)
==3843268==    by 0x48DE7BF: zclient_new (zclient.c:75)
==3843268==    by 0x14FF1D: pim_zebra_init (pim_zebra.c:516)
==3843268==    by 0x11D021: main (pim6_main.c:178)
==3843268==
==3843268== 24 bytes in 1 blocks are still reachable in loss record 3 of 29
==3843268==    at 0x484147B: calloc (vg_replace_malloc.c:1328)
==3843268==    by 0x489EE03: qcalloc (memory.c:111)
==3843268==    by 0x4878DDE: buffer_new (buffer.c:72)
==3843268==    by 0x48DE7BF: zclient_new (zclient.c:75)
==3843268==    by 0x150A3D: zclient_lookup_new (pim_zlookup.c:131)
==3843268==    by 0x11D021: main (pim6_main.c:178)

RCA:
=======================
Memory is allocated when the daemon started but
it is not freed when terminated.

Fix:
=======================
Freeing the memory when daemon goes down.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
17 months agoMerge pull request #14780 from fdumontet6WIND/coverity
Donatas Abraitis [Tue, 14 Nov 2023 07:48:15 +0000 (09:48 +0200)]
Merge pull request #14780 from fdumontet6WIND/coverity

bgpd: fix coverity issue in bgp_snmp_bgp4v2.c

17 months agoMerge pull request #14782 from donaldsharp/pbd
Donatas Abraitis [Tue, 14 Nov 2023 07:06:42 +0000 (09:06 +0200)]
Merge pull request #14782 from donaldsharp/pbd

bgpd: Used %pBD instead of %pRN

17 months agoospf6d: Let the user override interface cost for a loopback 14787/head
Donatas Abraitis [Mon, 13 Nov 2023 19:06:20 +0000 (21:06 +0200)]
ospf6d: Let the user override interface cost for a loopback

Fixes: 80dfa9e012eb ("ospf6d: Set loopback interface cost to 0")
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
17 months agoMerge pull request #14781 from donaldsharp/frr_memory_leaks_cleanup
Donatas Abraitis [Mon, 13 Nov 2023 19:17:16 +0000 (21:17 +0200)]
Merge pull request #14781 from donaldsharp/frr_memory_leaks_cleanup

Frr memory leaks cleanup

17 months agobgpd: fix coverity issue in bgp_snmp_bgp4v2.c 14780/head
Francois Dumontet [Mon, 13 Nov 2023 13:44:19 +0000 (14:44 +0100)]
bgpd: fix coverity issue in bgp_snmp_bgp4v2.c

CID 1570969 Overrun
/bgpd/bgp_snmp_bgp4v2.c: 534 in bgp4v2PathAttrLookup()
/bgpd/bgp_snmp_bgp4v2.c: 575 in bgp4v2PathAttrLookup()
/bgpd/bgp_snmp_bgp4v2.c: 514 in bgp4v2PathAttrLookup()

>>>     CID 1570969:    (OVERRUN)
>>>     Overrunning array "bgp->rib" of 4 64-byte elements at element index 4 (byte offset 319) using index "afi" (which evaluates to 4).

Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
17 months agobgpd: Used %pBD instead of %pRN 14782/head
Donald Sharp [Mon, 13 Nov 2023 15:26:48 +0000 (10:26 -0500)]
bgpd: Used %pBD instead of %pRN

Let's use the natural data structure in bgp for the prefix display
instead of a bunch of places where we call a translator function.
The %pBD does this and actually ensures data is correct.
Also fix a few spots in bgp_zebra.c where the cast to a NULL
pointer causes the catcher functionality to not work and fix
the resulting crash that resulted.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agoMerge pull request #14768 from idryzhov/mgmtd-base-xpath
Donald Sharp [Mon, 13 Nov 2023 14:19:07 +0000 (09:19 -0500)]
Merge pull request #14768 from idryzhov/mgmtd-base-xpath

lib, mgmtd: respect base xpath in mgmtd

17 months agotests: Remove `log monitor XX` it's not a cli command 14781/head
Donald Sharp [Mon, 13 Nov 2023 14:12:25 +0000 (09:12 -0500)]
tests: Remove `log monitor XX` it's not a cli command

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agozebra: More memory free up on shutdown
Donald Sharp [Mon, 13 Nov 2023 14:07:06 +0000 (09:07 -0500)]
zebra: More memory free up on shutdown

a) nl_batch_tx_buf was not being freed
b) the mlag_fifo was not being freed
c) the vrf->ns_ctxt was not being freed

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agopimd: Free up link list on shutdown
Donald Sharp [Mon, 13 Nov 2023 14:06:10 +0000 (09:06 -0500)]
pimd: Free up link list on shutdown

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agoospf6d: Cleanup memory on shutdown
Donald Sharp [Sun, 12 Nov 2023 03:58:16 +0000 (22:58 -0500)]
ospf6d: Cleanup memory on shutdown

some list data structures were never freed

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agoospfd: Cleanup route-map memory
Donald Sharp [Sun, 12 Nov 2023 03:57:24 +0000 (22:57 -0500)]
ospfd: Cleanup route-map memory

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agoripngd: Cleanup memory on shutdown
Donald Sharp [Sun, 12 Nov 2023 03:56:16 +0000 (22:56 -0500)]
ripngd: Cleanup memory on shutdown

a) routemap data was not being cleaned up
b) ripng data structure was not being cleaned up

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agoripd: Cleanup memory on shutdown
Donald Sharp [Sun, 12 Nov 2023 03:55:00 +0000 (22:55 -0500)]
ripd: Cleanup memory on shutdown

a) routemap data was not being cleaned up
b) rip data structure was not being cleaned up

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agobabeld: Cleanup vrf data structures on shutdown
Donald Sharp [Sun, 12 Nov 2023 03:53:50 +0000 (22:53 -0500)]
babeld: Cleanup vrf data structures on shutdown

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agosharpd: Clean up memory leaks on shutdown
Donald Sharp [Sun, 12 Nov 2023 01:31:55 +0000 (20:31 -0500)]
sharpd: Clean up memory leaks on shutdown

a) The cleanup of zclient on shutdown was not being
done
b) Cleanup vrf shutdown
c) Cleanup some lists

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
sharpd: Cleanup shutdown of vrf and some lists

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agopbrd: Cleanup zclient on shutdown
Donald Sharp [Sun, 12 Nov 2023 01:13:00 +0000 (20:13 -0500)]
pbrd: Cleanup zclient on shutdown

For some reason pbrd had no shutdown code for zclient.
Now it does.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agoMerge pull request #14772 from LabNConsulting/fix-darr-memory-acct
Igor Ryzhov [Mon, 13 Nov 2023 03:47:36 +0000 (05:47 +0200)]
Merge pull request #14772 from LabNConsulting/fix-darr-memory-acct

17 months agoMerge pull request #14771 from LabNConsulting/fix-mgmtd-client-memleaks
Igor Ryzhov [Sun, 12 Nov 2023 18:46:04 +0000 (20:46 +0200)]
Merge pull request #14771 from LabNConsulting/fix-mgmtd-client-memleaks

lib: mgmtd: fix debug cli commands and memleaks

17 months agolib, mgmtd: respect base xpath in mgmtd 14768/head
Igor Ryzhov [Sat, 11 Nov 2023 00:13:17 +0000 (02:13 +0200)]
lib, mgmtd: respect base xpath in mgmtd

`nb_cli_apply_changes` can be called with base xpath which should be
prepended to xpaths of every change in a transaction. This base xpath is
respected by regular northbound CLI but not by mgmtd. This commit fixes
the problem.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
17 months agoMerge pull request #14767 from idryzhov/fix-change-value-free
Donatas Abraitis [Sun, 12 Nov 2023 18:16:19 +0000 (20:16 +0200)]
Merge pull request #14767 from idryzhov/fix-change-value-free

lib: fix possible freeing of libyang data

17 months agoMerge pull request #14774 from idryzhov/bgp-snmp-fix-build
Donatas Abraitis [Sun, 12 Nov 2023 09:06:39 +0000 (10:06 +0100)]
Merge pull request #14774 from idryzhov/bgp-snmp-fix-build

bgpd: fix build error

17 months agomgmtd, lib: remove batch ids from all messages 14657/head
Igor Ryzhov [Fri, 20 Oct 2023 21:51:01 +0000 (00:51 +0300)]
mgmtd, lib: remove batch ids from all messages

Batch IDs are only used to verify that all messages were received and
processed by a backend. It's not necessary to do that as we use reliable
stream transport - messages can't be dropped or received out of order.

This commit also fixes possible race condition that can happen if
one backend process messages slower than other backends.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
17 months agobgpd: fix build error 14774/head
Igor Ryzhov [Sun, 12 Nov 2023 00:57:25 +0000 (02:57 +0200)]
bgpd: fix build error

I recieve the following error with GCC 9.4.0:
```
In file included from /usr/include/string.h:495,
                 from ./lib/zebra.h:23,
                 from bgpd/bgp_snmp_bgp4v2.c:7:
In function ‘memset’,
    inlined from ‘bgp4v2PathAttrLookup’ at bgpd/bgp_snmp_bgp4v2.c:605:3,
    inlined from ‘bgp4v2PathAttrTable’ at bgpd/bgp_snmp_bgp4v2.c:747:9:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:71:10: error: ‘__builtin_memset’ offset [9, 20] from the object at ‘paddr’ is out of the bounds of referenced subobject ‘_v4_addr’ with type ‘struct in_addr’ at offset 4 [-Werror=array-bounds]
   71 |   return __builtin___memset_chk (__dest, __ch, __len, __bos0 (__dest));
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
17 months agoMerge pull request #14773 from LabNConsulting/fix-log-vty-memleak
Donald Sharp [Sat, 11 Nov 2023 23:25:04 +0000 (18:25 -0500)]
Merge pull request #14773 from LabNConsulting/fix-log-vty-memleak

lib: free the log file resources created at startup and config

17 months agotools: suppress some reachable external lib "leaks" 14771/head
Christian Hopps [Sat, 11 Nov 2023 19:56:26 +0000 (20:56 +0100)]
tools: suppress some reachable external lib "leaks"

- These are just normal reachable allocs from inside external library code;
however, when running valgrind with memleak types "all" in order to find FRR
specific leaks (from memory.h) these are the only other reported leaks. Makes
easier checking and fixing.

Signed-off-by: Christian Hopps <chopps@labn.net>
17 months agolib: free the log file resources created at startup and config 14773/head
Christian Hopps [Sat, 11 Nov 2023 19:31:13 +0000 (20:31 +0100)]
lib: free the log file resources created at startup and config

Signed-off-by: Christian Hopps <chopps@labn.net>
17 months agolib: darr needs to use memory.h for both alloc and free 14772/head
Christian Hopps [Sat, 11 Nov 2023 19:27:22 +0000 (20:27 +0100)]
lib: darr needs to use memory.h for both alloc and free

Was using XREALLOC() and then free(). instant "memleaks".

Signed-off-by: Christian Hopps <chopps@labn.net>
17 months agolib: mgmtd: fix debug cli commands and memleaks
Christian Hopps [Sat, 11 Nov 2023 18:21:17 +0000 (19:21 +0100)]
lib: mgmtd: fix debug cli commands and memleaks

- Cannot have 2 cmd_node's with same .node number. Install the mgmtd
client library debug nodes (client frontend and client backend) using
new unique node numbers. Fixes memleaks.

- Fix "debug mgmt client backend" to generate correct config (and not
for frontend).

Signed-off-by: Christian Hopps <chopps@labn.net>
17 months agoMerge pull request #14766 from cscarpitta/fix/fix-missing-debug-guard
Donatas Abraitis [Sat, 11 Nov 2023 17:23:19 +0000 (18:23 +0100)]
Merge pull request #14766 from cscarpitta/fix/fix-missing-debug-guard

bgpd: Add missing guard for `zlog_debug`

17 months agolib: fix possible freeing of libyang data 14767/head
Igor Ryzhov [Sat, 11 Nov 2023 00:06:11 +0000 (02:06 +0200)]
lib: fix possible freeing of libyang data

mgmtd frees all non-NULL change->value variables at the end of every
commit. We shouldn't assign change->value with data returned by libyang
to prevent freeing of library-allocated memory.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
17 months agobgpd: Add guard for `zlog_debug` 14766/head
Carmine Scarpitta [Fri, 10 Nov 2023 21:31:09 +0000 (22:31 +0100)]
bgpd: Add guard for `zlog_debug`

Add guard for `zlog_debug` when bgpd is not connected to zebra
or zebra does not know the bgp instance.

Signed-off-by: Carmine Scarpitta <cscarpit@cisco.com>
17 months agozebra: Support to listen teamd nlmsg as bond type 14712/head
yenlu [Wed, 1 Nov 2023 22:22:08 +0000 (15:22 -0700)]
zebra: Support to listen teamd nlmsg as bond type

this feature is to support teamd driver when configuring
ethernet segment's id and sys_mac via vtysh/zebra.

Signed-off-by: yenlu <yenlu@cisco.com>
17 months agoMerge pull request #14758 from LabNConsulting/fix-mgmtd-coverity
Donald Sharp [Thu, 9 Nov 2023 13:20:37 +0000 (08:20 -0500)]
Merge pull request #14758 from LabNConsulting/fix-mgmtd-coverity

mgmtd: get rid of unused init value to fix coverity warning

17 months agoMerge pull request #14751 from opensourcerouting/fix/soft_version_cap_received_fix
Donald Sharp [Thu, 9 Nov 2023 12:38:16 +0000 (07:38 -0500)]
Merge pull request #14751 from opensourcerouting/fix/soft_version_cap_received_fix

bgpd: Software capability nits

17 months agoMerge pull request #14756 from opensourcerouting/fix/bgpd_dynamic_cap_addpath_topotest
Donald Sharp [Thu, 9 Nov 2023 12:37:26 +0000 (07:37 -0500)]
Merge pull request #14756 from opensourcerouting/fix/bgpd_dynamic_cap_addpath_topotest

tests: Check received prefixes before immediately sending dynamic capabilities

17 months agoMerge pull request #14727 from fdumontet6WIND/bgp4v2_snmp
Donatas Abraitis [Thu, 9 Nov 2023 09:20:33 +0000 (10:20 +0100)]
Merge pull request #14727 from fdumontet6WIND/bgp4v2_snmp

bgpd: fix bgp4v2 MIB NLRI INDEX format and order

17 months agomgmtd: get rid of unused init value to fix coverity warning 14758/head
Christian Hopps [Thu, 9 Nov 2023 02:27:29 +0000 (21:27 -0500)]
mgmtd: get rid of unused init value to fix coverity warning

Signed-off-by: Christian Hopps <chopps@labn.net>
17 months agolib: Modify event system to treat fd access more fairly 14725/head
Donald Sharp [Thu, 2 Nov 2023 20:46:27 +0000 (16:46 -0400)]
lib: Modify event system to treat fd access more fairly

Keep track of the last starting spot of where fd's were
being handled for read operations.  Modify the io read
handler to cycle through the list of fd's that need
to be handled such that fd's at the front do not take
precedence for being handled all the time.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agolib: Create a helper function for io read operations
Donald Sharp [Thu, 2 Nov 2023 16:02:43 +0000 (12:02 -0400)]
lib: Create a helper function for io read operations

Currently when io is ready inside of the event system
the first FD received is always preferred as the ones
that are handled first.  This leads to results where
events associated with these first FD's are always handled
first.

In anticipation of a change to make this more fair
let's abstract the function handler.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agotests: take into account fix for NLRI Index 14727/head
Francois Dumontet [Fri, 3 Nov 2023 09:46:40 +0000 (10:46 +0100)]
tests: take into account fix for NLRI Index

Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
17 months agobgp: fix bgp4v2 MIB NLRI INDEX format and order
Francois Dumontet [Fri, 29 Sep 2023 13:23:24 +0000 (15:23 +0200)]
bgp: fix bgp4v2 MIB NLRI INDEX format and order

With a BGP configuration with ipv4 peering, and ipv6 peering, an snmpwalk
is stopped while walking over the bgp4v2NlriTable

snmpwalk -c TEST -v2c -On -Ln 1.1.1.2 .1.3.6.1.3.5.1.1.4

[...]
.1.3.6.1.3.5.1.1.4.1.2.1.2.32.0.0.0.0.0.0.0.0.0.0.0.0.0.0.1 = Gauge32: 13380
.1.3.6.1.3.5.1.1.9.1.1.1.1.1.1.1.0.24.0.0.0.0 = Gauge32: 0
.1.3.6.1.3.5.1.1.9.1.1.1.1.1.1.1.0.24.0.0.0.0 = Gauge32: 0
 >= .1.3.6.1.3.5.1.1.9.1.1.1.1.1.1.1.0.24.0.0.0.0

The walk stopped because the index used in the NlriTable entries is
decrementing, and this is against the snmp specifications. Also, the
computed index is wrong, and does not match the provided
draft-ietf-idr-bgp4-mibv2-1 specification.

Fix this by computing a valid index, and by finding out the next
consecutive prefix.
The resulting changes do not break the walk, and the output is changed:

root@dut-vm:~# snmpwalk -v 2c -c public -Ln -On localhost 1.3.6.1.3.5.1.1.9.1
.1.3.6.1.3.5.1.1.9.1.1.1.1.1.1.10.200.0.0.24.1.10.125.0.2.1 = Gauge32: 0
.1.3.6.1.3.5.1.1.9.1.1.1.1.1.1.10.244.0.0.24.1.10.125.0.2.1 = Gauge32: 0
.1.3.6.1.3.5.1.1.9.1.2.1.1.1.1.10.200.0.0.24.1.10.125.0.2.1 = INTEGER: 1
.1.3.6.1.3.5.1.1.9.1.2.1.1.1.1.10.244.0.0.24.1.10.125.0.2.1 = INTEGER: 1
.1.3.6.1.3.5.1.1.9.1.3.1.1.1.1.10.200.0.0.24.1.10.125.0.2.1 = INTEGER: 1
.1.3.6.1.3.5.1.1.9.1.3.1.1.1.1.10.244.0.0.24.1.10.125.0.2.1 = INTEGER: 1
.1.3.6.1.3.5.1.1.9.1.4.1.1.1.1.10.200.0.0.24.1.10.125.0.2.1 = INTEGER: 1
.1.3.6.1.3.5.1.1.9.1.4.1.1.1.1.10.244.0.0.24.1.10.125.0.2.1 = INTEGER: 1
.1.3.6.1.3.5.1.1.9.1.5.1.1.1.1.10.200.0.0.24.1.10.125.0.2.1 = Hex-STRING: 0A C8 00 00
.1.3.6.1.3.5.1.1.9.1.5.1.1.1.1.10.244.0.0.24.1.10.125.0.2.1 = Hex-STRING: 0A F4 00 00

Fixes: c681e937d7ae8904f748819fce37498ce0ea8f7d (bgpd: Implement SNMP
BGP4V2-MIB (bgp4V2NlriTable), part 1)
Fixes: 2ce69011c4199bead8172b5ee7e63485e2f861c8 (bgpd: Implement SNMP
BGP4V2-MIB (bgp4V2NlriTable), part 2)

Signed-off-by: Francois Dumontet <francois.dumontet@6wind.com>
17 months agotests: Check received prefixes before immediately sending dynamic capabilities 14756/head
Donatas Abraitis [Wed, 8 Nov 2023 14:36:07 +0000 (16:36 +0200)]
tests: Check received prefixes before immediately sending dynamic capabilities

If we send capabilities immediately, before receiving an UPDATE message, we end up
with a notification received from the neighbor. Let's wait until we have the fully
converged topology and do the stuff.

Tested locally and can't replicate the failure, let's see how happy is the CI this time.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
17 months agoMerge pull request #14525 from LabNConsulting/chopps/mgmtd-simplify-xpaths
Igor Ryzhov [Wed, 8 Nov 2023 14:30:46 +0000 (16:30 +0200)]
Merge pull request #14525 from LabNConsulting/chopps/mgmtd-simplify-xpaths

chopps/mgmtd simplify xpaths

17 months agoMerge pull request #14544 from idryzhov/mgmt-scratch-buffer
Donald Sharp [Wed, 8 Nov 2023 14:18:27 +0000 (09:18 -0500)]
Merge pull request #14544 from idryzhov/mgmt-scratch-buffer

mgmt: delete candidate scratch buffer

17 months agoMerge pull request #14743 from idryzhov/mgmtd-local-validation
Donald Sharp [Wed, 8 Nov 2023 13:49:01 +0000 (08:49 -0500)]
Merge pull request #14743 from idryzhov/mgmtd-local-validation

mgmtd: fix local validation

17 months agobgpd: Send software version capability for OAD EBGP peers 14751/head
Donatas Abraitis [Wed, 8 Nov 2023 13:29:32 +0000 (15:29 +0200)]
bgpd: Send software version capability for OAD EBGP peers

We send this capability for iBGP peers by default. Recently OAD support was
merged, and we should adopt sending the capability according to OAD as well.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
17 months agobgpd: Set the software version capability received flag only after a validation
Donatas Abraitis [Wed, 8 Nov 2023 13:26:40 +0000 (15:26 +0200)]
bgpd: Set the software version capability received flag only after a validation

We shouldn't set it blindly once the packet is received, but first we have to
do some sanity checks.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
17 months agoMerge pull request #14741 from donaldsharp/zebra_h_cleanup
Donatas Abraitis [Wed, 8 Nov 2023 08:03:00 +0000 (09:03 +0100)]
Merge pull request #14741 from donaldsharp/zebra_h_cleanup

Zebra h cleanup

17 months agoMerge pull request #14746 from LabNConsulting/valgrind-leak-kinds
Donatas Abraitis [Wed, 8 Nov 2023 08:01:02 +0000 (09:01 +0100)]
Merge pull request #14746 from LabNConsulting/valgrind-leak-kinds

tests: add ability to show all types of valgrind memleaks

17 months agotests: add ability to show all types of valgrind memleaks 14746/head
Christian Hopps [Tue, 7 Nov 2023 20:27:33 +0000 (15:27 -0500)]
tests: add ability to show all types of valgrind memleaks

Signed-off-by: Christian Hopps <chopps@labn.net>
17 months agoMerge pull request #14698 from opensourcerouting/fix/remove_static_arp_entries_on_ifd...
Russ White [Tue, 7 Nov 2023 14:40:01 +0000 (09:40 -0500)]
Merge pull request #14698 from opensourcerouting/fix/remove_static_arp_entries_on_ifdown_events

zebra: Remove static ARP entries on interface down events

17 months ago*: Move distance related defines into their own header 14741/head
Donald Sharp [Sat, 4 Nov 2023 08:47:46 +0000 (08:47 +0000)]
*: Move distance related defines into their own header

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months ago*: Remove APPLE #defines from build
Donald Sharp [Sat, 4 Nov 2023 08:30:31 +0000 (08:30 +0000)]
*: Remove APPLE #defines from build

We cannot build on apple machines at all due
to our usage of some gcc extensions that will
probably never see the light of day again.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months ago*: Remove netlink headers from lib/zebra.h
Donald Sharp [Sat, 4 Nov 2023 08:15:54 +0000 (08:15 +0000)]
*: Remove netlink headers from lib/zebra.h

The headers associated with netlink code
really only belong in those that need it.
Move these headers out of lib/zebra.h and
into more appropriate places.  bgp's usage
of the RT_TABLE_XXX defines are probably not
appropriate and will be cleaned up in future
commits.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agomgmtd: fix local validation 14743/head
Igor Ryzhov [Tue, 7 Nov 2023 01:40:26 +0000 (03:40 +0200)]
mgmtd: fix local validation

When validating the config, we shouldn't also validate state.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
17 months agotools: checkpatch updated with darr_foreach iter macros 14525/head
Christian Hopps [Tue, 24 Oct 2023 18:58:11 +0000 (14:58 -0400)]
tools: checkpatch updated with darr_foreach iter macros

Also update `checkpatch.sh` so it runs `checkpatch.pl` from the same directory
it resides in. This allows copying them both somewhere else to use a specific
version.

Signed-off-by: Christian Hopps <chopps@labn.net>
17 months agolib: yang: restore old API use now that it's fixed
Christian Hopps [Sun, 9 Jul 2023 20:55:10 +0000 (16:55 -0400)]
lib: yang: restore old API use now that it's fixed

This also avoids a bug in the workaround function if the set variable
wasn't set to NULL the Debug version of libyang would sigsegv.

Signed-off-by: Christian Hopps <chopps@labn.net>
17 months agomgmtd: simplify xpath registries
Christian Hopps [Sun, 9 Jul 2023 03:11:15 +0000 (23:11 -0400)]
mgmtd: simplify xpath registries

- move from client id indexed array of uints for register info
  per client to a u64 bitmask.
- add bit walking FOREACH macro

Walk the client IDs whose bits are set in a mask.

Signed-off-by: Christian Hopps <chopps@labn.net>
17 months agoMerge pull request #14729 from donaldsharp/v6_rr_semantics_zrouter
Donatas Abraitis [Mon, 6 Nov 2023 21:00:50 +0000 (23:00 +0200)]
Merge pull request #14729 from donaldsharp/v6_rr_semantics_zrouter

V6 rr semantics zrouter

17 months agoMerge pull request #14742 from FRRouting/revert-14648-import_no_no_no
Mark Stapp [Mon, 6 Nov 2023 15:38:06 +0000 (10:38 -0500)]
Merge pull request #14742 from FRRouting/revert-14648-import_no_no_no

Revert "bgpd: combine import_check_table and nexthop_check_table"

17 months agoRevert "bgpd: combine import_check_table and nexthop_check_table" 14742/head
Donald Sharp [Mon, 6 Nov 2023 15:07:58 +0000 (10:07 -0500)]
Revert "bgpd: combine import_check_table and nexthop_check_table"

17 months agozebra: When using Nexthop groups, use v6 RR semantics 14729/head
Donald Sharp [Mon, 6 Nov 2023 13:56:50 +0000 (08:56 -0500)]
zebra: When using Nexthop groups, use v6 RR semantics

The nexthop group route replace operation was made consistent
across all versions of the kernel.  A v6 route replacement
does not need to do a delete than add when using nexthop
groups

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agozebra: Move v6_rr_semantics to be part of zrouter structure
Donald Sharp [Fri, 3 Nov 2023 16:58:42 +0000 (16:58 +0000)]
zebra: Move v6_rr_semantics to be part of zrouter structure

Move global variable v6_rr_semantics from a global data structure
into the zrouter data structure.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agozebra: Add v6_rr_semantics status to `show zebra`
Donald Sharp [Fri, 3 Nov 2023 16:35:45 +0000 (16:35 +0000)]
zebra: Add v6_rr_semantics status to `show zebra`

The v6_rr_semantics variable was being set but never
reported and had to be inferred from watching netlink
messages to the kernel.  Let's add a bit of code
to `show zebra` so that we can know how it is being
used.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
17 months agoMerge pull request #14730 from opensourcerouting/fix/doc_releases
Donald Sharp [Mon, 6 Nov 2023 13:11:03 +0000 (08:11 -0500)]
Merge pull request #14730 from opensourcerouting/fix/doc_releases

doc: Add a quick example on how to use release_notes.py

17 months agoMerge pull request #14734 from opensourcerouting/fix/add_missing_documentation_for_co...
Donald Sharp [Mon, 6 Nov 2023 13:10:45 +0000 (08:10 -0500)]
Merge pull request #14734 from opensourcerouting/fix/add_missing_documentation_for_community_any

doc: Add missing match community exact-match/any