]> git.puffer.fish Git - mirror/frr.git/log
mirror/frr.git
20 months agobgpd: Handle srv6 attributes the same way as others using setters/getters
Donatas Abraitis [Thu, 3 Aug 2023 19:53:21 +0000 (22:53 +0300)]
bgpd: Handle srv6 attributes the same way as others using setters/getters

To be consistent and error-safe.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agobgpd: Handle encap attributes the same way as others using setters/getters
Donatas Abraitis [Thu, 3 Aug 2023 19:52:09 +0000 (22:52 +0300)]
bgpd: Handle encap attributes the same way as others using setters/getters

To be consistent and error-safe.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agobgpd: Handle transit attributes the same way as others using setters/getters
Donatas Abraitis [Thu, 3 Aug 2023 19:48:40 +0000 (22:48 +0300)]
bgpd: Handle transit attributes the same way as others using setters/getters

To be consistent and error-safe.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agobgpd: Handle cluster attribute the same way as others using setters/getters
Donatas Abraitis [Thu, 3 Aug 2023 19:44:17 +0000 (22:44 +0300)]
bgpd: Handle cluster attribute the same way as others using setters/getters

To be consistent and error-safe.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agoMerge pull request #14129 from samanvithab/bgpd_frr_fix
Donald Sharp [Wed, 2 Aug 2023 17:48:14 +0000 (13:48 -0400)]
Merge pull request #14129 from samanvithab/bgpd_frr_fix

bgpd: Fix for session reset issue caused by malformed core attributes  in update message

20 months agoMerge pull request #13466 from donaldsharp/remove_unneeded_test_files
Donatas Abraitis [Wed, 2 Aug 2023 14:26:26 +0000 (17:26 +0300)]
Merge pull request #13466 from donaldsharp/remove_unneeded_test_files

tests: Remove unused file in isis_snmp test

20 months agotests: Remove unused file in isis_snmp test 13466/head
Donald Sharp [Mon, 8 May 2023 12:45:55 +0000 (08:45 -0400)]
tests: Remove unused file in isis_snmp test

The */show_ip_route.ref files are never used, let's remove them
to prevent any future issues.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agobgpd: Fix session reset issue caused by malformed core attributes 14129/head
Samanvitha B Bhargav [Wed, 2 Aug 2023 06:10:35 +0000 (23:10 -0700)]
bgpd: Fix session reset issue caused by malformed core attributes

RCA:
On encountering any attribute error for core attributes in update message,
the error handling is set to 'treat as withdraw' and
further parsing of the remaining attributes is skipped.
But the stream pointer is not being correctly adjusted to
point to the next NLRI field skipping the rest of the attributes.
This leads to incorrect parsing of the NLRI field,
which causes BGP session to reset.

Fix:
The stream pointer offset is rightly adjusted to point to the NLRI field correctly
when the malformed attribute is encountered and remaining attribute parsing is skipped.

Signed-off-by: Samanvitha B Bhargav <bsamanvitha@vmware.com>
20 months agoMerge pull request #14125 from opensourcerouting/fix/drop_unused_lua_stuff
Jafar Al-Gharaibeh [Wed, 2 Aug 2023 04:52:56 +0000 (23:52 -0500)]
Merge pull request #14125 from opensourcerouting/fix/drop_unused_lua_stuff

lib: Do not use time_t as a special Lua encoder/decoder

20 months agoMerge pull request #14116 from donaldsharp/test_naming
Donatas Abraitis [Tue, 1 Aug 2023 15:13:02 +0000 (18:13 +0300)]
Merge pull request #14116 from donaldsharp/test_naming

Test naming

20 months agoMerge pull request #14071 from achernavin22/ospf-fix-abr-type-chg
Donald Sharp [Tue, 1 Aug 2023 14:42:54 +0000 (10:42 -0400)]
Merge pull request #14071 from achernavin22/ospf-fix-abr-type-chg

ospfd: fix changing ABR type between standard and shortcut

20 months agotests: Convert d1 and d2 to output and expected in gen_json_diff_report 14116/head
Donald Sharp [Mon, 31 Jul 2023 12:45:50 +0000 (08:45 -0400)]
tests: Convert d1 and d2 to output and expected in gen_json_diff_report

The output of gen_json_diff_report is used all over the place and
it outputs d1 and d2.  Let's change this to output and expected
as that is how it is used.  Should help with debugging.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agotests: Run black over lib/topotest.py
Donald Sharp [Mon, 31 Jul 2023 12:21:04 +0000 (08:21 -0400)]
tests: Run black over lib/topotest.py

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agotests: Start using output and expected vs d1 and d2
Donald Sharp [Mon, 31 Jul 2023 12:18:40 +0000 (08:18 -0400)]
tests: Start using output and expected vs d1 and d2

Let us start using output and expected in lib/topotest.py
because when we see output it is confusing what d1 is
versus what d2 is.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
20 months agoMerge pull request #14117 from patrasar/pimv6_13893
Donald Sharp [Tue, 1 Aug 2023 11:30:57 +0000 (07:30 -0400)]
Merge pull request #14117 from patrasar/pimv6_13893

pimd, pim6d: Don't set SRC_STREAM flag on LHR

20 months agolib: Do not use time_t as a special Lua encoder/decoder 14125/head
Donatas Abraitis [Tue, 1 Aug 2023 11:08:25 +0000 (14:08 +0300)]
lib: Do not use time_t as a special Lua encoder/decoder

This is purely an integer (long long/long), and causes issues for 32-bit systems.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
20 months agoMerge pull request #14078 from raja-rajasekar/frr_dev1
Donatas Abraitis [Tue, 1 Aug 2023 09:19:18 +0000 (12:19 +0300)]
Merge pull request #14078 from raja-rajasekar/frr_dev1

zebra: fix nhe refcnt when frr service goes down

20 months agoMerge pull request #14115 from opensourcerouting/fix/build_alpine_images
Jafar Al-Gharaibeh [Tue, 1 Aug 2023 04:53:12 +0000 (23:53 -0500)]
Merge pull request #14115 from opensourcerouting/fix/build_alpine_images

docker: Adjustments for Alpine 3.18 and buildx

20 months agoMerge pull request #14121 from opensourcerouting/deb-protobuf-depend
Jafar Al-Gharaibeh [Tue, 1 Aug 2023 04:48:55 +0000 (23:48 -0500)]
Merge pull request #14121 from opensourcerouting/deb-protobuf-depend

debian: Add missing protobuf dependency

20 months agodebian: Add missing protobuf dependency 14121/head
Martin Winter [Mon, 31 Jul 2023 22:48:26 +0000 (00:48 +0200)]
debian: Add missing protobuf dependency

Signed-off-by: Martin Winter <mwinter@opensourcerouting.org>
21 months agoMerge pull request #14042 from FRIDM636/extcomm-list-delete
Donatas Abraitis [Mon, 31 Jul 2023 12:50:16 +0000 (15:50 +0300)]
Merge pull request #14042 from FRIDM636/extcomm-list-delete

bgp: add set BGP extended community for deletion command

21 months agopimd, pim6d: Don't set SRC_STREAM flag on LHR 14117/head
Sarita Patra [Mon, 31 Jul 2023 11:30:26 +0000 (04:30 -0700)]
pimd, pim6d: Don't set SRC_STREAM flag on LHR

Setup:
------
R1( LHR) ---------R2( RP) ----------R3( FHR)

Problem:
-------
- Send IGMP/MLD join and traffic.
  LHR: (S,G) mroute is created with reference count = 2
  and set the flag SRC_STREAM.
  (Code flow: pim_mroute_msg_wholepkt -> pim_upstream_add,
              pim_upstream_sg_running_proc -> pim_upstream_ref)
- Send IGMP/MLD prune.
  LHR: removes (*,G) entry and it tries to remove childen (S,G) entries.
       But (S,G) is having reference count = 2. So after prune,
       (S,G) entry reference count becomes 1 and will be present
       until KAT expires.

Fix:
---
Don't set SRC_STREAM flag for LHR.
In LHR, (S,G) should be maintained, until (*,G) is present.
When prune receives delete (*,G) and children (S,G).
When traffic stops, delete (S,G) after KAT expires.

Issue: #13893

Signed-off-by: Sarita Patra <saritap@vmware.com>
21 months agotests: test set extended-comm-list <> delete command 14042/head
Farid Mihoub [Wed, 12 Jul 2023 10:05:38 +0000 (12:05 +0200)]
tests: test set extended-comm-list <> delete command

Signed-off-by: Farid Mihoub <farid.mihoub@6wind.com>
21 months agobgpd: add set extended-comm-list <> delete command
Farid Mihoub [Wed, 14 Jun 2023 14:16:55 +0000 (16:16 +0200)]
bgpd: add set extended-comm-list <> delete command

Signed-off-by: Farid Mihoub <farid.mihoub@6wind.com>
Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
21 months agodocker: Install the apk packages regardless of the platform 14115/head
Donatas Abraitis [Mon, 31 Jul 2023 08:05:15 +0000 (11:05 +0300)]
docker: Install the apk packages regardless of the platform

It was hardcoded to x86_64, but we build Alpine images for more platforms, let's
be dynamical here.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agodocker: Use openssl instead of libressl
Donatas Abraitis [Mon, 31 Jul 2023 08:04:30 +0000 (11:04 +0300)]
docker: Use openssl instead of libressl

libressl is dropped from Alpine 3.18 for s390x.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agoMerge pull request #14109 from taspelund/noreset_update_src
Donatas Abraitis [Mon, 31 Jul 2023 07:03:28 +0000 (10:03 +0300)]
Merge pull request #14109 from taspelund/noreset_update_src

bgpd: skip reset when removing dup update-source

21 months agoMerge pull request #14112 from donaldsharp/test_sponging
Donatas Abraitis [Mon, 31 Jul 2023 07:02:36 +0000 (10:02 +0300)]
Merge pull request #14112 from donaldsharp/test_sponging

Test sponging

21 months agoMerge pull request #14111 from opensourcerouting/isisd-tilfa-topotest-fixes
Donald Sharp [Sat, 29 Jul 2023 23:22:34 +0000 (19:22 -0400)]
Merge pull request #14111 from opensourcerouting/isisd-tilfa-topotest-fixes

tests: improve stability of the IS-IS TI-LFA topotest

21 months agoMerge pull request #14103 from opensourcerouting/reload-keychain
Donald Sharp [Sat, 29 Jul 2023 18:01:31 +0000 (14:01 -0400)]
Merge pull request #14103 from opensourcerouting/reload-keychain

tools: fix key chain reload removal

21 months agoMerge pull request #14104 from rampxxxx/bfd_audit
Donald Sharp [Sat, 29 Jul 2023 17:57:33 +0000 (13:57 -0400)]
Merge pull request #14104 from rampxxxx/bfd_audit

bfdd: add additional parameters to json command

21 months agotests: Convert isis to use 1 and 10 for hello/multiplier 14112/head
Donald Sharp [Thu, 27 Jul 2023 19:36:33 +0000 (15:36 -0400)]
tests: Convert isis to use 1 and 10 for hello/multiplier

Current isis tests use a variety of hello timers as well
as hello-multiplier, let's modify all of the isis test
cases to use 1 and 10.  This cleans up some spurious test
failures I was seeing locally.  As an example without
these changes running isis_tilfa_topo1 2r6 times I would
see 5-10 test failures now I am seeing ~2 test failures.

In any event part of the problem was that some tests were
not fully converged when looking at them under heavy
system load.  Changing this to 1/10 gives us 10 chances
to see the incoming packet.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agotests: bfd_bgp_cbit_topo3 allow bgp to converge before testing
Donald Sharp [Sat, 29 Jul 2023 17:26:26 +0000 (13:26 -0400)]
tests: bfd_bgp_cbit_topo3 allow bgp to converge before testing

This test was failing upstream a bunch of times.  Upon examining
the log files as well as the test script it was noticed that
the bfd peers were checked to see that they had come up.  But
both the timers used for bgp as well as not checking that bgp
has actually come up would cause the test to fail in subsuquent
steps if bgp has not come up.  Test that bgp peering is actually
established before testing link down events.  It's possible
this test might need to be revisited to ensure that the routes
are actually installed and ready to go before as well, but I am
not seeing that right now.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agotests: Fix zebra_seg6_route to give more time for routes to be installed
Donald Sharp [Sat, 29 Jul 2023 17:24:55 +0000 (13:24 -0400)]
tests: Fix zebra_seg6_route to give more time for routes to be installed

This test is failing upstream regularly, when inspecting the log
files we see that the route being looked for is in a queued state
when the test fails.  Give this test more time for when the
system is under severe load.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agotests: isis_te_topo1 can fail occassionally
Donald Sharp [Sat, 29 Jul 2023 17:22:39 +0000 (13:22 -0400)]
tests: isis_te_topo1 can fail occassionally

Upstream ( and locally ) this test fails.  The adj-sid value
being looked for in the testing is a dynamic value that is
assigned based upon how the network comes up.  The reality
is that there is no enforced order of what the adj-sid
can be.  As such this test looking for this value makes
no sense.  Let's remove that from the test.

Additionally bring the isis hello-interval to 1 down
from 3 to make things converge faster.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agotests: zebra_netlink ensure the address is installed
Donald Sharp [Fri, 28 Jul 2023 14:31:30 +0000 (10:31 -0400)]
tests: zebra_netlink ensure the address is installed

Ran test under high load and system rejected the sharp
install of routes.  Only reason that that would happen
would be if the address had not been set by the kernel
yet.  The test log files had timestamp precision and the
addition of the sharp routes was under 1/10 of a second
after the address was attempted to be installed.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agotests: increase wait timer in TI-LFA topotest 14111/head
Renato Westphal [Sat, 29 Jul 2023 14:46:54 +0000 (11:46 -0300)]
tests: increase wait timer in TI-LFA topotest

Starting from step 11, this topotest focuses on validating the TI-LFA
switchover functionality, where the backup nexthops are activated
after an adjacency expires, either with or without BFD.

Currently, the test checks the RIB shortly after the switchover using
a tight 5 seconds interval to ensure that the RIB update is due to the
switchover and not an SPF update (which is configured with an initial
delay of 15 seconds). However, it was observed that the kernel might
take longer than 5 seconds to install routes when the system is under
heavy load. To account for that, double the wait interval so that
this topotest will succeed even in those conditions.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
21 months agotests: ensure BFD session is up before proceeding to the next step
Renato Westphal [Sat, 29 Jul 2023 01:32:17 +0000 (22:32 -0300)]
tests: ensure BFD session is up before proceeding to the next step

In this topotest, BFD is configured at the end of step 13. However,
in certain cases where the testing machine is exceptionally fast (e.g.,
Donald's quantum computer), there is a possibility that the interface
shutdown event from step 14 may occur before BFD has had sufficient
time to establish the session, which leads to a test failure. To fix
this problem, ensure the BFD session is up before proceeding to the
next step.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
21 months agoisisd: update Node-SID flag dynamically
Renato Westphal [Thu, 27 Jul 2023 23:35:10 +0000 (20:35 -0300)]
isisd: update Node-SID flag dynamically

Node-SIDs refer to Prefix-SIDs associated with host prefixes of
loopback addresses. As such, whenever an interface address is added
or deleted, all configured Prefix-SIDs must be reevaluated to check
if the N-flag needs to be set or unset.

This change fixes some race conditions in the TI-LFA topotest where
specific sequence of events could cause Prefix-SIDs to not have the
N-flag set when they should, resulting in various failures.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
21 months agotests: increase hello multiplier in TI-LFA topotest
Renato Westphal [Tue, 25 Jul 2023 22:50:14 +0000 (19:50 -0300)]
tests: increase hello multiplier in TI-LFA topotest

In this topotest, the IS-IS hello interval is set to 1 for fast
convergence. However, the current hello multiplier of 3 results in a
tight IS-IS adjacency holdtime of 3 seconds. This tight timeframe can
cause failures when the testing machine is running multiple tests at
full capacity. To improve stability under such conditions, this commit
raises the hello multiplier to 10, providing a more forgiving holdtime
and reducing the likelihood of failures.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
21 months agobfdd: add debug flag around log 14104/head
lynnemorrison [Fri, 28 Jul 2023 15:46:30 +0000 (11:46 -0400)]
bfdd: add debug flag around log

Signed-off-by: Lynne Morrison <lynne.morrison@ibm.com>
21 months agobgpd: skip reset when removing dup update-source 14109/head
Trey Aspelund [Mon, 24 Jul 2023 20:16:08 +0000 (20:16 +0000)]
bgpd: skip reset when removing dup update-source

When 'no neighbor .. update-source' is issued for a regular peer, that
peer is always reset.  This is unnecessary if the peer is a member of a
peer-group and it inherits an identical update-source, so let's skip
the reset/Notification for that condition.

Config:
------------
router bgp 1
 neighbor PG peer-group
 neighbor PG remote-as internal
 neighbor PG update-source 100.64.0.3
 neighbor 192.168.122.99 peer-group PG
 neighbor 192.168.122.99 update-source 100.64.0.3

Before:
------------
ub20-2(config-router)# do show ip bgp sum | include .99
192.168.122.99  4          1        36        34        0    0    0 00:00:17            0        0 N/A
ub20-2(config-router)# do show ip bgp neighbors 192.168.122.99 | include Local host
Local host: 100.64.0.3, Local port: 46083
ub20-2(config-router)# no neighbor 192.168.122.99 update-source
ub20-2(config-router)# do show ip bgp sum | include .99
192.168.122.99  4          1        36        35        0    0    0 00:00:01         Idle        0 N/A
ub20-2(config-router)# do show ip bgp neighbors 192.168.122.99 | include Local host
Local host: 100.64.0.3, Local port: 39847

After:
------------
ub20-2(config-router)# do show ip bgp sum | include .99
192.168.122.99  4          1         3         3        0    0    0 00:00:20            0        0 N/A
ub20-2(config-router)# do show ip bgp neighbors 192.168.122.99 | include Local host
Local host: 100.64.0.3, Local port: 39415
ub20-2(config-router)# no neighbor 192.168.122.99 update-source
ub20-2(config-router)# do show ip bgp sum | include .99
192.168.122.99  4          1         3         3        0    0    0 00:00:28            0        0 N/A
ub20-2(config-router)# do show ip bgp neighbors 192.168.122.99 | include Local host
Local host: 100.64.0.3, Local port: 39415

Signed-off-by: Trey Aspelund <taspelund@nvidia.com>
21 months agobfdd: add additional parameters to json command
lynnemorrison [Thu, 27 Jul 2023 15:10:49 +0000 (11:10 -0400)]
bfdd: add additional parameters to json command

Add parameters to the "show bfd peers json" command to
display interface and type of BFD session.

Signed-off-by: Lynne Morrison <lynne.morrison@ibm.com>
21 months agotools: fix key chain reload removal 14103/head
Rafael Zalamena [Thu, 27 Jul 2023 13:47:23 +0000 (10:47 -0300)]
tools: fix key chain reload removal

When deleting a key chain with frr-reload track if the whole root node
is being removed or not.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
21 months agoMerge pull request #12524 from leonshaw/fix/evpn-nh-order
Russ White [Thu, 27 Jul 2023 11:30:23 +0000 (07:30 -0400)]
Merge pull request #12524 from leonshaw/fix/evpn-nh-order

lib, zebra: Fix EVPN nexthop config order

21 months agolib, zebra: Fix EVPN nexthop config order 12524/head
Xiao Liang [Thu, 15 Dec 2022 09:04:32 +0000 (17:04 +0800)]
lib, zebra: Fix EVPN nexthop config order

Delay EVPN route addition to synchronize with rib_delete(), which now
uses early route queue.

Signed-off-by: Xiao Liang <shaw.leon@gmail.com>
21 months agozebra: fix nhe refcnt when frr service goes down 14078/head
Rajasekar Raja [Sun, 23 Jul 2023 05:43:12 +0000 (05:43 +0000)]
zebra: fix nhe refcnt when frr service goes down

When frr.service is going down(restart or stop),
zebra core can be seen.

Sequence of events leading to crash:
Increments of nhe refcnt:
  - Upper level creates a new nhe(say NHE1) â€”> nhe->refcnt=1
  - Two RE’s (Say RE1 & RE2) associate with NHE1 â€”> nhe->refcnt = 3

Decrements of nhe refcnt:
  - BGP sends a zapi msg to zebra to delete NHG. â€”> nhe->refcnt = 2
  - RE1 is queued for delete in META-Q
  - As zebra is dissociating with its clients, zebra_nhg_score_proto() is
     invoked -> nhe->refcnt=1
  - RE2 is no more associated with the NHE1 â€”>nhe->refcnt=0 &
     hence NHE IS FREED
  - Now RE1 is dequeued from META-Q for processing the re delete. â€”> At
     this point re->nhe is pointing to freed pointer. CRASH CRASH!!!!

Fix:
  - When we iterate zebra_nhg_score_proto_entry() to delete the upper
     proto specific nhe’s,  we need to skip the additional nhe->refcnt
     decrement in case nhe->flags has NEXTHOP_GROUP_PROTO_RELEASED set.

Backtrace-1
0x00007fa8449ce8eb in raise () from /lib/x86_64-linux-gnu/libc.so.6
0x00007fa8449b9535 in abort () from /lib/x86_64-linux-gnu/libc.so.6
0x00007fa844d32f86 in _zlog_assert_failed (xref=xref@entry=0x55fa37871040 <_xref.28142>, extra=extra@entry=0x0) at lib/zlog.c:680
0x000055fa3778f770 in rib_re_nhg_free (re=0x55fa39e33770) at zebra/zebra_rib.c:2578
rib_unlink (rn=0x55fa39e27a60, re=0x55fa39e33770) at zebra/zebra_rib.c:3930
0x000055fa3778ff18 in rib_process (rn=0x55fa39e27a60) at zebra/zebra_rib.c:1439
0x000055fa37790b1c in process_subq_route (qindex=8 '\b', lnode=0x55fa39e1c1b0) at zebra/zebra_rib.c:2549
process_subq (qindex=META_QUEUE_BGP, subq=0x55fa3999c580) at zebra/zebra_rib.c:3107
meta_queue_process (dummy=<optimized out>, data=0x55fa3999c480) at zebra/zebra_rib.c:3146
0x00007fa844d232b8 in work_queue_run (thread=0x7ffffbdf6cb0) at lib/workqueue.c:285
0x00007fa844d195fd in thread_call (thread=thread@entry=0x7ffffbdf6cb0) at lib/thread.c:2008
0x00007fa844cd3888 in frr_run (master=0x55fa397b7630) at lib/libfrr.c:1223
0x000055fa3771e294 in main (argc=12, argv=0x7ffffbdf7098) at zebra/main.c:526

Backtrace-2
0x00007f125af3f535 in abort () from /lib/x86_64-linux-gnu/libc.so.6
0x00007f125b2b8f96 in _zlog_assert_failed (xref=xref@entry=0x7f125b344260 <_xref.18768>, extra=extra@entry=0x0) at lib/zlog.c:680
0x00007f125b268190 in nexthop_copy_no_recurse (copy=copy@entry=0x5606dd726f10, nexthop=nexthop@entry=0x7f125b0d7f90, rparent=<optimized out>) at lib/nexthop.c:806
0x00007f125b2681b2 in nexthop_copy (copy=0x5606dd726f10, nexthop=0x7f125b0d7f90, rparent=<optimized out>) at lib/nexthop.c:836
0x00007f125b268249 in nexthop_dup (nexthop=nexthop@entry=0x7f125b0d7f90, rparent=rparent@entry=0x0) at lib/nexthop.c:860
0x00007f125b26b67b in copy_nexthops (tnh=tnh@entry=0x5606dd9ec748, nh=<optimized out>, rparent=rparent@entry=0x0) at lib/nexthop_group.c:457
0x00007f125b26b6ba in nexthop_group_copy (to=to@entry=0x5606dd9ec748, from=from@entry=0x5606dd9ee9f8) at lib/nexthop_group.c:291
0x00005606db6ec678 in zebra_nhe_copy (orig=0x5606dd9ee9d0, id=id@entry=0) at zebra/zebra_nhg.c:431
0x00005606db6ddc63 in mpls_ftn_uninstall_all (zvrf=zvrf@entry=0x5606dd6e7cd0, afi=afi@entry=2, lsp_type=ZEBRA_LSP_NONE) at zebra/zebra_mpls.c:3410
0x00005606db6de108 in zebra_mpls_cleanup_zclient_labels (client=0x5606dd8e03b0) at ./zebra/zebra_mpls.h:471
0x00005606db73e575 in hook_call_zserv_client_close (client=0x5606dd8e03b0) at zebra/zserv.c:566
zserv_client_free (client=0x5606dd8e03b0) at zebra/zserv.c:585
zserv_close_client (client=0x5606dd8e03b0) at zebra/zserv.c:706
0x00007f125b29f60d in thread_call (thread=thread@entry=0x7ffc2a740290) at lib/thread.c:2008
0x00007f125b259888 in frr_run (master=0x5606dd3b7630) at lib/libfrr.c:1223
0x00005606db68d298 in main (argc=12, argv=0x7ffc2a740678) at zebra/main.c:534

Issue: 3492031

Ticket# 3492031

Signed-off-by: Rajasekar Raja <rajasekarr@nvidia.com>
21 months agoMerge pull request #14064 from donaldsharp/pim_cleanup
mobash-rasool [Wed, 26 Jul 2023 16:03:29 +0000 (21:33 +0530)]
Merge pull request #14064 from donaldsharp/pim_cleanup

Cleanup from examining gcov runs

21 months agoMerge pull request #13417 from donaldsharp/elf_py_fd_semantics
Mark Stapp [Wed, 26 Jul 2023 11:18:06 +0000 (07:18 -0400)]
Merge pull request #13417 from donaldsharp/elf_py_fd_semantics

lib: Fix elf_py.c for coverity

21 months agoMerge pull request #14093 from mjstapp/fix_pbr_style
Jafar Al-Gharaibeh [Wed, 26 Jul 2023 02:38:39 +0000 (21:38 -0500)]
Merge pull request #14093 from mjstapp/fix_pbr_style

lib,pbrd: clean up style issues

21 months agoospfd: fix SPF calculation when changing ABR type 14071/head
Alexander Chernavin [Thu, 20 Jul 2023 15:22:03 +0000 (15:22 +0000)]
ospfd: fix SPF calculation when changing ABR type

Currently, when changing ABR type on a working router, SPF recalculation
will only be initiated if the OSPF flags have changed after this.
Otherwise, SPF recalculation will be omitted and OSPF RIB update will
not occur. In other words, changing ABR type might not result in
inter-area routes addition/deletion.

With this fix, when ABR type is changed, the command handler initiates
SPF recalculation.

Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
21 months agolib,pbrd: clean up style issues 14093/head
Mark Stapp [Tue, 25 Jul 2023 15:09:29 +0000 (11:09 -0400)]
lib,pbrd: clean up style issues

Fix a couple of style warnings introduced by recent PR 14050.

Signed-off-by: Mark Stapp <mjs@labn.net>
21 months agoMerge pull request #14050 from LabNConsulting/ziemba-pbr-zapi-common
Russ White [Tue, 25 Jul 2023 14:55:50 +0000 (10:55 -0400)]
Merge pull request #14050 from LabNConsulting/ziemba-pbr-zapi-common

pbrd: 2/3 zapi PBR common encode/decode

21 months agoMerge pull request #14056 from achernavin22/ospf-fix-def-metric-upd
Russ White [Tue, 25 Jul 2023 14:35:04 +0000 (10:35 -0400)]
Merge pull request #14056 from achernavin22/ospf-fix-def-metric-upd

ospfd: fix default-metric change if external LSAs already sent

21 months agoMerge pull request #14072 from LabNConsulting/ziemba-pbr-coverity-230721
Donald Sharp [Tue, 25 Jul 2023 14:29:44 +0000 (10:29 -0400)]
Merge pull request #14072 from LabNConsulting/ziemba-pbr-coverity-230721

pbrd: fix coverity issue in pbr_map_match_vlan_tag

21 months agoMerge pull request #14081 from donaldsharp/bgp_ringbuf_cleanup
Russ White [Tue, 25 Jul 2023 14:24:12 +0000 (10:24 -0400)]
Merge pull request #14081 from donaldsharp/bgp_ringbuf_cleanup

Bgp ringbuf cleanup

21 months agoMerge pull request #14086 from qlyoung/fix-strncpy-warning
Russ White [Tue, 25 Jul 2023 14:23:35 +0000 (10:23 -0400)]
Merge pull request #14086 from qlyoung/fix-strncpy-warning

tests: fix strncpy warning

21 months agoMerge pull request #14080 from anlancs/fix/zebra-nhg-reinstall
Russ White [Tue, 25 Jul 2023 14:23:10 +0000 (10:23 -0400)]
Merge pull request #14080 from anlancs/fix/zebra-nhg-reinstall

zebra: fix nhg out of sync between zebra and kernel

21 months agoMerge pull request #13945 from pguibert6WIND/redistribute_isis_table
Russ White [Tue, 25 Jul 2023 14:16:46 +0000 (10:16 -0400)]
Merge pull request #13945 from pguibert6WIND/redistribute_isis_table

Redistribute isis table

21 months agoMerge pull request #14088 from anlancs/fix/add-debug-zebra
Donald Sharp [Tue, 25 Jul 2023 13:48:38 +0000 (09:48 -0400)]
Merge pull request #14088 from anlancs/fix/add-debug-zebra

zebra: add several fields for debug

21 months agoMerge pull request #14079 from donaldsharp/last_reset_cause_slimming
Mark Stapp [Tue, 25 Jul 2023 13:25:43 +0000 (09:25 -0400)]
Merge pull request #14079 from donaldsharp/last_reset_cause_slimming

bgpd: The last_reset_cause in the peer structure is too large

21 months agozebra: add several fields for debug 14088/head
anlan_cs [Tue, 25 Jul 2023 05:15:44 +0000 (13:15 +0800)]
zebra: add several fields for debug

Two changes for debug:
1. Add a field to indicate its vrf for nexthop.  When the interface changes
vrf, we can't easily know the vrf of this nexthop according to current log.
2. Add a field to indicate operation type.  We can't know whether to add or
remove route according to current log.

Before:
```
zebra_nhg_increment_ref: nhe 0x555623eb82c0 (76[if 6]) 0 => 1
zebra_interface_nhg_reinstall install nhe 75[77.75.1.75 if 6] nh type 3 flags 0x1
Route 77.75.1.0/24(8) queued for processing into sub-queue Early Route Processing
Route 77.75.1.0/24(8) queued for processing into sub-queue Early Route Processing
```

After:
```
zebra_nhg_increment_ref: nhe 0x555623eb82c0 (76[if 6 vrfid 9]) 0 => 1
zebra_interface_nhg_reinstall install nhe 75[77.75.1.75 if 6 vrfid 8] nh type 3 flags 0x1
Route 77.75.1.0/24(8) (add) queued for processing into sub-queue Early Route Processing
Route 77.75.1.0/24(8) (delete) queued for processing into sub-queue Early Route Processing
```

Signed-off-by: anlan_cs <anlan_cs@tom.com>
21 months agoMerge pull request #14083 from chiragshah6/fdev1
Donatas Abraitis [Tue, 25 Jul 2023 06:14:54 +0000 (09:14 +0300)]
Merge pull request #14083 from chiragshah6/fdev1

bgpd: non pretty json output for neighbor routes

21 months agobgpd: The last_reset_cause in the peer structure is too large 14079/head
Donald Sharp [Mon, 24 Jul 2023 00:30:47 +0000 (20:30 -0400)]
bgpd: The last_reset_cause in the peer structure is too large

The last_reset_cause is a plain old BGP_MAX_PACKET_SIZE buffer
that is really enlarging the peer data structure.  Let's just
copy the stream that failed and only allocate how ever much
the packet size actually was.  While it's likely that we have
a reset reason, the packet typically is not going to be 65k
in size.  Let's save space.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agotests: fix strncpy warning 14086/head
Quentin Young [Mon, 24 Jul 2023 23:01:51 +0000 (19:01 -0400)]
tests: fix strncpy warning

GCC/clang warns about using strncpy in such a way that it does not copy
the null byte of a string; as implemented it was fine, but to fix the
warning, just use strlcat which was purpose made for the task being
accomplished here.

Signed-off-by: Quentin Young <qlyoung@qlyoung.net>
21 months agobgpd: non pretty json output for neighbor routes 14083/head
Sindhu Parvathi Gopinathan [Wed, 12 Jul 2023 10:45:26 +0000 (03:45 -0700)]
bgpd: non pretty json output for neighbor routes

Currently, json output of show BGP commands are no pretty format.

This is an extremely expensive operation for huge scale (lots of
routes with lots of paths).

BGP json non-pretty commands support added:

```
show bgp neighbors <nbr-id> advertised-routes json
show bgp neighbors <nbr-id> received-routes json
show bgp neighbors <nbr-id> advertised-routes detail json
show bgp neighbors <nbr-id> received-routes detail json
```

Ticket:#3513256
Issue:3513256

Testing: UT done

Signed-off-by: Sindhu Parvathi Gopinathan's <sgopinathan@nvidia.com>
21 months agolib: Fix elf_py.c for coverity 13417/head
Donald Sharp [Tue, 2 May 2023 13:25:04 +0000 (09:25 -0400)]
lib: Fix elf_py.c for coverity

David rightly pointed out that having a test for fd > 0 would
technically not be right, but not wrong for this portion of the
code since we know that we would never get a fd = 0 in this section.
In any event let's make coverity happy and move on with our life.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agobgpd: Reduce size of ibuf_work ringbuf 14081/head
Donald Sharp [Mon, 24 Jul 2023 14:33:21 +0000 (10:33 -0400)]
bgpd: Reduce size of ibuf_work ringbuf

The ringbuf is 650k in size.  This is obscenely large and
in practical experimentation FRR never even approaches
that size at all.  Let's reduce this to 1.5 max packet sizes.

If a BGP_MAX_PACKET_SIZE packet is ever received having a bit
of extra space ensures that we can read at least 1 packet.

This also will significantly reduce memory usage when the
operator has a lot of peers.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agobgpd: With io limit allow parsing to continue even if memory is low
Donald Sharp [Mon, 24 Jul 2023 14:13:32 +0000 (10:13 -0400)]
bgpd: With io limit allow parsing to continue even if memory is low

Commit: a0b937de428e14e869b8541f0b7810113d619c2e

Introduced the idea of a input Q packet limit.  Say you read in
635000 bytes of data and the input Q is already at it's limit
(currently 1000) then when bgp_process_reads runs it will
assert because there is less then a BGP_MAX_PACKET_SIZE in ibuf_work.

Don't assert as that it's irrelevant.  Even if we can't read a full packet
in let's let the whole system keep working as that as the input Q length
comes down we will start pulling down the ibuf_work and it will be ok.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agozebra: fix nhg out of sync between zebra and kernel 14080/head
anlan_cs [Mon, 24 Jul 2023 06:40:22 +0000 (14:40 +0800)]
zebra: fix nhg out of sync between zebra and kernel

PR#13413 introduces reinstall mechanism, but there is problem with the route
leak scenario.

With route leak configuration: ( `x1` and `x2` are binded to `vrf1` )
```
vrf vrf2
 ip route 75.75.75.75/32 77.75.1.75 nexthop-vrf vrf1
 ip route 75.75.75.75/32 77.75.2.75 nexthop-vrf vrf1
exit-vrf
```

Firstly, all are ok.  But after `x1` is set down and up ( The interval
between the down and up operations should be less than 180 seconds. ) ,
`x1` is lost from the nexthop group:
```
anlan# ip nexthop
id 121 group 122/123 proto zebra
id 122 via 77.75.1.75 dev x1 scope link proto zebra
id 123 via 77.75.2.75 dev x2 scope link proto zebra
anlan# ip route show table 2
75.75.75.75 nhid 121 proto 196 metric 20
        nexthop via 77.75.1.75 dev x1 weight 1
        nexthop via 77.75.2.75 dev x2 weight 1
anlan# ip link set dev x1 down
anlan# ip link set dev x1 up
anlan# ip route show table 2 <- Wrong, one nexthop lost from group
75.75.75.75 nhid 121 via 77.75.2.75 dev x2 proto 196 metric 20
anlan# ip nexthop
id 121 group 123 proto zebra
id 122 via 77.75.1.75 dev x1 scope link proto zebra
id 123 via 77.75.2.75 dev x2 scope link proto zebra
anlan# show ip route vrf vrf2 <- Still ok
VRF vrf2:
S>* 75.75.75.75/32 [1/0] via 77.75.1.75, x1 (vrf vrf1), weight 1, 00:00:05
  *                      via 77.75.2.75, x2 (vrf vrf1), weight 1, 00:00:05
```

From the impact on kernel:
The `nh->type` of `id 122` is *always* `NEXTHOP_TYPE_IPV4` in the route leak
case.  Then, `nexthop_is_ifindex_type()` introduced by commit `5bb877` always
returns `false`, so its dependents can't be reinstalled.  After `x1` is down,
there is only `id 123` in the group of `id 121`.  So, Finally `id 121` remains
unchanged after `x1` is up, i.e., `id 122` is not added to the group even it is
reinstalled itself.

From the impact on zebra:
The `show ip route vrf vrf2` is still ok because the `id`s are reused/reinstalled
successfully within 180 seconds after `x1` is down and up.  The group of `id 121`
is with old `NEXTHOP_GROUP_INSTALLED` flag, and it is still the group of `id 122`
and `id 123` as before.

In this way, kernel and zebra have become out of sync.

The `nh->type` of `id 122` should be adjusted to `NEXTHOP_TYPE_IPV4_IFINDEX`
after nexthop resolved.  This commit is for doing this to make that reinstall
mechanism work.

Signed-off-by: anlan_cs <anlan_cs@tom.com>
21 months agoMerge pull request #14076 from chiragshah6/fdev1 14538/head
Donatas Abraitis [Sat, 22 Jul 2023 07:30:05 +0000 (10:30 +0300)]
Merge pull request #14076 from chiragshah6/fdev1

zebra: non pretty json format for rib and evpn operational commands

21 months agoMerge pull request #14075 from donaldsharp/bgp_memory_fun
Donatas Abraitis [Fri, 21 Jul 2023 20:14:29 +0000 (23:14 +0300)]
Merge pull request #14075 from donaldsharp/bgp_memory_fun

Remove unused memory allocations associated with bgp

21 months agozebra: non pretty json output for evpn route 14076/head
Sindhu Parvathi Gopinathan [Wed, 19 Jul 2023 07:00:24 +0000 (00:00 -0700)]
zebra: non pretty json output for evpn route

Currently, json output of evpn route command are no pretty format.
This is an extremely expensive operation at high VNI scale

EVPN json non-pretty command support added:

```
show evpn mac vni <vni-id> detail json
show evpn vni detail json
```

Ticket:#3513256
Issue:3513256

Testing: UT done

Signed-off-by: Sindhu Parvathi Gopinathan's <sgopinathan@nvidia.com>
21 months agozebra: non pretty json output for show ip route
Sindhu Parvathi Gopinathan [Wed, 19 Jul 2023 06:53:15 +0000 (23:53 -0700)]
zebra: non pretty json output for show ip route

Currently, json output of show ip route command are no pretty format.
This is an extremely expensive operation at high scale
(with high number of routes with many paths).

Zebra json non-pretty command support added:

```
show ip route json
```

Ticket:#3513256

Issue:3513256

Testing: UT done

Signed-off-by: Sindhu Parvathi Gopinathan's <sgopinathan@nvidia.com>
21 months agobgpd: Replace peer->ibuf_scratch 14075/head
Donald Sharp [Fri, 21 Jul 2023 17:10:03 +0000 (13:10 -0400)]
bgpd: Replace peer->ibuf_scratch

The peer->ibuf_scratch was allocating 65535 * 10 bytes
for scratch space to hold data incoming from a read
from a peer.  When you have 4k peers this is 262,1400,000
or 262 mb of data.  Which is crazy large.  Especially
since the i/o pthread is reading per peer without
any chance of having the data interfere with other reads.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agobgpd: Remove withdraw_low from system, it is never used
Donald Sharp [Fri, 21 Jul 2023 16:46:31 +0000 (12:46 -0400)]
bgpd: Remove withdraw_low from system, it is never used

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agobgpd: Remove peer->sync array
Donald Sharp [Fri, 21 Jul 2023 16:41:35 +0000 (12:41 -0400)]
bgpd: Remove peer->sync array

It is never used.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agobgpd: Remove peer->obuf_work
Donald Sharp [Fri, 21 Jul 2023 16:23:23 +0000 (12:23 -0400)]
bgpd: Remove peer->obuf_work

This is never used.  Free up another 65k of stream data
never used per peer.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agopbrd: fix coverity issue 14072/head
G. Paul Ziemba [Fri, 21 Jul 2023 12:41:07 +0000 (05:41 -0700)]
pbrd: fix coverity issue

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
21 months agobgpd: Remove peer->scratch
Donald Sharp [Fri, 21 Jul 2023 16:14:59 +0000 (12:14 -0400)]
bgpd: Remove peer->scratch

This was only ever being allocated and de-allocated.
Let's save 65k per peer

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agoMerge pull request #14065 from opensourcerouting/bfd-label-doc
Mark Stapp [Fri, 21 Jul 2023 12:59:50 +0000 (08:59 -0400)]
Merge pull request #14065 from opensourcerouting/bfd-label-doc

doc: remove BFD label command references

21 months agozebra: Remove unused functionality 14064/head
Donald Sharp [Thu, 20 Jul 2023 16:29:09 +0000 (12:29 -0400)]
zebra: Remove unused functionality

The nl_rta_putXXX functions are never used.  Let's just remove them.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agobgpd: Cleanup bgp_zebra_announce_default to be cleaner
Donald Sharp [Thu, 20 Jul 2023 16:12:57 +0000 (12:12 -0400)]
bgpd: Cleanup bgp_zebra_announce_default to be cleaner

Over time the bgp_zebra_announce_default function has gotten
slightly convoluted, clean it up so it's easier to read

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agopimd: Remove pim_addr_dump
Donald Sharp [Thu, 20 Jul 2023 15:24:48 +0000 (11:24 -0400)]
pimd: Remove pim_addr_dump

This function is no longer used, remove it from the system.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agopimd: Convert usage of pim_addr_dump to %pFXh
Donald Sharp [Thu, 20 Jul 2023 15:22:02 +0000 (11:22 -0400)]
pimd: Convert usage of pim_addr_dump to %pFXh

pim_addr_dump would dump the group data as a v4 or v6 address
let's just convert to our internal printf handler.

Signed-off-by: Donald Sharp <sharpd@nvidia.com>
21 months agoMerge pull request #14034 from LabNConsulting/aceelindem/ospf_prefix_suppression
Donatas Abraitis [Fri, 21 Jul 2023 07:14:22 +0000 (10:14 +0300)]
Merge pull request #14034 from LabNConsulting/aceelindem/ospf_prefix_suppression

ospfd: Implement OSPF prefix-suppression as specified in RFC 6860

21 months agoMerge pull request #14066 from opensourcerouting/fix/libyang_2.1.80
Donald Sharp [Fri, 21 Jul 2023 03:08:28 +0000 (23:08 -0400)]
Merge pull request #14066 from opensourcerouting/fix/libyang_2.1.80

Switch to libyang 2.1.80

21 months agodocker: Use libyang 2.1.80 for Alpine builds 14066/head
Donatas Abraitis [Thu, 20 Jul 2023 20:16:38 +0000 (23:16 +0300)]
docker: Use libyang 2.1.80 for Alpine builds

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agodocker: Move Alpine dependency packages to APKBUILD file
Donatas Abraitis [Thu, 20 Jul 2023 19:39:14 +0000 (22:39 +0300)]
docker: Move Alpine dependency packages to APKBUILD file

Do not mix APKBUILD and Dockerfile when installing dependencies.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agodocker: Install protobuf-c-devel for ubi8-minimal
Donatas Abraitis [Thu, 20 Jul 2023 19:33:10 +0000 (22:33 +0300)]
docker: Install protobuf-c-devel for ubi8-minimal

configure: error: in `/src':
configure: error: protobuf requested but protoc-c not found.  Install protobuf-c.
See `config.log' for more details

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agodocker: Use Alpine Linux 3.18
Donatas Abraitis [Thu, 20 Jul 2023 19:11:03 +0000 (22:11 +0300)]
docker: Use Alpine Linux 3.18

It has the newer libyang version 2.1.55, while 3.17 has 2.1.30.

3.19 will have 2.1.80.

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agodocker: Use libyang 2.1.80
Donatas Abraitis [Thu, 20 Jul 2023 19:10:19 +0000 (22:10 +0300)]
docker: Use libyang 2.1.80

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agoospfd: Implement OSPF prefix-suppression as specified in RFC 6860 14034/head
Acee [Mon, 17 Jul 2023 17:47:16 +0000 (13:47 -0400)]
ospfd: Implement OSPF prefix-suppression as specified in RFC 6860

Signed-off-by: Acee <aceelindem@gmail.com>
21 months agoredhat: Require libyang 2.1.80
Donatas Abraitis [Thu, 20 Jul 2023 18:54:22 +0000 (21:54 +0300)]
redhat: Require libyang 2.1.80

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agodebian: Require libyang 2.1.80
Donatas Abraitis [Thu, 20 Jul 2023 18:52:26 +0000 (21:52 +0300)]
debian: Require libyang 2.1.80

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agodoc: remove BFD label command references 14065/head
Rafael Zalamena [Wed, 19 Jul 2023 14:10:28 +0000 (11:10 -0300)]
doc: remove BFD label command references

`label` command is already gone and now we are going to remove all label
references.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
21 months agosnapcraft: Use libyang 2.1.80
Donatas Abraitis [Thu, 20 Jul 2023 18:46:38 +0000 (21:46 +0300)]
snapcraft: Use libyang 2.1.80

Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
21 months agolib: zapi PBR common encode/decode 14050/head
G. Paul Ziemba [Mon, 17 Jul 2023 16:31:06 +0000 (09:31 -0700)]
lib: zapi PBR common encode/decode

    bgpd, pbrd: use common pbr encoder
    zebra: use common pbr decoder
    tests: pbr_topo1: check more filter fields

    Purpose:
1. Reduce likelihood of zapi format mismatches when adding
   PBR fields due to multiple parallel encoder implementations
2. Encourage common PBR structure usage among various daemons
3. Reduce coding errors via explicit per-field enable flags

Signed-off-by: G. Paul Ziemba <paulz@labn.net>
21 months agoMerge pull request #14003 from iqras23/coverity
Donald Sharp [Thu, 20 Jul 2023 14:16:46 +0000 (10:16 -0400)]
Merge pull request #14003 from iqras23/coverity

bgpd: Fix coverity for EVPN

21 months agoMerge pull request #14006 from AbhishekNR/mld_core
Donald Sharp [Thu, 20 Jul 2023 12:23:28 +0000 (08:23 -0400)]
Merge pull request #14006 from AbhishekNR/mld_core

pim6d: Fixing core while running MLD conformance test.